salary-management-front/pc4mobx/hrmSalary/pages/ledger/validRulesForm.js

138 lines
3.8 KiB
JavaScript
Raw Normal View History

2022-07-04 19:03:14 +08:00
import React from "react";
import {WeaInputSearch} from "ecCom";
import {Icon, message, Modal, Table} from "antd";
import ValidRuleEditModal from "./step5/ValidRuleEditModal";
import AddValidRuleModal from "./addValidRuleModal";
import {inject, observer} from "mobx-react";
2022-03-16 10:41:38 +08:00
2022-07-04 19:03:14 +08:00
@inject("ledgerStore")
2022-03-30 20:04:34 +08:00
@observer
2022-03-16 10:41:38 +08:00
export default class ValidRulesForm extends React.Component {
2022-07-04 19:03:14 +08:00
constructor(props) {
super(props);
this.state = {
modalVisible: false,
ruleVisible: false,
selectedRowKeys: [],
searchValue: ""
};
}
2022-03-30 20:04:34 +08:00
2022-07-04 19:03:14 +08:00
componentWillMount() {
const {ledgerStore: {getLedgerRuleList}} = this.props;
getLedgerRuleList();
}
2022-03-30 20:04:34 +08:00
2022-07-04 19:03:14 +08:00
handleItemDelete(record) {
const {ledgerStore: {deleteLedgerRule}} = this.props;
deleteLedgerRule([record.id]);
}
onSelectChange(selectedRowKeys) {
this.setState({selectedRowKeys});
};
handleBatchDelete() {
const {ledgerStore: {deleteLedgerRule}} = this.props;
const {selectedRowKeys} = this.state;
if (selectedRowKeys.length == 0) {
message.warning("未选择条目");
return;
2022-03-30 20:04:34 +08:00
}
2022-07-04 19:03:14 +08:00
Modal.confirm({
title: "信息确认",
content: "确认删除",
onOk: () => {
deleteLedgerRule(selectedRowKeys);
},
onCancel: () => {
2022-03-30 20:04:34 +08:00
2022-07-04 19:03:14 +08:00
}
});
}
2022-03-30 20:04:34 +08:00
2022-07-04 19:03:14 +08:00
handeSearch() {
const {ledgerStore: {getLedgerRuleList}} = this.props;
const {searchValue} = this.state;
getLedgerRuleList(searchValue);
}
2022-03-30 20:04:34 +08:00
2022-07-04 19:03:14 +08:00
render() {
const {ledgerStore} = this.props;
const {ledgerRuleList} = ledgerStore;
const {selectedRowKeys} = this.state;
let columns = ledgerRuleList.columns ? ledgerRuleList.columns.filter(item => item.dataIndex != "id") : [];
2022-03-30 20:04:34 +08:00
2022-07-04 19:03:14 +08:00
if (columns.length > 0) {
columns.push({
title: "操作",
key: "cz",
render: (text, record) => (
<a onClick={() => {
this.handleItemDelete(record);
}}>删除</a>
)
});
2022-03-30 20:04:34 +08:00
}
2022-07-04 19:03:14 +08:00
let dataSource = ledgerRuleList.list ? ledgerRuleList.list : [];
dataSource.map(item => item.key = item.id);
2022-03-30 20:04:34 +08:00
2022-07-04 19:03:14 +08:00
const rowSelection = {
selectedRowKeys,
onChange: this.onSelectChange.bind(this)
};
return (
<div className="validRulesForm">
<div className="headerBar">
<WeaInputSearch className="inputSearch" value={this.state.searchValue} onChange={(value) => {
this.setState({searchValue: value});
}}
onSearch={(value) => {
this.handeSearch(value);
}}
/>
<span className="btnsWrapper">
{
dataSource.length > 0 &&
<Icon className="iconItem" title="批量删除" type="minus-square" onClick={() => {
this.handleBatchDelete();
}}/>
}
<Icon className="iconItem" type="plus-square" title="新增" onClick={() => {
this.setState({
modalVisible: true
});
}}/>
</span>
</div>
<div className="tableWrapper">
{
ledgerRuleList.list &&
<Table rowSelection={rowSelection} dataSource={ledgerRuleList.list} columns={columns} pagination={{
total: ledgerRuleList.total,
showTotal: (total) => `${total}`,
current: ledgerRuleList.pageNum
}}/>
}
2022-03-30 20:04:34 +08:00
2022-07-04 19:03:14 +08:00
</div>
<ValidRuleEditModal
visible={this.state.modalVisible}
onCancel={() => {
this.setState({modalVisible: false});
}}
onAddValidRule={() => this.setState({ruleVisible: true})}
/>
<AddValidRuleModal
visible={this.state.ruleVisible}
onCancel={() => {
this.setState({ruleVisible: false});
}}
/>
</div>
);
2022-03-16 10:41:38 +08:00
2022-07-04 19:03:14 +08:00
}
2022-03-16 10:41:38 +08:00
}