From 0d04b38ab6c0bd43f0c36dc135259c84522088e0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E9=BB=8E=E6=B0=B8=E9=A1=BA?= <971387674@qq.com>
Date: Tue, 15 Nov 2022 09:43:38 +0800
Subject: [PATCH] =?UTF-8?q?=E4=B8=AA=E7=A8=8E=E6=89=A3=E7=BC=B4=E4=B9=89?=
=?UTF-8?q?=E5=8A=A1=E4=BA=BA=E5=88=87=E6=8D=A2=E6=96=B0=E5=A2=9E=E5=92=8C?=
=?UTF-8?q?=E7=BC=96=E8=BE=91=E5=BC=B9=E6=A1=86=E7=9A=84=E7=BC=96=E8=BE=91?=
=?UTF-8?q?=E4=BA=BA=E9=A1=B9=E6=98=BE=E9=9A=90?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../pages/taxAgent/editConditions.js | 28 ++++++++++++++++
pc4mobx/hrmSalary/pages/taxAgent/editModal.js | 33 +++++++++----------
pc4mobx/hrmSalary/pages/taxAgent/index.js | 28 +++++++++-------
pc4mobx/hrmSalary/stores/taxAgent.js | 10 ++++--
4 files changed, 69 insertions(+), 30 deletions(-)
diff --git a/pc4mobx/hrmSalary/pages/taxAgent/editConditions.js b/pc4mobx/hrmSalary/pages/taxAgent/editConditions.js
index 150d2908..661859ab 100644
--- a/pc4mobx/hrmSalary/pages/taxAgent/editConditions.js
+++ b/pc4mobx/hrmSalary/pages/taxAgent/editConditions.js
@@ -63,3 +63,31 @@ export const editConditions = [
defaultshow: true,
},
];
+export const decentralizationConditions = [
+ {
+ items: [
+ {
+ colSpan: 1,
+ conditionType: "INPUT",
+ domkey: ["name"],
+ fieldcol: 14,
+ rules: "required|string",
+ label: "名称",
+ labelcol: 6,
+ value: "",
+ viewAttr: 3,
+ },
+ {
+ colSpan: 1,
+ conditionType: "TEXTAREA",
+ domkey: ["description"],
+ fieldcol: 14,
+ label: "备注",
+ labelcol: 6,
+ value: "",
+ viewAttr: 2,
+ },
+ ],
+ defaultshow: true,
+ },
+];
diff --git a/pc4mobx/hrmSalary/pages/taxAgent/editModal.js b/pc4mobx/hrmSalary/pages/taxAgent/editModal.js
index 687ca334..3b46493e 100644
--- a/pc4mobx/hrmSalary/pages/taxAgent/editModal.js
+++ b/pc4mobx/hrmSalary/pages/taxAgent/editModal.js
@@ -28,18 +28,19 @@ export default class EditModal extends React.Component {
}
handleSubmit = () => {
- const { onSubmit, btnType, onPrev } = this.props;
- const { form } = this.props.taxAgentStore;
+ const { onSubmit, btnType, onPrev, devolutionStatus } = this.props;
+ const { form, formDecentralization } = this.props.taxAgentStore;
if (btnType === "prev") {
onPrev && onPrev();
return;
}
- form.validateForm().then((f) => {
+ const formExample = devolutionStatus === 1 ? form : formDecentralization;
+ formExample.validateForm().then((f) => {
if (f.isValid) {
- const formData = form.getFormParams();
+ const formData = formExample.getFormParams();
const { adminUserIds, ...extraVal } = formData;
onSubmit &&
- onSubmit({ adminUserIds: adminUserIds.split(","), ...extraVal });
+ onSubmit(devolutionStatus === 1 ? { adminUserIds: adminUserIds.split(","), ...extraVal } : { ...extraVal });
} else {
f.showErrors();
this.setState({ date: new Date() }); // 改变一个state的变量,强制页面刷新
@@ -48,9 +49,9 @@ export default class EditModal extends React.Component {
};
renderEditForm = () => {
- const { editConditions } = this.props;
- const { form } = this.props.taxAgentStore;
- const { isFormInit } = form;
+ const { editConditions, devolutionStatus } = this.props;
+ const { form, formDecentralization } = this.props.taxAgentStore;
+ const { isFormInit } = devolutionStatus === 1 ? form : formDecentralization;
let group = [];
isFormInit &&
editConditions.map((c, index) => {
@@ -62,20 +63,17 @@ export default class EditModal extends React.Component {
ecId={`tasAgent_WeaFormItem@jsxoq6@${index}@${idx}`}
label={`${field.label}`}
labelCol={{ span: `${field.labelcol}` }}
- error={form.getError(field)}
+ error={devolutionStatus === 1 ? form.getError(field) : formDecentralization.getError(field)}
tipPosition="bottom"
wrapperCol={{ span: `${field.fieldcol}` }}>
),
- col: 1,
- hide: form.isHide(field, (keys, allParams) => {
- return false;
- })
+ col: 1
});
});
group.push(
@@ -104,13 +102,14 @@ export default class EditModal extends React.Component {
onClose,
onChangeTab,
taxAgentStore,
- isChief
+ isChief,
+ devolutionStatus
} = this.props;
- const { form } = taxAgentStore;
+ const { form, formDecentralization } = taxAgentStore;
return (
{
- form.resetForm();
+ devolutionStatus === 1 ? form.resetForm() : formDecentralization.resetForm();
onClose && onClose();
}}
title={
diff --git a/pc4mobx/hrmSalary/pages/taxAgent/index.js b/pc4mobx/hrmSalary/pages/taxAgent/index.js
index 87339055..d599b779 100644
--- a/pc4mobx/hrmSalary/pages/taxAgent/index.js
+++ b/pc4mobx/hrmSalary/pages/taxAgent/index.js
@@ -5,7 +5,7 @@ import { WeaFormItem, WeaRightMenu, WeaSearchGroup, WeaTable, WeaTop } from "ecC
import { renderNoright } from "../../util"; // 渲染form数据的方法:因为多个页面都会使用,所以抽的公共方法在util中
import EditModal from "./editModal";
import TipLabel from "../../components/TipLabel";
-import { editConditions } from "./editConditions";
+import { decentralizationConditions, editConditions } from "./editConditions";
import "./index.less";
@inject("taxAgentStore")
@@ -27,6 +27,7 @@ export default class TaxAgent extends React.Component {
},
devolutionStatus: 0,
conditions: editConditions,
+ decentralizationConditions: decentralizationConditions,
permission: {}
};
}
@@ -85,12 +86,12 @@ export default class TaxAgent extends React.Component {
};
getTaxAgentForm = (id, current) => {
- const { conditions } = this.state;
+ const { conditions, devolutionStatus, decentralizationConditions } = this.state;
const { taxAgentStore } = this.props;
- const { getTaxAgentForm, getCondition } = taxAgentStore;
+ const { getTaxAgentForm, getCondition, getFormDecentralizationCondition } = taxAgentStore;
getTaxAgentForm({ id }).then(({ status, data }) => {
if (status && !_.isEmpty(data)) {
- const [conditionItem] = conditions;
+ const [conditionItem] = devolutionStatus === 1 ? conditions : decentralizationConditions;
const conditionMap = _.map(conditionItem.items, it => {
const key = it.domkey.join("");
if (it.conditionType === "BROWSER") {
@@ -118,10 +119,11 @@ export default class TaxAgent extends React.Component {
});
this.setState(
{
- conditions: [{ defaultshow: true, items: conditionMap }]
+ conditions: [{ defaultshow: true, items: conditionMap }],
+ decentralizationConditions: [{ defaultshow: true, items: conditionMap }],
},
() => {
- getCondition(this.state.conditions);
+ devolutionStatus === 1 ? getCondition(this.state.conditions) : getFormDecentralizationCondition(this.state.decentralizationConditions);
}
);
}
@@ -148,8 +150,9 @@ export default class TaxAgent extends React.Component {
};
closeModal = () => {
+ const { devolutionStatus } = this.state;
const { taxAgentStore } = this.props;
- const { form, getCondition } = taxAgentStore;
+ const { form, formDecentralization, getCondition } = taxAgentStore;
this.setState(
{
editModalProps: {
@@ -161,11 +164,12 @@ export default class TaxAgent extends React.Component {
editType: "save",
visible: false
},
- conditions: editConditions
+ conditions: editConditions,
+ decentralizationConditions: decentralizationConditions
},
() => {
- form.resetForm();
- getCondition(this.state.conditions);
+ devolutionStatus === 1 ? form.resetForm() : formDecentralization.resetForm();
+ devolutionStatus === 1 ? getCondition(this.state.conditions) : getCondition(this.state.decentralizationConditions);
}
);
};
@@ -272,6 +276,7 @@ export default class TaxAgent extends React.Component {
editModalLoading,
devolutionStatus,
conditions,
+ decentralizationConditions,
permission
} = this.state;
const {
@@ -423,7 +428,8 @@ export default class TaxAgent extends React.Component {
diff --git a/pc4mobx/hrmSalary/stores/taxAgent.js b/pc4mobx/hrmSalary/stores/taxAgent.js
index 606cd849..3a042247 100644
--- a/pc4mobx/hrmSalary/stores/taxAgent.js
+++ b/pc4mobx/hrmSalary/stores/taxAgent.js
@@ -3,7 +3,7 @@ import { message } from "antd";
import { WeaForm, WeaTableNew } from "comsMobx";
import * as API from "../apis/taxAgent"; // 引入API接口文件
-import { editConditions } from "../pages/taxAgent/editConditions";
+import { decentralizationConditions, editConditions } from "../pages/taxAgent/editConditions";
import { hasIconInTax } from "../apis/taxAgent";
const { TableStore } = WeaTableNew;
@@ -11,6 +11,7 @@ const { TableStore } = WeaTableNew;
export class TaxAgentStore {
@observable tableStore = new TableStore(); // new table
@observable form = new WeaForm(); //表单实体
+ @observable formDecentralization = new WeaForm(); //关闭分权表单
@observable condition = []; // 存储后台得到的form数据
@observable hasRight = true; // 判断用户是有权限查看当前页面: 没有权限渲染无权限页面,有权限渲染数据
@observable showSearchAd = false; // 高级搜索面板显示
@@ -43,15 +44,20 @@ export class TaxAgentStore {
doInit = params => {
this.getTaxAgentList(params);
this.getCondition(editConditions);
+ this.getFormDecentralizationCondition(decentralizationConditions);
this.hasIconInTax();
};
- // 获得高级搜索表单数据
@action
getCondition = condition => {
this.form.initFormFields(condition);
};
+ @action
+ getFormDecentralizationCondition = condition => {
+ this.formDecentralization.initFormFields(condition);
+ };
+
// 渲染table数据
@action
getTaxAgentList = params => {