meta.js 880 Bytes
// 获取公司列表
import { register } from "@/api";
import { getCompanyInfoList } from "@/api/company";

const meta = {
    state: {
        metaData: {}
    },

    mutations: {
       ADD_MATA_DATA_ITEMS: (state, data) => {
        Object.keys(data).forEach(key => {
            let value = data[key].map(item => {
                let {dictCode, dictValue, dictLabel} = item
                return {dictCode, dictValue, dictLabel}
            })
            Vue.set(state.metaData, key, value)
        })
       }
    },

    actions: {
      registerMateDataItems({ commit, state }, items) {
        let types =  items.filter(item => !state.metaData[item])
        if(types && types.length) {
            getCompanyInfoList(types.join(',')).then(res => {
                commit('ADD_MATA_DATA_ITEMS', res.data)
            })
        }
      }
    }
}

export default meta