选煤厂生产管理平台前端代码
dongyukun
2024-12-10 5cc1d92af645c2f8f4f6d1d3777283b70df78ccd
提交 | 用户 | 时间
82c159 1 /**
H 2  * 数据字典工具类
3  */
4 import { useDictStoreWithOut } from '@/store/modules/dict'
5 import { ElementPlusInfoType } from '@/types/elementPlus'
6
7 const dictStore = useDictStoreWithOut()
8
9 /**
10  * 获取 dictType 对应的数据字典数组
11  *
12  * @param dictType 数据类型
13  * @returns {*|Array} 数据字典数组
14  */
15 export interface DictDataType {
16   dictType: string
17   label: string
18   value: string | number | boolean
19   colorType: ElementPlusInfoType | ''
20   cssClass: string
21 }
22
23 export interface NumberDictDataType extends DictDataType {
24   value: number
25 }
26
27 export interface StringDictDataType extends DictDataType {
28   value: string
29 }
30
31 export const getDictOptions = (dictType: string) => {
32   return dictStore.getDictByType(dictType) || []
33 }
34
35 export const getIntDictOptions = (dictType: string): NumberDictDataType[] => {
36   // 获得通用的 DictDataType 列表
37   const dictOptions: DictDataType[] = getDictOptions(dictType)
38   // 转换成 number 类型的 NumberDictDataType 类型
39   // why 需要特殊转换:避免 IDEA 在 v-for="dict in getIntDictOptions(...)" 时,el-option 的 key 会告警
40   const dictOption: NumberDictDataType[] = []
41   dictOptions.forEach((dict: DictDataType) => {
42     dictOption.push({
43       ...dict,
44       value: parseInt(dict.value + '')
45     })
46   })
47   return dictOption
48 }
49
50 export const getStrDictOptions = (dictType: string) => {
51   // 获得通用的 DictDataType 列表
52   const dictOptions: DictDataType[] = getDictOptions(dictType)
53   // 转换成 string 类型的 StringDictDataType 类型
54   // why 需要特殊转换:避免 IDEA 在 v-for="dict in getStrDictOptions(...)" 时,el-option 的 key 会告警
55   const dictOption: StringDictDataType[] = []
56   dictOptions.forEach((dict: DictDataType) => {
57     dictOption.push({
58       ...dict,
59       value: dict.value + ''
60     })
61   })
62   return dictOption
63 }
64
65 export const getBoolDictOptions = (dictType: string) => {
66   const dictOption: DictDataType[] = []
67   const dictOptions: DictDataType[] = getDictOptions(dictType)
68   dictOptions.forEach((dict: DictDataType) => {
69     dictOption.push({
70       ...dict,
71       value: dict.value + '' === 'true'
72     })
73   })
74   return dictOption
75 }
76
77 /**
78  * 获取指定字典类型的指定值对应的字典对象
79  * @param dictType 字典类型
80  * @param value 字典值
81  * @return DictDataType 字典对象
82  */
83 export const getDictObj = (dictType: string, value: any): DictDataType | undefined => {
84   const dictOptions: DictDataType[] = getDictOptions(dictType)
85   for (const dict of dictOptions) {
86     if (dict.value === value + '') {
87       return dict
88     }
89   }
90 }
91
92 /**
93  * 获得字典数据的文本展示
94  *
95  * @param dictType 字典类型
96  * @param value 字典数据的值
97  * @return 字典名称
98  */
99 export const getDictLabel = (dictType: string, value: any): string => {
100   const dictOptions: DictDataType[] = getDictOptions(dictType)
101   const dictLabel = ref('')
102   dictOptions.forEach((dict: DictDataType) => {
103     if (dict.value === value + '') {
104       dictLabel.value = dict.label
105     }
106   })
107   return dictLabel.value
108 }
109
110 export enum DICT_TYPE {
111   USER_TYPE = 'user_type',
112   COMMON_STATUS = 'common_status',
113   TERMINAL = 'terminal', // 终端
114   DATE_INTERVAL = 'date_interval', // 数据间隔
115
116   // ========== SYSTEM 模块 ==========
117   SYSTEM_USER_SEX = 'system_user_sex',
118   SYSTEM_MENU_TYPE = 'system_menu_type',
119   SYSTEM_APP_MENU_TYPE = 'system_app_menu_type',
120   SYSTEM_ROLE_TYPE = 'system_role_type',
121   SYSTEM_DATA_SCOPE = 'system_data_scope',
122   SYSTEM_NOTICE_TYPE = 'system_notice_type',
123   SYSTEM_LOGIN_TYPE = 'system_login_type',
124   SYSTEM_LOGIN_RESULT = 'system_login_result',
125   SYSTEM_SMS_CHANNEL_CODE = 'system_sms_channel_code',
126   SYSTEM_SMS_TEMPLATE_TYPE = 'system_sms_template_type',
127   SYSTEM_SMS_SEND_STATUS = 'system_sms_send_status',
128   SYSTEM_SMS_RECEIVE_STATUS = 'system_sms_receive_status',
129   SYSTEM_OAUTH2_GRANT_TYPE = 'system_oauth2_grant_type',
130   SYSTEM_MAIL_SEND_STATUS = 'system_mail_send_status',
131   SYSTEM_NOTIFY_TEMPLATE_TYPE = 'system_notify_template_type',
132   SYSTEM_SOCIAL_TYPE = 'system_social_type',
133
134   // ========== INFRA 模块 ==========
135   INFRA_BOOLEAN_STRING = 'infra_boolean_string',
136   INFRA_JOB_STATUS = 'infra_job_status',
137   INFRA_JOB_LOG_STATUS = 'infra_job_log_status',
138   INFRA_API_ERROR_LOG_PROCESS_STATUS = 'infra_api_error_log_process_status',
139   INFRA_CONFIG_TYPE = 'infra_config_type',
140   INFRA_CODEGEN_TEMPLATE_TYPE = 'infra_codegen_template_type',
141   INFRA_CODEGEN_FRONT_TYPE = 'infra_codegen_front_type',
142   INFRA_CODEGEN_SCENE = 'infra_codegen_scene',
143   INFRA_FILE_STORAGE = 'infra_file_storage',
144   INFRA_OPERATE_TYPE = 'infra_operate_type',
145
146   // ========== BPM 模块 ==========
147   BPM_MODEL_FORM_TYPE = 'bpm_model_form_type',
148   BPM_TASK_CANDIDATE_STRATEGY = 'bpm_task_candidate_strategy',
149   BPM_PROCESS_INSTANCE_STATUS = 'bpm_process_instance_status',
150   BPM_TASK_STATUS = 'bpm_task_status',
151   BPM_OA_LEAVE_TYPE = 'bpm_oa_leave_type',
152   BPM_PROCESS_LISTENER_TYPE = 'bpm_process_listener_type',
153   BPM_PROCESS_LISTENER_VALUE_TYPE = 'bpm_process_listener_value_type',
154
155   // ========== PAY 模块 ==========
156   PAY_CHANNEL_CODE = 'pay_channel_code', // 支付渠道编码类型
157   PAY_ORDER_STATUS = 'pay_order_status', // 商户支付订单状态
158   PAY_REFUND_STATUS = 'pay_refund_status', // 退款订单状态
159   PAY_NOTIFY_STATUS = 'pay_notify_status', // 商户支付回调状态
160   PAY_NOTIFY_TYPE = 'pay_notify_type', // 商户支付回调状态
161   PAY_TRANSFER_STATUS = 'pay_transfer_status', // 转账订单状态
162   PAY_TRANSFER_TYPE = 'pay_transfer_type', // 转账订单状态
163
164   // ========== MP 模块 ==========
165   MP_AUTO_REPLY_REQUEST_MATCH = 'mp_auto_reply_request_match', // 自动回复请求匹配类型
166   MP_MESSAGE_TYPE = 'mp_message_type', // 消息类型
167
168   // ========== Member 会员模块 ==========
169   MEMBER_POINT_BIZ_TYPE = 'member_point_biz_type', // 积分的业务类型
170   MEMBER_EXPERIENCE_BIZ_TYPE = 'member_experience_biz_type', // 会员经验业务类型
171
172   // ========== MALL - 商品模块 ==========
173   PRODUCT_SPU_STATUS = 'product_spu_status', //商品状态
174
175   // ========== MALL - 交易模块 ==========
176   EXPRESS_CHARGE_MODE = 'trade_delivery_express_charge_mode', //快递的计费方式
177   TRADE_AFTER_SALE_STATUS = 'trade_after_sale_status', // 售后 - 状态
178   TRADE_AFTER_SALE_WAY = 'trade_after_sale_way', // 售后 - 方式
179   TRADE_AFTER_SALE_TYPE = 'trade_after_sale_type', // 售后 - 类型
180   TRADE_ORDER_TYPE = 'trade_order_type', // 订单 - 类型
181   TRADE_ORDER_STATUS = 'trade_order_status', // 订单 - 状态
182   TRADE_ORDER_ITEM_AFTER_SALE_STATUS = 'trade_order_item_after_sale_status', // 订单项 - 售后状态
183   TRADE_DELIVERY_TYPE = 'trade_delivery_type', // 配送方式
184   BROKERAGE_ENABLED_CONDITION = 'brokerage_enabled_condition', // 分佣模式
185   BROKERAGE_BIND_MODE = 'brokerage_bind_mode', // 分销关系绑定模式
186   BROKERAGE_BANK_NAME = 'brokerage_bank_name', // 佣金提现银行
187   BROKERAGE_WITHDRAW_TYPE = 'brokerage_withdraw_type', // 佣金提现类型
188   BROKERAGE_RECORD_BIZ_TYPE = 'brokerage_record_biz_type', // 佣金业务类型
189   BROKERAGE_RECORD_STATUS = 'brokerage_record_status', // 佣金状态
190   BROKERAGE_WITHDRAW_STATUS = 'brokerage_withdraw_status', // 佣金提现状态
191
192   // ========== MALL - 营销模块 ==========
193   PROMOTION_DISCOUNT_TYPE = 'promotion_discount_type', // 优惠类型
194   PROMOTION_PRODUCT_SCOPE = 'promotion_product_scope', // 营销的商品范围
195   PROMOTION_COUPON_TEMPLATE_VALIDITY_TYPE = 'promotion_coupon_template_validity_type', // 优惠劵模板的有限期类型
196   PROMOTION_COUPON_STATUS = 'promotion_coupon_status', // 优惠劵的状态
197   PROMOTION_COUPON_TAKE_TYPE = 'promotion_coupon_take_type', // 优惠劵的领取方式
198   PROMOTION_ACTIVITY_STATUS = 'promotion_activity_status', // 优惠活动的状态
199   PROMOTION_CONDITION_TYPE = 'promotion_condition_type', // 营销的条件类型枚举
200   PROMOTION_BARGAIN_RECORD_STATUS = 'promotion_bargain_record_status', // 砍价记录的状态
201   PROMOTION_COMBINATION_RECORD_STATUS = 'promotion_combination_record_status', // 拼团记录的状态
202   PROMOTION_BANNER_POSITION = 'promotion_banner_position', // banner 定位
203
204   // ========== CRM - 客户管理模块 ==========
205   CRM_AUDIT_STATUS = 'crm_audit_status', // CRM 审批状态
206   CRM_BIZ_TYPE = 'crm_biz_type', // CRM 业务类型
207   CRM_BUSINESS_END_STATUS_TYPE = 'crm_business_end_status_type', // CRM 商机结束状态类型
208   CRM_RECEIVABLE_RETURN_TYPE = 'crm_receivable_return_type', // CRM 回款的还款方式
209   CRM_CUSTOMER_INDUSTRY = 'crm_customer_industry', // CRM 客户所属行业
210   CRM_CUSTOMER_LEVEL = 'crm_customer_level', // CRM 客户级别
211   CRM_CUSTOMER_SOURCE = 'crm_customer_source', // CRM 客户来源
212   CRM_PRODUCT_STATUS = 'crm_product_status', // CRM 商品状态
213   CRM_PERMISSION_LEVEL = 'crm_permission_level', // CRM 数据权限的级别
214   CRM_PRODUCT_UNIT = 'crm_product_unit', // CRM 产品单位
215   CRM_FOLLOW_UP_TYPE = 'crm_follow_up_type', // CRM 跟进方式
216
217   // ========== ERP - 企业资源计划模块  ==========
218   ERP_AUDIT_STATUS = 'erp_audit_status', // ERP 审批状态
219   ERP_STOCK_RECORD_BIZ_TYPE = 'erp_stock_record_biz_type', // 库存明细的业务类型
220
221   // ========== AI - 人工智能模块  ==========
222   AI_PLATFORM = 'ai_platform', // AI 平台
223   AI_IMAGE_STATUS = 'ai_image_status', // AI 图片状态
224   AI_MUSIC_STATUS = 'ai_music_status', // AI 音乐状态
225   AI_GENERATE_MODE = 'ai_generate_mode', // AI 生成模式
226   AI_WRITE_TYPE = 'ai_write_type', // AI 写作类型
227   AI_WRITE_LENGTH = 'ai_write_length', // AI 写作长度
228   AI_WRITE_FORMAT = 'ai_write_format', // AI 写作格式
229   AI_WRITE_TONE = 'ai_write_tone', // AI 写作语气
58a8ee 230   AI_WRITE_LANGUAGE = 'ai_write_language',// AI 写作语言
J 231
232   YMMZ = 'ymmz',
233   FCFA = 'fcfa',
234   CURVES_TYPE = 'curves-type'
5cc1d9 235   AI_WRITE_LANGUAGE = 'ai_write_language', // AI 写作语言
D 236
237   // ========== PMS - 生产管理平台模块  ==========
238   PMS_XSMZ = 'xsmz', //销售煤种
239   PMS_CPMZ = 'cpmz', //产品煤种
240   PMS_RunTimeType = 'runTimeType', //运行时长类型
241   PMS_YMMZ = 'ymmz', //原煤煤种
242   PMS_KCMZ = 'kcmz', //库存煤种
243   PMS_SCXT = 'scxt', //时长系统
244   PMS_XT = 'xt', //系统
245   PMS_DDZB = 'ddzb' //调度指标
82c159 246 }