整合js工具类

This commit is contained in:
aixianling
2022-03-15 10:03:54 +08:00
parent 690c67375f
commit 13e5356898
2 changed files with 47 additions and 28 deletions

View File

@@ -12,6 +12,9 @@
"main": "src/apps/index.js",
"files": [
"src/components",
"src/common/util.js",
"src/common/dict.js",
"src/common/monent.js",
"src/apps",
"src/saas"
],

View File

@@ -1,50 +1,66 @@
import request from "./axios";
import store from "../store";
/**
* 封装字典工具类
*/
const $dict = {
vueStore: null,
instance: null,
url: "/admin/dictionary/queryValsByCodeList",
setUrl(v) {
this.url = v
init(config) {
this.instance = config?.instance
this.url = config?.url || this.url
},
dicts() {
return uni.getStorageSync('dicts') || [];
},
load(...code) {
if (!this.vueStore) this.vueStore = store
return request.post(this.url, null, {
return this.instance && this.instance.post(this.url, null, {
withoutToken:true,
params: {
codeList: code.join(',')
codeList: code.toString()
}
}).then((res) => {
this.vueStore.commit("setDicts", res.data)
if (res && res.data) {
let cacheDicts = {},
meta = {};
this.dicts().map((e) => (cacheDicts[e.key] = e));
res.data.map((e) => (meta[e.key] = e));
let dicts = {...cacheDicts, ...meta};
uni.setStorageSync('dicts', Object.values(dicts));
}
})
},
getDict(key) {
let dict = this.vueStore.getters.getDict(key)
return dict ? dict.values : []
if (this.dicts().length) {
let dict = this.dicts().find((e) => e.key == key);
return dict ? dict.values : [];
} else return [];
},
getValue(key, label) {
let dict = this.vueStore.getters.getDict(key)
if (dict) {
let item = dict.values.find(v => v.dictName == label)
return item ? item.dictValue : label
} else return label
if (this.dicts().length) {
let dict = this.dicts().find((e) => e.key == key);
if (dict) {
let item = dict.values.find((v) => v.dictName == label);
return item ? item.dictValue : label;
} else return label;
} else return label;
},
getLabel(key, value) {
let dict = this.vueStore.getters.getDict(key)
if (dict) {
let item = dict.values.find(v => v.dictValue == value)
return item ? item.dictName : value
} else return value
if (this.dicts().length) {
let dict = this.dicts().find((e) => e.key == key);
if (dict) {
let item = dict.values.find((v) => v.dictValue == value);
return item ? item.dictName : value;
} else return value ? value : '';
} else return value ? value : '';
},
getColor(key, value) {
let dict = this.vueStore.getters.getDict(key)
if (dict) {
let item = dict.values.find(v => v.dictValue == value)
return item ? item.dictColor : value
} else return value
},
if (this.dicts().length) {
let dict = this.dicts().find((e) => e.key == key);
if (dict) {
let item = dict.values.find((v) => v.dictValue == value);
return item ? item.dictColor : value;
} else return value;
} else return value;
}
}
export default $dict