| | |
| | | |
| | | btnconfig.fields.forEach(item => { |
| | | if (!item.field) return |
| | | |
| | | let _item = { |
| | | key: item.field, |
| | | readin: item.readin !== 'false' && item.readin !== 'top', |
| | | fieldlen: item.fieldlength || 50, |
| | | writein: item.writein !== 'false', |
| | | type: item.type |
| | | type: item.type, |
| | | value: item.initval |
| | | } |
| | | |
| | | let _initval = item.initval |
| | | let key = item.field.toLowerCase() |
| | | let _readin = item.readin !== 'false' |
| | | let _format = item.precision || 'day' // 时间格式化 |
| | | |
| | | if (item.type === 'funcvar') { |
| | | _initval = '' |
| | | _readin = false |
| | | _item.readin = false |
| | | } else if (item.type === 'linkMain') { |
| | | _readin = false |
| | | _item.readin = false |
| | | } else if (item.type === 'date') { |
| | | if (_format !== 'day') { |
| | | _format = 'YYYY-MM-DD HH:mm:ss' |
| | | } else { |
| | | _format = 'YYYY-MM-DD' |
| | | } |
| | | } else if (item.type === 'datetime') { |
| | | if (_item.type === 'date') { // 时间兼容 |
| | | _item.precision = item.precision || 'day' |
| | | } else if (_item.type === 'datetime') { |
| | | _item.type = 'date' |
| | | _format = 'YYYY-MM-DD HH:mm:ss' |
| | | } else if (['select', 'link', 'radio'].includes(item.type)) { // 选中第一项 |
| | | if (typeof(_initval) === 'string' && _initval.indexOf('$first') > -1) { |
| | | _initval = '' |
| | | _item.precision = 'second' |
| | | } else if (['funcvar', 'linkMain'].includes(_item.type)) { |
| | | _readin = false |
| | | _item.readin = false |
| | | } else if (['select', 'link', 'radio'].includes(_item.type)) { // 选中第一项 |
| | | if (/^\s*\$first\s*$/.test(_item.value)) { |
| | | _item.value = '' |
| | | |
| | | if (item.resourceType === '0' && item.options[0] && item.options[0].Value) { |
| | | _initval = item.options[0].Value |
| | | _item.value = item.options[0].Value |
| | | } |
| | | } |
| | | } |
| | | |
| | | let key = item.field.toLowerCase() |
| | | |
| | | if (_item.type === 'linkMain' && BData.hasOwnProperty(key)) { |
| | | _initval = BData[key] |
| | | if (_item.type === 'funcvar') { |
| | | _item.value = '' |
| | | } else if (_item.type === 'linkMain' && BData.hasOwnProperty(key)) { |
| | | _item.value = BData[key] |
| | | } else if (_readin && _data.hasOwnProperty(key)) { |
| | | _initval = _data[key] |
| | | } else if (_item.type === 'date' && _initval) { |
| | | _initval = moment().subtract(_initval, 'days').format(_format) |
| | | } else if (_item.type === 'datemonth' && _initval) { |
| | | _initval = moment().subtract(_initval, 'month').format('YYYY-MM') |
| | | _item.value = _data[key] |
| | | } else if (_item.type === 'date' && _item.value) { |
| | | _item.value = moment().subtract(_item.value, 'days').format(_item.precision === 'day' ? 'YYYY-MM-DD' : 'YYYY-MM-DD HH:mm:ss') |
| | | } else if (_item.type === 'datemonth' && _item.value) { |
| | | _item.value = moment().subtract(_item.value, 'month').format('YYYY-MM') |
| | | } |
| | | |
| | | _item.value = _initval === undefined ? '' : _initval |
| | | _item.value = _item.value === undefined ? '' : _item.value |
| | | |
| | | if (_item.type === 'number' || item.declare === 'decimal') { |
| | | _item.type = 'number' |
| | |
| | | _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 === 'rate') { |
| | | let count = item.rateCount || 5 |
| | | _item.value = parseInt(_item.value) |