dict.js
2.79 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
/**
* Created by 芋道源码
*
* 数据字典工具类
*/
import store from '@/store'
export const DICT_TYPE = {
// ========== APP模块 ==========
SYS_PLATE_NAME: 'sys_plate_name', // 板块名称
SYS_HOUSEHOLD_AGE: 'sys_household_age', // 户主年龄
SYS_LIVE_NO:'sys_live_no', //居住人口
SYS_BUILD_YEAR:'sys_build_year', //房屋建设年限
SYS_HOUSE_ATTRIBUTE:'sys_house_attribute', //房屋性质
SYS_LIVE_ATTRIBUTE:'sys_live_attribute', //居住属性
SYS_HOUSE_NATURE:'sys_house_nature', // 房屋居住性质
SYS_HOUSE_STRUCTURE:'sys_house_structure', //房屋结构类型
SYS_DISTANCE:'sys_distance', //到中压管道距离
SYS_CURRENT_ENERGY:'sys_current_energy', //现使用能源
SYS_BUSINESS_SCOPE:'sys_business_scope', //经营范围
SYS_COMMERCE_ATTRIBUTE:'sys_commerce_attribute', //商业所在场所房屋类型
SYS_MACHINE_NAME:'sys_machine_name', //耗能设备名称
SYS_INDUSTRY_TYPE:'sys_industry_type', //用能类型
SYS_INDUSTRY_DUTIES:'sys_industry_duties', //职务
SYS_REPORT_STATUS:'sys_report_status', //洞察报告状态
SYS_INSIGH_AREA:'sys_Insigh_area', //区域
SYS_INSTALL_INCLINATE:'sys_install_inclinate', //用户报装意愿
SYS_COMMERCIAL_STATUS:'sys_commercial_status', //商机状态
SYS_PROJECT_TYPE:'sys_project_type', //项目类别
SYS_KEYWORD:'sys_keyword', //市场咨询关键词
SYS_PUBLISH_STATUS:'sys_publish_status', //资讯状态
}
/**
* 获取 dictType 对应的数据字典数组
*
* @param dictType 数据类型
* @returns {*|Array} 数据字典数组
*/
export function getDictDatas(dictType) {
return store.getters.dict_datas[dictType] || []
}
/**
* 获取 dictType 对应的数据字典数组
*
* @param dictType 数据类型
* @param values 数组、单个元素
* @returns {*|Array} 数据字典数组
*/
export function getDictDatas2(dictType, values) {
if (values === undefined) {
return [];
}
// 如果是单个元素,则转换成数组
if (!Array.isArray(values)) {
values = [this.value];
}
// 获得字典数据
const results = [];
for (const value of values) {
const dict = getDictData(dictType, value);
if (dict) {
results.push(dict);
}
}
return results;
}
export function getDictData(dictType, value) {
// 获取 dictType 对应的数据字典数组
const dictDatas = getDictDatas(dictType)
if (!dictDatas || dictDatas.length === 0) {
return ''
}
// 获取 value 对应的展示名
value = value + '' // 强制转换成字符串,因为 DictData 小类数值,是字符串
for (const dictData of dictDatas) {
if (dictData.value === value) {
return dictData;
}
}
return undefined
}
export function getDictDataLabel(dictType, value) {
const dict = getDictData(dictType, value);
return dict ? dict.label : '';
}