meta.js 4.01 KB
// 下拉字段配置
import { register } from "@/api";
// 系统类型
import { getSystemTypeList, getSpecialRecordType, getState } from "@/api/common";
// 所属区县
import { getAreaSelect } from "@/api/baseData/area";
// 系统分类
import { getSystemClassSelect } from "@/api/baseData/systemClass";
// 外协列表
import { getExternalAssistanceList } from "@/api/baseData/externalAssistance"

const meta = {
    state: {
        system: '', // 系统类型
        area: '', // 系统类型
        systemClass: {},
        externalAssistanceList: '', // 外协
        specialRecordTypeList: '', // 特殊备案
        stateTypeList: '', 
    },

    mutations: {
        SET_SYSTEM: (state, data) => {
            state.system = data;
        },
        SET_AREA: (state, data) => {
            state.area = data;
        },
        SET_SYSTEM_CLASS: (state, {key, data}) => {
            state.systemClass[key] = data;
        },
        SET_EXTERNALASSISTANCE_CLASS: (state, data) => {
            state.externalAssistanceList = data;
        },
        SET_SPECIALRECORDTYPELIST_CLASS: (state, data) => {
            state.specialRecordTypeList = data;
        },
        SET_STATETYPE_LIST: (state, data) => {
            state.stateTypeList = data;
        },
    },

    actions: {
        getTypeListByCode({ commit, state }, items) {
            return new Promise((resolve, reject) => {
                switch (items) {
                    case 'system':
                        getSystemTypeList().then(res => {
                            commit('SET_SYSTEM', res.data)
                            resolve(res.data)
                        }).catch(error => { reject(error) })
                        break;
                    case 'area':
                        getAreaSelect().then(res => {
                            commit('SET_AREA', res.data)
                            resolve(res.data)
                        }).catch(error => { reject(error) })
                        break;
                    case 'externalAssistance':
                        getExternalAssistanceList().then(res => {
                            commit('SET_EXTERNALASSISTANCE_CLASS', res.data)
                            resolve(res.data)
                        }).catch(error => { reject(error) })
                        break;
                    case 'specialRecordType':
                        getSpecialRecordType().then(res => {
                            commit('SET_SPECIALRECORDTYPELIST_CLASS', res.data.list)
                            resolve(res.data.list)
                        }).catch(error => { reject(error) })
                        break;
                    case 'stateType':
                        getState().then(res => {
                            let tagType = [
                                { name: '1', type: 'danger' }, // 未上报
                                { name: '2', type: 'danger' }, // 未下发
                                { name: '3', type: 'warning' }, // 待处理
                                { name: '4', type: 'success' }, // 已处理
                                { name: '5', type: 'info' }, // 仅保存
                            ];
                            res.data.forEach(v => {
                                v.tagType = tagType.find(item => v.EnCode == item.name).type || '';
                            });
                            commit('SET_STATETYPE_LIST', res.data)
                            resolve(res.data)
                        }).catch(error => { reject(error) })
                        break;

                    default:
                        break;
                }
            })
        },
        getSystemType({ commit, state }, val) {
            return new Promise((resolve, reject) => {
                getSystemClassSelect({ systemType: val }).then(res => {
                    commit('SET_SYSTEM_CLASS', {key: val, data:res.data})
                    resolve(res.data)
                }).catch(error => { reject(error) })
            })
        }
    }
}

export default meta