diff --git a/pc4mobx/hrmSalary/pages/ledgerPage/components/index.less b/pc4mobx/hrmSalary/pages/ledgerPage/components/index.less
index 00a620c0..b0f3e1b0 100644
--- a/pc4mobx/hrmSalary/pages/ledgerPage/components/index.less
+++ b/pc4mobx/hrmSalary/pages/ledgerPage/components/index.less
@@ -220,7 +220,8 @@
font-size: 20px;
line-height: 20px;
}
-.icon-coms-leading-in-btn:hover, .icon-coms-leading-in-btn:active{
+
+.icon-coms-leading-in-btn:hover, .icon-coms-leading-in-btn:active {
background: transparent;
}
@@ -231,3 +232,15 @@
.icon-coms-leading-in-btn.ant-btn-primary {
color: #55a1f8;
}
+
+
+.moveModalWrapper {
+ .ant-radio-group {
+ display: flex;
+ flex-direction: column;
+
+ .ant-radio-wrapper {
+ margin: 4px 16px;
+ }
+ }
+}
diff --git a/pc4mobx/hrmSalary/pages/ledgerPage/components/ledgerMovoTo.js b/pc4mobx/hrmSalary/pages/ledgerPage/components/ledgerMovoTo.js
new file mode 100644
index 00000000..e0b20c93
--- /dev/null
+++ b/pc4mobx/hrmSalary/pages/ledgerPage/components/ledgerMovoTo.js
@@ -0,0 +1,38 @@
+/*
+ * Author: 黎永顺
+ * name: 薪资账套-薪资项目移动到的功能
+ * Description:
+ * Date: 2023/3/8
+ */
+import React, { Component } from "react";
+import { WeaDialog, WeaSearchGroup, WeaSelect } from "ecCom";
+import { Button } from "antd";
+import "./index.less";
+
+class LedgerMovoTo extends Component {
+ render() {
+ const { dataList, value, onChangeMoveVal, onSubmitMoveTo, ...extraProps } = this.props;
+ const buttons = [
+ ,
+
+ ];
+ return (
+
+
+
+
+
+ );
+ }
+}
+
+export default LedgerMovoTo;
+
diff --git a/pc4mobx/hrmSalary/pages/ledgerPage/components/ledgerSalaryItem.js b/pc4mobx/hrmSalary/pages/ledgerPage/components/ledgerSalaryItem.js
index c9329afa..b341b4ce 100644
--- a/pc4mobx/hrmSalary/pages/ledgerPage/components/ledgerSalaryItem.js
+++ b/pc4mobx/hrmSalary/pages/ledgerPage/components/ledgerSalaryItem.js
@@ -262,7 +262,7 @@ class LedgerSalaryItem extends Component {
return {
...it, items: [...it.items, ..._.map(items, child => {
const { id: itemsId, ...extraItems } = child;
- return { ...extraItems };
+ return { ...extraItems, salaryItemGroupId: it.uuid };
})]
};
}
@@ -295,6 +295,43 @@ class LedgerSalaryItem extends Component {
onSaveSalaryItem(empFields, itemGroups);
});
};
+ /*
+ * Author: 黎永顺
+ * Description:确认移动薪资项目项
+ * Params:
+ * Date: 2023/3/8
+ */
+ handleMoveSalaryItem = (moveToItemId, items) => {
+ const { itemGroups } = this.state;
+ const { salaryItemGroupId: deleteItemId, id, key } = items;
+ if (moveToItemId === deleteItemId) return;
+ this.setState({
+ itemGroups: _.map(itemGroups, it => {
+ if (moveToItemId === it.uuid) {
+ const { id: moveId, ...extraItems } = items;
+ return {
+ ...it,
+ items: [...it.items, {
+ ...extraItems,
+ key: moveId,
+ sortedIndex: !_.isEmpty(it.items) ? it.items[it.items.length - 1].sortedIndex + 1 : 0
+ }]
+ };
+ }
+ if (deleteItemId === it.uuid) {
+ return {
+ ...it,
+ items: _.filter(it.items, filterItem => (filterItem.id !== id || filterItem.key !== key))
+ };
+ }
+ return { ...it };
+ })
+ }, () => {
+ const { empFields, itemGroups } = this.state;
+ const { onSaveSalaryItem } = this.props;
+ onSaveSalaryItem(empFields, itemGroups);
+ });
+ };
/*
* Author: 黎永顺
@@ -334,6 +371,7 @@ class LedgerSalaryItem extends Component {
onChangeSelectedRowKeys={this.handleChangeSelectedRowKeys}
onAddSalaryItems={this.handleAddSalaryItems}
onSaveFormnul={this.handleSaveFormnul}
+ onMoveSalaryItem={this.handleMoveSalaryItem}
/>
);
diff --git a/pc4mobx/hrmSalary/pages/ledgerPage/components/ledgerSalaryItemNormal.js b/pc4mobx/hrmSalary/pages/ledgerPage/components/ledgerSalaryItemNormal.js
index 6873a769..d1017f60 100644
--- a/pc4mobx/hrmSalary/pages/ledgerPage/components/ledgerSalaryItemNormal.js
+++ b/pc4mobx/hrmSalary/pages/ledgerPage/components/ledgerSalaryItemNormal.js
@@ -12,6 +12,7 @@ import CategoryAddModal from "./categoryAddModal";
import LedgerSalaryItemAddModal from "./ledgerSalaryItemAddModal";
import LedgerSalaryItemTable from "./ledgerSalaryItemTable";
import FormalFormModal from "../../salaryItem/formalFormModal";
+import LedgerMovoTo from "./ledgerMovoTo";
import "./index.less";
@inject("ledgerStore")
@@ -35,7 +36,11 @@ class LedgerSalaryItemNormal extends Component {
},
//公式保存数据
formnulField: {},
- formnulId: ""
+ formnulId: "",
+ moveModalPayload: {
+ visible: false, title: "",
+ dataList: [], record: null, value: ""
+ }
};
}
@@ -139,6 +144,43 @@ class LedgerSalaryItemNormal extends Component {
formnulId: ""
});
};
+ 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 } = this.props;
+ const { moveModalPayload } = this.state;
+ const { record, value } = moveModalPayload;
+ this.handleCancelMove();
+ onMoveSalaryItem(value, record);
+ };
render() {
const {
@@ -152,7 +194,7 @@ class LedgerSalaryItemNormal extends Component {
taxAgentStore
} = this.props;
const { showOperateBtn } = taxAgentStore;
- const { categoryModal, addCategoryItemsVisible, editFormulModal } = this.state;
+ const { categoryModal, addCategoryItemsVisible, editFormulModal, moveModalPayload } = this.state;
return (
onHandleItemhide(field, data)}
onChangeSelectedRowKeys={(data) => onChangeSelectedRowKeys(field, data)}
onEditFormnul={(data) => this.handleEditFormnul(field, data)}
+ onMoveTo={this.handleMoveTo}
/>
;
})
}
+
this.setState({ selectedRowKeys }, () => {
@@ -99,10 +99,20 @@ class LedgerSalaryItemTable extends Component {
,
dataIndex: "itemHide",
key: "itemHide",
+ width: 80,
render: (text, record) => this.handleChangeItem(value, record.id)}
/>
+ },
+ {
+ title: "操作",
+ dataIndex: "operate",
+ key: "operate",
+ width: 100,
+ render: (_, record) => (
+ onMoveTo(record)}>移动到
+ )
}
];
return (