|
|
@@ -1,15 +1,16 @@
|
|
|
-import dictEnum from '@/enum/dict';
|
|
|
+import dictEnum, { numberList } from '@/enum/dict';
|
|
|
import Vue from 'vue';
|
|
|
import { getByCode } from '@/api/system/dictionary-data';
|
|
|
+
|
|
|
//非枚举定义
|
|
|
-const otherDictConfig = {
|
|
|
- // [dictEnum.物品类型]: {
|
|
|
- // request: getSubListByParentId,
|
|
|
- // dictCode: 'type',
|
|
|
- // dictValue: 'name',
|
|
|
- // resKey: '' //为空选 data
|
|
|
- // }
|
|
|
-};
|
|
|
+// const otherDictConfig = {
|
|
|
+// // [dictEnum.物品类型]: {
|
|
|
+// // request: getSubListByParentId,
|
|
|
+// // dictCode: 'type',
|
|
|
+// // dictValue: 'name',
|
|
|
+// // resKey: '' //为空选 data
|
|
|
+// // }
|
|
|
+// };
|
|
|
|
|
|
const state = {};
|
|
|
|
|
|
@@ -18,73 +19,58 @@ const mutations = {
|
|
|
ADD_DICT: (state, { code, dict }) => {
|
|
|
Vue.set(state, code, dict);
|
|
|
}
|
|
|
-
|
|
|
- // // 根据字典enumName 和 dictCode 获取字典项
|
|
|
- // GET_DICT (state, { enumName, dictCode }) {
|
|
|
- // return (
|
|
|
- // (state[dictEnum[enumName]] || []).find(
|
|
|
- // item => item.dictCode === dictCode
|
|
|
- // ) || {}
|
|
|
- // )
|
|
|
- // },
|
|
|
- // // 根据字典enumName 和 dictCode 获取字典 值(名称
|
|
|
- // GET_DICT_VALUE (state, { enumName, dictCode }) {
|
|
|
- // const obj = (state[dictEnum[enumName]] || []).find(
|
|
|
- // item => item.dictCode === dictCode
|
|
|
- // )
|
|
|
-
|
|
|
- // return obj && obj.dictValue
|
|
|
- // }
|
|
|
};
|
|
|
|
|
|
const actions = {
|
|
|
// 根据字典enumName请求字典 已获取的不做重复请求
|
|
|
- async requestDict({ commit, state }, enumName) {
|
|
|
+ async requestDict ({ commit, state }, enumName) {
|
|
|
const code = dictEnum[enumName];
|
|
|
|
|
|
if (state[code]?.length) return state[code];
|
|
|
let res;
|
|
|
- if (otherDictConfig[dictEnum[enumName]]) {
|
|
|
- const config = otherDictConfig[dictEnum[enumName]];
|
|
|
- console.log(config);
|
|
|
- //非枚举定义
|
|
|
- res = await config.request();
|
|
|
- if (res?.code == 0) {
|
|
|
- let list = config.resKey ? res.data[config.resKey] : res.data;
|
|
|
- commit('ADD_DICT', {
|
|
|
- code,
|
|
|
- dict: list.map((item) => ({
|
|
|
- ...item,
|
|
|
- dictCode: item[config.dictCode],
|
|
|
- dictValue: item[config.dictValue]
|
|
|
- }))
|
|
|
- });
|
|
|
- return res.list;
|
|
|
- }
|
|
|
- } else {
|
|
|
- res = await getByCode(code);
|
|
|
- if (res?.code == 0) {
|
|
|
- commit('ADD_DICT', {
|
|
|
- code,
|
|
|
- dict: res.data.map((item) => {
|
|
|
- const arr = Object.entries(item)[0] || [];
|
|
|
+ // if (otherDictConfig[dictEnum[enumName]]) {
|
|
|
+ // const config = otherDictConfig[dictEnum[enumName]];
|
|
|
+ // console.log(config);
|
|
|
+ // //非枚举定义
|
|
|
+ // res = await config.request();
|
|
|
+ // if (res?.code == 0) {
|
|
|
+ // let list = config.resKey ? res.data[config.resKey] : res.data;
|
|
|
+ // commit('ADD_DICT', {
|
|
|
+ // code,
|
|
|
+ // dict: list.map((item) => ({
|
|
|
+ // ...item,
|
|
|
+ // dictCode: item[config.dictCode],
|
|
|
+ // dictValue: item[config.dictValue]
|
|
|
+ // }))
|
|
|
+ // });
|
|
|
+ // return res.list;
|
|
|
+ // }
|
|
|
+ // } else {
|
|
|
+ res = await getByCode(code);
|
|
|
+ if (res?.code == 0) {
|
|
|
+ const isNumber = numberList.includes(code);
|
|
|
+ commit('ADD_DICT', {
|
|
|
+ code,
|
|
|
+ dict: res.data.map((item) => {
|
|
|
+ const arr = Object.entries(item)[0] || [];
|
|
|
|
|
|
- return {
|
|
|
- dictCode: arr[0],
|
|
|
- dictValue: arr[1]
|
|
|
- };
|
|
|
- })
|
|
|
- });
|
|
|
- return res.data;
|
|
|
- }
|
|
|
+ return {
|
|
|
+ dictCode: isNumber ? Number(arr[0]) : arr[0],
|
|
|
+ dictValue: arr[1]
|
|
|
+ };
|
|
|
+ })
|
|
|
+ });
|
|
|
+ return res.data;
|
|
|
}
|
|
|
+ // }
|
|
|
|
|
|
return [];
|
|
|
},
|
|
|
// 更新字典
|
|
|
- async reloadRequestDict({ commit }, enumName) {
|
|
|
+ async reloadRequestDict ({ commit }, enumName) {
|
|
|
const code = dictEnum[enumName];
|
|
|
const res = await getByCode(code);
|
|
|
+ const isNumber = numberList.includes(code);
|
|
|
if (res?.code == 0) {
|
|
|
commit('ADD_DICT', {
|
|
|
code,
|
|
|
@@ -92,7 +78,7 @@ const actions = {
|
|
|
const arr = Object.entries(item);
|
|
|
|
|
|
return {
|
|
|
- dictCode: arr[0],
|
|
|
+ dictCode: isNumber ? Number(arr[0]) : arr[0],
|
|
|
dictValue: arr[1]
|
|
|
};
|
|
|
})
|