From 88f178df654b08411470a7eab75b3d5fed8817c0 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期五, 03 十一月 2023 01:37:45 +0800 Subject: [PATCH] Merge branch 'develop' --- src/tabviews/custom/components/table/edit-table/index.jsx | 133 ++++++++++++++++++++++++++++++++----------- 1 files changed, 98 insertions(+), 35 deletions(-) diff --git a/src/tabviews/custom/components/table/edit-table/index.jsx b/src/tabviews/custom/components/table/edit-table/index.jsx index 359886a..bcc54c6 100644 --- a/src/tabviews/custom/components/table/edit-table/index.jsx +++ b/src/tabviews/custom/components/table/edit-table/index.jsx @@ -46,10 +46,10 @@ UNSAFE_componentWillMount () { let _config = fromJS(this.props.config).toJS() let setting = {..._config.setting, ..._config.wrap} - setting.tableId = Utils.getuuid() - let BID = '' let BData = '' + + setting.tableId = Utils.getuuid().substr(-6).toUpperCase() if (_config.setting.supModule) { BData = window.GLOB.CacheData.get(_config.setting.supModule) @@ -76,9 +76,12 @@ }) let _columns = [] - setting.initId = '' - let triMap = new Map() + let initId = '' + setting.hasSubmit = false + if (setting.commit === 'change' || setting.commit === 'simple') { + setting.commit = 'change' + } let getColumns = (cols) => { return cols.filter(item => { @@ -115,14 +118,25 @@ } if (item.editable === 'true') { - setting.hasSubmit = true - if (!setting.initId) { - setting.initId = item.uuid + setting.hasSubmit = setting.commit !== 'change' + item.$ctrl = setting.commit === 'change' + + if (!initId) { + initId = item.uuid } - if (item.type === 'text' && (item.editType === 'switch' || item.editType === 'select')) { - triMap.set(item.uuid, item.editType) + if (item.enter === '$sub') { + item.enter = '$noAct' + } else if (item.enter === '$next') { + item.enter = '$next_' + initId } - if (item.type === 'text' && item.editType === 'select') { + + if (item.linkSubField && item.linkSubField.length === 0) { + item.linkSubField = null + } + + if (item.type === 'number') { + + } else if (item.editType === 'select') { item.options = item.options || [] item.options = item.options.filter(cell => { cell.value = cell.Value @@ -130,6 +144,16 @@ return !cell.Hide }) + } else if (item.editType === 'popSelect') { + if (item.pops) { + item.pops.forEach(cell => { + cell.linkSubField = item.linkSubField + this.resetPop(cell) + cell.tabName = cell.initval.replace(/^tab:/, '') + }) + } else { + this.resetPop(item) + } } } } @@ -140,25 +164,7 @@ _columns = getColumns(_config.cols) - if (triMap.size > 0) { - let setColumns = (cols) => { - return cols.map(item => { - if (item.type === 'colspan') { - item.subcols = setColumns(item.subcols) - } else if (item.editable === 'true' && triMap.has(item.enter)) { - item.triType = 'click' - } - - return item - }) - } - - _columns = setColumns(_columns) - - if (setting.initId && triMap.has(setting.initId)) { - setting.triType = 'click' - } - } + setting.initId = initId if (!_config.lineMarks || _config.lineMarks.length === 0) { _config.lineMarks = null @@ -174,10 +180,6 @@ } } else { _config.colsCtrls = null - } - - if (setting.commit === 'blur') { - setting.hasSubmit = false } this.setState({ @@ -198,6 +200,67 @@ }, _config.setting.delay || 0) } }) + } + + resetPop = (config) => { + let arrfield = config.columns.map(f => f.field) + + if (config.linkSubField && config.linkSubField.length > 0) { + config.linkSubField.forEach(n => { + if (!arrfield.includes(n)) { + arrfield.push(n) + } + }) + } + + if (sessionStorage.getItem('dataM') === 'true') { // 鏁版嵁鏉冮檺 + config.dataSource = config.dataSource.replace(/\$@/ig, '/*').replace(/@\$/ig, '*/').replace(/@datam@/ig, '\'Y\'') + } else { + config.dataSource = config.dataSource.replace(/@\$|\$@/ig, '').replace(/@datam@/ig, '\'\'') + } + + config.dataSource = config.dataSource.replace(/@LoginUID@/ig, `'${sessionStorage.getItem('LoginUID') || ''}'`) + config.dataSource = config.dataSource.replace(/@SessionUid@/ig, `'${localStorage.getItem('SessionUid') || ''}'`) + config.dataSource = config.dataSource.replace(/@UserID@/ig, `'${sessionStorage.getItem('UserID') || ''}'`) + config.dataSource = config.dataSource.replace(/@Appkey@/ig, `'${window.GLOB.appkey || ''}'`) + + if (/\s/.test(config.dataSource)) { // 鎷兼帴鍒悕 + config.dataSource = '(' + config.dataSource + ') tb' + } + + let labels = {} + config.cols = [] + config.columns.forEach(col => { + labels[col.field] = col.label + + if (col.Hide === 'true') return + + config.cols.push({ + dataIndex: col.field, + title: col.label, + sorter: col.IsSort === 'true', + width: col.Width || 120 + }) + }) + + let placeholder = '' + if (!config.searchKey) { + config.onload = 'true' + } else { + placeholder = [] + config.searchKey.split(',').forEach(key => { + if (!labels[key]) { + placeholder = '' + } else if (placeholder) { + placeholder.push(labels[key]) + } + }) + + placeholder = placeholder ? placeholder.join('銆�') : '' + } + + config.placeholder = placeholder + config.arr_field = arrfield.join(',') } /** @@ -287,7 +350,7 @@ loading: false }) - MKEmitter.emit('transferData', config.uuid, data) + MKEmitter.emit('transferData' + setting.tableId, data) if (result.message) { if (result.ErrCode === 'Y') { @@ -395,7 +458,7 @@ return item }) - MKEmitter.emit('transferData', config.uuid, _data, 'line') + MKEmitter.emit('transferData' + setting.tableId, _data, 'line') MKEmitter.emit('resetSelectLine', config.uuid, _data.$$uuid, _data) this.setState({ -- Gitblit v1.8.0