salary-management-front/pc4mobx/hrmSalary/pages/analysisOfSalaryStatistics/components/salaryTempMangerDialog.js

92 lines
4.2 KiB
JavaScript

/*
* 薪酬报表-薪酬明细
* 模板管理弹框
* @Author: 黎永顺
* @Date: 2024/12/4
* @Wechat:
* @Email: 971387674@qq.com
* @description:
*/
import React, { Component } from "react";
import { WeaButtonIcon, WeaLocaleProvider } from "ecCom";
import CustomTransferDialog from "../../../components/CustomBrowser/components/customTransferDialog";
import SalaryTempAdminDialog from "./salaryTempAdminDialog";
import SalaryDetailsTempDialog from "./salaryDetailsTempDialog";
const getLabel = WeaLocaleProvider.getLabel;
class SalaryTempMangerDialog extends Component {
constructor(props) {
super(props);
this.state = {
selectedRowKeys: [], tempAdminDialog: { visible: false, dataParams: { page: "salary_details_report" } },
tempDialog: { visible: false, setting: [], id: "", template: {} }
};
}
componentWillReceiveProps(nextProps, nextContext) {
if (nextProps.isQuery !== this.props.isQuery) this.setState({ selectedRowKeys: [] }, () => this.tempManageRef.getData());
}
handleTempAdminCols = (params = {}) => this.setState({
tempAdminDialog: { visible: true, dataParams: { ...this.state.tempAdminDialog.dataParams, ...params } }
});
handelAddTemp = (id = "", setting = []) => {
this.setState({
tempDialog: {
visible: true, setting, id, template: _.find(this.tempManageRef.state.listDatas, o => o.id === id)
}
});
};
render() {
const { selectedRowKeys, tempAdminDialog, tempDialog } = this.state;
return (<CustomTransferDialog ref={dom => this.tempManageRef = dom} {...this.props} buttons={[]}
title={getLabel(111, "模板管理")}
onSelect={v => this.setState({ selectedRowKeys: v })}
tableOpts={{
title: getLabel(111, "操作"),
dataIndex: "options",
width: 120,
render: (text, record) => (<React.Fragment>
{
record.canEdit &&
<a href="javascript:void(0);"
onClick={() => this.handleTempAdminCols({ id: record.id })}
style={{ marginRight: 10 }}>{getLabel(111, "编辑")}</a>
}
{
record.canEdit &&
<a href="javascript:void(0);"
onClick={() => this.props.onDelete([record.id])}>{getLabel(111, "删除")}</a>
}
</React.Fragment>)
}}>
<div className="table_opts">
<WeaButtonIcon buttonType="add" type="primary" title={getLabel(111, "添加")}
onClick={() => this.handleTempAdminCols()}/>
<WeaButtonIcon buttonType="del" type="primary" title={getLabel(111, "删除")}
onClick={() => this.props.onDelete(selectedRowKeys)} disabled={_.isEmpty(selectedRowKeys)}/>
</div>
{/*模板管理*/}
<SalaryTempAdminDialog {...tempAdminDialog} onAddTemp={this.handelAddTemp} onCancel={() => this.setState({
tempAdminDialog: { visible: false, dataParams: { page: "salary_details_report" } }
})}/>
{/*薪资明细模板设置*/}
<SalaryDetailsTempDialog {...tempDialog}
onCancel={callback => this.setState({
tempDialog: { ...tempDialog, visible: false, setting: [] }
}, () => callback && callback())}
onSuccess={() => this.setState({
tempAdminDialog: { visible: false, dataParams: { page: "salary_details_report" } }
}, () => {
this.props.onSuccess();
this.tempManageRef.getData();
})}/>
</CustomTransferDialog>);
}
}
export default SalaryTempMangerDialog;