// 全局枚举
/**
* 枚举类
* @author meilin.huang
*/
export class Enum {
/**
* 添加枚举字段
* field: 枚举字段
* label: 界面显示
* value: 枚举值
*/
add(field, label, value) {
this[field] = {
label,
value
}
return this
}
/**
* 根据枚举value获取其label
*/
getLabelByValue(value) {
// 字段不存在返回‘’
if (value === undefined || value === null) {
return ''
}
for (const i in this) {
const e = this[i]
if (e && e.value === value) {
return e.label
}
}
return ''
}
}
const enumStatu = {
// 租客状态
renterStatus: new Enum()
.add('ALL', '全部', null)
.add('SETTLE', '未租房', 0)
.add('SETTLED', '入住中', 1)
.add('CANCEL', '已退租', 2),
// 租客身份
renterIdentity: new Enum()
.add('ALL', '全部', null)
.add('SETTLE', '承租人', 0)
.add('SETTLED', '同住人', 1),
// 托管状态
housekeeperStatus: new Enum()
.add('ALL', '全部', null)
.add('SETTLE', '待分配管家', 0)
.add('SETTLED', '已分配管家', 1),
// 落户任务状态
settleTaskStatusEnum: new Enum()
.add('ALL', '全部', null)
.add('SETTLE', '待落户', 0)
.add('SETTLED', '已落户', 1)
.add('CANCEL', '已取消', 2),
// 租客实名认证状态
verifiedStatus: new Enum()
.add('ALL', '全部', null)
.add('SETTLED', '未认证', 0)
.add('SETTLE', '已认证', 1),
// 房东实名认证状态
landlordStatus: new Enum()
.add('ALL', '全部', null)
.add('SETTLED', '未认证', 0)
.add('SETTLE', '已认证', 1),
// 管家实名认证状态
chamberlainStatus: new Enum()
.add('ALL', '全部', null)
.add('SETTLED', '未认证', 0)
.add('SETTLE', '已认证', 1),
// 房产认证状态
certifiedStatus: new Enum()
.add('ALL', '全部', null)
.add('SETTLE', '待认证', 0)
.add('SETTLED', '认证通过', 1)
.add('SETTLED', '认证拒绝', 2),
lockFlagStatus: new Enum()
.add('ALL', '全部', null)
.add('SETTLE', '启用', 0)
.add('SETTLED', '禁用', 1),
lockFlagRoleStatus: new Enum()
.add('ALL', '全部', null)
.add('SETTLE', '启用', 1)
.add('SETTLED', '禁用', 0),
lockFlagMenuStatus: new Enum()
.add('ALL', '全部', null)
.add('SETTLE', '菜单', 0)
.add('SETTLED', '按钮', 1)
}
export default enumStatu
// // 租客状态
// getRenterStatus(row, column, obj) {
// console.log(obj)
// return this.$enums.settleTaskStatusEnum.getLabelByValue(Number(obj))
// },
// // 租客实名认证状态
// getVerifiedStatus(row, column, obj) {
// return this.$enums.verifiedStatus.getLabelByValue(Number(obj))
// }
vue枚举统一管理
于 2022-10-17 16:27:06 首次发布