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 (