From 655ac8aef54bc134c1420c19975023182a10cae4 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期二, 08 十二月 2020 19:25:27 +0800 Subject: [PATCH] 2020-12-08 --- src/templates/sharecomponent/fieldscomponent/index.jsx | 124 ++++++++++++++++++++++++++++++++++++----- 1 files changed, 108 insertions(+), 16 deletions(-) diff --git a/src/templates/sharecomponent/fieldscomponent/index.jsx b/src/templates/sharecomponent/fieldscomponent/index.jsx index 2aefd5c..941ae06 100644 --- a/src/templates/sharecomponent/fieldscomponent/index.jsx +++ b/src/templates/sharecomponent/fieldscomponent/index.jsx @@ -67,6 +67,24 @@ columns.set(item.field, {...item, selected: true, datatype: _datatype}) } }) + } else if (type === 'form') { + if (config.groups.length > 1) { + config.groups.forEach(group => { + group.sublist.forEach(item => { + if (columns.has(item.field)) { + let _datatype = columns.get(item.field).datatype + columns.set(item.field, {...item, selected: true, datatype: _datatype}) + } + }) + }) + } else { + config.fields.forEach(item => { + if (columns.has(item.field)) { + let _datatype = columns.get(item.field).datatype + columns.set(item.field, {...item, selected: true, datatype: _datatype}) + } + }) + } } // 鏄剧ず瀛楁闆嗗脊绐� @@ -153,6 +171,7 @@ items.push(newcard) } }) + config.search = items } else if (type === 'columns') { config.columns.forEach(item => { if (columnsMap.has(item.field)) { @@ -191,6 +210,7 @@ items.push(newcard) } }) + config.columns = items } else if (type === 'fields') { config.columns.forEach(item => { if (columnsMap.has(item.field)) { @@ -219,24 +239,96 @@ items.push(newcard) } }) + } else if (type === 'form') { + if (config.groups.length > 1) { + config.groups.forEach(group => { + group.sublist.forEach(item => { + if (columnsMap.has(item.field)) { + let cell = columnsMap.get(item.field) + + if (cell.selected && cell.type === item.type) { // 鏁版嵁閫夋嫨鐘舵�佸強绫诲瀷鏈慨鏀规椂锛岀洿鎺ユ坊鍔� + items.push(item) + } else if (cell.selected) { // 鏁版嵁绫诲瀷淇敼鏃讹紝閲嶇疆绫诲瀷鍙婂垵濮嬪�� + item.type = cell.type + item.initval = '' + items.push(item) + } + columnsMap.delete(item.field) + } else if (!item.origin) { // 杩囨护绀轰緥椤� + items.push(item) + } + }) + group.sublist = items + }) + + let _columns = [...columnsMap.values()] + + let _additems = _columns.map(item => { // 寰幆娣诲姞鏂板瀛楁 + return { + uuid: Utils.getuuid(), + label: item.label, + field: item.field, + initval: '', + type: item.type, + resourceType: '0', + setAll: 'false', + options: [], + dataSource: '', + orderType: 'asc', + decimal: item.decimal, + readonly: 'false', + required: 'true' + } + }) + config.groups[config.groups.length - 1].sublist = [...config.groups.slice(-1)[0].sublist, ..._additems] + } else { + config.fields.forEach(item => { + if (columnsMap.has(item.field)) { + let cell = columnsMap.get(item.field) + + if (cell.selected && cell.type === item.type) { // 鏁版嵁閫夋嫨鐘舵�佸強绫诲瀷鏈慨鏀规椂锛岀洿鎺ユ坊鍔� + items.push(item) + } else if (cell.selected) { // 鏁版嵁绫诲瀷淇敼鏃讹紝閲嶇疆绫诲瀷鍙婂垵濮嬪�� + item.type = cell.type + item.initval = '' + items.push(item) + } + columnsMap.delete(item.field) + } else if (!item.origin) { // 杩囨护绀轰緥椤� + items.push(item) + } + }) + + let _columns = [...columnsMap.values()] + + _columns.forEach(item => { // 寰幆娣诲姞鏂板瀛楁 + if (item.selected) { + let newcard = { + uuid: Utils.getuuid(), + label: item.label, + field: item.field, + initval: '', + type: item.type, + resourceType: '0', + setAll: 'false', + options: [], + dataSource: '', + decimal: item.decimal, + orderType: 'asc', + readonly: 'false', + required: 'true' + } + + items.push(newcard) + } + }) + + config.fields = items + } } - let _config = null - - if (type === 'search') { - _config = {...this.props.config, search: items} - - this.props.updatefield(_config) - - notification.success({ - top: 92, - message: '鎿嶄綔鎴愬姛', - duration: 2 - }) - } else if (type === 'columns') { - _config = {...this.props.config, columns: items} - - this.props.updatefield(_config) + if (type === 'search' || type === 'columns' || type === 'form') { + this.props.updatefield(config) notification.success({ top: 92, -- Gitblit v1.8.0