| | |
| | | |
| | | const MKCheckCard = asyncComponent(() => import('./mkCheckCard')) |
| | | const MKSwitch = asyncComponent(() => import('./mkSwitch')) |
| | | const MKCheck = asyncComponent(() => import('./mkCheck')) |
| | | const MKCheckbox = asyncComponent(() => import('./mkCheckbox')) |
| | | const MKRadio = asyncComponent(() => import('./mkRadio')) |
| | | const MKDatePicker = asyncComponent(() => import('./mkDatePicker')) |
| | |
| | | } |
| | | delete item.field |
| | | return true |
| | | } else if (item.type === 'date') { // 时间搜索 |
| | | } else if (item.type === 'date') { |
| | | item.precision = item.precision || 'day' |
| | | } else if (item.type === 'datetime') { |
| | | item.type = 'date' |
| | | item.precision = 'second' |
| | | } |
| | | |
| | | if (!item.field || !['text', 'number', 'switch', 'rate', 'select', 'link', 'cascader', 'linkMain', 'funcvar', 'date', 'datemonth', 'radio', 'checkbox', 'checkcard', 'fileupload', 'textarea', 'multiselect', 'brafteditor', 'color', 'vercode'].includes(item.type)) return false |
| | | if (!item.field || !['text', 'number', 'switch', 'check', 'rate', 'select', 'link', 'cascader', 'linkMain', 'funcvar', 'date', 'datemonth', 'radio', 'checkbox', 'checkcard', 'fileupload', 'textarea', 'multiselect', 'brafteditor', 'color', 'vercode'].includes(item.type)) return false |
| | | |
| | | if (/^\s+$/.test(item.label)) { |
| | | item.style = item.style || {} |
| | | item.style.color = 'transparent' |
| | | item.style.opacity = 0 |
| | | item.style.width = 1 |
| | | item.style.display = 'inline-block' |
| | | } |
| | | |
| | | // 数据自动填充 |
| | |
| | | if (item.empty === 'hidden' && item.oriOptions.length === 0) { |
| | | item.hidden = true |
| | | } |
| | | if (item.type === 'checkcard' && item.readonly && item.unchecked === 'hidden') { |
| | | let selectKeys = item.initval |
| | | if (item.multiple === 'true') { |
| | | selectKeys = selectKeys ? selectKeys.split(',') : [] |
| | | item.options = item.options.filter(item => selectKeys.includes(item.$value)) |
| | | } else { |
| | | item.options = item.options.filter(item => selectKeys === item.$value) |
| | | } |
| | | item.oriOptions = fromJS(item.options).toJS() |
| | | if (item.options.length === 0) { |
| | | item.hidden = true |
| | | } |
| | | } |
| | | } |
| | | |
| | | let newval = '$empty' |
| | |
| | | if (newval === '$empty' && item.initval) { |
| | | newval = moment().subtract(item.initval, 'month').format('YYYY-MM') |
| | | } |
| | | } else if (item.type === 'switch') { // 开关只接收固定值 |
| | | } else if (item.type === 'switch' || item.type === 'check') { // 开关勾选框只接收固定值 |
| | | if (newval !== '$empty' && (newval === item.closeVal || newval === item.openVal)) { |
| | | |
| | | } else if (item.initval === true) { |
| | |
| | | |
| | | let cell = fieldMap.get(item.field) |
| | | |
| | | if (cell.hidden) return |
| | | |
| | | // if (cell.hidden) return |
| | | |
| | | if (supItem.hidden || !item.values.includes(supItem.initval)) { |
| | | cell.hidden = true |
| | | if (cell.empty === 'hidden') { |
| | | cell.$hidden = true |
| | | } |
| | | fieldMap.set(item.field, cell) |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | if (['select', 'link', 'radio'].includes(item.type)) { // 选中第一项 |
| | | if (typeof(item.initval) === 'string' && item.initval.indexOf('$first') > -1) { |
| | | if (/^\s*\$first\s*$/.test(item.initval)) { |
| | | item.$first = true |
| | | item.initval = '' |
| | | } |
| | |
| | | if (unload) return |
| | | |
| | | if (action.setting && action.setting.focus && fieldMap.has(action.setting.focus)) { |
| | | setTimeout(() => { |
| | | MKEmitter.emit('mkFC', 'focus', fieldMap.get(action.setting.focus).uuid) |
| | | }, 500) |
| | | let focusItem = fieldMap.get(action.setting.focus) |
| | | |
| | | if (focusItem.type === 'text' || focusItem.type === 'number') { |
| | | setTimeout(() => { |
| | | MKEmitter.emit('mkFC', 'focus', focusItem.uuid) |
| | | }, 50) |
| | | } else { |
| | | setTimeout(() => { |
| | | MKEmitter.emit('mkFC', 'focus', focusItem.uuid) |
| | | }, 500) |
| | | } |
| | | } |
| | | |
| | | if (deForms.length > 0) { |
| | |
| | | if (debug) { |
| | | console.info(sql) |
| | | } |
| | | |
| | | sql = sql.replace(/%/ig, ' mpercent ') |
| | | |
| | | mainItems.push(`select '${item.field}' as obj_name,'${item.arr_field}' as arr_field,'${window.btoa(window.encodeURIComponent(sql))}' as LText`) |
| | | } else { |
| | | let sql = _sql + item.base_sql |
| | |
| | | if (debug) { |
| | | console.info(sql) |
| | | } |
| | | |
| | | sql = sql.replace(/%/ig, ' mpercent ') |
| | | |
| | | localItems.push(`select '${item.field}' as obj_name,'${item.arr_field}' as arr_field,'${window.btoa(window.encodeURIComponent(sql))}' as LText`) |
| | | } |
| | | }) |
| | |
| | | } |
| | | } |
| | | |
| | | if (item.empty === 'hidden' && item.oriOptions.length > 0) { |
| | | if (item.empty === 'hidden' && item.oriOptions.length > 0 && !item.$hidden) { |
| | | item.hidden = false |
| | | } |
| | | if (item.type === 'checkcard' && item.readonly && item.unchecked === 'hidden') { |
| | | let selectKeys = item.initval |
| | | if (item.multiple === 'true') { |
| | | selectKeys = selectKeys ? selectKeys.split(',') : [] |
| | | item.options = item.options.filter(item => selectKeys.includes(item.$value)) |
| | | } else { |
| | | item.options = item.options.filter(item => selectKeys === item.$value) |
| | | } |
| | | item.oriOptions = fromJS(item.options).toJS() |
| | | if (item.options.length === 0) { |
| | | item.hidden = true |
| | | } else { |
| | | item.hidden = false |
| | | } |
| | | } |
| | | } |
| | | |
| | |
| | | current.controlFields.forEach(cell => { |
| | | let m = map.get(cell.field) |
| | | m.hidden = current.hidden || !cell.values.includes(val) |
| | | |
| | | if (m.empty === 'hidden' && m.oriOptions.length === 0) { |
| | | m.hidden = true |
| | | } |
| | | |
| | | if (m.hidden) { |
| | | m.initval = this.record[m.field] |
| | |
| | | content = (<MKCheckCard config={item} onChange={(val, other) => this.recordChange({[item.field]: val, ...other}, item)}/>) |
| | | } else if (item.type === 'switch') { |
| | | content = (<MKSwitch config={item} onChange={(val) => this.recordChange({[item.field]: val}, item)}/>) |
| | | } else if (item.type === 'check') { |
| | | content = (<MKCheck config={item} onChange={(val) => this.recordChange({[item.field]: val}, item)}/>) |
| | | } else if (item.type === 'checkbox') { |
| | | content = (<MKCheckbox config={item} onChange={(val) => this.recordChange({[item.field]: val})}/>) |
| | | } else if (item.type === 'radio') { |
| | |
| | | readin: item.readin, |
| | | writein: item.writein, |
| | | fieldlen: item.fieldlength, |
| | | key: item.field |
| | | key: item.field, |
| | | isconst: item.constant === 'true' |
| | | } |
| | | |
| | | _item.value = record[item.field] !== undefined ? record[item.field] : '' |
| | |
| | | _item.value = _item.value.slice(-item.fieldlength) |
| | | } |
| | | } |
| | | } else if (item.type.indexOf('date') > -1) { |
| | | if (item.declareType === 'nvarchar(50)') { |
| | | _item.type = 'text' |
| | | } |
| | | } else if (item.type === 'datemonth') { |
| | | _item.type = 'text' |
| | | } else if (item.type === 'date') { |
| | | _item.type = item.declareType === 'nvarchar(50)' ? 'text' : 'date' |
| | | } else if (item.type === 'vercode') { |
| | | _item.type = 'text' |
| | | forms.push({ |