diff --git a/pc4mobx/hrmSalary/pages/salary/components/baseSettings.js b/pc4mobx/hrmSalary/pages/salary/components/baseSettings.js index 5e24cb5c..c1ce4018 100644 --- a/pc4mobx/hrmSalary/pages/salary/components/baseSettings.js +++ b/pc4mobx/hrmSalary/pages/salary/components/baseSettings.js @@ -20,7 +20,7 @@ class BaseSettings extends Component { render() { const { taxAgentStore: { salarytaxAgentForm }, decentralization, isChief } = this.props; return ( -
+
{ decentralization === "0" ? getSearchs(salarytaxAgentForm, convertConditon(decentralizationConditions, !isChief), 1, false) : diff --git a/pc4mobx/hrmSalary/pages/salary/components/constants.js b/pc4mobx/hrmSalary/pages/salary/components/constants.js index 8682937c..dc2422a0 100644 --- a/pc4mobx/hrmSalary/pages/salary/components/constants.js +++ b/pc4mobx/hrmSalary/pages/salary/components/constants.js @@ -238,7 +238,6 @@ export const deptFillCondition = [ defaultshow: true } ]; - export const taxFillColumns = [ { dataIndex: "taxCode", @@ -292,3 +291,150 @@ export const taxFillColumns = [ titleId: "545141" } ]; +export const personScopeConditions = [ + { + items: [ + { + conditionType: "SELECT_LINKAGE", + domkey: ["targetType"], + fieldcol: 18, + label: "对象类型", + lanId: 111, + labelcol: 6, + options: [], + viewAttr: 3, + rules: "selectLinkageRequired", + selectLinkageDatas: {} + }, + { + conditionType: "SELECT", + domkey: ["employeeStatus"], + fieldcol: 18, + label: "选择员工状态", + lanId: 111, + labelcol: 6, + value: "", + detailtype: "2", + rules: "required", + viewAttr: 3 + }, + ], + defaultshow: true + } +]; +export const scopeSelectLinkageDatas = { + EMPLOYEE:{ + browserConditionParam: { + completeParams: {}, + dataParams: {}, + hasAddBtn: false, + hasAdvanceSerach: true, + isAutoComplete: 1, + isDetail: 0, + isMultCheckbox: false, + isSingle: false, + pageSize: 10, + linkUrl: "", + type: "17", + viewAttr: 3, + rules:'required', + title: "" + }, + conditionType: "BROWSER", + domkey: ["target"], + fieldcol: 24, + label: "", + labelcol: 0, + value: "", + rules: "required", + viewAttr: 3 + }, + DEPT:{ + browserConditionParam: { + completeParams: {}, + dataParams: {}, + hasAddBtn: false, + hasAdvanceSerach: true, + isAutoComplete: 1, + isDetail: 0, + isMultCheckbox: false, + isSingle: false, + pageSize: 10, + linkUrl: "", + type: "57", + viewAttr: 3, + rules:'required', + title: "" + }, + conditionType: "BROWSER", + domkey: ["target"], + fieldcol: 24, + label: "", + labelcol: 0, + value: "", + rules: "required", + viewAttr: 3 + }, + SUBCOMPANY:{ + browserConditionParam: { + completeParams: {}, + dataParams: {}, + hasAddBtn: false, + hasAdvanceSerach: true, + isAutoComplete: 1, + isDetail: 0, + isMultCheckbox: false, + isSingle: false, + pageSize: 10, + linkUrl: "", + type: "164", + viewAttr: 3, + rules:'required', + title: "" + }, + conditionType: "BROWSER", + domkey: ["target"], + fieldcol: 24, + label: "", + labelcol: 0, + value: "", + rules: "required", + viewAttr: 3 + }, + POSITION:{ + browserConditionParam: { + completeParams: {}, + dataParams: {}, + hasAddBtn: false, + hasAdvanceSerach: true, + isAutoComplete: 1, + isDetail: 0, + isMultCheckbox: false, + isSingle: false, + pageSize: 10, + linkUrl: "", + type: "278", + viewAttr: 3, + rules:'required', + title: "" + }, + conditionType: "BROWSER", + domkey: ["target"], + fieldcol: 24, + label: "", + labelcol: 0, + value: "", + rules: "required", + viewAttr: 3 + }, + SQL: { + conditionType: "TEXTAREA", + domkey: ["target"], + fieldcol: 24, + label: "", + labelcol: 0, + value: "", + rules: "required", + viewAttr: 3 + } +}; diff --git a/pc4mobx/hrmSalary/pages/salary/components/index.less b/pc4mobx/hrmSalary/pages/salary/components/index.less index be539899..2a3d6ff4 100644 --- a/pc4mobx/hrmSalary/pages/salary/components/index.less +++ b/pc4mobx/hrmSalary/pages/salary/components/index.less @@ -1,6 +1,35 @@ .taxAgentSlideContent { + height: 100%; + background: #F6F6F6; + + .ant-steps { + margin: 0 0 20px 0 !important; + padding-top: 20px; + } + + .personal-scope { + padding: 8px 16px; + height: 100%; + + .wea-tab, .wea-new-table { + background: #FFF; + } + + .icon-refresh { + display: flex; + justify-content: center; + align-items: center; + width: 20px; + height: 20px; + color: #fff; + background: #55a1f8; + cursor: pointer; + border-radius: 3px; + } + } + .baseSettingWrapper, .taxDeclarationInfoWrapper { - padding: 12px 12px 12px 20px; + padding: 8px 16px; .wea-search-group { padding: 0; @@ -28,6 +57,7 @@ width: 100%; margin: 16px 0; border: 1px solid #e5e5e5; + background: #FFF; .hintHeader { background: #f6f6f6; diff --git a/pc4mobx/hrmSalary/pages/salary/components/personalScope.js b/pc4mobx/hrmSalary/pages/salary/components/personalScope.js index 66070632..7056efd7 100644 --- a/pc4mobx/hrmSalary/pages/salary/components/personalScope.js +++ b/pc4mobx/hrmSalary/pages/salary/components/personalScope.js @@ -5,22 +5,22 @@ * Date: 2022/11/30 */ import React, { Component } from "react"; -import { Button, message, Modal } from "antd"; +import { message, Modal } from "antd"; import { inject, observer } from "mobx-react"; -import { WeaButtonIcon, WeaInputSearch, WeaTab } from "ecCom"; +import { WeaButtonIcon, WeaInputSearch, WeaLocaleProvider, WeaTab } from "ecCom"; import { taxAgentRangeDelete, taxAgentRangeExtDelete, taxAgentRangeExtSave, - taxAgentRangeImportData, - taxAgentRangePreview + taxAgentRangeImportData } from "../../../apis/taxAgent"; import { sysinfo } from "../../../apis/ruleconfig"; import PersonalScopeTable from "./personalScopeTable"; import PersonalScopeModal from "./personalScopeModal"; -import ImportModal from "../../../components/importModal"; +import ImportDialog from "../../../components/importDialog"; import ExternalPersonModal from "../../../components/externalPersonModal"; -import { importEmployColumns } from "../../taxAgent/columns"; + +const getLabel = WeaLocaleProvider.getLabel; @inject("taxAgentStore") @observer @@ -28,17 +28,16 @@ class PersonalScope extends Component { constructor(props) { super(props); this.state = { - searchValue: "", selectedKey: "listInclude", - rowKeys: [], personalAddModal: { - visible: false, externalVisible: false, - title: "关联人员", includeType: "" + searchValue: "", selectedKey: "listInclude", rowKeys: [], loading: false, + extEmpsWitch: "1", //非系统人员开关, 1: 开启, 0:关闭 + personalAddModal: { + visible: false, externalVisible: false, title: getLabel(111, "关联人员"), includeType: "", record: {} }, - previewDataSource: [], importParams: { - visible: false, - step: 0, - importResult: {} - }, extEmpsWitch: "1", //非系统人员开关, 1: 开启, 0:关闭 - loading: false + importParams: { + visible: false, title: getLabel(111, "数据导入"), nextloading: false, importResult: {}, imageId: "", + link: `/api/bs/hrmsalary/taxAgent/range/downloadTemplate?taxAgentId=${props.taxAgentId}`, + previewUrl: "/api/bs/hrmsalary/taxAgent/range/preview" + } }; this.personalScopeTableRef = null; } @@ -92,37 +91,26 @@ class PersonalScope extends Component { * Params: * Date: 2022/11/30 */ - handleAddPersonal = () => { + handleAddPersonal = (record = {}) => { const { personalAddModal, selectedKey } = this.state; this.setState({ personalAddModal: { - ...personalAddModal, + ...personalAddModal, record, visible: selectedKey !== "listExt", externalVisible: selectedKey === "listExt", includeType: selectedKey === "listInclude" ? 1 : 0 } }); }; - salaryArchivePreview = (params) => { - taxAgentRangePreview(params).then(({ status, data }) => { - if (status) { - const { preview } = data; - this.setState({ - previewDataSource: preview - }); - } - }); - }; handleImportFile = (params) => { - const { taxAgentId } = this.props; - taxAgentRangeImportData({ ...params, taxAgentId }).then(({ status, data }) => { + const { taxAgentId } = this.props, { importParams } = this.state; + this.setState({ importParams: { ...importParams, nextloading: true } }); + taxAgentRangeImportData({ ...params, taxAgentId }).then(({ status, errormsg, data }) => { + this.setState({ importParams: { ...importParams, nextloading: false } }); if (status) { - this.setState({ - importParams: { - ...this.state.importParams, - importResult: data - } - }); + this.setState({ importParams: { ...importParams, importResult: data } }); + } else { + message.warning(errormsg); } }); }; @@ -153,10 +141,7 @@ class PersonalScope extends Component { }; render() { - const { - selectedKey, searchValue, rowKeys, personalAddModal, - importParams, previewDataSource, extEmpsWitch, loading - } = this.state; + const { selectedKey, searchValue, rowKeys, personalAddModal, importParams, extEmpsWitch, loading } = this.state; const { taxAgentStore: { hideIconInTax, showSalaryItemBtn }, taxAgentId } = this.props; const topTab = [ { @@ -173,36 +158,33 @@ class PersonalScope extends Component { } ]; const btns = (hideIconInTax || showSalaryItemBtn) ? [ - , + { + this.setState({ importParams: { ...importParams, visible: true } }); + }}>, , - , + this.handleAddPersonal()}/>, this.setState({ searchValue })} placeholder="请输入对象" - onSearch={() => this.personalScopeTableRef.getPersonalScopeList()} + onSearch={() => this.personalScopeTableRef.getPersonalScopeList(selectedKey, 1)} /> ] : [ this.setState({ searchValue })} placeholder="请输入对象" - onSearch={() => this.personalScopeTableRef.getPersonalScopeList()} + onSearch={() => this.personalScopeTableRef.getPersonalScopeList(selectedKey, 1)} />]; (selectedKey === "listExclude" || selectedKey === "listExt") && btns.shift(); return ( -
+
this.setState({ rowKeys })} + onEditScope={this.handleAddPersonal} /> {/*非系统人员添加*/} this.personalScopeTableRef.getPersonalScopeList()} - onCancel={() => + onCancel={(callback) => this.setState({ - personalAddModal: { - ...personalAddModal, - visible: false, - includeType: "" - } - }) + personalAddModal: { ...personalAddModal, visible: false, includeType: "", record: {} } + }, () => callback && callback()) } /> - {importParams.visible && ( - { - this.setState({ importParams: { ...this.state.importParams, step } }); - }} - importResult={importParams.importResult} - onFinish={() => { - this.setState({ - importParams: { - ...this.state.importParams, - visible: false - } - }, () => this.personalScopeTableRef.getPersonalScopeList()); - }} - previewImport={(params) => this.salaryArchivePreview(params)} - importFile={(params) => this.handleImportFile(params)} - templateLink={`/api/bs/hrmsalary/taxAgent/range/downloadTemplate?taxAgentId=${taxAgentId}`} - visiable={importParams.visible} - onCancel={() => { - this.setState({ importParams: { ...this.state.importParams, visible: false } }); - }} - /> - )} + this.setState({ importParams: { ...importParams, imageId } })} + nextUplaodCallback={imageId => this.handleImportFile({ imageId })} + onResetImportResult={() => this.setState(({ + importParams: { ...importParams, importResult: {}, imageId: "" } + }))} + onCancel={(callback) => this.setState({ + importParams: { ...importParams, visible: false } + }, () => callback && this.personalScopeTableRef.getPersonalScopeList(selectedKey, 1))}/>
); } diff --git a/pc4mobx/hrmSalary/pages/salary/components/personalScopeModal.js b/pc4mobx/hrmSalary/pages/salary/components/personalScopeModal.js index 9e4c09af..040db1e1 100644 --- a/pc4mobx/hrmSalary/pages/salary/components/personalScopeModal.js +++ b/pc4mobx/hrmSalary/pages/salary/components/personalScopeModal.js @@ -5,184 +5,153 @@ * Date: 2022/11/30 */ import React, { Component } from "react"; -import { WeaBrowser, WeaDialog, WeaFormItem, WeaSearchGroup, WeaSelect } from "ecCom"; -import { Button, message, Modal } from "antd"; -import { getTaxAgentRangeForm, taxAgentRangeSave } from "../../../apis/taxAgent"; -import { SelectWithAll } from "../../socialSecurityBenefits/standingBookDetail/components/regAddEmployee"; -import "./index.less"; +import { inject, observer } from "mobx-react"; +import { WeaSwitch } from "comsMobx"; +import { WeaCheckbox, WeaDialog, WeaFormItem, WeaLocaleProvider, WeaSearchGroup, WeaTools } from "ecCom"; +import { Button, message } from "antd"; +import { getTaxAgentRangeForm, taxAgentRangeEdit, taxAgentRangeSave } from "../../../apis/taxAgent"; +import { personScopeConditions, scopeSelectLinkageDatas } from "./constants"; +const getKey = WeaTools.getKey; +const getLabel = WeaLocaleProvider.getLabel; + +@inject("taxAgentStore") +@observer class PersonalScopeModal extends Component { constructor(props) { super(props); this.state = { - loading: false, - employeeStatus: [], - targetTypeList: [], - targetType: "EMPLOYEE", - targetTypeIds: "", - targetTypeIdsNames: "", - status: "", - statusAll: "" + loading: false, conditions: [], employeeStatus: [] }; } - componentDidMount() { - this.getTaxAgentRangeForm(); + componentWillReceiveProps(nextProps, nextContext) { + if (nextProps.visible !== this.props.visible && nextProps.visible) this.getTaxAgentRangeForm(nextProps); + if (nextProps.visible !== this.props.visible && !nextProps.visible) this.props.taxAgentStore.initPersonScopeForm(); } - getTaxAgentRangeForm = () => { + getTaxAgentRangeForm = (props) => { + const { record } = props; getTaxAgentRangeForm().then(({ status, data }) => { if (status) { const { employeeStatus, targetTypeList } = data; this.setState({ - targetTypeList: _.map(targetTypeList, it => ({ key: it.id, showname: it.name })), - employeeStatus: _.map(employeeStatus, it => ({ key: it.id, showname: it.name })) - }); + employeeStatus, conditions: _.map(personScopeConditions, item => ({ + ...item, items: _.map(item.items, o => { + if (getKey(o) === "employeeStatus") { + return { + ...o, label: getLabel(o.lanId, o.label), value: !_.isEmpty(record) ? record.status : "", + options: _.map(employeeStatus, it => ({ key: it.id, showname: it.name })) + }; + } + return { + ...o, label: getLabel(o.lanId, o.label), viewAttr: !_.isEmpty(record) ? 1 : 3, + options: _.map(targetTypeList, it => ({ + key: it.id, showname: it.name, + selected: !_.isEmpty(record) ? it.id === record.targetType : it.id === "EMPLOYEE" + })), + selectLinkageDatas: { + ..._.reduce(_.keys(scopeSelectLinkageDatas), (pre, cur) => { + if (cur !== "SQL") { + return { + ...pre, + [cur]: { + ...scopeSelectLinkageDatas[cur], + browserConditionParam: { + ...scopeSelectLinkageDatas[cur].browserConditionParam, + isSingle: true, + replaceDatas: !_.isEmpty(record) ? [{ + id: String(record.targetId), + name: record.targetName + }] : [] + } + } + }; + } + return { + ...pre, [cur]: { ...scopeSelectLinkageDatas[cur], value: !_.isEmpty(record) ? record.target : "" } + }; + }, {}) + } + }; + }) + })) + }, () => this.props.taxAgentStore.personScopeForm.initFormFields(this.state.conditions)); } }); }; taxAgentRangeSave = () => { - const { status, targetTypeIds, targetType } = this.state; - const { includeType, taxAgentId, onSuccess, onCancel } = this.props; - if (_.isEmpty(status) || _.isEmpty(targetTypeIds)) { - Modal.warning({ - title: "信息确认", - content: "必要信息不完整,红色*为必填项!" - }); - return; - } - const payload = { - employeeStatus: status.split(","), - includeType, - targetParams: _.map(targetTypeIds.split(","), it => ({ targetType, targetId: it })), - taxAgentId - }; - this.setState({ loading: true }); - taxAgentRangeSave(payload).then(({ status, errormsg }) => { - this.setState({ loading: false }); - if (status) { - message.success("保存成功"); - this.handleReset(); - onSuccess(); - onCancel(); + const { taxAgentStore: { personScopeForm }, record = {} } = this.props; + personScopeForm.validateForm().then(f => { + if (f.isValid) { + const { employeeStatus, targetType, target } = personScopeForm.getFormParams(); + const { includeType, taxAgentId } = this.props; + const payload = { + includeType, taxAgentId, employeeStatus: employeeStatus.split(","), id: record.id, + targetParams: _.map(target.split(","), it => ({ + targetType, targetId: targetType === "SQL" ? "0" : it, + target: targetType === "SQL" ? target : "" + })) + }; + this.setState({ loading: true }); + const API = !_.isEmpty(record) ? taxAgentRangeEdit : taxAgentRangeSave; + API(payload).then(({ status, errormsg }) => { + this.setState({ loading: false }); + if (status) { + message.success(getLabel(111, "操作成功!")); + this.props.onCancel(this.props.onSuccess); + } else { + message.error(errormsg); + } + }).catch(() => this.setState({ loading: true })); } else { - message.error(errormsg || "保存失败"); + f.showErrors(); } - }).catch(() => this.setState({ loading: true })); - }; - renderBrowser = () => { - const { targetType, targetTypeIds, targetTypeIdsNames } = this.state; - let browserType = {}; - switch (targetType) { - case "EMPLOYEE": - browserType = { ...browserType, type: 17, title: "人员选择" }; - break; - case "DEPT": - browserType = { ...browserType, type: 57, title: "部门选择" }; - break; - case "SUBCOMPANY": - browserType = { ...browserType, type: 164, title: "分部选择" }; - break; - case "POSITION": - browserType = { ...browserType, type: 278, title: "岗位选择" }; - break; - default: - break; - } - return { - this.setState({ targetTypeIds, targetTypeIdsNames }); - }} - />; - }; - handleReset = () => { - this.setState({ - targetType: "EMPLOYEE", - targetTypeIds: "", - status: "", - statusAll: "" }); }; + renderForm = () => { + const { taxAgentStore: { personScopeForm } } = this.props; + const { conditions, employeeStatus } = this.state, { isFormInit } = personScopeForm, + formParams = personScopeForm.getFormParams(); + const checked = formParams.employeeStatus && _.every(_.map(employeeStatus, o => o.id), k => formParams.employeeStatus.indexOf(k) !== -1); + let group = []; + isFormInit && conditions.map(c => { + let items = []; + c.items.map(fields => { + items.push({ + com: ( + + { + getKey(fields) === "employeeStatus" && + + } + + ), + hide: fields.hide + }); + }); + group.push(); + }); + return group; + }; + handleChangeAll = (val) => { + const { taxAgentStore: { personScopeForm } } = this.props, { employeeStatus } = this.state; + val === "1" ? personScopeForm.updateFields({ employeeStatus: { value: _.map(employeeStatus, o => o.id).join(",") } }) : + personScopeForm.updateFields({ employeeStatus: { value: "" } }); + }; render() { - const { onCancel, title, visible } = this.props; - const { employeeStatus, targetTypeList, targetType, status, statusAll, loading } = this.state; + const { title, taxAgentStore: { personScopeForm } } = this.props, { loading } = this.state; const buttons = [ - , - + , + ]; return ( - { - this.handleReset(); - onCancel(); - }} - > - - -
- this.setState({ targetType })} - /> - {this.renderBrowser()} -
-
- { - SelectWithAll({ - label: "选择员工状态", - options: employeeStatus, - detailtype: 2, - valueAll: statusAll, - value: status, - onChangeAll: ({ selected }) => { - if (selected) { - this.setState({ - status: _.map(employeeStatus, it => it.key).join(","), - statusAll: selected - }); - } else { - this.setState({ - status: "", - statusAll: selected - }); - } - }, - onChange: ({ selected }) => { - const bool = _.every(_.map(employeeStatus, it => it.key), item => selected.split(",").includes(item)); - if (bool) { - this.setState({ - status: selected, - statusAll: "0" - }); - } else { - this.setState({ - status: selected, - statusAll: "" - }); - } - } - }) - } -
+ +
{this.renderForm()}
); } diff --git a/pc4mobx/hrmSalary/pages/salary/components/personalScopeTable.js b/pc4mobx/hrmSalary/pages/salary/components/personalScopeTable.js index 59a6007b..e09e2ea9 100644 --- a/pc4mobx/hrmSalary/pages/salary/components/personalScopeTable.js +++ b/pc4mobx/hrmSalary/pages/salary/components/personalScopeTable.js @@ -47,13 +47,11 @@ class PersonalScopeTable extends Component { } } - getPersonalScopeList = (tabActive = this.props.tabActive) => { + getPersonalScopeList = (tabActive = this.props.tabActive, current) => { const { searchValue, taxAgentId } = this.props; const { pageInfo, loading } = this.state; const payload = { - taxAgentId, - targetName: searchValue, - ...pageInfo + taxAgentId, targetName: searchValue, ...pageInfo, current: current || pageInfo.current }; this.setState({ loading: { ...loading, query: true } }); APIFox[tabActive](payload).then(({ status, data }) => { @@ -66,7 +64,10 @@ class PersonalScopeTable extends Component { columns: _.map(columns, item => { return { ...item, - render: (text) => { + render: (text, record) => { + if (item.dataIndex === "targetName") { + return this.props.onEditScope(record)}>{text}; + } return {text}; } }; @@ -129,6 +130,7 @@ class PersonalScopeTable extends Component { pagination={pagination} loading={loading.query} columns={columns} + scroll={{ y: `calc(100vh - 230px)` }} /> ); } diff --git a/pc4mobx/hrmSalary/pages/salary/components/taxDeclarationInfo.js b/pc4mobx/hrmSalary/pages/salary/components/taxDeclarationInfo.js index 11f5e4d3..8fe0ceda 100644 --- a/pc4mobx/hrmSalary/pages/salary/components/taxDeclarationInfo.js +++ b/pc4mobx/hrmSalary/pages/salary/components/taxDeclarationInfo.js @@ -100,7 +100,7 @@ class TaxDeclarationInfo extends Component { render() { const { fieldItem, fieldForm } = this.state; return ( -
+
{ _.map(fieldItem, item => { diff --git a/pc4mobx/hrmSalary/pages/salary/index.less b/pc4mobx/hrmSalary/pages/salary/index.less index de04ce9f..e6dacf00 100644 --- a/pc4mobx/hrmSalary/pages/salary/index.less +++ b/pc4mobx/hrmSalary/pages/salary/index.less @@ -1,5 +1,37 @@ .salaryAgentWrapper { + .wea-new-top-content { + background: #f6f6f6; + padding: 8px 16px 0; + } + + .wea-new-top { + .wea-input-focus { + height: 31.36px; + line-height: 0; + } + } + .comContent { + .wea-search-group:first-child { + margin-bottom: 16px; + } + + .wea-search-group { + padding: 0; + background: #fff; + + .wea-title { + padding: 0 10px; + } + + .wea-content { + padding: 0; + + .wea-form-item { + padding-left: 18px; + } + } + } .customTitleWrapper { width: 100%; @@ -40,4 +72,30 @@ //margin-top: -6px; } } + + .taxAgentSlide { + .wea-slide-modal-title { + height: auto; + line-height: normal; + text-align: left; + background: #FFF; + + .wea-new-top .ant-col-10 { + padding-right: 45px !important; + } + } + + .rodal-close { + z-index: 99; + top: 10px !important; + } + + .wea-new-top-req-wapper .wea-new-top-req-title > div:last-child { + right: 45px !important; + } + + .wea-slide-modal-content { + height: 100%; + } + } } diff --git a/pc4mobx/hrmSalary/stores/taxAgent.js b/pc4mobx/hrmSalary/stores/taxAgent.js index aa516844..af41a3ce 100644 --- a/pc4mobx/hrmSalary/stores/taxAgent.js +++ b/pc4mobx/hrmSalary/stores/taxAgent.js @@ -11,9 +11,10 @@ export class TaxAgentStore { @observable salarytaxAgentForm = new WeaForm(); //新版个税扣缴义务人表单实体 @observable taxfillInfoForm = new WeaForm(); //报税信息查看form @action setTaxfillInfoForm = () => this.taxfillInfoForm = new WeaForm(); //报税信息form初始化 + @observable personScopeForm = new WeaForm(); //个税扣缴义务人新增人员form + @action initPersonScopeForm = () => this.personScopeForm = new WeaForm(); //个税扣缴义务人新增人员form初始化 @observable deptfillInfoForm = new WeaForm(); //报税信息部门备案form @action initDeptfillInfoForm = () => this.deptfillInfoForm = new WeaForm(); //报税信息部门备案form初始化 - @observable advanceForm = new WeaForm(); //权限-角色高级搜索form表单 @observable roleForm = new WeaForm(); //权限-角色form表单 @action initRoleForm = () => this.roleForm = new WeaForm();