diff --git a/pc4mobx/hrmSalary/pages/payroll/index.js b/pc4mobx/hrmSalary/pages/payroll/index.js index 7c22d715..f5ae1050 100644 --- a/pc4mobx/hrmSalary/pages/payroll/index.js +++ b/pc4mobx/hrmSalary/pages/payroll/index.js @@ -64,7 +64,7 @@ export default class Payroll extends React.Component { getReplenishForm = (isEdit = false, params = {}) => { const { payrollStore } = this.props; - const { templateBaseData, salaryTemplateShowSet, setReplenishSalaryTemplateSalaryItemSet } = payrollStore; + const { templateBaseData, salaryTemplateShowSet, setReplenishSalaryTemplateSalaryItemSet, setSalaryBillItemNameSet } = payrollStore; if (!salaryTemplateShowSet.theme && !isEdit) { Modal.warning({ title: "信息确认", @@ -77,10 +77,12 @@ export default class Payroll extends React.Component { if (!isEdit) { this.setState({ currentStep: this.state.currentStep + 1 }, () => { setReplenishSalaryTemplateSalaryItemSet(data.replenishSalaryTemplateSalaryItemSet); + setSalaryBillItemNameSet(data.salaryBillItemNameSet) window.localStorage.setItem("salary-showset", JSON.stringify(salaryTemplateShowSet)); }); } else { setReplenishSalaryTemplateSalaryItemSet(data.replenishSalaryTemplateSalaryItemSet); + setSalaryBillItemNameSet(data.salaryBillItemNameSet) window.localStorage.setItem("salary-showset", JSON.stringify(salaryTemplateShowSet)); } } diff --git a/pc4mobx/hrmSalary/pages/payroll/stepForm/salaryItemSettings.js b/pc4mobx/hrmSalary/pages/payroll/stepForm/salaryItemSettings.js index ca07715c..720241b6 100644 --- a/pc4mobx/hrmSalary/pages/payroll/stepForm/salaryItemSettings.js +++ b/pc4mobx/hrmSalary/pages/payroll/stepForm/salaryItemSettings.js @@ -16,6 +16,7 @@ class SalaryItemSettings extends Component { super(props); this.state = { dataList: [], + itemShowNamesetting: [], //名称修改集合 checkedValue: "", modalPayload: { visible: false, @@ -215,8 +216,7 @@ class SalaryItemSettings extends Component { }); } }; - handleEditSalaryItemName = (item, field, viewAttr, name) => { - const { salaryBillItemNameSet } = this.props; + handleEditSalaryItemName = (item, field, viewAttr) => { const { groupId } = item, { salaryItemId } = field, { dataList } = this.state; if (groupId === "111111111111111111") return; this.setState({ @@ -226,11 +226,8 @@ class SalaryItemSettings extends Component { ...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 }; } @@ -248,7 +245,7 @@ class SalaryItemSettings extends Component { }); }; handleChangeSalaryItemShowName = (item, field, name) => { - const { groupId } = item, { salaryItemId } = field, { dataList } = this.state; + const { groupId } = item, { salaryItemId } = field, { dataList, itemShowNamesetting } = this.state; this.setState({ dataList: _.map(dataList, item => { if (item.groupId === groupId) { @@ -263,12 +260,16 @@ class SalaryItemSettings extends Component { }; } return { ...item }; - }) - }, () => this.props.onChangeSalaryItem(this.state.dataList)); + }), + itemShowNamesetting: _.unionBy([{ salaryItemId, salaryItemShowName: name }], itemShowNamesetting, "salaryItemId") + }, () => { + this.props.onChangeSalaryItem(this.state.dataList); + this.props.onChangeSalaryItemShowNamesetting(this.state.itemShowNamesetting); + }); }; render() { - const { onChangeSalaryItem } = this.props; + const { onChangeSalaryItem, salaryBillItemNameSet } = this.props; const { dataList, modalPayload, checkedValue } = this.state; return (
@@ -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("保存成功");