2022-08-11 17:38:03 +08:00
|
|
|
|
import React from "react";
|
2022-09-13 16:39:15 +08:00
|
|
|
|
import { Button } from 'antd';
|
2022-08-11 17:38:03 +08:00
|
|
|
|
import { WeaTable } from "ecCom";
|
|
|
|
|
|
import { slideStep4Columns } from "./columns";
|
|
|
|
|
|
import "./index.less";
|
|
|
|
|
|
import RuleEditModal from "./step4/RuleEditModal";
|
|
|
|
|
|
import { inject, observer } from "mobx-react";
|
2022-10-27 13:58:23 +08:00
|
|
|
|
import { toJS } from 'mobx';
|
2022-03-16 10:41:38 +08:00
|
|
|
|
|
2022-08-11 17:38:03 +08:00
|
|
|
|
@inject("ledgerStore")
|
2022-03-30 20:04:34 +08:00
|
|
|
|
@observer
|
2022-03-16 10:41:38 +08:00
|
|
|
|
export default class CalRulesForm extends React.Component {
|
2022-08-11 17:38:03 +08:00
|
|
|
|
constructor(props) {
|
|
|
|
|
|
super(props);
|
|
|
|
|
|
this.state = {
|
|
|
|
|
|
modalVisible: false,
|
|
|
|
|
|
slideStep4Columns: slideStep4Columns.map(item => {
|
|
|
|
|
|
item = { ...item };
|
|
|
|
|
|
if (item.key == "cz") {
|
|
|
|
|
|
item.render = (text, record) => {
|
|
|
|
|
|
return (
|
|
|
|
|
|
<a onClick={() => {
|
|
|
|
|
|
this.handleDeleteItem(record);
|
|
|
|
|
|
}}>删除</a>
|
|
|
|
|
|
);
|
|
|
|
|
|
};
|
2022-03-30 20:04:34 +08:00
|
|
|
|
}
|
2022-08-11 17:38:03 +08:00
|
|
|
|
return item;
|
|
|
|
|
|
})
|
|
|
|
|
|
};
|
|
|
|
|
|
}
|
2022-03-30 20:04:34 +08:00
|
|
|
|
|
2022-08-11 17:38:03 +08:00
|
|
|
|
componentWillMount() {
|
|
|
|
|
|
const { ledgerStore: { listAdjustmentRule } } = this.props;
|
|
|
|
|
|
listAdjustmentRule();
|
|
|
|
|
|
}
|
2022-03-30 20:04:34 +08:00
|
|
|
|
|
2022-08-11 17:38:03 +08:00
|
|
|
|
handleSave(params) {
|
|
|
|
|
|
const { ledgerStore: { sobItemRuleDataSource, setSobItemRuleDataSource } } = this.props;
|
|
|
|
|
|
let dataSource = [...sobItemRuleDataSource];
|
|
|
|
|
|
dataSource.push(params);
|
|
|
|
|
|
setSobItemRuleDataSource(dataSource);
|
|
|
|
|
|
}
|
2022-03-30 20:04:34 +08:00
|
|
|
|
|
2022-08-11 17:38:03 +08:00
|
|
|
|
handleDeleteItem(record) {
|
|
|
|
|
|
const { ledgerStore: { sobItemRuleDataSource, setSobItemRuleDataSource } } = this.props;
|
|
|
|
|
|
let dataSource = [...sobItemRuleDataSource];
|
|
|
|
|
|
setSobItemRuleDataSource(dataSource.filter(item => item.salaryItemId != record.key));
|
|
|
|
|
|
}
|
2022-03-30 20:04:34 +08:00
|
|
|
|
|
2022-08-11 17:38:03 +08:00
|
|
|
|
convertAdjustmentType(index) {
|
2022-10-27 13:58:23 +08:00
|
|
|
|
let nameList = {
|
|
|
|
|
|
1: '取调薪前薪资',
|
|
|
|
|
|
2: '取调薪后薪资',
|
|
|
|
|
|
3: '平均值',
|
|
|
|
|
|
4: '分段计薪',
|
|
|
|
|
|
};
|
|
|
|
|
|
return nameList[Number(index)];
|
2022-08-11 17:38:03 +08:00
|
|
|
|
}
|
2022-03-30 20:04:34 +08:00
|
|
|
|
|
2022-08-11 17:38:03 +08:00
|
|
|
|
getSalaryItemName(salaryItemId) {
|
|
|
|
|
|
const { ledgerStore: { ruleOptionList } } = this.props;
|
|
|
|
|
|
let result = "";
|
|
|
|
|
|
ruleOptionList.map(item => {
|
|
|
|
|
|
if (item.key == salaryItemId) {
|
|
|
|
|
|
result = item.showname;
|
|
|
|
|
|
}
|
|
|
|
|
|
});
|
|
|
|
|
|
return result;
|
|
|
|
|
|
}
|
2022-03-30 20:04:34 +08:00
|
|
|
|
|
2022-08-11 17:38:03 +08:00
|
|
|
|
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 (
|
|
|
|
|
|
<div className="calRulesForm">
|
|
|
|
|
|
<div className="headerIcon">
|
|
|
|
|
|
{
|
|
|
|
|
|
canEdit === "true" &&
|
2022-09-13 16:39:15 +08:00
|
|
|
|
<Button
|
|
|
|
|
|
type="primary"
|
|
|
|
|
|
size="small"
|
|
|
|
|
|
style={{ marginRight: 10 }}
|
|
|
|
|
|
onClick={() => {
|
|
|
|
|
|
this.setState({ modalVisible: true });
|
|
|
|
|
|
}}
|
|
|
|
|
|
><span className="icon-coms-Add-to-hot" title="添加"></span></Button>
|
2022-08-11 17:38:03 +08:00
|
|
|
|
}
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div className="tableWrapper">
|
|
|
|
|
|
<WeaTable dataSource={datas} columns={this.state.slideStep4Columns} pagination={false}/>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
this.state.modalVisible && <RuleEditModal
|
|
|
|
|
|
visible={this.state.modalVisible}
|
|
|
|
|
|
onCancel={() => this.setState({ modalVisible: false })}
|
|
|
|
|
|
onSave={(params) => {
|
|
|
|
|
|
this.handleSave(params);
|
|
|
|
|
|
}}
|
|
|
|
|
|
/>
|
|
|
|
|
|
}
|
|
|
|
|
|
</div>
|
|
|
|
|
|
);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|