diff --git a/pc4mobx/hrmSalary/apis/declare.js b/pc4mobx/hrmSalary/apis/declare.js
index 2c37805d..3ddd0863 100644
--- a/pc4mobx/hrmSalary/apis/declare.js
+++ b/pc4mobx/hrmSalary/apis/declare.js
@@ -37,5 +37,12 @@ export const exportSalaryArchive = (id = "") => {
export const withDrawTaxDeclaration = (params) => {
return postFetch("/api/bs/hrmsalary/taxdeclaration/withDrawTaxDeclaration", params);
};
+//个税申报表-获取表单数据
+export const getFormData = (params) => {
+ return postFetch("/api/bs/hrmsalary/taxdeclaration/detail/getFormData", params);
+};//个税申报表-编辑保存表单数据
+export const editFormData = (params) => {
+ return postFetch("/api/bs/hrmsalary/taxdeclaration/detail/editFormData", params);
+};
diff --git a/pc4mobx/hrmSalary/pages/declare/components/declareDetailEditSlide/index.js b/pc4mobx/hrmSalary/pages/declare/components/declareDetailEditSlide/index.js
new file mode 100644
index 00000000..e2ba9e0f
--- /dev/null
+++ b/pc4mobx/hrmSalary/pages/declare/components/declareDetailEditSlide/index.js
@@ -0,0 +1,110 @@
+/*
+ * 个税申报表编辑
+ *
+ * @Author: 黎永顺
+ * @Date: 2025/6/11
+ * @Wechat:
+ * @Email: 971387674@qq.com
+ * @description:
+*/
+import React, { Component } from "react";
+import { WeaLocaleProvider, WeaSlideModal, WeaTop } from "ecCom";
+import FormInfo from "../../../../components/FormInfo";
+import * as API from "../../../../apis/declare";
+import { WeaForm } from "comsMobx";
+import { Button, message } from "antd";
+
+const { getLabel } = WeaLocaleProvider;
+const form = new WeaForm();
+const baseInforFields = ["username", "departmentName", "mobile", "jobNum", "idNo"];
+
+class DeclareDetailEditSlide extends Component {
+ constructor(props) {
+ super(props);
+ this.state = { conditions: [], loading: false };
+ }
+
+ componentWillReceiveProps(nextProps, nextContext) {
+ if (nextProps.visible !== this.props.visible && nextProps.visible) {
+ this.getFormData(nextProps);
+ } else if (nextProps.visible !== this.props.visible && !nextProps.visible) {
+ form.resetForm();
+ this.setState({ conditions: [], loading: false });
+ }
+ }
+
+ getFormData = (props) => {
+ const { record } = props || this.props, { id: taxDeclarationIdStr, employeeId } = record;
+ API.getFormData({ taxDeclarationIdStr, employeeId }).then(({ status, data }) => {
+ if (status) {
+ const { columns, data: result } = data;
+ return;
+ this.setState({
+ conditions: [{
+ defaultshow: true,
+ items: [
+ ..._.map(baseInforFields, o => ({
+ conditionType: "INPUT",
+ domkey: [o],
+ fieldcol: 14,
+ label: _.find(columns, k => k.column === o).text,
+ labelcol: 8,
+ value: result[o] || "",
+ viewAttr: 1
+ })),
+ ..._.map(_.filter(columns, o => !baseInforFields.includes(o.column)), k => ({
+ conditionType: "INPUT",
+ domkey: [k.column],
+ fieldcol: 14,
+ rules: "",
+ label: k.text,
+ labelcol: 8,
+ value: result[k.column] || "",
+ viewAttr: 2
+ }))
+ ]
+ }]
+ }, () => form.initFormFields(this.state.conditions));
+ }
+ });
+ };
+ save = () => {
+ form.validateForm().then(f => {
+ if (f.isValid) {
+ const { record } = this.props, { id } = record;
+ const { username, departmentName, mobile, jobNum, idNo, ...formData } = form.getFormParams();
+ const payload = { id, attendQuoteData: { ...formData } };
+ this.setState({ loading: true });
+ editAttendQuoteData(payload).then(({ status, errormsg }) => {
+ this.setState({ loading: false });
+ if (status) {
+ message.success(getLabel(30700, "操作成功"));
+ this.props.onClose();
+ this.props.onSuccess();
+ } else {
+ message.error(errormsg);
+ }
+ }).catch(() => this.setState({ loading: false }));
+ } else {
+ f.showErrors();
+ }
+ });
+ };
+
+ render() {
+ const { record } = this.props, { username } = record, { conditions, loading } = this.state;
+ const btns = [
+
+ ];
+ return (}
+ iconBgcolor="#F14A2D" buttons={btns}/>}
+ content={
+ }/>);
+ }
+}
+
+export default DeclareDetailEditSlide;
diff --git a/pc4mobx/hrmSalary/pages/declare/generateDeclarationDetail.js b/pc4mobx/hrmSalary/pages/declare/generateDeclarationDetail.js
index 8cd8c032..bfe36d05 100644
--- a/pc4mobx/hrmSalary/pages/declare/generateDeclarationDetail.js
+++ b/pc4mobx/hrmSalary/pages/declare/generateDeclarationDetail.js
@@ -1,6 +1,7 @@
import React from "react";
import { inject, observer } from "mobx-react";
import { WeaLocaleProvider, WeaTop } from "ecCom";
+import DeclareDetailEditSlide from "./components/declareDetailEditSlide";
import { getQueryString } from "../../util/url";
import { getIframeParentHeight } from "../../util";
import * as API from "../../apis/declare";
@@ -101,7 +102,7 @@ export default class GenerateDeclarationDetail extends React.Component {
};
render() {
- const { loading, dataSource } = this.state, { taxAgentStore: { showOperateBtn } } = this.props;
+ const { loading, dataSource, declareSlide } = this.state, { taxAgentStore: { showOperateBtn } } = this.props;
const buttons = showOperateBtn ? [] : [];
return (} iconBgcolor="#F14A2D"
@@ -116,6 +117,11 @@ export default class GenerateDeclarationDetail extends React.Component {
id="declareTable"
/>
+ this.setState({
+ declareSlide: { ...declareSlide, visible: false }
+ })}/>
);