|
- 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()
- }
- }
|