2022-03-17 22:38:00 +08:00
|
|
|
|
import React from 'react'
|
2022-04-16 13:13:41 +08:00
|
|
|
|
import { WeaInputSearch, WeaHelpfulTip, WeaTable } from "ecCom"
|
2022-03-17 22:38:00 +08:00
|
|
|
|
import { payrollGrantColumns, dataSource } from "../columns"
|
|
|
|
|
|
import { Menu, Button,Table, Modal, Dropdown } from "antd"
|
2022-04-16 13:13:41 +08:00
|
|
|
|
import { inject, observer } from 'mobx-react';
|
2022-03-17 22:38:00 +08:00
|
|
|
|
|
2022-04-16 13:13:41 +08:00
|
|
|
|
|
|
|
|
|
|
@inject('payrollStore')
|
|
|
|
|
|
@observer
|
2022-03-18 09:41:48 +08:00
|
|
|
|
export default class PayrollWithdrawModal extends React.Component {
|
2022-04-16 13:13:41 +08:00
|
|
|
|
componentWillMount() {
|
|
|
|
|
|
const { payrollStore } = this.props
|
|
|
|
|
|
const { batchWithdrawInfoList } = payrollStore
|
|
|
|
|
|
batchWithdrawInfoList({salarySendId:this.props.sendId})
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 撤回
|
|
|
|
|
|
handleWithdraw(record) {
|
|
|
|
|
|
const { payrollStore } = this.props;
|
|
|
|
|
|
const { withdrawPayroll, batchWithdrawInfoList } = payrollStore;
|
|
|
|
|
|
withdrawPayroll({
|
|
|
|
|
|
ids: [record.id],
|
|
|
|
|
|
salarySendId: this.props.sendId
|
|
|
|
|
|
}).then(() => {
|
|
|
|
|
|
batchWithdrawInfoList({salarySendId:this.props.sendId})
|
|
|
|
|
|
})
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 发送
|
|
|
|
|
|
handleGrant(record) {
|
|
|
|
|
|
const { payrollStore } = this.props;
|
|
|
|
|
|
const { grantPayroll,batchWithdrawInfoList } = payrollStore;
|
|
|
|
|
|
grantPayroll({
|
|
|
|
|
|
ids: [record.id],
|
|
|
|
|
|
salarySendId: this.props.sendId
|
|
|
|
|
|
}).then(() => {
|
|
|
|
|
|
batchWithdrawInfoList({salarySendId:this.props.sendId})
|
|
|
|
|
|
})
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
getColumns() {
|
|
|
|
|
|
const { payrollStore } = this.props;
|
|
|
|
|
|
const { canWidthdrawColumns } = payrollStore
|
|
|
|
|
|
if(!canWidthdrawColumns) {
|
|
|
|
|
|
return []
|
|
|
|
|
|
}
|
|
|
|
|
|
return canWidthdrawColumns.map(item => {
|
|
|
|
|
|
let result = {}
|
|
|
|
|
|
result.title = item.text;
|
|
|
|
|
|
result.key = item.column;
|
|
|
|
|
|
result.dataIndex = item.column;
|
|
|
|
|
|
result.width = item.width;
|
|
|
|
|
|
if(result.key == "operation") {
|
|
|
|
|
|
result.render = (text,record) => {
|
|
|
|
|
|
if(text == 'ALREADYSEND') {
|
|
|
|
|
|
return (
|
|
|
|
|
|
<a onClick={() => {this.handleWithdraw(record)}}>撤回</a>
|
|
|
|
|
|
)
|
|
|
|
|
|
} else {
|
|
|
|
|
|
return (
|
|
|
|
|
|
<a onClick={() => {this.handleGrant(record)}}>发送</a>
|
|
|
|
|
|
)
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
} else {
|
|
|
|
|
|
result.dataIndex = item.column;
|
|
|
|
|
|
}
|
|
|
|
|
|
return result;
|
|
|
|
|
|
})
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2022-03-17 22:38:00 +08:00
|
|
|
|
render() {
|
|
|
|
|
|
const menu = (
|
|
|
|
|
|
<Menu>
|
|
|
|
|
|
<Menu.Item key="1">撤回所选</Menu.Item>
|
|
|
|
|
|
</Menu>
|
|
|
|
|
|
);
|
2022-04-16 13:13:41 +08:00
|
|
|
|
const {payrollStore} = this.props;
|
|
|
|
|
|
const { salarySendDetailBaseInfo, canWidthdrawColumns, canWithdrawDataSource } = payrollStore;
|
2022-03-17 22:38:00 +08:00
|
|
|
|
return (
|
|
|
|
|
|
<Modal width={800} visible={this.props.visible} onCancel={() => {this.props.onCancel()}}>
|
|
|
|
|
|
<div style={{padding: "0px 10px", height: "47px", lineHeight: "47px"}}>
|
|
|
|
|
|
<span style={{fontSize: "14px", color: '#666'}}>批量撤回</span>
|
|
|
|
|
|
<div style={{float: "right", marginRight: "40px"}}>
|
|
|
|
|
|
<Dropdown.Button style={{marginRight: "10px"}} overlay={menu}>全部撤回</Dropdown.Button>
|
|
|
|
|
|
<WeaInputSearch />
|
|
|
|
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div style={{height: "40px", lineHeight: "40px"}}>
|
|
|
|
|
|
<div className="titleBarLeft">
|
2022-04-16 13:13:41 +08:00
|
|
|
|
<span>薪资所属月:{salarySendDetailBaseInfo.salaryMonth && salarySendDetailBaseInfo.salaryMonth.year}-{salarySendDetailBaseInfo.salaryMonth && salarySendDetailBaseInfo.salaryMonth.monthValue}</span>
|
2022-03-17 22:38:00 +08:00
|
|
|
|
<WeaHelpfulTip
|
|
|
|
|
|
style={{marginLeft: '10px', marginRight: "10px"}}
|
|
|
|
|
|
width={200}
|
2022-04-16 13:13:41 +08:00
|
|
|
|
title={`薪资周期\n
|
|
|
|
|
|
${salarySendDetailBaseInfo.salarySobCycle && salarySendDetailBaseInfo.salarySobCycle.salaryCycle && salarySendDetailBaseInfo.salarySobCycle.salaryCycle.fromDate}至 ${salarySendDetailBaseInfo.salarySobCycle && salarySendDetailBaseInfo.salarySobCycle.salaryCycle && salarySendDetailBaseInfo.salarySobCycle.salaryCycle.endDate}\n
|
2022-03-17 22:38:00 +08:00
|
|
|
|
税款所属期\n
|
2022-04-16 13:13:41 +08:00
|
|
|
|
${salarySendDetailBaseInfo.salarySobCycle && salarySendDetailBaseInfo.salarySobCycle.taxCycle}\n
|
2022-03-17 22:38:00 +08:00
|
|
|
|
考勤取值周期\n
|
2022-04-16 13:13:41 +08:00
|
|
|
|
${salarySendDetailBaseInfo.salarySobCycle && salarySendDetailBaseInfo.salarySobCycle.attendCycle && salarySendDetailBaseInfo.salarySobCycle.attendCycle.fromDate}至${salarySendDetailBaseInfo.salarySobCycle && salarySendDetailBaseInfo.salarySobCycle.attendCycle && salarySendDetailBaseInfo.salarySobCycle.attendCycle.endDate}\n
|
2022-03-17 22:38:00 +08:00
|
|
|
|
福利台账月份\n
|
2022-04-16 13:13:41 +08:00
|
|
|
|
引用${salarySendDetailBaseInfo.salarySobCycle && salarySendDetailBaseInfo.salarySobCycle.socialSecurityCycle}的福利台账数据`}
|
2022-03-17 22:38:00 +08:00
|
|
|
|
placement="topLeft"
|
|
|
|
|
|
/>
|
2022-04-16 13:13:41 +08:00
|
|
|
|
<span>工资单模板:{salarySendDetailBaseInfo.template}</span>
|
2022-03-17 22:38:00 +08:00
|
|
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div style={{marginTop: "10px"}}>
|
2022-04-16 13:13:41 +08:00
|
|
|
|
<WeaTable dataSource={canWithdrawDataSource} columns={this.getColumns()}/>
|
2022-03-17 22:38:00 +08:00
|
|
|
|
</div>
|
|
|
|
|
|
</Modal>
|
|
|
|
|
|
)
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|