| | |
| | | * 生成一条表单条目 |
| | | * @param {String} _label 标签名称 |
| | | * @param {String} _name 字段名称 |
| | | * @param {String} _type 输入类型 (text: 输入框; switch: 切换按钮; picker: 下拉框选项; cascader: 级联选择) |
| | | * @param {Boolean} _required 是否为必填项 |
| | | * @param {String} _type 输入类型 (text: 输入框; textarea: 多行输入框; switch: 切换按钮; picker: 下拉框选项; cascader: 级联选择) |
| | | * @param {Array} _options 当输入类型为picker或cascader时,提供可选项 |
| | | * @param {Array} cascaderTitles 当输入类型为cascader时,提供每层选项的标题 |
| | | * @param {Array} referItems 当输入类型为cascader时,提供关联的属性name |
| | |
| | | return { |
| | | required: _required, |
| | | label: _label, |
| | | placeholder: (_type == 'text' ? '请输入' : '请选择') + _label, |
| | | placeholder: (_type == 'text' || _type == 'textarea' ? '请输入' : '请选择') + _label, |
| | | name: _name, |
| | | value: null, |
| | | status: 'success', |
| | |
| | | * @param {Object} defaultValue 初始数据 |
| | | */ |
| | | function setDefaultValue(items, defaultValue) { |
| | | if (typeof defaultValue === 'object') { |
| | | if (defaultValue && typeof defaultValue === 'object') { |
| | | items.forEach(e => { |
| | | // 文本和开关类型直接赋值 |
| | | if (e.inputType == 'text' || e.inputType == 'switch') { |
| | | if (e.inputType == 'text' || e.inputType == 'switch' || e.inputType == 'textarea') { |
| | | if (defaultValue.hasOwnProperty(e.name)) { |
| | | e.value = defaultValue[e.name]; |
| | | } |
| | | } |
| | | // 下拉框除了赋值,需要额外赋值属性_value(数组类型,组件t-picker的特性) |
| | | else if (e.inputType == 'picker') { |
| | | if (defaultValue.hasOwnProperty(e.name)) { |
| | | if ( |
| | | defaultValue.hasOwnProperty(e.name) && |
| | | defaultValue[e.name] != null && |
| | | defaultValue[e.name] != undefined |
| | | ) { |
| | | e.value = defaultValue[e.name] + ''; |
| | | e._value = [e.value]; |
| | | const op = e.options.find(o=>{ |
| | | return o.value == e.value |
| | | }) |
| | | e._label = op.label |
| | | const op = e.options.find(o => { |
| | | return o.value == e.value; |
| | | }); |
| | | e._label = op.label; |
| | | } |
| | | } |
| | | // 级联选择器,根据属性referItems找到对应的初始数据 |
| | |
| | | note, |
| | | options = e.options; |
| | | e.referItems.forEach(r => { |
| | | if (defaultValue.hasOwnProperty(r)) { |
| | | if ( |
| | | defaultValue.hasOwnProperty(r) && |
| | | defaultValue[r] != null && |
| | | defaultValue[r] != undefined |
| | | ) { |
| | | const o = options.find(v => { |
| | | return v.value == defaultValue[r]; |
| | | }); |