@@ -301,16 +302,29 @@ class SalaryItemSettings extends Component {
})
)}
renderNodeItem={(filed) => {
+ const salaryBillItemNameObj = salaryBillItemNameSet[filed.id] || {};
return
-
+
{
filed.viewAttr === 2 ?
this.handleEditSalaryItemName(item, filed, 1, val)}
+ onBlur={() => this.handleEditSalaryItemName(item, filed, 1)}
onChange={(val) => this.handleChangeSalaryItemShowName(item, filed, val)}
/> :
this.handleEditSalaryItemName(item, filed, 2)}>{filed.name}
+ onClick={() => this.handleEditSalaryItemName(item, filed, 2)}>
+ {
+ (item.groupId !== "111111111111111111" && (!_.isEmpty(salaryBillItemNameObj) || (filed.name !== filed.originName))) ?
+ `${salaryBillItemNameObj.salaryItemShowName || filed.name}(${filed.originName})` :
+ 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 9b18e299..7cfd9404 100644
--- a/pc4mobx/hrmSalary/pages/payroll/stepForm/showSettingForm.js
+++ b/pc4mobx/hrmSalary/pages/payroll/stepForm/showSettingForm.js
@@ -40,6 +40,15 @@ export default class ShowSettingForm extends React.Component {
const { payrollStore: { setSalaryItemSet } } = this.props;
setSalaryItemSet(resultSet);
};
+ handleChangeSalaryItemShowNamesetting = (itemShowNamesetting) => {
+ const { payrollStore: { setSalaryBillItemNameSetting, salaryBillItemNameSetting } } = this.props;
+ setSalaryBillItemNameSetting(_.map(salaryBillItemNameSetting, it => {
+ if (it.salaryBillType === 0) {
+ return { ...it, salaryTemplateId: this.props.id, itemShowNameSetting: itemShowNamesetting };
+ }
+ return { ...it, salaryTemplateId: this.props.id };
+ }));
+ };
render() {
const { payrollStore, id } = this.props;
@@ -141,6 +150,7 @@ export default class ShowSettingForm extends React.Component {
ref={dom => this.salaryItemSettingsRef = dom}
dataSource={salaryItemSet}
onChangeSalaryItem={this.handleChangeSalaryItem}
+ onChangeSalaryItemShowNamesetting={this.handleChangeSalaryItemShowNamesetting}
salarySobId={toJS(templateBaseData).salarySob}
isReplenish={false} salaryBillItemNameSet={salaryBillItemNameSet}
/>
diff --git a/pc4mobx/hrmSalary/pages/payroll/stepForm/tmplateSettingForm.js b/pc4mobx/hrmSalary/pages/payroll/stepForm/tmplateSettingForm.js
index ad0fabfe..ce64f1e4 100644
--- a/pc4mobx/hrmSalary/pages/payroll/stepForm/tmplateSettingForm.js
+++ b/pc4mobx/hrmSalary/pages/payroll/stepForm/tmplateSettingForm.js
@@ -14,9 +14,19 @@ export default class TemplateSettingForm extends React.Component {
setReplenishSalaryTemplateSalaryItemSet(resultSet);
};
+ handleChangeSalaryItemShowNamesetting = (itemShowNamesetting) => {
+ const { payrollStore: { setSalaryBillItemNameSetting, salaryBillItemNameSetting } } = this.props;
+ setSalaryBillItemNameSetting(_.map(salaryBillItemNameSetting, it => {
+ if (it.salaryBillType === 1) {
+ return { ...it, salaryTemplateId: this.props.id, itemShowNameSetting: itemShowNamesetting };
+ }
+ return { ...it, salaryTemplateId: this.props.id };
+ }));
+ };
+
render() {
const { payrollStore } = this.props;
- const { replenishSalaryTemplateSalaryItemSet, templateBaseData } = payrollStore;
+ const { replenishSalaryTemplateSalaryItemSet, templateBaseData, salaryBillItemNameSet } = payrollStore;
return (
this.salaryItemSettingsRef = dom}
dataSource={replenishSalaryTemplateSalaryItemSet}
onChangeSalaryItem={this.handleChangeSalaryItem}
+ onChangeSalaryItemShowNamesetting={this.handleChangeSalaryItemShowNamesetting}
salarySobId={toJS(templateBaseData).salarySob}
- isReplenish={true}
+ isReplenish={true} salaryBillItemNameSet={salaryBillItemNameSet}
/>
diff --git a/pc4mobx/hrmSalary/stores/payroll.js b/pc4mobx/hrmSalary/stores/payroll.js
index 09d23eef..4411b5fb 100644
--- a/pc4mobx/hrmSalary/stores/payroll.js
+++ b/pc4mobx/hrmSalary/stores/payroll.js
@@ -26,6 +26,18 @@ export class payrollStore {
@observable salaryTemplateShowSet = {}; // 显示设置基础表单
@observable replenishSalaryTemplateSalaryItemSet = []; // 补发工资单模版基础表单
@observable salaryItemSet = []; // 显示设置薪资项
+ @observable salaryBillItemNameSetting = [
+ {
+ salaryTemplateId: "",
+ salaryBillType: 0,
+ itemShowNameSetting: []
+ },
+ {
+ salaryTemplateId: "",
+ salaryBillType: 1,
+ itemShowNameSetting: []
+ }
+ ]; // 工资单模板薪资项目名称修改列表
@observable salaryBillItemNameSet = {}; // 工资单模板薪资项目名称修改列表
// **** 工资单页面 ****
@@ -88,6 +100,10 @@ export class payrollStore {
@action
setSalaryItemSet = salaryItemSet => (this.salaryItemSet = salaryItemSet);
+ @action
+ setSalaryBillItemNameSet = salaryBillItemNameSet => (this.salaryBillItemNameSet = salaryBillItemNameSet);
+ @action
+ setSalaryBillItemNameSetting = salaryBillItemNameSetting => (this.salaryBillItemNameSetting = salaryBillItemNameSetting);
@action("工资单模板分页信息修改")
setTemplateTablePageInfo = (pageInfo, callback) => {
@@ -264,6 +280,7 @@ export class payrollStore {
: false;
params.salaryItemSetting = toJS(this.salaryItemSet);
params.replenishSalaryItemSetting = toJS(this.replenishSalaryTemplateSalaryItemSet);
+ params.salaryBillItemNameSetting = toJS(this.salaryBillItemNameSetting);
return params;
};
@@ -291,8 +308,6 @@ 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("保存成功");
From 8e399f979a1a677d6bc43335393d47e28d12e576 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 18:26:34 +0800
Subject: [PATCH 3/4] =?UTF-8?q?=E4=BA=A7=E5=93=81-=E5=B7=A5=E8=B5=84?=
=?UTF-8?q?=E5=8D=95=E6=A8=A1=E6=9D=BF=E6=B7=BB=E5=8A=A0=E5=8F=91=E6=94=BE?=
=?UTF-8?q?=E8=96=AA=E8=B5=84=E9=A1=B9=E7=9B=AE=E5=90=8D=E7=A7=B0=E4=BF=AE?=
=?UTF-8?q?=E6=94=B9=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 | 27 +++++++++++++++---
.../payroll/stepForm/salaryItemSettings.js | 28 +++++++++++--------
pc4mobx/hrmSalary/stores/payroll.js | 3 ++
3 files changed, 43 insertions(+), 15 deletions(-)
diff --git a/pc4mobx/hrmSalary/pages/payroll/index.js b/pc4mobx/hrmSalary/pages/payroll/index.js
index f5ae1050..9054c866 100644
--- a/pc4mobx/hrmSalary/pages/payroll/index.js
+++ b/pc4mobx/hrmSalary/pages/payroll/index.js
@@ -64,7 +64,12 @@ export default class Payroll extends React.Component {
getReplenishForm = (isEdit = false, params = {}) => {
const { payrollStore } = this.props;
- const { templateBaseData, salaryTemplateShowSet, setReplenishSalaryTemplateSalaryItemSet, setSalaryBillItemNameSet } = payrollStore;
+ const {
+ templateBaseData,
+ salaryTemplateShowSet,
+ setReplenishSalaryTemplateSalaryItemSet,
+ setSalaryBillItemNameSet
+ } = payrollStore;
if (!salaryTemplateShowSet.theme && !isEdit) {
Modal.warning({
title: "信息确认",
@@ -77,12 +82,12 @@ export default class Payroll extends React.Component {
if (!isEdit) {
this.setState({ currentStep: this.state.currentStep + 1 }, () => {
setReplenishSalaryTemplateSalaryItemSet(data.replenishSalaryTemplateSalaryItemSet);
- setSalaryBillItemNameSet(data.salaryBillItemNameSet)
+ setSalaryBillItemNameSet(data.salaryBillItemNameSet);
window.localStorage.setItem("salary-showset", JSON.stringify(salaryTemplateShowSet));
});
} else {
setReplenishSalaryTemplateSalaryItemSet(data.replenishSalaryTemplateSalaryItemSet);
- setSalaryBillItemNameSet(data.salaryBillItemNameSet)
+ setSalaryBillItemNameSet(data.salaryBillItemNameSet);
window.localStorage.setItem("salary-showset", JSON.stringify(salaryTemplateShowSet));
}
}
@@ -263,7 +268,9 @@ export default class Payroll extends React.Component {
setTemplateTableSelectedRowKeys,
deletePayroll,
templateBaseData,
- setTemplateTablePageInfo
+ setTemplateTablePageInfo,
+ setSalaryBillItemNameSetting,
+ salaryBillItemNameSetting
} = payrollStore;
const { currentStep, selectedTab, templateSearchValue, templateSelect, startDate, endDate } = this.state;
if (!hasRight && !loading) { // 无权限处理
@@ -467,10 +474,16 @@ export default class Payroll extends React.Component {
customOperate={
currentStep === 0 ? [
] : currentStep === 1 ? [
,
,
@@ -479,6 +492,9 @@ export default class Payroll extends React.Component {
}}>预览
] : currentStep === 2 ? [
,
@@ -541,6 +557,9 @@ export default class Payroll extends React.Component {
}
subItemChange={(selectedTab) => {
this.setState({ selectedTab: Number(selectedTab) }, () => {
+ setSalaryBillItemNameSetting(_.map(salaryBillItemNameSetting, it => {
+ return { ...it, salaryTemplateId: "", itemShowNameSetting: [] };
+ }));
if (this.state.selectedTab === 2) this.getReplenishForm(true, { id: this.state.templateCurrentId });
});
}}
diff --git a/pc4mobx/hrmSalary/pages/payroll/stepForm/salaryItemSettings.js b/pc4mobx/hrmSalary/pages/payroll/stepForm/salaryItemSettings.js
index 720241b6..1b70707f 100644
--- a/pc4mobx/hrmSalary/pages/payroll/stepForm/salaryItemSettings.js
+++ b/pc4mobx/hrmSalary/pages/payroll/stepForm/salaryItemSettings.js
@@ -242,7 +242,7 @@ class SalaryItemSettings extends Component {
})
};
})
- });
+ }, () => document.getElementById("salaryItemInput") && document.getElementById("salaryItemInput").focus());
};
handleChangeSalaryItemShowName = (item, field, name) => {
const { groupId } = item, { salaryItemId } = field, { dataList, itemShowNamesetting } = this.state;
@@ -253,7 +253,7 @@ class SalaryItemSettings extends Component {
...item,
items: _.map(item.items, child => {
if (child.salaryItemId === salaryItemId) {
- return { ...child, name };
+ return { ...child, salaryItemShowName: name, name };
}
return { ...child };
})
@@ -306,23 +306,29 @@ class SalaryItemSettings extends Component {
return
{
filed.viewAttr === 2 ?
-
this.handleEditSalaryItemName(item, filed, 1)}
- onChange={(val) => this.handleChangeSalaryItemShowName(item, filed, val)}
+ this.handleEditSalaryItemName(item, filed, 1)}
+ onChange={(val) => this.handleChangeSalaryItemShowName(item, filed, val)}
/> :
this.handleEditSalaryItemName(item, filed, 2)}>
{
- (item.groupId !== "111111111111111111" && (!_.isEmpty(salaryBillItemNameObj) || (filed.name !== filed.originName))) ?
- `${salaryBillItemNameObj.salaryItemShowName || filed.name}(${filed.originName})` :
- filed.name
+ (item.groupId !== "111111111111111111" && (!_.isEmpty(salaryBillItemNameObj) || (filed.salaryItemShowName !== filed.originName))) ?
+ `${filed.salaryItemShowName}(${filed.originName})` :
+ filed.salaryItemShowName
}
}
diff --git a/pc4mobx/hrmSalary/stores/payroll.js b/pc4mobx/hrmSalary/stores/payroll.js
index 4411b5fb..6c2e7d34 100644
--- a/pc4mobx/hrmSalary/stores/payroll.js
+++ b/pc4mobx/hrmSalary/stores/payroll.js
@@ -293,6 +293,9 @@ export class payrollStore {
if (res.status) {
message.success("保存成功");
this.getPayrollTemplateList();
+ this.setSalaryBillItemNameSetting(_.map(this.salaryBillItemNameSetting, it => {
+ return { ...it, salaryTemplateId: "", itemShowNameSetting: [] };
+ }));
resolve();
} else {
message.error(res.errormsg || "保存失败");
From 3091232181dee5b3c6b1c400b55b50bd5c4fca6b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E9=BB=8E=E6=B0=B8=E9=A1=BA?= <971387674@qq.com>
Date: Fri, 21 Jul 2023 10:15:48 +0800
Subject: [PATCH 4/4] =?UTF-8?q?=E4=BA=A7=E5=93=81-=E5=B7=A5=E8=B5=84?=
=?UTF-8?q?=E5=8D=95=E6=A8=A1=E6=9D=BF=E6=B7=BB=E5=8A=A0=E5=8F=91=E6=94=BE?=
=?UTF-8?q?=E8=96=AA=E8=B5=84=E9=A1=B9=E7=9B=AE=E5=90=8D=E7=A7=B0=E4=BF=AE?=
=?UTF-8?q?=E6=94=B9=E7=9A=84=E5=8A=9F=E8=83=BD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../pages/payroll/stepForm/salaryItemSettings.js | 11 +++++++----
.../payroll/templatePreview/computerTemplate/index.js | 7 ++++---
.../payroll/templatePreview/phoneTemplate/index.js | 3 ++-
3 files changed, 13 insertions(+), 8 deletions(-)
diff --git a/pc4mobx/hrmSalary/pages/payroll/stepForm/salaryItemSettings.js b/pc4mobx/hrmSalary/pages/payroll/stepForm/salaryItemSettings.js
index 1b70707f..0e5803e5 100644
--- a/pc4mobx/hrmSalary/pages/payroll/stepForm/salaryItemSettings.js
+++ b/pc4mobx/hrmSalary/pages/payroll/stepForm/salaryItemSettings.js
@@ -245,7 +245,7 @@ class SalaryItemSettings extends Component {
}, () => document.getElementById("salaryItemInput") && document.getElementById("salaryItemInput").focus());
};
handleChangeSalaryItemShowName = (item, field, name) => {
- const { groupId } = item, { salaryItemId } = field, { dataList, itemShowNamesetting } = this.state;
+ const { groupId } = item, { salaryItemId, originName } = field, { dataList, itemShowNamesetting } = this.state;
this.setState({
dataList: _.map(dataList, item => {
if (item.groupId === groupId) {
@@ -261,7 +261,10 @@ class SalaryItemSettings extends Component {
}
return { ...item };
}),
- itemShowNamesetting: _.unionBy([{ salaryItemId, salaryItemShowName: name }], itemShowNamesetting, "salaryItemId")
+ itemShowNamesetting: _.unionBy([{
+ salaryItemId,
+ salaryItemShowName: originName === name ? "" : name
+ }], itemShowNamesetting, "salaryItemId")
}, () => {
this.props.onChangeSalaryItem(this.state.dataList);
this.props.onChangeSalaryItemShowNamesetting(this.state.itemShowNamesetting);
@@ -308,7 +311,7 @@ class SalaryItemSettings extends Component {
title={
(item.groupId !== "111111111111111111" && (!_.isEmpty(salaryBillItemNameObj) || (filed.salaryItemShowName !== filed.originName))) ?
`${filed.salaryItemShowName}(${filed.originName})` :
- filed.salaryItemShowName
+ filed.name
}
>
{
@@ -328,7 +331,7 @@ class SalaryItemSettings extends Component {
{
(item.groupId !== "111111111111111111" && (!_.isEmpty(salaryBillItemNameObj) || (filed.salaryItemShowName !== filed.originName))) ?
`${filed.salaryItemShowName}(${filed.originName})` :
- filed.salaryItemShowName
+ filed.name
}
}
diff --git a/pc4mobx/hrmSalary/pages/payroll/templatePreview/computerTemplate/index.js b/pc4mobx/hrmSalary/pages/payroll/templatePreview/computerTemplate/index.js
index 6f2e68c2..50e76732 100644
--- a/pc4mobx/hrmSalary/pages/payroll/templatePreview/computerTemplate/index.js
+++ b/pc4mobx/hrmSalary/pages/payroll/templatePreview/computerTemplate/index.js
@@ -49,7 +49,7 @@ export default class ComputerTemplate extends React.Component {
}
- renderTableTr = (data) => {
+ renderTableTr = (data, groupId) => {
const tables = [];
const len = data.length;
const rowNum = 3;
@@ -61,8 +61,9 @@ export default class ComputerTemplate extends React.Component {
iLen = iLen > len ? len : iLen;
tables.push("
");
for (let i = j * rowNum; i < iLen; i++) {
+ const key = (!this.props.isPreview && groupId !== "111111111111111111") ? data[i].salaryItemShowName : data[i].name;
const value = data[i].salaryItemValue || "-";
- tables.push("| " + data[i].name + " | " + "" + value + " | ");
+ tables.push("" + key + " | " + "" + value + " | ");
}
tables.push("
");
}
@@ -98,7 +99,7 @@ export default class ComputerTemplate extends React.Component {
{group.groupName}
+ dangerouslySetInnerHTML={{ __html: this.renderTableTr(group.items, group.groupId).join(",").replace(/,/g, "") }}/>
;
})
diff --git a/pc4mobx/hrmSalary/pages/payroll/templatePreview/phoneTemplate/index.js b/pc4mobx/hrmSalary/pages/payroll/templatePreview/phoneTemplate/index.js
index 0f85d51d..50670de2 100644
--- a/pc4mobx/hrmSalary/pages/payroll/templatePreview/phoneTemplate/index.js
+++ b/pc4mobx/hrmSalary/pages/payroll/templatePreview/phoneTemplate/index.js
@@ -83,7 +83,8 @@ export default class PhoneTemplate extends React.Component {
{
_.map(group.items, item => {
return
- | {item.name} |
+ {(!this.props.isPreview && group.groupId !== "111111111111111111") ? item.salaryItemShowName : item.name} |
{item.salaryItemValue || "-"} |
;
})