/*
* Author: 黎永顺
* name: 薪资项目-正常薪资所得
* Description:
* Date: 2022/12/13
*/
import React, { Component } from "react";
import { inject, observer } from "mobx-react";
import { WeaButtonIcon, WeaInputSearch, WeaLocaleProvider, WeaSearchGroup } from "ecCom";
import { Button, Modal } from "antd";
import CategoryAddModal from "./categoryAddModal";
import LedgerSalaryItemAddModal from "./ledgerSalaryItemAddModal";
import LedgerSalaryItemTable from "./ledgerSalaryItemTable";
import LedgerMovoTo from "./ledgerMovoTo";
import "./index.less";
const getLabel = WeaLocaleProvider.getLabel;
@inject("ledgerStore")
@observer
class LedgerSalaryItemNormal extends Component {
constructor(props) {
super(props);
this.state = {
addCategoryItemsVisible: false,
categoryModal: {
visible: false,
title: "新增分类",
name: "",
id: ""
},
moveModalPayload: {
visible: false, title: "",
dataList: [], record: null, value: ""
},
salaryItemKeywords: ""
};
}
handleAddCategory = (name = "", id = "") => {
const { categoryModal } = this.state;
this.setState({
categoryModal: {
...categoryModal,
visible: true,
name,
title: name ? "编辑分类" : "新增分类",
id
}
});
};
handleDeleteCategory = (id) => {
const { onDeleteCategroy } = this.props;
Modal.confirm({
title: "信息确认",
content: "确认要删除吗?",
onOk: () => {
onDeleteCategroy(id);
}
});
};
handleDeleteCategoryItems = (id, selectedRowKeys) => {
const { onDeleteCategroyItems } = this.props;
Modal.confirm({
title: "信息确认",
content: "确认删除所选薪资项目吗?删除后此项目下的进位规则/保留小数位/公式内容会一起被清除!",
onOk: () => {
onDeleteCategroyItems(id, selectedRowKeys);
}
});
};
handleUpgo = (sortedIndex) => {
const { onUpgo } = this.props;
onUpgo(sortedIndex);
};
handleDowngo = (sortedIndex) => {
const { onDowngo } = this.props;
onDowngo(sortedIndex);
};
handleClose = () => {
const { ledgerStore } = this.props;
const { categoryForm: form } = ledgerStore;
const { categoryModal } = this.state;
this.setState({
categoryModal: {
...categoryModal,
visible: false,
title: "新增分类",
name: "",
id: ""
}
}, () => form.resetForm());
};
handleCancelMove = () => {
this.setState({
moveModalPayload: {
visible: false, title: "",
dataList: [], value: "",
record: null
}
});
};
handleChangeMoveVal = (value) => {
const { moveModalPayload } = this.state;
this.setState({
moveModalPayload: {
...moveModalPayload, value
}
});
};
handleMoveTo = (record) => {
const { salaryItemGroupId } = record;
const { dataSource } = this.props;
this.setState({
moveModalPayload: {
visible: true,
title: "移动到",
value: salaryItemGroupId !== "0" ? salaryItemGroupId : (_.find(dataSource, it => it.name === "未分类").id || _.find(dataSource, it => it.name === "未分类").uuid),
record,
dataList: _.map(dataSource, item => ({ key: item.id || item.uuid, showname: item.name }))
}
});
};
handleSubmitMoveTo = () => {
const { onMoveSalaryItem, dataSource } = this.props;
const { moveModalPayload } = this.state;
const { record, value } = moveModalPayload;
this.handleCancelMove();
onMoveSalaryItem(value, record, _.find(dataSource, it => (it.id === value || it.uuid === value)).name);
};
render() {
const {
editId,
saveSalarySobId,
dataSource,
onSaveCategory,
onDropCategoryItem,
onHandleItemhide,
onChangeSelectedRowKeys,
onAddSalaryItems,
incomeCategoriesTitleName,
taxAgentStore
} = this.props;
const { showOperateBtn } = taxAgentStore;
const { categoryModal, addCategoryItemsVisible, moveModalPayload, salaryItemKeywords } = this.state;
const newDateSource = _.map(dataSource, item => {
return {
...item,
items: _.filter(item.items || [], child => (child.name.indexOf(salaryItemKeywords) !== -1 || child.formulaContent.indexOf(salaryItemKeywords) !== -1))
};
});
return (