import React from "react"; import { Button } from 'antd'; import { WeaTable } from "ecCom"; import { slideStep4Columns } from "./columns"; import "./index.less"; import RuleEditModal from "./step4/RuleEditModal"; import { inject, observer } from "mobx-react"; import { toJS } from 'mobx'; @inject("ledgerStore") @observer export default class CalRulesForm extends React.Component { constructor(props) { super(props); this.state = { modalVisible: false, slideStep4Columns: slideStep4Columns.map(item => { item = { ...item }; if (item.key == "cz") { item.render = (text, record) => { return ( { this.handleDeleteItem(record); }}>删除 ); }; } return item; }) }; } componentWillMount() { const { ledgerStore: { listAdjustmentRule } } = this.props; listAdjustmentRule(); } handleSave(params) { const { ledgerStore: { sobItemRuleDataSource, setSobItemRuleDataSource } } = this.props; let dataSource = [...sobItemRuleDataSource]; dataSource.push(params); setSobItemRuleDataSource(dataSource); } handleDeleteItem(record) { const { ledgerStore: { sobItemRuleDataSource, setSobItemRuleDataSource } } = this.props; let dataSource = [...sobItemRuleDataSource]; setSobItemRuleDataSource(dataSource.filter(item => item.salaryItemId != record.key)); } convertAdjustmentType(index) { let nameList = { 1: '取调薪前薪资', 2: '取调薪后薪资', 3: '平均值', 4: '分段计薪', }; return nameList[Number(index)]; } getSalaryItemName(salaryItemId) { const { ledgerStore: { ruleOptionList } } = this.props; let result = ""; ruleOptionList.map(item => { if (item.key == salaryItemId) { result = item.showname; } }); return result; } convertDataSource(dataSoruce) { let result = [...dataSoruce]; return result.map(item => { let resultStr = ""; resultStr += `${item.dayOfMonth}号(含)之前调薪,${this.convertAdjustmentType(item.beforeAdjustmentType)};${item.dayOfMonth}号之后调薪,${this.convertAdjustmentType(item.afterAdjustmentType)}`; return { key: item.salaryItemId, salaryItemId: item.salaryItemId, salaryItemName: item.salaryItemName ? item.salaryItemName : this.getSalaryItemName(item.salaryItemId), rule: resultStr }; }); } render() { const { ledgerStore: { sobItemRuleDataSource, baseInfoRequest } } = this.props; const { canEdit = "true" } = baseInfoRequest; let datas = this.convertDataSource(sobItemRuleDataSource); return (
{ canEdit === "true" && }
{ this.state.modalVisible && this.setState({ modalVisible: false })} onSave={(params) => { this.handleSave(params); }} /> }
); } }