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) => {