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