From 029876f694c779a5fe430bb8e0df59b26ae2f9a5 Mon Sep 17 00:00:00 2001
From: MustangDeng <670124965@qq.com>
Date: Tue, 14 Jun 2022 10:16:04 +0800
Subject: [PATCH] =?UTF-8?q?=E8=B4=A6=E5=A5=97=E5=88=97=E8=A1=A8?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../hrmSalary/pages/ledger/salaryItemForm.js | 24 ++++++++++++++++---
.../pages/ledger/step3/AddSalaryItemModal.js | 2 ++
.../pages/ledger/step3/canMoveItem.js | 11 ++++-----
pc4mobx/hrmSalary/stores/ledger.js | 15 +++++++++---
4 files changed, 39 insertions(+), 13 deletions(-)
diff --git a/pc4mobx/hrmSalary/pages/ledger/salaryItemForm.js b/pc4mobx/hrmSalary/pages/ledger/salaryItemForm.js
index 1514cbf8..49e698e8 100644
--- a/pc4mobx/hrmSalary/pages/ledger/salaryItemForm.js
+++ b/pc4mobx/hrmSalary/pages/ledger/salaryItemForm.js
@@ -82,10 +82,27 @@ export default class SalaryItemForm extends React.Component {
setItemGroups(newItemGroups)
}
+ // 修改列表数据顺序
+ handleItemDataSourceChange(dataSource, item) {
+ const { ledgerStore: {itemGroups, setItemGroups} } = this.props;
+ dataSource.map((data, index) => {
+ data.sortedIndex = index
+ })
+ itemGroups = itemGroups ? [...itemGroups] : []
+ itemGroups.map(groupItem => {
+ if(groupItem.id == item.id) {
+ groupItem.items = dataSource
+ }
+ })
+ setItemGroups(itemGroups)
+ }
+
render() {
const {ledgerStore: {itemGroups, salaryItems, empBrowserList, setAddCategoryVisible, addCategoryVisible, baseInfoRequest}} = this.props;
const { canEdit="true" } = baseInfoRequest;
const { previewVisible } = this.state;
+
+
return (
@@ -119,10 +136,11 @@ export default class SalaryItemForm extends React.Component {
{
itemGroups && itemGroups.map(item => {
if(item.items) {
- item.items && item.items.map(i => {i.key = i.id})
return (
-
{this.handleItemDataSourceChange(dataSource, item)}} title={item.name} onGroupDelete={() => {this.handleGroupDelete(item)}} onTitleChange={(value) => {this.handleItemTitleChange(item, value)}} onChange={(dataSource) => {this.handleCanMoveItemChange(dataSource, item)}}/>
- )
+ {this.handleItemDataSourceChange(dataSource, item)}}
+ title={item.name} onGroupDelete={() => {this.handleGroupDelete(item)}} onTitleChange={(value) => {this.handleItemTitleChange(item, value)}} onChange={(dataSource) => {this.handleCanMoveItemChange(dataSource, item)}}/>
+ )
}
return ""
}
diff --git a/pc4mobx/hrmSalary/pages/ledger/step3/AddSalaryItemModal.js b/pc4mobx/hrmSalary/pages/ledger/step3/AddSalaryItemModal.js
index adc764a6..6fb24a9d 100644
--- a/pc4mobx/hrmSalary/pages/ledger/step3/AddSalaryItemModal.js
+++ b/pc4mobx/hrmSalary/pages/ledger/step3/AddSalaryItemModal.js
@@ -56,9 +56,11 @@ export default class AddSalaryItemModal extends React.Component {
let selectItems = []
addSalaryItemDataSource.map(item => {
+ item = {...item}
selectedRowKeys.map(key => {
if(item.id == key) {
item.salaryItemId = item.id
+ item.key = item.id
selectItems.push(item)
}
})
diff --git a/pc4mobx/hrmSalary/pages/ledger/step3/canMoveItem.js b/pc4mobx/hrmSalary/pages/ledger/step3/canMoveItem.js
index 792b7b70..39a45e56 100644
--- a/pc4mobx/hrmSalary/pages/ledger/step3/canMoveItem.js
+++ b/pc4mobx/hrmSalary/pages/ledger/step3/canMoveItem.js
@@ -127,11 +127,6 @@ export default class CanMoveItem extends React.Component {
});
}
- handleTableDrop = (datas) => {
- // TODO
- console.log("datas:", datas);
- }
-
render() {
const {disabled, ledgerStore: {setAddItemVisible, addItemVisible}} = this.props;
const { selectedRowKeys, formalModalVisible, addCategoryVisible } = this.state;
@@ -181,8 +176,10 @@ export default class CanMoveItem extends React.Component {
moveRow: record,
})}
pagination={false}
- onDrop={(datas) => this.handleTableDrop(datas)}
- draggable={true}/>
+ onDrop={(datas) => this.props.onDataSourceChange(datas)}
+ draggable={true}
+
+ />
}
{
this.state.addItemVisible && (this.itemGroups = itemGroups);
+ setItemGroups = (itemGroups) => {
+ itemGroups = itemGroups ? [...itemGroups] : []
+ itemGroups && itemGroups.map(item => {
+ if(item.items) {
+ item.items && item.items.map(i => {i.key = i.id})
+ }
+ })
+ this.itemGroups = itemGroups
+ };
@action
addItemGroup = (name) => {
@@ -687,13 +695,14 @@ export class LedgerStore {
API.getLedgerItemForm({ salarySobId: this.salarySobId }).then((res) => {
if (res.status) {
this.empFields = res.data.empFields;
- this.itemGroups = res.data.itemGroups;
+ let itemGroups = res.data.itemGroups;
let defaultItems = {
id: "default",
name: "未分类",
items: res.data.items,
};
- this.itemGroups.unshift(defaultItems);
+ itemGroups.unshift(defaultItems);
+ this.setItemGroups(itemGroups)
API.empFieldList().then((ires) => {
if (res.status) {
this.empBrowserList = ires.data.map((item) => {