2022-03-16 10:41:38 +08:00
|
|
|
|
import React from 'react'
|
|
|
|
|
|
import { Table, Icon } from 'antd'
|
2022-05-05 09:13:38 +08:00
|
|
|
|
import { WeaTable } from 'ecCom'
|
2022-03-30 20:04:34 +08:00
|
|
|
|
import { slideStep4Columns} from './columns'
|
2022-03-16 10:41:38 +08:00
|
|
|
|
import "./index.less"
|
2022-03-30 20:04:34 +08:00
|
|
|
|
import RuleEditModal from './step4/RuleEditModal'
|
|
|
|
|
|
import { inject, observer } from 'mobx-react';
|
2022-03-16 10:41:38 +08:00
|
|
|
|
|
2022-03-30 20:04:34 +08:00
|
|
|
|
@inject('ledgerStore')
|
|
|
|
|
|
@observer
|
2022-03-16 10:41:38 +08:00
|
|
|
|
export default class CalRulesForm extends React.Component {
|
2022-03-30 20:04:34 +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>
|
|
|
|
|
|
)
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
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 = ['取调整后薪资', '分段计薪', '取平均']
|
2022-05-05 09:13:38 +08:00
|
|
|
|
return nameList[Number(index) - 1]
|
2022-03-30 20:04:34 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
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 = "";
|
2022-05-05 09:13:38 +08:00
|
|
|
|
resultStr += `${item.dayOfMonth}号(含)之前调薪,${this.convertAdjustmentType(item.beforeAdjustmentType)};${item.dayOfMonth}号之后调薪,${this.convertAdjustmentType(item.afterAdjustmentType)}`
|
2022-03-30 20:04:34 +08:00
|
|
|
|
return {
|
|
|
|
|
|
key: item.salaryItemId,
|
|
|
|
|
|
salaryItemId: item.salaryItemId,
|
|
|
|
|
|
salaryItemName: item.salaryItemName ? item.salaryItemName : this.getSalaryItemName(item.salaryItemId),
|
|
|
|
|
|
rule: resultStr
|
|
|
|
|
|
}
|
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2022-03-16 10:41:38 +08:00
|
|
|
|
render() {
|
2022-03-30 20:04:34 +08:00
|
|
|
|
const { ledgerStore: {sobItemRuleDataSource}} = this.props;
|
|
|
|
|
|
let datas = this.convertDataSource(sobItemRuleDataSource)
|
2022-03-16 10:41:38 +08:00
|
|
|
|
return (
|
|
|
|
|
|
<div className="calRulesForm">
|
|
|
|
|
|
<div className="headerIcon">
|
2022-03-30 20:04:34 +08:00
|
|
|
|
<Icon className="iconItem" type="plus-square" onClick={() => {this.setState({modalVisible: true})}}/>
|
2022-03-16 10:41:38 +08:00
|
|
|
|
</div>
|
|
|
|
|
|
<div className="tableWrapper">
|
2022-05-05 09:13:38 +08:00
|
|
|
|
<WeaTable dataSource={datas} columns={this.state.slideStep4Columns} pagination={false}/>
|
2022-03-16 10:41:38 +08:00
|
|
|
|
</div>
|
2022-03-30 20:04:34 +08:00
|
|
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
this.state.modalVisible && <RuleEditModal
|
|
|
|
|
|
visible={this.state.modalVisible}
|
|
|
|
|
|
onCancel={() => this.setState({modalVisible: false})}
|
|
|
|
|
|
onSave={(params) => {this.handleSave(params)}}
|
|
|
|
|
|
/>
|
|
|
|
|
|
}
|
2022-03-16 10:41:38 +08:00
|
|
|
|
</div>
|
|
|
|
|
|
)
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|