1234567891011121314151617181920212223242526272829303132333435363738 |
- import { mergeRecursive } from "@/utils/ruoyi";
- import DictOptions from './DictOptions'
- /**
- * @classdesc 字典元数据
- * @property {String} type 类型
- * @property {Function} request 请求
- * @property {String} label 标签字段
- * @property {String} value 值字段
- */
- export default class DictMeta {
- constructor(options) {
- this.type = options.type
- this.request = options.request,
- this.responseConverter = options.responseConverter
- this.labelField = options.labelField
- this.valueField = options.valueField
- this.lazy = options.lazy === true
- }
- }
- /**
- * 解析字典元数据
- * @param {Object} options
- * @returns {DictMeta}
- */
- DictMeta.parse= function(options) {
- let opts = null
- if (typeof options === 'string') {
- opts = DictOptions.metas[options] || {}
- opts.type = options
- } else if (typeof options === 'object') {
- opts = options
- }
- opts = mergeRecursive(DictOptions.metas['*'], opts)
- return new DictMeta(opts)
- }
|