UNPKG

@fmdevui/fm-dev

Version:

Page level components developed based on Element Plus.

37 lines (33 loc) 1.12 kB
'use strict'; var pinia = require('pinia'); var index = require('../api/base/index.js'); var vue = require('vue'); const usefminputdropdownstore = pinia.defineStore("fminputdropdownstore", () => { const state = vue.reactive({ optionsData: {} }); const getOptionsData = async (apiService, apiAction, basecode, reload = false, multibasecode = []) => { if (!reload) { if (state.optionsData[basecode] && state.optionsData[basecode].length > 0) { return state.optionsData[basecode]; } } const res = await index.useBaseApi(apiService).get(null, apiAction + "/?codetype=" + basecode + "&mcodes=" + multibasecode.join(",")); if (multibasecode.length > 0) { const mdata = res.data.result ?? []; multibasecode.forEach((p) => { const tempdata = mdata.filter((x) => { return x.code == p; }); state.optionsData[p] = tempdata ?? []; }); } else { return state.optionsData[basecode] = res.data.result ?? []; } }; return { state, getOptionsData }; }); exports.usefminputdropdownstore = usefminputdropdownstore;