From 600d73f858154d11a67f8ae133295c28f92fe814 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=8E=E6=B0=B8=E9=A1=BA?= <971387674@qq.com> Date: Mon, 31 Jul 2023 10:51:10 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BA=A7=E5=93=81-=E8=96=AA=E8=B5=84=E8=B4=A6?= =?UTF-8?q?=E5=A5=97=E8=96=AA=E8=B5=84=E9=A1=B9=E7=9B=AE=E7=BC=96=E8=BE=91?= =?UTF-8?q?=E5=8A=9F=E8=83=BD=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/ledgerSalaryItemTable.js | 58 ++++++++++++------- 1 file changed, 37 insertions(+), 21 deletions(-) diff --git a/pc4mobx/hrmSalary/pages/ledgerPage/components/ledgerSalaryItemTable.js b/pc4mobx/hrmSalary/pages/ledgerPage/components/ledgerSalaryItemTable.js index 1dcbf1b5..c2195539 100644 --- a/pc4mobx/hrmSalary/pages/ledgerPage/components/ledgerSalaryItemTable.js +++ b/pc4mobx/hrmSalary/pages/ledgerPage/components/ledgerSalaryItemTable.js @@ -18,6 +18,7 @@ class LedgerSalaryItemTable extends Component { super(props); this.state = { selectedRowKeys: [], + originRecord: {}, salaryItemPayload: { visible: false, record: {}, request: {}, isLedger: true, @@ -93,18 +94,21 @@ class LedgerSalaryItemTable extends Component { } = _.find(dataSource, it => it.salaryItemId === salaryItemId); const { data: userStatusList } = await commonEnumList({ enumClass: "com.engine.salary.enums.sicategory.SharedTypeEnum" }); if (id) { - console.log("96", record, _.find(dataSource, it => it.salaryItemId === salaryItemId)); getSalaryItemForm({ salarySobId, salaryItemId }).then(({ status, data }) => { if (status) { this.setState({ + originRecord: _.find(dataSource, it => it.salaryItemId === salaryItemId), salaryItemPayload: { ...this.state.salaryItemPayload, visible: true, request: { ...data, useInEmployeeSalary: !_.isNil(data.useInEmployeeSalary) ? data.useInEmployeeSalary : "0", - hideDefault: _.isNil(hideDefault) ? "0" : hideDefault, - valueType, roundingMode, pattern + hideDefault: _.isNil(hideDefault) ? "0" : hideDefault, valueType, roundingMode, pattern, + formulaContent: formulaContent ? formulaContent : data.formulaContent, + originFormulaContent: originFormulaContent ? originFormulaContent : data.originFormulaContent, + originSqlContent: originSqlContent ? originSqlContent : data.originSqlContent, + formulaId: formulaId ? formulaId : data.formulaId }, record, userStatusList: _.map(userStatusList, it => ({ key: it.value.toString(), showname: it.defaultLabel })) @@ -127,7 +131,8 @@ class LedgerSalaryItemTable extends Component { }, record, userStatusList: _.map(userStatusList, it => ({ key: it.value.toString(), showname: it.defaultLabel })) - } + }, + originRecord: _.find(dataSource, it => it.salaryItemId === salaryItemId) }); } }; @@ -148,25 +153,24 @@ class LedgerSalaryItemTable extends Component { hideDefault, roundingMode, pattern, valueType, originFormulaContent, originSqlContent, formulaId } = request; - console.log("152", salaryItemPayload); this.handleChangeSalaryItem({ itemHide: hideDefault.toString(), - roundingMode, - pattern, - valueType, + roundingMode, pattern, valueType, formulaContent: valueType.toString() === "2" ? originFormulaContent : originSqlContent, - formulaId: ((valueType.toString() === "3" && !originSqlContent) || valueType.toString() === "1") ? "" : formulaId + formulaId: ((valueType.toString() === "3" && !originSqlContent) || valueType.toString() === "1") ? "" : formulaId, + //不能改成其他空值 + originFormulaContent: ((valueType.toString() === "3" && (!originSqlContent) || originSqlContent === " ") || (valueType.toString() === "1") || (valueType.toString() === "3" && originSqlContent)) ? " " : originFormulaContent, + originSqlContent: ((valueType.toString() === "2" && (!originFormulaContent || originFormulaContent === " ")) || (valueType.toString() === "1") || (valueType.toString() === "2" && originFormulaContent)) ? " " : originSqlContent }, salaryItemId); }; handleEditFormnul = () => { const { salaryItemPayload, editFormulModal } = this.state; const { record } = salaryItemPayload; - const { valueType, formulaId, dateType: dataType } = record; + const { valueType, formulaId, dateType: dataType, originFormulaContent, originSqlContent } = record; this.setState({ editFormulModal: { - ...editFormulModal, - visible: true, - valueType, formulaId, dataType + ...editFormulModal, visible: true, valueType, dataType, + formulaId: ((valueType.toString() === "2" && (originFormulaContent || originFormulaContent !== " ")) || valueType.toString() === "3" && (originSqlContent || originSqlContent === " ")) ? formulaId : "" } }); }; @@ -206,6 +210,12 @@ class LedgerSalaryItemTable extends Component { formulaId: data.id, originFormulaContent: data.referenceType === "formula" ? data.formula : "", originSqlContent: data.referenceType === "sql" ? data.formula : "" + }, + record: { + ...salaryItemPayload.record, + formulaId: data.id, + originFormulaContent: data.referenceType === "formula" ? data.formula : "", + originSqlContent: data.referenceType === "sql" ? data.formula : "" } } }, () => { @@ -215,14 +225,11 @@ class LedgerSalaryItemTable extends Component { }; render() { - const { salaryItemPayload, editFormulModal } = this.state; + const { salaryItemPayload, editFormulModal, originRecord } = this.state; + const { onHandleItemhide } = this.props; const { - tableData, - dataSource, - onDropCategoryItem, - onChangeSelectedRowKeys, - selectedRowKeys, - onMoveTo + tableData, dataSource, onDropCategoryItem, + onChangeSelectedRowKeys, selectedRowKeys, onMoveTo } = this.props; const rowSelection = { selectedRowKeys, @@ -308,7 +315,8 @@ class LedgerSalaryItemTable extends Component { onUpdateRequest={(request, key) => { this.setState({ salaryItemPayload: { - ...salaryItemPayload, request, + ...salaryItemPayload, + request, record: key === "valueType" ? { ...salaryItemPayload.record, [key]: request[key] @@ -322,6 +330,14 @@ class LedgerSalaryItemTable extends Component { salaryItemPayload: { ...salaryItemPayload, visible: false } + }, () => { + const result = _.map(_.cloneDeep(dataSource), it => { + if (it.salaryItemId === originRecord.salaryItemId) { + return { ...originRecord }; + } + return { ...it }; + }); + onHandleItemhide(result); })} /> {/*公式编辑*/}