/* * Author: 黎永顺 * name: 薪资项目-正常薪资所得 * Description: * Date: 2022/12/13 */ import React, { Component } from "react"; import { inject, observer } from "mobx-react"; import { WeaButtonIcon, WeaSearchGroup } from "ecCom"; import { Button, Modal } from "antd"; import CategoryAddModal from "./categoryAddModal"; import LedgerSalaryItemAddModal from "./ledgerSalaryItemAddModal"; import LedgerSalaryItemTable from "./ledgerSalaryItemTable"; import "./index.less"; import FormalFormModal from "../../salaryItem/formalFormModal"; @inject("ledgerStore") @observer class LedgerSalaryItemNormal extends Component { constructor(props) { super(props); this.state = { addCategoryItemsVisible: false, categoryModal: { visible: false, title: "新增分类", name: "", id: "" }, editFormulModal: { visible: false, formulaId: "", valueType: "", dataType: "" }, //公式保存数据 formnulField: {}, formnulId: "" }; } componentWillUnmount() { this.handleResetFormnul(); } handleEditFormnul = (field, record) => { const { valueType, formulaId, dateType: dataType, id } = record; const { editFormulModal } = this.state; this.setState({ editFormulModal: { ...editFormulModal, visible: true, valueType, formulaId, dataType }, formnulField: field, formnulId: id }); }; handleSaveFormnul = (data) => { const { onSaveFormnul } = this.props; const { formnulField, formnulId } = this.state; const tmpV = _.cloneDeep(formnulField.items); const formnulData = _.map(tmpV, it => { if (it.id === formnulId) { return { ...it, formulaId: data.id, formulaContent: data.formula }; } return { ...it }; }); onSaveFormnul(formnulField.id, formnulData); }; 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()); }; handleCloseFormnul = () => { const { editFormulModal } = this.state; this.setState({ editFormulModal: { ...editFormulModal, visible: false, formulaId: "", valueType: "", dataType: "" } }); }; handleResetFormnul = () => { this.setState({ formnulField: {}, formnulId: "" }); }; render() { const { dataSource, onSaveCategory, onDropCategoryItem, onHandleItemhide, onChangeSelectedRowKeys, onAddSalaryItems } = this.props; const { categoryModal, addCategoryItemsVisible, editFormulModal } = this.state; return ( }>
{ _.map(dataSource, field => { const { items } = field; return this.setState({ addCategoryItemsVisible: { visible: true, id } })} onUpgo={this.handleUpgo} onDowngo={this.handleDowngo} /> } > onDropCategoryItem(field, data)} onHandleItemhide={(data) => onHandleItemhide(field, data)} onChangeSelectedRowKeys={(data) => onChangeSelectedRowKeys(field, data)} onEditFormnul={(data) => this.handleEditFormnul(field, data)} /> ; }) } this.setState({ addCategoryItemsVisible: { visible: false, id: "" } })} onAddSalaryItems={onAddSalaryItems} /> {/*公式编辑*/} { editFormulModal.visible && }
); } } export default LedgerSalaryItemNormal; const TitleNormalComp = (props) => { const { name, onEditCategory, onDeleteCategory, sortedIndex, dataSourceLen, id, onUpgo, onDowngo, selectedRowKeys = [], onDeleteCategoryItems, onAddCategoryItems } = props; return
{name} { name !== "未分类" && onEditCategory(name, id)}/> } { name !== "未分类" && onDeleteCategory(id)}/> } { sortedIndex !== 0 && onUpgo(sortedIndex)}/> } { sortedIndex !== dataSourceLen - 1 && onDowngo(sortedIndex)}/> }
onDeleteCategoryItems(id, selectedRowKeys)}/> onAddCategoryItems(id)}/>
; }; const TitleComp = (props) => { const { onAddCategory } = props; return
正常工资薪金所得
; };