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