From 9d94619c1d7bace4c36d57be0e9bfbd59e4047bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=8E=E6=B0=B8=E9=A1=BA?= <971387674@qq.com> Date: Thu, 20 Jul 2023 13:35:37 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BA=A7=E5=93=81-=E5=B7=A5=E8=B5=84=E5=8D=95?= =?UTF-8?q?=E6=A8=A1=E6=9D=BF=E6=B7=BB=E5=8A=A0=E5=8F=91=E6=94=BE=E8=96=AA?= =?UTF-8?q?=E8=B5=84=E9=A1=B9=E7=9B=AE=E5=90=8D=E7=A7=B0=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E7=9A=84=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pc4mobx/hrmSalary/pages/payroll/index.js | 2 +- .../pages/payroll/stepForm/index.less | 2 + .../payroll/stepForm/salaryItemSettings.js | 69 ++++++++++++++++++- .../pages/payroll/stepForm/showSettingForm.js | 4 +- pc4mobx/hrmSalary/stores/payroll.js | 4 ++ 5 files changed, 75 insertions(+), 6 deletions(-) diff --git a/pc4mobx/hrmSalary/pages/payroll/index.js b/pc4mobx/hrmSalary/pages/payroll/index.js index c974b699..7c22d715 100644 --- a/pc4mobx/hrmSalary/pages/payroll/index.js +++ b/pc4mobx/hrmSalary/pages/payroll/index.js @@ -316,7 +316,7 @@ export default class Payroll extends React.Component { { showOperateBtn && } { diff --git a/pc4mobx/hrmSalary/pages/payroll/stepForm/index.less b/pc4mobx/hrmSalary/pages/payroll/stepForm/index.less index f30d0063..ebcbbe4c 100644 --- a/pc4mobx/hrmSalary/pages/payroll/stepForm/index.less +++ b/pc4mobx/hrmSalary/pages/payroll/stepForm/index.less @@ -192,9 +192,11 @@ .salaryItemName { width: 100%; + min-height: 18px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; + cursor: pointer; } i.anticon-cross { diff --git a/pc4mobx/hrmSalary/pages/payroll/stepForm/salaryItemSettings.js b/pc4mobx/hrmSalary/pages/payroll/stepForm/salaryItemSettings.js index c1441f0c..ca07715c 100644 --- a/pc4mobx/hrmSalary/pages/payroll/stepForm/salaryItemSettings.js +++ b/pc4mobx/hrmSalary/pages/payroll/stepForm/salaryItemSettings.js @@ -22,7 +22,9 @@ class SalaryItemSettings extends Component { title: "", groupId: "", groupName: "", - options: [] + options: [], + salaryItemName: "", + salaryItemId: "" } }; } @@ -98,7 +100,9 @@ class SalaryItemSettings extends Component { title: "", groupId: "", groupName: "", - options: [] + options: [], + salaryItemName: "", + salaryItemId: "" } }); }; @@ -211,6 +215,57 @@ class SalaryItemSettings extends Component { }); } }; + handleEditSalaryItemName = (item, field, viewAttr, name) => { + const { salaryBillItemNameSet } = this.props; + const { groupId } = item, { salaryItemId } = field, { dataList } = this.state; + if (groupId === "111111111111111111") return; + this.setState({ + dataList: _.map(dataList, item => { + if (item.groupId === groupId) { + return { + ...item, + items: _.map(item.items, child => { + if (child.salaryItemId === salaryItemId) { + console.log(child, name); + const originName = salaryBillItemNameSet[salaryItemId] && salaryBillItemNameSet[salaryItemId].salaryItemName; + return { + ...child, + name: (name && name !== (originName || child.originName)) ? `${child.name}(${originName || child.originName})` : `${child.name}`, + viewAttr + }; + } + return { ...child, viewAttr: 1 }; + }) + }; + } + return { + ...item, + items: _.map(item.items, child => { + return { ...child, viewAttr: 1 }; + }) + }; + }) + }); + }; + handleChangeSalaryItemShowName = (item, field, name) => { + const { groupId } = item, { salaryItemId } = field, { dataList } = this.state; + this.setState({ + dataList: _.map(dataList, item => { + if (item.groupId === groupId) { + return { + ...item, + items: _.map(item.items, child => { + if (child.salaryItemId === salaryItemId) { + return { ...child, name }; + } + return { ...child }; + }) + }; + } + return { ...item }; + }) + }, () => this.props.onChangeSalaryItem(this.state.dataList)); + }; render() { const { onChangeSalaryItem } = this.props; @@ -248,7 +303,15 @@ class SalaryItemSettings extends Component { renderNodeItem={(filed) => { return
-
{filed.name}
+ { + filed.viewAttr === 2 ? + this.handleEditSalaryItemName(item, filed, 1, val)} + onChange={(val) => this.handleChangeSalaryItemShowName(item, filed, val)} + /> : +
this.handleEditSalaryItemName(item, filed, 2)}>{filed.name}
+ } this.handleDeleteSalaryItem(item, filed)}/>
; diff --git a/pc4mobx/hrmSalary/pages/payroll/stepForm/showSettingForm.js b/pc4mobx/hrmSalary/pages/payroll/stepForm/showSettingForm.js index 3b27a87b..9b18e299 100644 --- a/pc4mobx/hrmSalary/pages/payroll/stepForm/showSettingForm.js +++ b/pc4mobx/hrmSalary/pages/payroll/stepForm/showSettingForm.js @@ -45,7 +45,7 @@ export default class ShowSettingForm extends React.Component { const { payrollStore, id } = this.props; const salaryTemplateShowSetStorage = (id ? "{}" : window.localStorage.getItem("salary-showset") || "{}"); const { salaryTemplateShowSet } = payrollStore; - const { salaryItemSet, templateBaseData } = payrollStore; + const { salaryItemSet, templateBaseData, salaryBillItemNameSet } = payrollStore; const { theme, background, @@ -142,7 +142,7 @@ export default class ShowSettingForm extends React.Component { dataSource={salaryItemSet} onChangeSalaryItem={this.handleChangeSalaryItem} salarySobId={toJS(templateBaseData).salarySob} - isReplenish={false} + isReplenish={false} salaryBillItemNameSet={salaryBillItemNameSet} /> diff --git a/pc4mobx/hrmSalary/stores/payroll.js b/pc4mobx/hrmSalary/stores/payroll.js index e42cdba0..09d23eef 100644 --- a/pc4mobx/hrmSalary/stores/payroll.js +++ b/pc4mobx/hrmSalary/stores/payroll.js @@ -26,6 +26,7 @@ export class payrollStore { @observable salaryTemplateShowSet = {}; // 显示设置基础表单 @observable replenishSalaryTemplateSalaryItemSet = []; // 补发工资单模版基础表单 @observable salaryItemSet = []; // 显示设置薪资项 + @observable salaryBillItemNameSet = {}; // 工资单模板薪资项目名称修改列表 // **** 工资单页面 **** @observable salarySendTableStore = new TableStore(); // 工资单列表 @@ -214,6 +215,7 @@ export class payrollStore { if (res.status) { if (id !== "") { this.salaryItemSet = res.data.salaryTemplateSalaryItemSet; + this.salaryBillItemNameSet = res.data.salaryBillItemNameSet; this.replenishSalaryTemplateSalaryItemSet = res.data.salaryTemplateSalaryItemSet; } this.salaryTemplateShowSet = { ...res.data.salaryTemplateShowSet.data, ...JSON.parse(salaryTemplateShowSetStorage) }; @@ -289,6 +291,8 @@ export class payrollStore { return new Promise((resolve, reject) => { let params = this.convertParams(); params.id = id; + console.log(params); + return API.updatePayroll(params).then(res => { if (res.status) { message.success("保存成功");