From a27beae87e6f56c1ad57a332d0ff7d067ef601ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=8E=E6=B0=B8=E9=A1=BA?= <971387674@qq.com> Date: Wed, 20 Mar 2024 10:37:26 +0800 Subject: [PATCH 01/16] =?UTF-8?q?feature/2.12.1.2403.02-=E4=B8=AA=E7=A8=8E?= =?UTF-8?q?-=E5=A4=96=E7=B1=8D=E4=BA=BA=E5=91=98=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E6=8A=A5=E9=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../employeeDeclareDetailSchemaEditDialog.js | 140 ++++++++++++------ .../pages/employeedeclareDetail/constants.js | 33 ++++- 2 files changed, 123 insertions(+), 50 deletions(-) diff --git a/pc4mobx/hrmSalary/pages/employeedeclareDetail/components/employeeDeclareDetailSchemaEditDialog.js b/pc4mobx/hrmSalary/pages/employeedeclareDetail/components/employeeDeclareDetailSchemaEditDialog.js index a76fecfa..23550a82 100644 --- a/pc4mobx/hrmSalary/pages/employeedeclareDetail/components/employeeDeclareDetailSchemaEditDialog.js +++ b/pc4mobx/hrmSalary/pages/employeedeclareDetail/components/employeeDeclareDetailSchemaEditDialog.js @@ -5,14 +5,16 @@ * Date: 2023/8/14 */ import React, { Component } from "react"; -import { WeaLocaleProvider, WeaSlideModal } from "ecCom"; -import { Button, Col, message, Modal, Row } from "antd"; +import { WeaLocaleProvider, WeaSlideModal, WeaTools } from "ecCom"; +import { Button, Col, message, Row } from "antd"; import { inject, observer } from "mobx-react"; import { declareConditions } from "../constants"; import { getSearchs } from "../../../util"; import { getQueryString } from "../../../util/url"; import { employeedeclareGetForm, getEmployeeSave } from "../../../apis/declare"; +import { commonEnumList } from "../../../apis/archive"; +const getKey = WeaTools.getKey; const { getLabel } = WeaLocaleProvider; @inject("employeeDeclareStore") @@ -33,7 +35,8 @@ class EmployeeDeclareDetailSchemaEditDialog extends Component { if (nextProps.visible !== this.props.visible && !nextProps.visible) this.employeeChangeInfo = {}; } - employeedeclareGetForm = (props) => { + employeedeclareGetForm = async (props) => { + const { data: cardTypeEnum } = await commonEnumList({ enumClass: `com.engine.salary.enums.employeedeclare.CardTypeEnum` }); employeedeclareGetForm(_.pick(props, ["id"])).then(({ status, data }) => { if (status) { this.setState({ @@ -41,7 +44,7 @@ class EmployeeDeclareDetailSchemaEditDialog extends Component { return { ...it, items: _.map(it.items, child => { - if (child.domkey[0] === "employmentStatus") { + if (getKey(child) === "employmentStatus") { return { ...child, value: _.take(props.employmentStatusList)[0].enum, @@ -50,7 +53,7 @@ class EmployeeDeclareDetailSchemaEditDialog extends Component { showname: getLabel(it.labelId, it.defaultLabel) })) }; - } else if (child.domkey[0] === "employmentType") { + } else if (getKey(child) === "employmentType") { return { ...child, value: _.take(props.employmentTypeList)[0].enum, @@ -59,7 +62,7 @@ class EmployeeDeclareDetailSchemaEditDialog extends Component { showname: getLabel(it.labelId, it.defaultLabel) })) }; - } else if (child.domkey[0] === "gender") { + } else if (getKey(child) === "gender") { return { ...child, value: "MALE", @@ -68,7 +71,11 @@ class EmployeeDeclareDetailSchemaEditDialog extends Component { { key: "FEMALE", showname: getLabel(111, "女") } ] }; - } else if (child.domkey[0] === "employeeType") { + } else if (getKey(child) === "cardType") { + return { + ...child, options: _.map(cardTypeEnum, o => ({ key: o.enum, showname: o.defaultLabel })) + }; + } else if (getKey(child) === "employeeType") { return { ...child, viewAttr: props.id ? 1 : 3, @@ -77,7 +84,7 @@ class EmployeeDeclareDetailSchemaEditDialog extends Component { ] }; } - if (child.conditionType === "SELECT" && child.domkey[0] !== "gender" && child.domkey[0] !== "employmentStatus" && child.domkey[0] !== "employmentType") { + if (child.conditionType === "SELECT" && getKey(child) !== "gender" && getKey(child) !== "employmentStatus" && getKey(child) !== "employmentType") { return { ...child, options: [ @@ -93,37 +100,37 @@ class EmployeeDeclareDetailSchemaEditDialog extends Component { employeeInfo: data.data }, () => { const { data: result, columns } = data; - const { employeeDeclareStore: { declareForm } } = this.props; + const { employeeDeclareStore: { declareForm }, id } = props; declareForm.initFormFields(this.state.eConditions); - const filedKes = _.map(columns, it => it.dataIndex); - _.map(filedKes, item => { - if (item === "disability" || item === "lonelyOld" || item === "martyrDependents") { - declareForm.updateFields({ [item]: result[item] || "OFF" }); - } else if (item === "deductExpenses") { - declareForm.updateFields({ [item]: result[item] || "ON" }); - } else if (item === "gender") { - declareForm.updateFields({ [item]: result[item] || "MALE" }); - } else if (item === "employmentStatus") { - declareForm.updateFields({ [item]: result[item] || _.take(props.employmentStatusList)[0].enum }); - } else if (item === "employmentType") { - declareForm.updateFields({ [item]: result[item] || _.take(props.employmentTypeList)[0].enum }); - } else if (item === "cardType") { - declareForm.updateFields({ [item]: "居民身份证" }); - } else if (item === "employee") { - const [employeeData] = result[item] || []; - !_.isEmpty(employeeData) && declareForm.updateFields({ - employeeType: { - value: [employeeData._entityType, [employeeData.id, employeeData.name, [{ - id: employeeData.id, - lastname: employeeData.name - }]]], - valueSpan: ["employeeId"] - } - }); - } else { - declareForm.updateFields({ [item]: result[item] || "" }); - } - }); + if (id) { + const filedKes = _.map(columns, it => it.dataIndex); + _.map(filedKes, item => { + if (item === "disability" || item === "lonelyOld" || item === "martyrDependents") { + declareForm.updateFields({ [item]: result[item] || "OFF" }); + } else if (item === "deductExpenses") { + declareForm.updateFields({ [item]: result[item] || "ON" }); + } else if (item === "gender") { + declareForm.updateFields({ [item]: result[item] || "MALE" }); + } else if (item === "employmentStatus") { + declareForm.updateFields({ [item]: result[item] || _.take(props.employmentStatusList)[0].enum }); + } else if (item === "employmentType") { + declareForm.updateFields({ [item]: result[item] || _.take(props.employmentTypeList)[0].enum }); + } else if (item === "employee") { + const [employeeData] = result[item] || []; + !_.isEmpty(employeeData) && declareForm.updateFields({ + employeeType: { + value: [employeeData._entityType, [employeeData.id, employeeData.name, [{ + id: employeeData.id, + lastname: employeeData.name + }]]], + valueSpan: ["employeeId"] + } + }); + } else { + declareForm.updateFields({ [item]: result[item] || "" }); + } + }); + } }); } }); @@ -146,7 +153,7 @@ class EmployeeDeclareDetailSchemaEditDialog extends Component { return { ...it, items: _.map(it.items, child => { - if (child.domkey[0] === "dismissDate") { + if (getKey(child) === "dismissDate") { return { ...child, viewAttr: value === "ABNORMAL" ? 3 : 2 @@ -176,7 +183,7 @@ class EmployeeDeclareDetailSchemaEditDialog extends Component { return { ...it, items: _.map(it.items, child => { - if (child.domkey[0] === "employmentDate") { + if (getKey(child) === "employmentDate") { return { ...child, viewAttr: value !== "OTHER" ? 3 : 2 @@ -200,6 +207,36 @@ class EmployeeDeclareDetailSchemaEditDialog extends Component { }); }); break; + case "cardType": + this.setState({ + eConditions: _.map(eConditions, it => { + return { + ...it, + items: _.map(it.items, child => { + if (getKey(child) === "entryDate" || getKey(child) === "departureDate") { + return { + ...child, + viewAttr: value !== "RESIDENT_IDENTITY_CARDS" ? 3 : 2 + }; + } + return { ...child }; + }) + }; + }) + }, () => { + declareForm.initFormFields(this.state.eConditions); + const [employeeData] = this.state.employeeInfo["employee"] || this.employeeChangeInfo["employee"] || []; + !_.isEmpty(employeeData) && declareForm.updateFields({ + employeeType: { + value: [employeeData._entityType, [employeeData.id, employeeData.name, [{ + id: employeeData.id, + lastname: employeeData.name + }]]], + valueSpan: ["employeeId"] + } + }); + }); + break; default: break; } @@ -209,17 +246,28 @@ class EmployeeDeclareDetailSchemaEditDialog extends Component { const { employeeDeclareStore: { declareForm: form } } = this.props; form.validateForm().then(f => { if (f.isValid) { - const { employmentType, employmentDate, employmentStatus, dismissDate, ...params } = form.getFormParams(); + const { + employmentType, employmentDate, employmentStatus, dismissDate, cardType, entryDate, departureDate, ...params + } = form.getFormParams(); if ((employmentType !== "OTHER" && !employmentDate) || (employmentStatus === "ABNORMAL" && !dismissDate)) { - Modal.warning({ - title: getLabel(131329, "信息确认"), - content: getLabel(518702, "必要信息不完整,红色*为必填项!") - }); + form.showError("dismissDate", getLabel(111, "\"离职日期\"未填写")); + return; + } + if ((cardType !== "RESIDENT_IDENTITY_CARDS" && !entryDate && !departureDate)) { + form.showError("entryDate", getLabel(111, "\"首次入境时间\"未填写")); + form.showError("departureDate", getLabel(111, "\"预计离境时间\"未填写")); + return; + } + if ((cardType !== "RESIDENT_IDENTITY_CARDS" && !entryDate)) { + form.showError("entryDate", getLabel(111, "\"首次入境时间\"未填写")); + return; + } + if ((cardType !== "RESIDENT_IDENTITY_CARDS" && !departureDate)) { + form.showError("departureDate", getLabel(111, "\"预计离境时间\"未填写")); return; } const payload = { ...form.getFormParams(), id: this.props.id, - cardType: "RESIDENT_IDENTITY_CARDS", //暂时写死身份证类型 taxAgentId: getQueryString("id"), taxCycle: this.props.taxCycle }; diff --git a/pc4mobx/hrmSalary/pages/employeedeclareDetail/constants.js b/pc4mobx/hrmSalary/pages/employeedeclareDetail/constants.js index e602f0e4..47d1df31 100644 --- a/pc4mobx/hrmSalary/pages/employeedeclareDetail/constants.js +++ b/pc4mobx/hrmSalary/pages/employeedeclareDetail/constants.js @@ -243,18 +243,21 @@ export const declareConditions = [ lanId: 111, labelcol: 6, value: "", - viewAttr: 1 + rules: "required|string", + viewAttr: 3 }, { colSpan: 1, - conditionType: "INPUT", + conditionType: "SELECT", domkey: ["cardType"], fieldcol: 12, label: "证件类型", lanId: 111, labelcol: 6, - value: "居民身份证", - viewAttr: 1 + value: "", + options:[], + rules: "required|string", + viewAttr: 3 }, { colSpan: 1, @@ -354,6 +357,28 @@ export const declareConditions = [ value: "", viewAttr: 2 }, + { + colSpan: 1, + conditionType: "DATEPICKER", + domkey: ["entryDate"], + fieldcol: 12, + label: "首次入境时间", + lanId: 111, + labelcol: 6, + value: "", + viewAttr: 2 + }, + { + colSpan: 1, + conditionType: "DATEPICKER", + domkey: ["departureDate"], + fieldcol: 12, + label: "预计离境时间", + lanId: 111, + labelcol: 6, + value: "", + viewAttr: 2 + }, { colSpan: 1, conditionType: "SELECT", From 668a8aed541f3f4e55d5560a0337c3da3309528d 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, 28 Mar 2024 17:25:39 +0800 Subject: [PATCH 02/16] =?UTF-8?q?feature/2.12.1.2403.02-=E4=B8=AA=E7=A8=8E?= =?UTF-8?q?-=E5=A4=96=E7=B1=8D=E4=BA=BA=E5=91=98=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E6=8A=A5=E9=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../employeeDeclareDetailSchemaEditDialog.js | 25 ++++++++++--- .../pages/employeedeclareDetail/constants.js | 35 ++++++++++++++++++- 2 files changed, 54 insertions(+), 6 deletions(-) diff --git a/pc4mobx/hrmSalary/pages/employeedeclareDetail/components/employeeDeclareDetailSchemaEditDialog.js b/pc4mobx/hrmSalary/pages/employeedeclareDetail/components/employeeDeclareDetailSchemaEditDialog.js index 23550a82..e8ec44df 100644 --- a/pc4mobx/hrmSalary/pages/employeedeclareDetail/components/employeeDeclareDetailSchemaEditDialog.js +++ b/pc4mobx/hrmSalary/pages/employeedeclareDetail/components/employeeDeclareDetailSchemaEditDialog.js @@ -84,7 +84,7 @@ class EmployeeDeclareDetailSchemaEditDialog extends Component { ] }; } - if (child.conditionType === "SELECT" && getKey(child) !== "gender" && getKey(child) !== "employmentStatus" && getKey(child) !== "employmentType") { + if (child.conditionType === "SELECT" && getKey(child) !== "gender" && getKey(child) !== "employmentStatus" && getKey(child) !== "employmentType" && getKey(child) !== "taxReasons") { return { ...child, options: [ @@ -213,7 +213,10 @@ class EmployeeDeclareDetailSchemaEditDialog extends Component { return { ...it, items: _.map(it.items, child => { - if (getKey(child) === "entryDate" || getKey(child) === "departureDate") { + if ( + getKey(child) === "entryDate" || getKey(child) === "departureDate" || + getKey(child) === "birthplace" || getKey(child) === "taxReasons" + ) { return { ...child, viewAttr: value !== "RESIDENT_IDENTITY_CARDS" ? 3 : 2 @@ -247,15 +250,18 @@ class EmployeeDeclareDetailSchemaEditDialog extends Component { form.validateForm().then(f => { if (f.isValid) { const { - employmentType, employmentDate, employmentStatus, dismissDate, cardType, entryDate, departureDate, ...params + employmentType, employmentDate, employmentStatus, dismissDate, cardType, entryDate, departureDate, + birthplace, taxReasons, ...params } = form.getFormParams(); if ((employmentType !== "OTHER" && !employmentDate) || (employmentStatus === "ABNORMAL" && !dismissDate)) { form.showError("dismissDate", getLabel(111, "\"离职日期\"未填写")); return; } - if ((cardType !== "RESIDENT_IDENTITY_CARDS" && !entryDate && !departureDate)) { + if ((cardType !== "RESIDENT_IDENTITY_CARDS" && !entryDate && !departureDate && !birthplace && !taxReasons)) { form.showError("entryDate", getLabel(111, "\"首次入境时间\"未填写")); form.showError("departureDate", getLabel(111, "\"预计离境时间\"未填写")); + form.showError("birthplace", getLabel(111, "\"出生地\"未填写")); + form.showError("taxReasons", getLabel(111, "\"涉税事由\"未填写")); return; } if ((cardType !== "RESIDENT_IDENTITY_CARDS" && !entryDate)) { @@ -266,10 +272,19 @@ class EmployeeDeclareDetailSchemaEditDialog extends Component { form.showError("departureDate", getLabel(111, "\"预计离境时间\"未填写")); return; } + if ((cardType !== "RESIDENT_IDENTITY_CARDS" && !birthplace)) { + form.showError("birthplace", getLabel(111, "\"出生地\"未填写")); + return; + } + if ((cardType !== "RESIDENT_IDENTITY_CARDS" && !taxReasons)) { + form.showError("taxReasons", getLabel(111, "\"涉税事由\"未填写")); + return; + } const payload = { ...form.getFormParams(), id: this.props.id, taxAgentId: getQueryString("id"), - taxCycle: this.props.taxCycle + taxCycle: this.props.taxCycle, + taxReasons: taxReasons.split(",") }; this.setState({ loading: true }); getEmployeeSave(payload).then(({ status, errormsg }) => { diff --git a/pc4mobx/hrmSalary/pages/employeedeclareDetail/constants.js b/pc4mobx/hrmSalary/pages/employeedeclareDetail/constants.js index 47d1df31..00620b3d 100644 --- a/pc4mobx/hrmSalary/pages/employeedeclareDetail/constants.js +++ b/pc4mobx/hrmSalary/pages/employeedeclareDetail/constants.js @@ -1,3 +1,7 @@ +import React from "react"; +import { WeaLocaleProvider } from "ecCom"; + +const { getLabel } = WeaLocaleProvider; export const submitStatus = [ { key: "ALL", @@ -255,7 +259,7 @@ export const declareConditions = [ lanId: 111, labelcol: 6, value: "", - options:[], + options: [], rules: "required|string", viewAttr: 3 }, @@ -284,6 +288,17 @@ export const declareConditions = [ rules: "required", options: [] }, + { + colSpan: 1, + conditionType: "INPUT", + domkey: ["birthplace"], + fieldcol: 12, + label: "出生地", + lanId: 111, + labelcol: 6, + value: "", + viewAttr: 2 + }, { colSpan: 1, conditionType: "DATEPICKER", @@ -379,6 +394,24 @@ export const declareConditions = [ value: "", viewAttr: 2 }, + { + colSpan: 1, + conditionType: "SELECT", + domkey: ["taxReasons"], + fieldcol: 12, + label: "涉税事由", + lanId: 111, + labelcol: 6, + value: "", + viewAttr: 2, + options: [ + { key: getLabel(111, "任职受雇"), showname: getLabel(111, "任职受雇") }, + { key: getLabel(111, "提供临时劳务"), showname: getLabel(111, "提供临时劳务") }, + { key: getLabel(111, "转让财产"), showname: getLabel(111, "转让财产") }, + { key: getLabel(111, "从事投资和经营活动"), showname: getLabel(111, "从事投资和经营活动") }, + { key: getLabel(111, "其他"), showname: getLabel(111, "其他") } + ] + }, { colSpan: 1, conditionType: "SELECT", From ab6ae51b3dde863ace44e34b8d6ddf4506eb11d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=8E=E6=B0=B8=E9=A1=BA?= <971387674@qq.com> Date: Fri, 29 Mar 2024 16:53:52 +0800 Subject: [PATCH 03/16] =?UTF-8?q?feature/2.12.1.2403.02-=E4=B8=AA=E7=A8=8E?= =?UTF-8?q?-=E5=A4=96=E7=B1=8D=E4=BA=BA=E5=91=98=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E6=8A=A5=E9=80=81=20=E6=B6=89=E7=A8=8E=E4=BA=8B=E7=94=B1?= =?UTF-8?q?=E6=94=B9=E6=88=90=E5=A4=9A=E9=80=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pc4mobx/hrmSalary/pages/employeedeclareDetail/constants.js | 1 + 1 file changed, 1 insertion(+) diff --git a/pc4mobx/hrmSalary/pages/employeedeclareDetail/constants.js b/pc4mobx/hrmSalary/pages/employeedeclareDetail/constants.js index 00620b3d..a9e370ab 100644 --- a/pc4mobx/hrmSalary/pages/employeedeclareDetail/constants.js +++ b/pc4mobx/hrmSalary/pages/employeedeclareDetail/constants.js @@ -403,6 +403,7 @@ export const declareConditions = [ lanId: 111, labelcol: 6, value: "", + multiple: true, viewAttr: 2, options: [ { key: getLabel(111, "任职受雇"), showname: getLabel(111, "任职受雇") }, From 31fb82eb31eae027e6c61f8d298089e530308701 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, 1 Apr 2024 17:47:08 +0800 Subject: [PATCH 04/16] =?UTF-8?q?feature/2.12.1.2403.02-=E4=B8=AA=E7=A8=8E?= =?UTF-8?q?=E7=94=B3=E6=8A=A5=E8=A1=A8=E9=A1=B5=E9=9D=A2=E5=88=86=E7=B1=BB?= =?UTF-8?q?=E6=94=B9=E9=80=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pc4mobx/hrmSalary/apis/declare.js | 8 +- .../pages/declareDetail/components/leftTab.js | 64 ++++++++++++++ .../hrmSalary/pages/declareDetail/index.js | 87 +++++++++++-------- 3 files changed, 119 insertions(+), 40 deletions(-) create mode 100644 pc4mobx/hrmSalary/pages/declareDetail/components/leftTab.js diff --git a/pc4mobx/hrmSalary/apis/declare.js b/pc4mobx/hrmSalary/apis/declare.js index 8c9a2a11..a780105b 100644 --- a/pc4mobx/hrmSalary/apis/declare.js +++ b/pc4mobx/hrmSalary/apis/declare.js @@ -16,9 +16,13 @@ export const saveDeclare = params => { return postFetch("/api/bs/hrmsalary/taxdeclaration/save", params); }; +//个税申报表-获取分类 +export const getTaxReports = params => { + return WeaTools.callApi("/api/bs/hrmsalary/taxdeclaration/getTaxReports", "get", params); +}; //个税申报表-个税申报表相关信息 export const getDeclareInfo = params => { - return WeaTools.callApi("/api/bs/hrmsalary/taxdeclaration/getTaxDeclarationInfo", "get", params); + return postFetch("/api/bs/hrmsalary/taxdeclaration/getTaxDeclarationInfo", params); }; // 个税申报表详情列表 @@ -106,7 +110,7 @@ export const employeedeclareDeclare = (params) => { //个税在线对接-获取个税申报记录下的个税申报表TAB export const getTaxDeclarationTab = params => { - return WeaTools.callApi("/api/bs/hrmsalary/taxdeclaration/getTaxDeclarationTab", "GET", params); + return postFetch("/api/bs/hrmsalary/taxdeclaration/getTaxDeclarationTab", params); }; //个税在线对接-个税申报表是否已经生成 diff --git a/pc4mobx/hrmSalary/pages/declareDetail/components/leftTab.js b/pc4mobx/hrmSalary/pages/declareDetail/components/leftTab.js new file mode 100644 index 00000000..1370d4e1 --- /dev/null +++ b/pc4mobx/hrmSalary/pages/declareDetail/components/leftTab.js @@ -0,0 +1,64 @@ +/* + * Author: 黎永顺 + * name: 报表查看-左侧tab标题 + * Description: + * Date: 2023/4/20 + */ +import React, { Component } from "react"; +import { WeaLocaleProvider } from "ecCom"; +import { Menu } from "antd"; +import * as API from "../../../apis/declare"; +import { getQueryString } from "../../../util/url"; + +const { getLabel } = WeaLocaleProvider; + +class LeftTab extends Component { + constructor(props) { + super(props); + this.state = { + reportName: "", + selectedKeys: "", + dataSource: [] + }; + } + + componentDidMount() { + this.getTaxReports(); + } + + getTaxReports = () => { + const { onChangeTab } = this.props; + API.getTaxReports({ id: getQueryString("id") }).then(({ status, data: dataSource }) => { + if (status) this.setState({ + dataSource, selectedKeys: !_.isEmpty(dataSource) ? _.head(dataSource).id + "" : "" + }, () => { + !_.isEmpty(this.state.dataSource) && onChangeTab(_.head(this.state.dataSource).reportType); + }); + }); + }; + + render() { + const { selectedKeys, dataSource } = this.state; + const { onChangeTab } = this.props; + return ( +
+ { + this.setState({ selectedKeys: key }, () => { + onChangeTab(_.find(dataSource, o => String(o.id) === key).reportType, true); + }); + }} + > + { + _.map(dataSource, item => { + const { reportType, id } = item; + return {reportType}; + }) + } + +
+ ); + } +} + +export default LeftTab; diff --git a/pc4mobx/hrmSalary/pages/declareDetail/index.js b/pc4mobx/hrmSalary/pages/declareDetail/index.js index 280bfc5b..505a2c16 100644 --- a/pc4mobx/hrmSalary/pages/declareDetail/index.js +++ b/pc4mobx/hrmSalary/pages/declareDetail/index.js @@ -5,7 +5,7 @@ * Date: 2023/8/18 */ import React, { Component } from "react"; -import { WeaLocaleProvider, WeaTab } from "ecCom"; +import { WeaLeftRightLayout, WeaLocaleProvider, WeaTab } from "ecCom"; import { Button, message, Modal, Spin } from "antd"; import TaxDeclarationInfo from "./components/taxDeclarationInfo"; import { apiflowBillingConfigStatus } from "../../apis/intelligentCalculateSalarySettings"; @@ -32,6 +32,7 @@ import { convertToUrlString, getQueryString } from "../../util/url"; import IncomeTaxDeclarationPersonnelSlide from "./components/incomeTaxDeclarationPersonnelSlide"; import TaxDeclareDetailImportDialog from "./components/taxDeclareDetailImportDialog"; import TabEditDialog from "./components/tabEditDialog"; +import LeftTab from "./components/leftTab"; import { confirmDialog } from "./confirm"; import "./index.less"; @@ -60,7 +61,8 @@ class Index extends Component { visible: false, title: getLabel(1421, "新增"), taxDeclarationId: "", id: "" }, intelCalcSalaryStatus: false, //智能算薪 总开关是否开启 - declareInfo: {}, pageInfo: { current: 0, pageSize: 10, total: 0 } + declareInfo: {}, pageInfo: { current: 0, pageSize: 10, total: 0 }, + reportType: "" }; this.timer = null; this.taxDeclareRef = null; @@ -75,7 +77,8 @@ class Index extends Component { } init = async (isInit = true) => { - const [tabsResult, infoResult, calcResult] = await Promise.all([this.getTaxDeclarationTab(), this.getDeclareInfo(), this.apiflowBillingConfigStatus()]); + const [tabsResult, infoResult, calcResult] = await Promise.all([ + this.getTaxDeclarationTab(), this.getDeclareInfo(), this.apiflowBillingConfigStatus()]); const { data: tabDataSource, status: tabStatus } = tabsResult; const { data: infoDataSource, status: infoStatus } = infoResult; const { data: calcSalaryStatus, status: calcStatus } = calcResult; @@ -101,10 +104,12 @@ class Index extends Component { this.getDetailList(); }; getTaxDeclarationTab = () => { - return getTaxDeclarationTab({ id: getQueryString("id") }); + const { reportType } = this.state; + return getTaxDeclarationTab({ id: getQueryString("id"), reportType }); }; getDeclareInfo = () => { - return getDeclareInfo({ id: getQueryString("id") }); + const { reportType } = this.state; + return getDeclareInfo({ id: getQueryString("id"), reportType }); }; apiflowBillingConfigStatus = () => { return apiflowBillingConfigStatus(); @@ -413,41 +418,47 @@ class Index extends Component { onClick={this.getEnterprisePayCertificate}>{getLabel(111, "开具企业完税证明")}); } return ( -
- this[fun]()}/> -
- this.setState({ selectedKey: v }, () => this.getDetailList())} - searchType={["base"]} searchsBasePlaceHolder={getLabel(26919, "请输入姓名")} - onSearchChange={keyword => this.setState({ keyword })} - onSearch={this.getDetailList} - /> - {/*个税申报表-新增编辑框*/} - this.handleTaxDescPerSlide({ visible: false, id: "", callback })} - /> - {/*个税申报表导入*/} - this.taxDeclareRef = dom} - onSuccess={this.declare} - /> - {/*个税申报表-新增tab弹框*/} - this.setState({ editTabVisible: false }, () => isRefresh && this.init(false))}/> -
-
- -