From abdc35e134fa2e76369973780dccd72ddf63a559 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E9=BB=8E=E6=B0=B8=E9=A1=BA?= <971387674@qq.com>
Date: Thu, 17 Aug 2023 16:52:53 +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=E4=B8=AA=E7=A8=8E=E7=94=B3=E6=8A=A5=E5=AD=97=E6=AE=B5?=
=?UTF-8?q?=E5=AF=B9=E5=BA=94?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pc4mobx/hrmSalary/apis/ledger.js | 4 +
.../ledgerPage/components/cumulativeFields.js | 4 +-
.../ledgerPage/components/incomeTaxFields.js | 4 +-
.../components/ledgerBaseSetting.js | 4 +-
.../ledgerPage/components/ledgerSlide.js | 119 +++++++++++-------
5 files changed, 85 insertions(+), 50 deletions(-)
diff --git a/pc4mobx/hrmSalary/apis/ledger.js b/pc4mobx/hrmSalary/apis/ledger.js
index 32103505..6a4e955f 100644
--- a/pc4mobx/hrmSalary/apis/ledger.js
+++ b/pc4mobx/hrmSalary/apis/ledger.js
@@ -342,6 +342,10 @@ export const addupruleGetForm = params => {
export const taxreportruleSave = params => {
return postFetch("/api/bs/hrmsalary/salarysob/taxreportrule/save", params);
};
+//保存薪资账套下的累计字段对应关系
+export const addupruleSave = params => {
+ return postFetch("/api/bs/hrmsalary/salarysob/adduprule/save", params);
+};
//保存回算薪资项目详情
export const salarysobBackitemSave = params => {
return postFetch("/api/bs/hrmsalary/salarysob/backitem/save", params);
diff --git a/pc4mobx/hrmSalary/pages/ledgerPage/components/cumulativeFields.js b/pc4mobx/hrmSalary/pages/ledgerPage/components/cumulativeFields.js
index ef151183..5c03a3dc 100644
--- a/pc4mobx/hrmSalary/pages/ledgerPage/components/cumulativeFields.js
+++ b/pc4mobx/hrmSalary/pages/ledgerPage/components/cumulativeFields.js
@@ -27,7 +27,7 @@ class CumulativeFields extends Component {
taxreportruleGetForm = () => {
const { editId, saveSalarySobId } = this.props;
- addupruleGetForm({ id: saveSalarySobId || editId }).then(({ status, data }) => {
+ addupruleGetForm({ id: editId || saveSalarySobId }).then(({ status, data }) => {
if (status && !_.isEmpty(data)) {
this.setState({
tabs: _.map(data, it => ({ viewcondition: it.incomeCategoryId, title: it.incomeCategoryName })),
@@ -103,7 +103,7 @@ class CumulativeFields extends Component {
width: "50%",
dataIndex: "salaryItem",
render: (_, record) => (
-
diff --git a/pc4mobx/hrmSalary/pages/ledgerPage/components/incomeTaxFields.js b/pc4mobx/hrmSalary/pages/ledgerPage/components/incomeTaxFields.js
index bfdeeba6..fc9f811e 100644
--- a/pc4mobx/hrmSalary/pages/ledgerPage/components/incomeTaxFields.js
+++ b/pc4mobx/hrmSalary/pages/ledgerPage/components/incomeTaxFields.js
@@ -27,7 +27,7 @@ class IncomeTaxFields extends Component {
taxreportruleGetForm = () => {
const { editId, saveSalarySobId } = this.props;
- taxreportruleGetForm({ id: saveSalarySobId || editId }).then(({ status, data }) => {
+ taxreportruleGetForm({ id: editId || saveSalarySobId }).then(({ status, data }) => {
if (status && !_.isEmpty(data)) {
this.setState({
tabs: _.map(data, it => ({ viewcondition: it.incomeCategoryId, title: it.incomeCategoryName })),
@@ -120,7 +120,7 @@ class IncomeTaxFields extends Component {
width: "50%",
dataIndex: "salaryItem",
render: (_, record) => (
-
diff --git a/pc4mobx/hrmSalary/pages/ledgerPage/components/ledgerBaseSetting.js b/pc4mobx/hrmSalary/pages/ledgerPage/components/ledgerBaseSetting.js
index cc89cd8a..ad86439e 100644
--- a/pc4mobx/hrmSalary/pages/ledgerPage/components/ledgerBaseSetting.js
+++ b/pc4mobx/hrmSalary/pages/ledgerPage/components/ledgerBaseSetting.js
@@ -81,7 +81,7 @@ class LedgerBaseSetting extends Component {
description: "",
canEdit: "true"
}
- });
+ }, () => this.props.onTaxableItemsChange(this.state.settingBaseInfo.taxableItems));
};
getLedgerBasicForm = (id) => {
getLedgerBasicForm({ id }).then(({ status, data }) => {
@@ -99,6 +99,7 @@ class LedgerBaseSetting extends Component {
}
}, () => {
this.props.onSaveParams(this.state.settingBaseInfo);
+ this.props.onTaxableItemsChange(this.state.settingBaseInfo.taxableItems);
});
}
});
@@ -153,6 +154,7 @@ class LedgerBaseSetting extends Component {
}
}, () => {
onSaveParams(this.state.settingBaseInfo);
+ this.props.onTaxableItemsChange(this.state.settingBaseInfo.taxableItems);
});
};
diff --git a/pc4mobx/hrmSalary/pages/ledgerPage/components/ledgerSlide.js b/pc4mobx/hrmSalary/pages/ledgerPage/components/ledgerSlide.js
index f416b337..15093c2f 100644
--- a/pc4mobx/hrmSalary/pages/ledgerPage/components/ledgerSlide.js
+++ b/pc4mobx/hrmSalary/pages/ledgerPage/components/ledgerSlide.js
@@ -21,15 +21,6 @@ import "./index.less";
const { getLabel } = WeaLocaleProvider;
const Step = WeaSteps.Step;
-const tabs = [
- { key: 0, title: "基础设置" },
- { key: 1, title: "关联人员" },
- { key: 2, title: "薪资项目" },
- { key: 3, title: "回算薪资项目" },
- { key: 4, title: "累计字段对应" },
- { key: 5, title: "个税申报字段对应" },
- { key: 6, title: "调薪计薪规则" }
-];
@inject("taxAgentStore")
@observer
@@ -42,7 +33,8 @@ class LedgerSlide extends Component {
baseSettingInfo: {},
adjustRules: [],
empFields: [], itemGroups: [],
- saveSalarySobId: ""
+ saveSalarySobId: "",
+ taxableItems: "" //薪资类型 1||489 对应显示个税设置-累计字段对应
};
}
@@ -154,37 +146,59 @@ class LedgerSlide extends Component {
* Date: 2023/8/16
*/
taxreportruleSave = () => {
+ const { taxableItems } = this.state;
const { editId, saveSalarySobId } = this.props;
- const { incomeTaxFields, selectedKey } = this.incomeRef.state;
- const payload = {
- salarySobId: saveSalarySobId || editId,
- incomeCategoryParams: _.map(incomeTaxFields, it => {
- if (it.incomeCategoryId === selectedKey) {
+ if ((!editId && taxableItems && taxableItems.toString() !== "1" && taxableItems.toString() !== "489")) {
+ this.saveLedgerAdjustRule();
+ } else {
+ const { incomeTaxFields, selectedKey } = this.incomeRef.state;
+ const payload = {
+ salarySobId: saveSalarySobId || editId,
+ incomeCategoryParams: _.map(incomeTaxFields, it => {
+ if (it.incomeCategoryId === selectedKey) {
+ return {
+ incomeCategory: it.incomeCategoryId,
+ taxReportRuleParams: _.map(it.taxReportRules, child => {
+ return {
+ reportColumnDataIndex: child.reportColumnDataIndex,
+ salaryItemId: _.map(child.salaryItem, o => o.id).join(",")
+ };
+ })
+ };
+ }
return {
incomeCategory: it.incomeCategoryId,
- taxReportRuleParams: _.map(it.taxReportRules, child => {
- return {
- reportColumnDataIndex: child.reportColumnDataIndex,
- salaryItemId: _.map(child.salaryItem, o => o.id).join(",")
- };
- })
+ taxReportRuleParams: []
};
+ })
+ };
+ this.setState({ loading: true });
+ taxreportruleSave(payload).then(({ status, errormsg }) => {
+ this.setState({ loading: false });
+ if (status) {
+ message.success(getLabel(22619, "保存成功!"));
+ } else {
+ message.error(errormsg || getLabel(22620, "保存失败!"));
}
- return {
- incomeCategory: it.incomeCategoryId,
- taxReportRuleParams: []
- };
- })
- };
- this.setState({ loading: true });
- taxreportruleSave(payload).then(({ status, errormsg }) => {
- this.setState({ loading: false });
- if (status) {
- message.success(getLabel(22619, "保存成功!"));
- } else {
- message.error(errormsg || getLabel(22620, "保存失败!"));
- }
- }).catch(() => this.setState({ loading: false }));
+ }).catch(() => this.setState({ loading: false }));
+ }
+ };
+ /*
+ * Author: 黎永顺
+ * Description:保存薪资账套下的累计字段对应关系
+ * Params:
+ * Date: 2023/8/17
+ */
+ addupruleSave = () => {
+ const { taxableItems } = this.state;
+ const { editId, saveSalarySobId } = this.props;
+ if ((!editId && taxableItems && taxableItems.toString() !== "1" && taxableItems.toString() !== "489")) {
+ console.log(this.cumulativeRef);
+ console.log(11111);
+ } else {
+ console.log(this.cumulativeRef);
+ console.log(2222);
+ }
};
handleChangeSlideTab = (current) => {
this.setState({ current: Number(current) });
@@ -211,11 +225,15 @@ class LedgerSlide extends Component {
this.setState({ empFields, itemGroups });
};
renderChildren = () => {
- const { current, saveSalarySobId } = this.state;
+ const { editId } = this.props;
+ const { current, saveSalarySobId, taxableItems } = this.state;
let CurrentDom = null;
switch (current) {
case 0:
- CurrentDom = ;
+ CurrentDom = this.setState({ taxableItems: val })}
+ />;
break;
case 1:
CurrentDom = ;
@@ -228,11 +246,14 @@ class LedgerSlide extends Component {
CurrentDom = ;
break;
case 4:
- CurrentDom =
+ CurrentDom = (!editId && taxableItems && taxableItems.toString() !== "1" && taxableItems.toString() !== "489") ?
+ this.incomeRef = dom} {...this.props} saveSalarySobId={saveSalarySobId}/> :
this.cumulativeRef = dom} {...this.props} saveSalarySobId={saveSalarySobId}/>;
break;
case 5:
- CurrentDom =
+ CurrentDom = (!editId && taxableItems && taxableItems.toString() !== "1" && taxableItems.toString() !== "489") ?
+ this.setState({ adjustRules })}/> :
this.incomeRef = dom} {...this.props} saveSalarySobId={saveSalarySobId}/>;
break;
case 6:
@@ -303,13 +324,11 @@ class LedgerSlide extends Component {
type="primary"
loading={loading}
onClick={() => {
- this.setState({ current: current + 1 }, () => {
- console.log("累计字段对应");
- });
+ this.setState({ current: current + 1 }, () => this.addupruleSave());
}}
>保存并进入下一步
] : [
-
+
];
break;
case 5:
@@ -345,8 +364,18 @@ class LedgerSlide extends Component {
};
render() {
+ let tabs = [
+ { key: 0, title: getLabel(82751, "基础设置") },
+ { key: 1, title: getLabel(543467, "关联人员") },
+ { key: 2, title: getLabel(542362, "薪资项目") },
+ { key: 3, title: getLabel(543468, "回算薪资项目") },
+ { key: 4, title: getLabel(111, "累计字段对应") },
+ { key: 5, title: getLabel(111, "个税申报字段对应") },
+ { key: 6, title: getLabel(543469, "调薪计薪规则") }
+ ];
const { title, visible, editId, taxAgentStore: { showOperateBtn } } = this.props;
- const { current } = this.state;
+ const { current, taxableItems } = this.state;
+ (taxableItems && taxableItems.toString() !== "1" && taxableItems.toString() !== "489") && (tabs = _.filter(tabs, o => o.key !== 4));
return (