From 80deba0c2dcffd9e6b6f07815c7c52199309ce42 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期一, 23 六月 2025 17:36:03 +0800 Subject: [PATCH] 2025-06-23 --- src/tabviews/custom/components/table/edit-table/normalTable/index.jsx | 120 ++++++++++++++++++++++++++++++++++++++++++++---------------- 1 files changed, 88 insertions(+), 32 deletions(-) diff --git a/src/tabviews/custom/components/table/edit-table/normalTable/index.jsx b/src/tabviews/custom/components/table/edit-table/normalTable/index.jsx index 6e3aeef..c65b69c 100644 --- a/src/tabviews/custom/components/table/edit-table/normalTable/index.jsx +++ b/src/tabviews/custom/components/table/edit-table/normalTable/index.jsx @@ -20,7 +20,6 @@ class MkSwitch extends Component { static propTpyes = { - autoFocus: PropTypes.bool, defaultValue: PropTypes.any, config: PropTypes.object, onChange: PropTypes.func @@ -78,12 +77,10 @@ if (config.$ctrl) { MKEmitter.emit('colBlur' + config.tableId, lineId, config.uuid) } - - this.props.onBlur && this.props.onBlur() } render() { - const { config, autoFocus } = this.props + const { config } = this.props const { status } = this.state return ( @@ -91,7 +88,6 @@ ref={ref => this.node = ref} checkedChildren={config.openText} checked={status} - autoFocus={autoFocus} onFocus={this.onFocus} onBlur={this.onBlur} unCheckedChildren={config.closeText} @@ -627,6 +623,10 @@ let style = {} let className = '' + if (data && data.$disabled) { + className = className + ' mk-disabled ' + } + lineMarks && lineMarks.some(mark => { let originVal = data[mark.field[0]] + '' let contrastVal = '' @@ -763,7 +763,7 @@ content = `${record[col.field]}` } - if (col.editType === 'select' && col.options.length > 0) { + if (col.editType === 'select' && col.showValue !== 'value' && col.options.length > 0) { content = col.map.get(content) || content } else if (col.editType === 'switch') { if (content === col.openVal) { @@ -820,16 +820,17 @@ } if (col.editable === 'true' && !disabled) { - if (editing) { + if (col.editType === 'switch') { + let _value = record[col.field] !== undefined ? record[col.field] : '' + return (<td onClick={(e) => e.stopPropagation()} className="editing_table_cell"> + <MkSwitch config={col} lineId={record.$$uuid} defaultValue={_value} onChange={this.onColChange}/> + </td>) + } else if (editing) { let _value = record[col.field] !== undefined ? record[col.field] : '' if (!col.editType || col.editType === 'text') { return (<td onClick={(e) => e.stopPropagation()} className="editing_table_cell"> <MkInput config={col} lineId={record.$$uuid} defaultValue={_value} autoFocus={true} onChange={this.onColChange} onBlur={() => this.setState({editing: false})}/> - </td>) - } else if (col.editType === 'switch') { - return (<td onClick={(e) => e.stopPropagation()} className="editing_table_cell"> - <MkSwitch config={col} lineId={record.$$uuid} defaultValue={_value} autoFocus={true} onChange={this.onColChange} onBlur={() => this.setState({editing: false})}/> </td>) } else if (col.editType === 'date') { return (<td onClick={(e) => e.stopPropagation()} className="editing_table_cell"> @@ -964,6 +965,15 @@ content = '' } } else { + if (col.eval === 'false' && col.noValue === 'hide') { // 绌哄�奸殣钘� + Object.keys(record).forEach(key => { + if (/^\$/.test(key)) return + if (record[key]) return + + content = content.replace(new RegExp('[^@]*@' + key + '@', 'ig'), '') + }) + } + Object.keys(record).forEach(key => { let reg = new RegExp('@' + key + '@', 'ig') content = content.replace(reg, record[key]) @@ -1090,7 +1100,7 @@ ) } else if (col.editType === 'switch') { children = ( - <MkSwitch config={col} lineId={record.$$uuid} defaultValue={_value} autoFocus={false} onChange={this.onColChange}/> + <MkSwitch config={col} lineId={record.$$uuid} defaultValue={_value} onChange={this.onColChange}/> ) } else if (col.editType === 'date') { children = ( @@ -1116,7 +1126,7 @@ content = `${record[col.field]}` } - if (col.editType === 'select' && col.options.length > 0) { + if (col.editType === 'select' && col.showValue !== 'value' && col.options.length > 0) { content = col.map.get(content) || content } else if (col.editType === 'switch') { if (content === col.openVal) { @@ -1210,6 +1220,9 @@ } if (col.format === 'percent') { content = content * 100 + if (!col.round) { + content = +content.toFixed(2) + } } else if (col.format === 'abs') { content = Math.abs(content) } @@ -1283,6 +1296,15 @@ content = '' } } else { + if (col.eval === 'false' && col.noValue === 'hide') { // 绌哄�奸殣钘� + Object.keys(record).forEach(key => { + if (/^\$/.test(key)) return + if (record[key]) return + + content = content.replace(new RegExp('[^@]*@' + key + '@', 'ig'), '') + }) + } + Object.keys(record).forEach(key => { let reg = new RegExp('@' + key + '@', 'ig') content = content.replace(reg, record[key]) @@ -1965,7 +1987,7 @@ deffers.push( new Promise(resolve => { Api.getSystemCacheConfig(param, false).then(res => { - if (!res.status) { + if (!res.status && res.ErrCode !== '-2') { notification.warning({ top: 92, message: res.message, @@ -2004,7 +2026,7 @@ deffers.push( new Promise(resolve => { Api.getSystemCacheConfig(mainparam, false).then(res => { - if (!res.status) { + if (!res.status && res.ErrCode !== '-2') { notification.warning({ top: 92, message: res.message, @@ -2099,7 +2121,7 @@ deffers = deffers.map(item => { return new Promise(resolve => { Api.getSystemCacheConfig(item, false).then(res => { - if (!res.status) { + if (!res.status && res.ErrCode !== '-2') { notification.warning({ top: 92, message: res.message, @@ -2118,6 +2140,12 @@ delete result.ErrMesg delete result.message delete result.status + + this.props.columns.forEach(item => { + if (item.arr_field && result[item.field]) { + result[item.uuid] = result[item.field] + } + }) this.resetFormList(result) }) @@ -2484,7 +2512,7 @@ if (setting.supModule && !BID) { notification.warning({ top: 92, - message: dict['sup_key_req'] || '闇�瑕佷笂绾т富閿�硷紒', + message: setting.supModTip || dict['sup_key_req'] || '闇�瑕佷笂绾т富閿�硷紒', duration: 5 }) @@ -2520,7 +2548,7 @@ this.execError({}) }) } else if (submit.intertype === 'system') { // 绯荤粺瀛樺偍杩囩▼ - let result = getEditTableSql(submit, data, forms) + let result = getEditTableSql(submit, data, forms, setting) let param = {} param.func = 'sPC_TableData_InUpDe' @@ -2549,7 +2577,7 @@ this.execError({}) }) } else if (submit.intertype === 'inner' && submit.innerFunc) { // 鑷畾涔夊瓨鍌ㄨ繃绋� - let result = getEditTableSql(submit, data, forms) + let result = getEditTableSql(submit, data, forms, setting) let param = {} param.func = submit.innerFunc @@ -2604,7 +2632,11 @@ let lines = data.map(item => { let vals = [] forms.forEach(col => { - vals.push(item[col.field]) + if (typeof(item[col.field]) === 'number') { + vals.push(item[col.field] + '') + } else { + vals.push(item[col.field]) + } }) vals.push(item.$$uuid) @@ -2742,24 +2774,48 @@ /** * @description 閫変腑琛� */ - onSelectChange = selectedRowKeys => { - this.setState({ selectedRowKeys }) + onSelectChange = (selectedRowKeys, keys) => { + const { setting } = this.props - let activeId = '' - if (selectedRowKeys.length > 0) { - activeId = selectedRowKeys.slice(-1)[0] + if (setting.controlField && selectedRowKeys.length > 0) { + let newkeys = keys.filter(item => !item.$disabled).map(item => item.$$uuid) + + this.setState({ selectedRowKeys: newkeys }) + let activeId = '' + if (newkeys.length > 0) { + activeId = newkeys.slice(-1)[0] + } + this.changedata(activeId) + this.selectdata(newkeys) + } else { + this.setState({ selectedRowKeys }) + let activeId = '' + if (selectedRowKeys.length > 0) { + activeId = selectedRowKeys.slice(-1)[0] + } + this.changedata(activeId) + this.selectdata(selectedRowKeys) } - this.changedata(activeId) - this.selectdata(selectedRowKeys) + + // this.setState({ selectedRowKeys }) + + // let activeId = '' + // if (selectedRowKeys.length > 0) { + // activeId = selectedRowKeys.slice(-1)[0] + // } + // this.changedata(activeId) + // this.selectdata(selectedRowKeys) } /** * @description 鐐瑰嚮鏁磋锛岃Е鍙戝垏鎹紝 鍒ゆ柇鏄惁鍙�夛紝鍗曢�夋垨澶氶�夛紝杩涜瀵瑰簲鎿嶄綔 */ - changeRow = (id) => { + changeRow = (record) => { const { setting } = this.props - if (!setting.tableType) return + if (!setting.tableType || record.$disabled) return + + let id = record.$$uuid let newkeys = fromJS(this.state.selectedRowKeys).toJS() @@ -2899,7 +2955,7 @@ {setting.hasSubmit && edData.length > 0 ? <div className="edit-custom-table-btn-wrap" style={submit.wrapStyle}> <Button style={submit.style} onClick={() => setTimeout(() => {this.submit()}, 10)} loading={loading} className="submit-table" type="link">{dict['submit'] || '鎻愪氦'}</Button> </div> : null} - <div className={`edit-custom-table ${setting.tableHeader || ''} ${setting.parity === 'true' ? 'mk-parity' : ''} ${height ? 'fixed-table-height' : ''} ${setting.mode || ''} table-vertical-${setting.vertical || ''} mk-edit-${setting.editType || 'simple'}`} style={style}> + <div className={`edit-custom-table ${setting.tableHeader || ''} ${setting.parity === 'true' ? 'mk-parity' : ''} ${height ? 'fixed-table-height' : ''} ${setting.mode || ''} table-vertical-${setting.vertical || ''} mk-edit-${setting.editType || 'simple'} ${setting.empSign === 'hidden' ? 'mk-empty-hide' : ''}`} style={style}> <Table rowKey="$$uuid" components={components} @@ -2910,12 +2966,12 @@ dataSource={_data} loading={this.props.loading} scroll={{ x: '100%', y: height }} - onRow={(record, index) => { + onRow={(record, _) => { return { lineMarks, title: setting.tipField ? record[setting.tipField] : '', data: record, - onClick: () => {this.changeRow(record.$$uuid)}, + onClick: () => {this.changeRow(record)}, } }} onChange={this.changeTable} -- Gitblit v1.8.0