import Vue from 'vue' import { get as getDictDetail } from '@/api/system/dictDetail' export default class Dict { constructor(dict) { this.dict = dict } async init(names, completeCallback) { if (names === undefined || name === null) { throw new Error('need Dict names') } const ps = [] names.forEach(n => { Vue.set(this.dict.dict, n, {}) Vue.set(this.dict.label, n, {}) Vue.set(this.dict, n, []) ps.push(getDictDetail(n).then(data => { this.dict[n].splice(0, 0, ...data.content) data.content.forEach(d => { Vue.set(this.dict.dict[n], d.value, d) Vue.set(this.dict.label[n], d.value, d.label) }) })) }) await Promise.all(ps) completeCallback() } }