salary-management-front/pc4mobx/hrmSalary/pages/salaryFile/salaryItemChangeList.js

127 lines
3.7 KiB
JavaScript

import React from "react";
import { Menu, Popover, message, Modal } from "antd";
import { WeaTable } from "ecCom";
import { inject, observer } from "mobx-react";
import ChangeSalaryModal from "./changeSalaryModal";
import { deleteSalaryItem } from '../../apis/archive';
@inject("salaryFileStore")
@observer
export default class SalaryItemChangeList extends React.Component {
constructor(props) {
super(props);
this.state = {
changeSalaryVisible: false,
recordId: ""
};
this.searchParams = {};
}
componentWillMount() {
const { salaryFileStore: { fetchSingleSalaryItemList } } = this.props;
this.searchParams = { salaryArchiveId: this.props.id, current: 1 };
fetchSingleSalaryItemList(this.searchParams);
}
handleEdit = (record) => {
this.setState({
recordId: record.id
}, () => {
this.setState({
changeSalaryVisible: true
});
});
};
deleteSalaryItem = (salaryArchiveItemId) => {
Modal.confirm({
title: "信息确认",
content: "是否删除该调整数据",
onOk: () => {
const { salaryFileStore: { fetchSingleSalaryItemList } } = this.props;
deleteSalaryItem({ salaryArchiveItemId }).then(({status, errormsg}) => {
if(status){
message.success("删除成功")
this.searchParams = { salaryArchiveId: this.props.id, current: 1 };
fetchSingleSalaryItemList(this.searchParams);
}else{
message.error(errormsg || "删除失败")
}
});
},
onCancel: () => {
}
});
};
// 获取Columns
getColumns() {
const { salaryFileStore: { singleSalaryItemList }, selectedKey } = this.props;
let columns = [];
if (singleSalaryItemList.columns) {
columns = [...singleSalaryItemList.columns];
}
if (selectedKey === "fixed") {
columns = [...columns, {
dataIndex: "operate",
title: "操作",
fixed: "right",
width: 100,
render: (text, record) => {
return <div className="optWrapper">
<a href="javascript:void(0);" className="mr10" onClick={() => this.handleEdit(record)}>编辑</a>
<Popover
overlayClassName="moreIconWrapper"
placement="bottomRight"
content={<Menu onClick={(e) => this.deleteSalaryItem(record.id)}>
<Menu.Item key="delete">删除</Menu.Item>
</Menu>} title="">
<i className="icon-coms-more"/>
</Popover>
</div>;
}
}];
}
return columns;
}
// 页面跳转
handlePageChange(value) {
this.searchParams.current = value;
const { salaryFileStore: { fetchSingleSalaryItemList } } = this.props;
fetchSingleSalaryItemList(this.searchParams);
}
render() {
const { salaryFileStore } = this.props;
const { singleSalaryItemList } = salaryFileStore;
return (
<div>
<WeaTable
dataSource={singleSalaryItemList.list ? singleSalaryItemList.list : []}
columns={this.getColumns()}
border
scroll={{ x: 500 }}
pagination={{
onChange: (value) => {
this.handlePageChange(value);
},
total: singleSalaryItemList.total,
showTotal: (total) => `${total}`,
current: singleSalaryItemList.pageNum
}}
/>
{
this.state.changeSalaryVisible && <ChangeSalaryModal
currentId={this.props.id}
recordId={this.state.recordId}
visible={this.state.changeSalaryVisible}
onCancel={() => {
this.setState({ changeSalaryVisible: false });
}}
/>
}
</div>
);
}
}