salary-management-front/pc4mobx/hrmSalary/pages/ledgerPage/components/LedgerBackCalculatedSalaryI...

105 lines
2.6 KiB
JavaScript

/*
* Author: 黎永顺
* name: 回算薪资项目表格数据
* Description:
* Date: 2022/12/13
*/
import React, { Component } from "react";
import { WeaTable } from "ecCom";
import LedgerBackCalcEditSlide from "./ledgerBackCalcEditSlide";
class LedgerBackCalculatedSalaryItemTable extends Component {
constructor(props) {
super(props);
this.state = {
backCalcEditSlide: {
visible: false,
title: "编辑薪资项目",
id: "",
salaryItemId: "",
backCalcType: ""
}
};
}
handleEditBackCalc = (record) => {
const { id, salaryItemId, backCalcType } = record;
const { backCalcEditSlide } = this.state;
this.setState({
backCalcEditSlide: {
...backCalcEditSlide,
visible: true,
id,
salaryItemId,
backCalcType
}
});
};
handleClose = (isRefresh = false) => {
const { backCalcEditSlide } = this.state;
const { onRefresh } = this.props;
this.setState({
backCalcEditSlide: {
...backCalcEditSlide,
visible: false,
id: "",
salaryItemId: "",
backCalcType: ""
}
}, () => {
isRefresh && onRefresh();
});
};
render() {
const { backCalcEditSlide } = this.state;
const { record, dataSource, editId, saveSalarySobId, key } = this.props;
const showOperateBtn = record.opts.includes("admin");
const columns = [
{
dataIndex: "name",
title: "薪资项目",
render: (text) => {
return <span className="tdEllipsis" title={text}>{text}</span>;
}
},
{
dataIndex: "formulaContent",
title: "核算公式",
render: (text, record) => {
return <span className="tdEllipsis" title={text}>{text}</span>;
}
},
{
dataIndex: "",
title: "操作",
width: 80,
render: (text, record, index) => {
const { canEdit } = record;
return (showOperateBtn && canEdit) ?
<a href="javascript: void(0);" onClick={() => this.handleEditBackCalc(record)}>编辑</a> :
<span></span>;
}
}
];
return (
<div>
<WeaTable
rowKey="id"
dataSource={dataSource}
columns={columns}
pagination={false}
/>
<LedgerBackCalcEditSlide
{...backCalcEditSlide}
editId={editId || saveSalarySobId}
showOperateBtn={showOperateBtn}
onCancle={this.handleClose}
/>
</div>
);
}
}
export default LedgerBackCalculatedSalaryItemTable;