个税扣缴义务人切换新增和编辑弹框的编辑人项显隐

This commit is contained in:
黎永顺 2022-11-15 09:43:38 +08:00
parent dcb2f5f864
commit 0d04b38ab6
4 changed files with 69 additions and 30 deletions

View File

@ -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,
},
];

View File

@ -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}` }}>
<WeaSwitch
ecId={`tasAgent_WeaSwitch@r2lhga@${index}@${idx}`}
fieldConfig={field}
form={form}
form={devolutionStatus === 1 ? form : formDecentralization}
/>
</WeaFormItem>
),
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 (
<WeaDialog
onCancel={() => {
form.resetForm();
devolutionStatus === 1 ? form.resetForm() : formDecentralization.resetForm();
onClose && onClose();
}}
title={

View File

@ -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 {
<EditModal
{...editModalProps}
{...editModalLoading}
editConditions={conditions}
devolutionStatus={devolutionStatus}
editConditions={devolutionStatus === 1 ? conditions : decentralizationConditions}
taxAgentStore={taxAgentStore}
isChief={permission.isChief}
onPrev={() =>

View File

@ -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 => {