From 0acc570a24569823123ff41401366f1f0164afba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=8E=E6=B0=B8=E9=A1=BA?= <971387674@qq.com> Date: Wed, 18 Oct 2023 10:18:26 +0800 Subject: [PATCH] =?UTF-8?q?feature/2.9.42310.01-=E5=B7=A5=E8=B5=84?= =?UTF-8?q?=E5=8D=95=E5=8F=91=E6=94=BE=E9=A1=B5=E9=9D=A2=E9=87=8D=E6=9E=84?= =?UTF-8?q?=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../payrollRelease/components/conditions.js | 4 +- .../payrollTempNormalSet/formRender.js | 39 +++++--- .../components/payrollTempNormalSet/index.js | 35 ++++--- .../components/payrollTempReissueSet/index.js | 91 +++++++++++++++++++ .../updatePayrollTemplateSlide/index.js | 16 +++- pc4mobx/hrmSalary/stores/payroll.js | 29 +++--- 6 files changed, 172 insertions(+), 42 deletions(-) create mode 100644 pc4mobx/hrmSalary/pages/payrollRelease/components/payrollTempReissueSet/index.js diff --git a/pc4mobx/hrmSalary/pages/payrollRelease/components/conditions.js b/pc4mobx/hrmSalary/pages/payrollRelease/components/conditions.js index 61ed577f..93142796 100644 --- a/pc4mobx/hrmSalary/pages/payrollRelease/components/conditions.js +++ b/pc4mobx/hrmSalary/pages/payrollRelease/components/conditions.js @@ -212,7 +212,9 @@ export const tempNormalSetConditions = [ labelcol: 6, value: "", showClearAll: false, - listType: "img", + showListBottom: false, + showListTop: false, + // listType: "img", limitType: "jpg,jpeg,png", uploadUrl: "/api/doc/upload/uploadFile", category: "string", diff --git a/pc4mobx/hrmSalary/pages/payrollRelease/components/payrollTempNormalSet/formRender.js b/pc4mobx/hrmSalary/pages/payrollRelease/components/payrollTempNormalSet/formRender.js index ae8d0af8..bbcc3b5a 100644 --- a/pc4mobx/hrmSalary/pages/payrollRelease/components/payrollTempNormalSet/formRender.js +++ b/pc4mobx/hrmSalary/pages/payrollRelease/components/payrollTempNormalSet/formRender.js @@ -1,11 +1,16 @@ import { WeaSwitch } from "comsMobx"; -import { WeaFormItem, WeaLocaleProvider, WeaSearchGroup, WeaTools } from "ecCom"; +import { WeaButtonIcon, WeaFormItem, WeaLocaleProvider, WeaSearchGroup, WeaTools } from "ecCom"; const getLabel = WeaLocaleProvider.getLabel; const getKey = WeaTools.getKey; -export const payrollTempNormalSetForm = (form, condition, col, isCenter, onChange = () => void (0), insertVar = () => void (0)) => { +export const payrollTempNormalSetForm = (form, condition, background, onChange = () => void (0), insertVar = () => void (0)) => { const { isFormInit } = form; const formParams = form.getFormParams(); + const img1Props = { + src: "/weaver/weaver.file.FileDownload?fileid=a897b63092c473b95d98ed95138518e72fcaff559a225b618062f453c4d21b4bc43d18cd849d0ba00c94d2b02a53750b08e683c37ee144133", + width: 100, + height: 100 + }; let group = []; isFormInit && condition && condition.map(c => { let items = []; @@ -19,19 +24,29 @@ export const payrollTempNormalSetForm = (form, condition, col, isCenter, onChang error={form.getError(fields)} tipPosition="bottom" > - + + { + (getKey(fields) === "background" && background) ? + + insertVar("background", "")}/> + + + : + + } { getKey(fields) === "theme" &&
{getLabel(500143, "插入变量")}: - insertVar("${companyName}")}>{getLabel(1976, "公司名称")} insertVar("${salaryMonth}")}>{getLabel(542604, "薪资所属月")} + onClick={() => insertVar("theme", "${companyName}")}>{getLabel(1976, "公司名称")} + insertVar("theme", "${salaryMonth}")}>{getLabel(542604, "薪资所属月")}
} ), @@ -41,12 +56,12 @@ export const payrollTempNormalSetForm = (form, condition, col, isCenter, onChang }); group.push( ); }); return group; diff --git a/pc4mobx/hrmSalary/pages/payrollRelease/components/payrollTempNormalSet/index.js b/pc4mobx/hrmSalary/pages/payrollRelease/components/payrollTempNormalSet/index.js index 5b77dbbd..1972be82 100644 --- a/pc4mobx/hrmSalary/pages/payrollRelease/components/payrollTempNormalSet/index.js +++ b/pc4mobx/hrmSalary/pages/payrollRelease/components/payrollTempNormalSet/index.js @@ -42,6 +42,7 @@ class Index extends Component { const { salaryTemplateShowSet, salaryTemplateSalaryItemSet: salaryItemSet, salaryBillItemNameSet } = data; const { data: result } = salaryTemplateShowSet; const { ...fieldsEchoData } = { ...result, ...toJS(tmplDataSource) }; + console.log(111, toJS(tmplDataSource), { ...result, ...toJS(tmplDataSource) }); this.setState({ conditions: _.map(tempNormalSetConditions, it => { if (it.title === "themeSet") { @@ -77,9 +78,6 @@ class Index extends Component { case "salaryItemNullStatus": payrollTempNormalForm.updateFields({ [it]: fieldsEchoData[it] ? "1" : "0" }); break; - case "background": - console.log(81, fieldsEchoData); - break; default: payrollTempNormalForm.updateFields({ [it]: fieldsEchoData[it] ? fieldsEchoData[it].toString() : "" }); break; @@ -92,10 +90,12 @@ class Index extends Component { }; getPayrollItemList = () => { const { salaryItemSet } = this.state; - const { payrollStore: { tmplDataSource } } = this.props; + const { payrollStore: { tmplDataSource, setTmplDataSource } } = this.props; getPayrollItemList({ salarySobId: toJS(tmplDataSource).salarySob }).then(({ status, data }) => { if (status && _.isEmpty(salaryItemSet)) { - this.setState({ salaryItemSet: data }); + this.setState({ salaryItemSet: data }, () => { + setTmplDataSource({ ...toJS(tmplDataSource), salaryItemSetting: data }); + }); } }); }; @@ -107,16 +107,29 @@ class Index extends Component { setTmplDataSource({ ...toJS(tmplDataSource), background }); } }; - handleInsertVar = (themeVar) => { - const { payrollStore: { payrollTempNormalForm } } = this.props; + handleInsertVar = (key, themeVar) => { + const { payrollStore: { payrollTempNormalForm, setTmplDataSource, tmplDataSource } } = this.props; const theme = payrollTempNormalForm.getFormParams().theme; - payrollTempNormalForm.updateFields({ theme: `${theme}${themeVar}` }); + if (key === "background") { + setTmplDataSource({ ...toJS(tmplDataSource), background: themeVar }); + } else { + payrollTempNormalForm.updateFields({ [key]: `${theme}${themeVar}` }); + } }; handleChangeSalaryItem = (resultSet) => { - console.log(resultSet); + const { payrollStore: { setTmplDataSource, tmplDataSource } } = this.props; + this.setState({ salaryItemSet: resultSet }, () => { + setTmplDataSource({ ...toJS(tmplDataSource), salaryItemSetting: resultSet }); + }); }; handleChangeSalaryItemShowNamesetting = (itemShowNamesetting) => { - console.log(itemShowNamesetting); + const { payrollStore: { setSalaryBillItemNameSetting, salaryBillItemNameSetting } } = this.props; + setSalaryBillItemNameSetting(_.map(salaryBillItemNameSetting, it => { + if (it.salaryBillType === 0) { + return { ...it, salaryTemplateId: this.props.tmplId, itemShowNameSetting: itemShowNamesetting }; + } + return { ...it, salaryTemplateId: this.props.tmplId }; + })); }; render() { @@ -124,7 +137,7 @@ class Index extends Component { const { payrollStore: { payrollTempNormalForm, tmplDataSource } } = this.props; return ( - {!_.isEmpty(conditions) && payrollTempNormalSetForm(payrollTempNormalForm, conditions, 1, false, this.handleChange, this.handleInsertVar)} + {!_.isEmpty(conditions) && payrollTempNormalSetForm(payrollTempNormalForm, conditions, toJS(tmplDataSource).background, this.handleChange, this.handleInsertVar)} diff --git a/pc4mobx/hrmSalary/pages/payrollRelease/components/payrollTempReissueSet/index.js b/pc4mobx/hrmSalary/pages/payrollRelease/components/payrollTempReissueSet/index.js new file mode 100644 index 00000000..ea4c59cb --- /dev/null +++ b/pc4mobx/hrmSalary/pages/payrollRelease/components/payrollTempReissueSet/index.js @@ -0,0 +1,91 @@ +/* + * Author: 黎永顺 + * name:工资单发放-重构页面补发工资单模板 + * Description: + * Date: 2023/10/17 + */ +import React, { Component } from "react"; +import { toJS } from "mobx"; +import { WeaButtonIcon, WeaLocaleProvider, WeaSearchGroup } from "ecCom"; +import SalaryItemSettings from "../../../payroll/stepForm/salaryItemSettings"; +import { getReplenishForm } from "../../../../apis/payroll"; + +const getLabel = WeaLocaleProvider.getLabel; + +class Index extends Component { + constructor(props) { + super(props); + this.state = { + replenishSalaryTemplateSalaryItemSet: [], salaryBillItemNameSet: {} + }; + } + + componentDidMount() { + this.getReplenishForm(); + } + + getReplenishForm = () => { + const { payrollStore: { tmplDataSource, setTmplDataSource }, tmplId: id } = this.props; + const salarySobId = toJS(tmplDataSource).salarySob; + getReplenishForm({ salarySobId, id }).then(({ status, data }) => { + if (status) { + const { replenishSalaryTemplateSalaryItemSet, salaryBillItemNameSet } = data; + this.setState({ + replenishSalaryTemplateSalaryItemSet, salaryBillItemNameSet + }, () => { + // setTmplDataSource({ + // ...toJS(tmplDataSource), + // replenishSalaryItemSetting: replenishSalaryTemplateSalaryItemSet + // }); + }); + } + }); + }; + + handleChangeSalaryItem = (resultSet) => { + const { payrollStore: { setTmplDataSource, tmplDataSource } } = this.props; + this.setState({ replenishSalaryTemplateSalaryItemSet: resultSet }, () => { + setTmplDataSource({ + ...toJS(tmplDataSource), + replenishSalaryItemSetting: resultSet + }); + }); + }; + handleChangeSalaryItemShowNamesetting = (itemShowNamesetting) => { + const { payrollStore: { setSalaryBillItemNameSetting, salaryBillItemNameSetting } } = this.props; + setSalaryBillItemNameSetting(_.map(salaryBillItemNameSetting, it => { + if (it.salaryBillType === 1) { + return { ...it, salaryTemplateId: this.props.tmplId, itemShowNameSetting: itemShowNamesetting }; + } + return { ...it, salaryTemplateId: this.props.tmplId }; + })); + }; + + render() { + const { payrollStore: { tmplDataSource } } = this.props; + const { replenishSalaryTemplateSalaryItemSet, salaryBillItemNameSet } = this.state; + return ( + + {getLabel(543593, "薪资项目设置")} + this.salaryItemSettingsRef.handleOpenModal(toJS(tmplDataSource).salarySob, getLabel(543594, "添加分类"))}/> + + } + items={[]} needTigger showGroup> + this.salaryItemSettingsRef = dom} + dataSource={replenishSalaryTemplateSalaryItemSet} + onChangeSalaryItem={this.handleChangeSalaryItem} + onChangeSalaryItemShowNamesetting={this.handleChangeSalaryItemShowNamesetting} + salarySobId={toJS(tmplDataSource).salarySob} + salaryTemplateId={this.props.tmplId || ""} + isReplenish={true} salaryBillItemNameSet={salaryBillItemNameSet} + /> + + ); + } +} + +export default Index; diff --git a/pc4mobx/hrmSalary/pages/payrollRelease/components/updatePayrollTemplateSlide/index.js b/pc4mobx/hrmSalary/pages/payrollRelease/components/updatePayrollTemplateSlide/index.js index 3ab5f52c..085d6e9d 100644 --- a/pc4mobx/hrmSalary/pages/payrollRelease/components/updatePayrollTemplateSlide/index.js +++ b/pc4mobx/hrmSalary/pages/payrollRelease/components/updatePayrollTemplateSlide/index.js @@ -11,6 +11,7 @@ import { WeaLocaleProvider, WeaSlideModal, WeaSteps } from "ecCom"; import { Button, message } from "antd"; import PayrollTempBaseSet from "../payrollTempBaseSet"; import PayrollTempNormalSet from "../payrollTempNormalSet"; +import PayrollTempReissueSet from "../payrollTempReissueSet"; import { savePayroll } from "../../../../apis/payroll"; const Step = WeaSteps.Step; @@ -87,7 +88,11 @@ class Index extends Component { } }); }; - savePayroll = (payload) => { + savePayroll = () => { + const { payrollStore: { tmplDataSource, salaryBillItemNameSetting } } = this.props; + const payload = { ...toJS(tmplDataSource), salaryBillItemNameSetting: toJS(salaryBillItemNameSetting) }; + console.log(payload, tmplDataSource, toJS(salaryBillItemNameSetting)); + return; this.setState({ loading: true }); savePayroll(payload).then(({ status, errormsg }) => { this.setState({ loading: false }); @@ -108,7 +113,7 @@ class Index extends Component {
{ current === 0 ? - : + : current === 1 ? - + }
@@ -133,7 +138,10 @@ class Index extends Component { dom = this.tmpBaseSetRef = dom}/>; break; case 1: - dom = this.tmpNormalSetRef = dom}/>; + dom = ; + break; + case 2: + dom = ; break; default: break; diff --git a/pc4mobx/hrmSalary/stores/payroll.js b/pc4mobx/hrmSalary/stores/payroll.js index fa5a56e1..35bb7e2f 100644 --- a/pc4mobx/hrmSalary/stores/payroll.js +++ b/pc4mobx/hrmSalary/stores/payroll.js @@ -21,6 +21,20 @@ export class payrollStore { @observable payrollTempNormalForm = new WeaForm(); //新建编辑工资单模板-主题设置form @action initPayrollTempNormalForm = () => this.payrollTempNormalForm = new WeaForm(); + @observable salaryBillItemNameSetting = [ + { + salaryTemplateId: "", + salaryBillType: 0, + itemShowNameSetting: [] + }, + { + salaryTemplateId: "", + salaryBillType: 1, + itemShowNameSetting: [] + } + ]; // 工资单模板薪资项目名称修改列表 + @action + setSalaryBillItemNameSetting = salaryBillItemNameSetting => (this.salaryBillItemNameSetting = salaryBillItemNameSetting); @observable tableStore = new TableStore(); // new table @@ -40,18 +54,7 @@ export class payrollStore { @observable salaryTemplateShowSet = {}; // 显示设置基础表单 @observable replenishSalaryTemplateSalaryItemSet = []; // 补发工资单模版基础表单 @observable salaryItemSet = []; // 显示设置薪资项 - @observable salaryBillItemNameSetting = [ - { - salaryTemplateId: "", - salaryBillType: 0, - itemShowNameSetting: [] - }, - { - salaryTemplateId: "", - salaryBillType: 1, - itemShowNameSetting: [] - } - ]; // 工资单模板薪资项目名称修改列表 + @observable salaryBillItemNameSet = {}; // 工资单模板薪资项目名称修改列表 // **** 工资单页面 **** @@ -116,8 +119,6 @@ export class payrollStore { setSalaryItemSet = salaryItemSet => (this.salaryItemSet = salaryItemSet); @action setSalaryBillItemNameSet = salaryBillItemNameSet => (this.salaryBillItemNameSet = salaryBillItemNameSet); - @action - setSalaryBillItemNameSetting = salaryBillItemNameSetting => (this.salaryBillItemNameSetting = salaryBillItemNameSetting); @action("工资单模板分页信息修改") setTemplateTablePageInfo = (pageInfo, callback) => {