Commit 00553e6895234ae94b91a4edab7724e00722dda2
1 parent
c1b44e46
1.保存的时候,删除的时候,传入sOldData
Showing
4 changed files
with
41 additions
and
2 deletions
src/components/Common/CommonBase.js
| ... | ... | @@ -763,6 +763,7 @@ export default (ChildComponent) => { |
| 763 | 763 | } |
| 764 | 764 | } |
| 765 | 765 | addState[`${name}Data`] = returnData; |
| 766 | + addState[`${name}DataOld`] = returnData; | |
| 766 | 767 | if(commonUtils.isNotEmptyObject(returnData.customConfig) && commonUtils.isJSON(returnData.customConfig) && commonUtils.isNotEmptyObject(slaveConfig)) { |
| 767 | 768 | const columnConfig = JSON.parse(returnData.customConfig); |
| 768 | 769 | const newConfig =JSON.parse(JSON.stringify(slaveConfig)); |
| ... | ... | @@ -1048,6 +1049,7 @@ export default (ChildComponent) => { |
| 1048 | 1049 | const filterConditionNew = commonUtils.isNotEmptyObject(filterCondition) ? filterCondition.filter(item => item.bFilterType !== 'tree') : ''; |
| 1049 | 1050 | let addState = { |
| 1050 | 1051 | [`${name}Data`]: returnData, |
| 1052 | + [`${name}DataOld`]: returnData, | |
| 1051 | 1053 | [`${name}Pagination`]: returnPagination, |
| 1052 | 1054 | [`${name}FilterCondition`]: filterConditionNew, |
| 1053 | 1055 | [`${name}OrderBy`]: orderBy, | ... | ... |
src/components/Common/CommonBillEvent.js
| ... | ... | @@ -2603,8 +2603,10 @@ export default (ChildComponent) => { |
| 2603 | 2603 | } |
| 2604 | 2604 | }); |
| 2605 | 2605 | } |
| 2606 | + const sOldData = commonUtils.getOldDataFromProps(this.props); | |
| 2607 | + console.log('组装后的原始数据', sOldData); | |
| 2606 | 2608 | |
| 2607 | - this.handleSaveData({ data, sClientType: '1', sSysLogSrcId: masterData.sId }); | |
| 2609 | + this.handleSaveData({ data, sClientType: '1', sSysLogSrcId: masterData.sId, sOldData }); | |
| 2608 | 2610 | } |
| 2609 | 2611 | }); |
| 2610 | 2612 | }; |
| ... | ... | @@ -3115,12 +3117,15 @@ export default (ChildComponent) => { |
| 3115 | 3117 | } |
| 3116 | 3118 | } |
| 3117 | 3119 | } |
| 3120 | + const sOldData = commonUtils.getOldDataFromProps(this.props); | |
| 3121 | + console.log('删除的原始数据', sOldData); | |
| 3118 | 3122 | const value = { |
| 3119 | 3123 | sClientType: '1', |
| 3120 | 3124 | data: { |
| 3121 | 3125 | sMasterTable: masterConfig.sTbName, |
| 3122 | 3126 | sId: [masterData.sId], |
| 3123 | 3127 | }, |
| 3128 | + sOldData | |
| 3124 | 3129 | }; |
| 3125 | 3130 | const sSlaveTable = []; |
| 3126 | 3131 | if (commonUtils.isNotEmptyObject(slaveConfig)) { | ... | ... |
src/components/IndexCenter/IndexCenter.js
| ... | ... | @@ -105,7 +105,6 @@ class IndexCenter extends Component { |
| 105 | 105 | componentWillReceiveProps(nextProps) { |
| 106 | 106 | const { dispatch } = nextProps; |
| 107 | 107 | const { modelCenter, comParameter:comParameterAll = [], dataCode, kpiData, logoImageInfo, userinfo, token } = nextProps.app; |
| 108 | - console.log('1-comParameterAll', comParameterAll); | |
| 109 | 108 | const comParameter = comParameterAll.filter(item => item.sDisplayType ? item.sDisplayType !== 'LargeScreen' : !item.sFormUrl?.includes('http')); |
| 110 | 109 | const commonThirdApp = comParameterAll.filter(item => item.sDisplayType ? item.sDisplayType === 'LargeScreen' : item.sFormUrl?.includes('http')); |
| 111 | 110 | const { modelCenter: modelCenterOld } = this.props; | ... | ... |
src/utils/utils.js
| ... | ... | @@ -641,6 +641,39 @@ export function genSlaveNewId(arr, tableName, idName, oldName, baseObj) { |
| 641 | 641 | } |
| 642 | 642 | |
| 643 | 643 | |
| 644 | +/** | |
| 645 | + * 从props中提取带DataOld后缀的字段,组装成以表名为key的原始数据对象 | |
| 646 | + * @param {Object} props - 组件的props对象 | |
| 647 | + * @returns {Object} - 组装后的sOldData,格式:{ 表名: 对应的数据数组 } | |
| 648 | + */ | |
| 649 | +export function getOldDataFromProps(props) { | |
| 650 | + // 初始化返回的空对象 | |
| 651 | + const sOldData = {}; | |
| 652 | + | |
| 653 | + // 2. 遍历props的所有key | |
| 654 | + for (const key of Object.keys(props)) { | |
| 655 | + if (key.includes('DataOld')) { | |
| 656 | + // 提取去掉DataOld后的表名前缀 | |
| 657 | + const tablename = key.replace('DataOld', '').trim(); | |
| 658 | + | |
| 659 | + // 获取对应的配置对象(tablename + Config) | |
| 660 | + const tableConfig = props[tablename + 'Config']; | |
| 661 | + // 获取对应的原始数据(tablename + DataOld),默认空数组 | |
| 662 | + const tableData = props[tablename + 'DataOld'] || []; | |
| 663 | + | |
| 664 | + // 3. 校验配置对象是否有效,避免无配置时赋值 | |
| 665 | + if (isNotEmptyObject(tableConfig) && tableConfig.sTbName) { | |
| 666 | + // 以配置中的真实表名为key,存入数据 | |
| 667 | + const sTbName = tableConfig.sTbName; | |
| 668 | + sOldData[sTbName] = tableData; | |
| 669 | + } | |
| 670 | + } | |
| 671 | + } | |
| 672 | + | |
| 673 | + return sOldData; | |
| 674 | +} | |
| 675 | + | |
| 676 | + | |
| 644 | 677 | export const myContext = createContext(null); |
| 645 | 678 | |
| 646 | 679 | export function reducer(state, action) { | ... | ... |