import React from "react"; import { WeaHelpfulTip, WeaInputNumber, WeaSelect, WeaTab } from "ecCom"; import { Switch, Table } from "antd"; import { insertUpdateColumns } from "./columns"; import { inject, observer } from "mobx-react"; import PaymentPeriodModal from "./paymentPeriodModal"; import "./index.less"; import SchemeInfoForm from "./schemeInfoForm"; @inject("programmeStore", "salaryFileStore", "taxAgentStore") @observer export default class DefaultSlideForm extends React.Component { constructor(props) { super(props); this.state = { value: "SCHEME_TOWN", selectedKey: "PERSONAL", dataSource: {}, paymentPeriodModal: { visible: false, record: {}, cycleSetting: "000000000000" } }; } updateDataSource = (record, e, key) => { const { programmeStore: { defaultCompanyDataSource, defaultPersonDataSource, setDefaultPersonDataSource, setDefaultCompanyDataSource } } = this.props; let result = { ...record }; if (key === "paymentCycle" && e === "1") { result["accountType"] = "1"; } else if (key === "paymentCycle" && e === "0") { result["accountType"] = record.accountType; } result[key] = e; if (key === "upperLimit" || key === "lowerLimit") { let dataSource = [...defaultPersonDataSource], dataSource_company = [...defaultCompanyDataSource]; dataSource = dataSource.map(item => { if (item.insuranceName === result.insuranceName) return { ...item, [key]: e }; else return item; }); dataSource_company = dataSource_company.map(item => { if (item.insuranceName === result.insuranceName) return { ...item, [key]: e }; else return item; }); setDefaultPersonDataSource(dataSource); setDefaultCompanyDataSource(dataSource_company); } else { if (this.state.selectedKey === "PERSONAL") { let dataSource = [...defaultPersonDataSource]; dataSource = dataSource.map(item => { if (item.id == result.id) return result; else return item; }); setDefaultPersonDataSource(dataSource); } else { let dataSource = [...defaultCompanyDataSource]; dataSource = dataSource.map(item => { if (item.id == result.id) return result; else return item; }); setDefaultCompanyDataSource(dataSource); } } }; handleSetPaymentPeriod = (cycleSetting) => { let cycleObj = { 1: "0", 2: "0", 3: "0", 4: "0", 5: "0", 6: "0", 7: "0", 8: "0", 9: "0", 10: "0", 11: "0", 12: "0" }; if (!_.isEmpty(cycleSetting)) { _.forEach(cycleSetting, item => { _.assign(cycleObj, { [item]: "1" }); }); } else { _.forEach(Object.keys(cycleObj), item => { _.assign(cycleObj, { [item]: "0" }); }); } const tmpVStr = _.reduce(Object.values(cycleObj), (pre, cur) => { return pre + cur; }, ""); this.setState({ paymentPeriodModal: { ...this.state.paymentPeriodModal, cycleSetting: tmpVStr } }, () => { this.updateDataSource(this.state.paymentPeriodModal.record, tmpVStr, "cycleSetting"); }); }; render() { const { paymentPeriodModal } = this.state; const { programmeStore, requestParams, onChange } = this.props; const { defaultPersonDataSource, defaultCompanyDataSource } = programmeStore; insertUpdateColumns.map(item => { if (item.dataIndex == "insuranceName") { item.render = (text) => { return (