From c4502f1e1b01e8eddc9ff5398b013773b28526bd Mon Sep 17 00:00:00 2001 From: MustangDeng <670124965@qq.com> Date: Tue, 14 Jun 2022 11:17:03 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B7=A5=E8=B5=84=E5=8D=95=E6=A8=A1=E6=9D=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pages/payroll/stepForm/showSettingForm.js | 54 +++++++++++++++++-- pc4mobx/hrmSalary/stores/payroll.js | 3 ++ 2 files changed, 54 insertions(+), 3 deletions(-) diff --git a/pc4mobx/hrmSalary/pages/payroll/stepForm/showSettingForm.js b/pc4mobx/hrmSalary/pages/payroll/stepForm/showSettingForm.js index 4da037e8..10f914c5 100644 --- a/pc4mobx/hrmSalary/pages/payroll/stepForm/showSettingForm.js +++ b/pc4mobx/hrmSalary/pages/payroll/stepForm/showSettingForm.js @@ -32,6 +32,42 @@ export default class ShowSettingForm extends React.Component { setSalaryTemplateShowSet(request); } + handleDownClick(index) { + const {payrollStore: {salaryItemSet, setSalaryItemSet}} = this.props + let downItem = salaryItemSet[index + 1]; + let thisItem = salaryItemSet[index] + let resultSet = [...salaryItemSet] + resultSet[index] = downItem; + resultSet[index + 1] = thisItem; + setSalaryItemSet(resultSet) + } + + handleUpClick(index) { + const {payrollStore: {salaryItemSet, setSalaryItemSet}} = this.props + let upItem = salaryItemSet[index - 1] + let thisItem = salaryItemSet[index] + let resultSet = [...salaryItemSet] + resultSet[index] = upItem + resultSet[index - 1] = thisItem; + setSalaryItemSet(resultSet) + } + + handleDeleteItem(group, item) { + const { payrollStore : {salaryItemSet, setSalaryItemSet}} = this.props; + console.log("item:", item); + let resultSalaryItemSet = [...salaryItemSet] + resultSalaryItemSet.map(sourceGroup => { + if(sourceGroup.id == group.id) { + sourceGroup.items.map((sourceItem, index) => { + if(sourceItem.id == item.id) { + sourceGroup.items.splice(index, 1) + } + }) + } + }) + setSalaryItemSet(resultSalaryItemSet) + } + render() { const { payrollStore } = this.props; const { salaryTemplateShowSet } = payrollStore; @@ -132,12 +168,24 @@ export default class ShowSettingForm extends React.Component {
薪资项目设置
{ - salaryItemSet.map(group => ( + salaryItemSet.map((group, index) => (
-
{group.groupName}
+
{group.groupName} + { + index < salaryItemSet.length - 1 && + {this.handleDownClick(index)}} + /> + } + + { + index > 0 && {this.handleUpClick(index)}}/> + } +
{group.items.map(item => ( - {item.name} + {item.name} {this.handleDeleteItem(group, item)}}/> ))}
diff --git a/pc4mobx/hrmSalary/stores/payroll.js b/pc4mobx/hrmSalary/stores/payroll.js index ed987caf..571923ad 100644 --- a/pc4mobx/hrmSalary/stores/payroll.js +++ b/pc4mobx/hrmSalary/stores/payroll.js @@ -69,6 +69,9 @@ export class payrollStore { @action setSalaryTemplateShowSet = (salaryTemplateShowSet) => this.salaryTemplateShowSet = salaryTemplateShowSet + @action + setSalaryItemSet = (salaryItemSet) => this.salaryItemSet = salaryItemSet + // 初始化操作 @action doInit = () => {