import { getAllSelectList } from "~/service/business/codeTable"; const store = { state: { dbCodeParams: {}, timer: null }, mutations: { updateDbCodeParams(state, parsms) { state.dbCodeParams = parsms }, updateTimer(state, parsms) { state.timer = parsms } }, actions: { getDbCodeData({ commit, state }, payload) { let dbCodeParams = state.dbCodeParams let args = payload.args let curDbCodeStr = `${args.codeType}_${args.uil}_${args.sort}` if (!dbCodeParams[curDbCodeStr]) { dbCodeParams[curDbCodeStr] = args } clearTimeout(state.timer) commit('updateTimer', null) state.timer = setTimeout(() => { getAllSelectList(dbCodeParams).then(res => { if (res.respCode == SUCCESS) { commit('updateDbCodeParams', {}) let keyList = Object.keys(res.data) keyList.map((item) => { let curList = res.data[item].map((cod) => { return { value: cod.codeValue, label: cod.codeName } }) let localNewData = '' if (payload.isCache) { let dataOld = localStorage.getItem("localCodes") ? JSON.parse(localStorage.getItem("localCodes")) : {}; localNewData = JSON.stringify({ ...dataOld, [item]: curList }); localStorage.setItem("localCodes", localNewData); } else { let dataOld = localStorage.getItem("localCodes") ? JSON.parse(localStorage.getItem("localCodes")) : {}; localNewData = JSON.stringify({ ...dataOld, [item]: null }); } localStorage.setItem("localCodes", localNewData); }) } }) }, 1000) } } } export default store;