123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157 |
- /**
- * Created by 芋道源码
- *
- * 数据字典工具类
- */
- import store from "@/store";
- export const DICT_TYPE = {
- USER_TYPE: "user_type",
- COMMON_STATUS: "common_status",
- // ========== SYSTEM 模块 ==========
- SYSTEM_USER_SEX: "system_user_sex",
- SYSTEM_MENU_TYPE: "system_menu_type",
- SYSTEM_ROLE_TYPE: "system_role_type",
- SYSTEM_DATA_SCOPE: "system_data_scope",
- SYSTEM_NOTICE_TYPE: "system_notice_type",
- SYSTEM_OPERATE_TYPE: "system_operate_type",
- SYSTEM_LOGIN_TYPE: "system_login_type",
- SYSTEM_LOGIN_RESULT: "system_login_result",
- SYSTEM_SMS_CHANNEL_CODE: "system_sms_channel_code",
- SYSTEM_SMS_TEMPLATE_TYPE: "system_sms_template_type",
- SYSTEM_SMS_SEND_STATUS: "system_sms_send_status",
- SYSTEM_SMS_RECEIVE_STATUS: "system_sms_receive_status",
- SYSTEM_ERROR_CODE_TYPE: "system_error_code_type",
- SYSTEM_OAUTH2_GRANT_TYPE: "system_oauth2_grant_type",
- // ========== INFRA 模块 ==========
- INFRA_BOOLEAN_STRING: "infra_boolean_string",
- INFRA_REDIS_TIMEOUT_TYPE: "infra_redis_timeout_type",
- INFRA_JOB_STATUS: "infra_job_status",
- INFRA_JOB_LOG_STATUS: "infra_job_log_status",
- INFRA_API_ERROR_LOG_PROCESS_STATUS: "infra_api_error_log_process_status",
- INFRA_CONFIG_TYPE: "infra_config_type",
- INFRA_CODEGEN_TEMPLATE_TYPE: "infra_codegen_template_type",
- INFRA_CODEGEN_SCENE: "infra_codegen_scene",
- INFRA_FILE_STORAGE: "infra_file_storage",
- // ========== BPM 模块 ==========
- BPM_MODEL_CATEGORY: "bpm_model_category",
- BPM_MODEL_FORM_TYPE: "bpm_model_form_type",
- BPM_TASK_ASSIGN_RULE_TYPE: "bpm_task_assign_rule_type",
- BPM_PROCESS_INSTANCE_STATUS: "bpm_process_instance_status",
- BPM_PROCESS_INSTANCE_RESULT: "bpm_process_instance_result",
- BPM_TASK_ASSIGN_SCRIPT: "bpm_task_assign_script",
- BPM_OA_LEAVE_TYPE: "bpm_oa_leave_type",
- // ========== PAY 模块 ==========
- PAY_CHANNEL_WECHAT_VERSION: "pay_channel_wechat_version", // 微信渠道版本
- PAY_CHANNEL_ALIPAY_SIGN_TYPE: "pay_channel_alipay_sign_type", // 支付渠道支付宝算法类型
- PAY_CHANNEL_ALIPAY_MODE: "pay_channel_alipay_mode", // 支付宝公钥类型
- PAY_CHANNEL_ALIPAY_SERVER_TYPE: "pay_channel_alipay_server_type", // 支付宝网关地址
- PAY_CHANNEL_CODE_TYPE: "pay_channel_code_type", // 支付渠道编码类型
- PAY_ORDER_NOTIFY_STATUS: "pay_order_notify_status", // 商户支付订单回调状态
- PAY_ORDER_STATUS: "pay_order_status", // 商户支付订单状态
- PAY_ORDER_REFUND_STATUS: "pay_order_refund_status", // 商户支付订单退款状态
- PAY_REFUND_ORDER_STATUS: "pay_refund_order_status", // 退款订单状态
- PAY_REFUND_ORDER_TYPE: "pay_refund_order_type", // 退款订单类别
- // ========== MALL - PRODUCT 模块 ==========
- PRODUCT_SPU_STATUS: "product_spu_status", // 商品 SPU 状态
- // ========== MALL - PROMOTION 模块 ==========
- PROMOTION_DISCOUNT_TYPE: "promotion_discount_type", // 优惠类型
- PROMOTION_PRODUCT_SCOPE: "promotion_product_scope", // 营销的商品范围
- PROMOTION_COUPON_TEMPLATE_VALIDITY_TYPE: "promotion_coupon_template_validity_type", // 优惠劵模板的有限期类型
- PROMOTION_COUPON_STATUS: "promotion_coupon_status", // 优惠劵的状态
- PROMOTION_COUPON_TAKE_TYPE: "promotion_coupon_take_type", // 优惠劵的领取方式
- PROMOTION_ACTIVITY_STATUS: "promotion_activity_status", // 优惠活动的状态
- PROMOTION_CONDITION_TYPE: "promotion_condition_type", // 营销的条件类型枚举
- // ========== BACKEND - EMP 模块 ==========
- BACKEND_EMP_ORG: "backend_emp_org", // 所属单位
- BACKEND_EMP_DWLX: "backend_org_dwlx", // 监管单位类别?
- DICT_INSPECT_TYPE: "dict_inspect_type", // 检查项类型
- DICT_FIRE_DECIVE_TYPE: "dict_fire_device_type", // 消防设施分类
- DICT_IMPORTTANT_ORG_LEVEL: "dict_important_org_level", // 重点单位等级
- BACKEND_ORG_TYPE: "company_inspectitem_kind", //单位类型
- DENGER_HANDLE: "denger_handle", //隐患处理方式
- INSPECTITEM_TYPE: "inspectitem_type", //检查类型
- CHECK_FRE: "check_fre", //检查频次
- TASK_TYPE: "task_type", //任务类型
- TASK_STATUS: "task_status", //任务类型
- RECORD_TYPE: "record_type", //记录类型
- BACKEND_DET_RESULT: "det_result",//检测维保结果
- // ==========移动端 - PAGE 模块 ==========
- FPD_TYPE: 'fpd_type', //设备类型
- TRAIN_DRILL: 'train_drill', //培训演练类别
- BACKEND_ORG_TYPE2: 'backend_org_type', //单位类型
- // ==========移动端 - 人员信息模块 ==========
- XUE_LI: 'xueli',
- // ==========隐患管理模块 ==========
- DANGER_TYPE: 'dangerType',
- FIRE_WORK_STATUS: "fire_work_status", //动火台账状态
- // ========== 数据字典映射 =================
- };
- /**
- * 获取 dictType 对应的数据字典数组
- *
- * @param dictType 数据类型
- * @returns {*|Array} 数据字典数组
- * 该函数接收一个参数 dictType,表示需要获取的数据字典类型。它会返回对应的数据字典数组,如果找不到则返回空数组。
- */
- export function getDictDatas(dictType) {
- return store.getters.dict[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 : "";
- }
|