diff --git a/pc4mobx/hrmSalary/pages/socialSecurityBenefits/programme/defaultSlideForm.js b/pc4mobx/hrmSalary/pages/socialSecurityBenefits/programme/defaultSlideForm.js index 2d28bd46..0ec301ba 100644 --- a/pc4mobx/hrmSalary/pages/socialSecurityBenefits/programme/defaultSlideForm.js +++ b/pc4mobx/hrmSalary/pages/socialSecurityBenefits/programme/defaultSlideForm.js @@ -1,11 +1,11 @@ import React from "react"; -import { WeaHelpfulTip, WeaInput, WeaInputNumber, WeaSelect, WeaTable } from "ecCom"; -import { Col, Row, Switch } from "antd"; +import { WeaHelpfulTip, WeaInputNumber, WeaSelect, WeaTab, WeaTable } from "ecCom"; +import { Switch } from "antd"; import { insertUpdateColumns } from "./columns"; import { inject, observer } from "mobx-react"; -import SmallTab from "../../../components/smallTab"; import PaymentPeriodModal from "./paymentPeriodModal"; import "./index.less"; +import SchemeInfoForm from "./schemeInfoForm"; @inject("programmeStore", "salaryFileStore", "taxAgentStore") @observer @@ -14,7 +14,7 @@ export default class DefaultSlideForm extends React.Component { super(props); this.state = { value: "SCHEME_TOWN", - selectItem: "个人", + selectedKey: "PERSONAL", dataSource: {}, paymentPeriodModal: { visible: false, @@ -275,7 +275,7 @@ export default class DefaultSlideForm extends React.Component { setDefaultPersonDataSource(dataSource); setDefaultCompanyDataSource(dataSource_company); } else { - if (this.state.selectItem == "个人") { + if (this.state.selectedKey === "PERSONAL") { let dataSource = [...defaultPersonDataSource]; dataSource = dataSource.map(item => { if (item.id == result.id) return result; @@ -338,7 +338,7 @@ export default class DefaultSlideForm extends React.Component { render() { const { paymentPeriodModal } = this.state; - const { programmeStore, salaryFileStore, taxAgentStore } = this.props; + const { programmeStore, salaryFileStore, taxAgentStore, requestParams, onChange } = this.props; const { userStatusList } = salaryFileStore; const { taxAgentAdminOption, getTaxAgentSelectListAsAdmin } = taxAgentStore; const { defaultPersonDataSource, defaultCompanyDataSource } = programmeStore; @@ -359,120 +359,112 @@ export default class DefaultSlideForm extends React.Component { showname: "农村" } ]; - - const handleSmallTabChange = item => { - this.setState({ - selectItem: item.value - }); - }; - return (
-
- - - 缴纳类型 - - - { - let requestParams = { ...this.props.requestParams }; - requestParams.paymentType = v; - this.props.onChange(requestParams); - }} - /> - - + {/*
*/} + {/* */} + {/* */} + {/* 缴纳类型*/} + {/* */} + {/* */} + {/* {*/} + {/* let requestParams = { ...this.props.requestParams };*/} + {/* requestParams.paymentType = v;*/} + {/* this.props.onChange(requestParams);*/} + {/* }}*/} + {/* />*/} + {/* */} + {/* */} - - - 方案名称 - - - { - let requestParams = { ...this.props.requestParams }; - requestParams.schemeName = value; - this.props.onChange(requestParams); - }} - /> - - - - 可见性 - - { - let requestParams = { ...this.props.requestParams }; - visibleVal === "1" && getTaxAgentSelectListAsAdmin(); - (visibleVal === "0" || visibleVal === "") && (requestParams.taxAgentIds = ""); - requestParams.sharedType = visibleVal; - this.props.onChange(requestParams); - }} - /> - - - { - this.props.requestParams.sharedType === "1" && - - 可见性范围 - - { - let requestParams = { ...this.props.requestParams }; - requestParams.taxAgentIds = value; - this.props.onChange(requestParams); - }} - /> - - - } - - 备注 - - { - let requestParams = { ...this.props.requestParams }; - requestParams.remarks = value; - this.props.onChange(requestParams); - }} - /> - - -
+ {/* */} + {/* */} + {/* 方案名称*/} + {/* */} + {/* */} + {/* {*/} + {/* let requestParams = { ...this.props.requestParams };*/} + {/* requestParams.schemeName = value;*/} + {/* this.props.onChange(requestParams);*/} + {/* }}*/} + {/* />*/} + {/* */} + {/* */} + {/* */} + {/* 可见性*/} + {/* */} + {/* {*/} + {/* let requestParams = { ...this.props.requestParams };*/} + {/* visibleVal === "1" && getTaxAgentSelectListAsAdmin();*/} + {/* (visibleVal === "0" || visibleVal === "") && (requestParams.taxAgentIds = "");*/} + {/* requestParams.sharedType = visibleVal;*/} + {/* this.props.onChange(requestParams);*/} + {/* }}*/} + {/* />*/} + {/* */} + {/* */} + {/* {*/} + {/* this.props.requestParams.sharedType === "1" &&*/} + {/* */} + {/* 可见性范围*/} + {/* */} + {/* {*/} + {/* let requestParams = { ...this.props.requestParams };*/} + {/* requestParams.taxAgentIds = value;*/} + {/* this.props.onChange(requestParams);*/} + {/* }}*/} + {/* />*/} + {/* */} + {/* */} + {/* }*/} + {/* */} + {/* 备注*/} + {/* */} + {/* {*/} + {/* let requestParams = { ...this.props.requestParams };*/} + {/* requestParams.remarks = value;*/} + {/* this.props.onChange(requestParams);*/} + {/* }}*/} + {/* />*/} + {/* */} + {/* */} + {/*
*/} + onChange({ ...requestParams, ...val })}/>
-
- { - handleSmallTabChange(item); - }} - /> -
+ this.setState({ selectedKey })} + />
- {this.state.selectItem == "个人" + {this.state.selectedKey === "PERSONAL" ? it.viewcondition === selectedKey).title}方案` : + `新增${_.find(topTab, it => it.viewcondition === selectedKey).title}方案` + } editable={true} showOperateBtn={showOperateBtn} - onSave={() => { - handleOnSave(); - }} + onSave={() => handleOnSave()} /> } content={ diff --git a/pc4mobx/hrmSalary/pages/socialSecurityBenefits/programme/schemeInfoForm.js b/pc4mobx/hrmSalary/pages/socialSecurityBenefits/programme/schemeInfoForm.js new file mode 100644 index 00000000..2afbd1a3 --- /dev/null +++ b/pc4mobx/hrmSalary/pages/socialSecurityBenefits/programme/schemeInfoForm.js @@ -0,0 +1,97 @@ +/* + * Author: 黎永顺 + * name: 社保福利方案-信息表单 + * Description: + * Date: 2023/2/13 + */ +import React, { Component } from "react"; +import { WeaFormItem, WeaInput, WeaSearchGroup, WeaSelect, WeaTextarea } from "ecCom"; +import { schemeFields } from "./enum"; + +class SchemeInfoForm extends Component { + constructor(props) { + super(props); + this.state = { + schemeFieldsItem: schemeFields + }; + } + + componentDidMount() { + const { schemeFieldsItem } = this.state; + const { requestParams, salaryFileStore: { userStatusList }, taxAgentStore: { taxAgentAdminOption } } = this.props; + const { sharedType } = requestParams; + this.setState({ + schemeFieldsItem: _.map(schemeFieldsItem, item => { + const { key } = item; + switch (key) { + case "sharedType": + return { + ...item, + options: userStatusList + }; + case "taxAgentIds": + return { + ...item, + multiple: true, + display: !_.isNil(sharedType) && sharedType.toString() === "1", + options: taxAgentAdminOption + }; + default: + break; + } + return { ...item }; + }) + }); + } + + handleChangeSchemeFiledItems = (key, v) => { + const { onChangeFieldsItem } = this.props; + const { schemeFieldsItem } = this.state; + this.setState({ + schemeFieldsItem: _.map(schemeFieldsItem, item => { + if (key === "sharedType" && item.key === "taxAgentIds") { + return { ...item, display: v === "1" }; + } + return { ...item }; + }) + }, () => { + onChangeFieldsItem({ [key]: (key === "useDefault" || key === "useInEmployeeSalary") ? Number(v) : v }); + }); + }; + + render() { + const { requestParams } = this.props; + const { schemeFieldsItem } = this.state; + return ( + + { + _.map(schemeFieldsItem, item => { + const { key, label, type, viewAttr, options, display = true, multiple = false } = item; + const value = !_.isNil(requestParams[key]) ? requestParams[key].toString() : ""; + return + { + (type === "INPUT" && display) ? + + this.handleChangeSchemeFiledItems(key, v)}/> : + (type === "SELECT" && display) ? + + this.handleChangeSchemeFiledItems(key, v)}/> + : + (type === "TEXTAREA" && display) ? + + this.handleChangeSchemeFiledItems(key, v)}/> + : null + } + ; + }) + } + + ); + } +} + +export default SchemeInfoForm;