From 7e30f73069c8fc8035720ed13e833436593ce450 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E9=BB=8E=E6=B0=B8=E9=A1=BA?= <971387674@qq.com>
Date: Tue, 17 Oct 2023 17:17:01 +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 | 87 +++++++++-
.../components/payrollTempBaseSet/index.js | 67 +++++++-
.../payrollTempNormalSet/formRender.js | 53 ++++++
.../components/payrollTempNormalSet/index.js | 152 ++++++++++++++++++
.../updatePayrollTemplateSlide/index.js | 39 ++++-
.../hrmSalary/pages/payrollRelease/index.less | 24 +++
pc4mobx/hrmSalary/stores/payroll.js | 5 +
7 files changed, 416 insertions(+), 11 deletions(-)
create mode 100644 pc4mobx/hrmSalary/pages/payrollRelease/components/payrollTempNormalSet/formRender.js
create mode 100644 pc4mobx/hrmSalary/pages/payrollRelease/components/payrollTempNormalSet/index.js
diff --git a/pc4mobx/hrmSalary/pages/payrollRelease/components/conditions.js b/pc4mobx/hrmSalary/pages/payrollRelease/components/conditions.js
index 6ff6e05e..61ed577f 100644
--- a/pc4mobx/hrmSalary/pages/payrollRelease/components/conditions.js
+++ b/pc4mobx/hrmSalary/pages/payrollRelease/components/conditions.js
@@ -25,7 +25,7 @@ export const tempBaseSetConditions = [
{
colSpan: 1,
conditionType: "SELECT",
- domkey: ["salarySobId"],
+ domkey: ["salarySob"],
fieldcol: 14,
label: "薪资账套",
lanId: 538010,
@@ -186,3 +186,88 @@ export const tempBaseSetFbConditions = [
}
];
+//正常工资单模板主题设置
+export const tempNormalSetConditions = [
+ {
+ items: [
+ {
+ colSpan: 1,
+ conditionType: "INPUT",
+ domkey: ["theme"],
+ fieldcol: 10,
+ label: "工资单标题",
+ lanId: 543588,
+ labelcol: 6,
+ value: "",
+ rules: "required|string",
+ viewAttr: 3
+ },
+ {
+ colSpan: 1,
+ conditionType: "UPLOAD",
+ domkey: ["background"],
+ fieldcol: 10,
+ label: "工资单图片",
+ lanId: 543589,
+ labelcol: 6,
+ value: "",
+ showClearAll: false,
+ listType: "img",
+ limitType: "jpg,jpeg,png",
+ uploadUrl: "/api/doc/upload/uploadFile",
+ category: "string",
+ maxFilesNumber: 1,
+ viewAttr: 2
+ },
+ {
+ colSpan: 1,
+ conditionType: "INPUT",
+ domkey: ["textContent"],
+ fieldcol: 14,
+ label: "文本内容",
+ lanId: 20749,
+ labelcol: 6,
+ value: "",
+ viewAttr: 2
+ },
+ {
+ colSpan: 1,
+ conditionType: "SELECT",
+ domkey: ["textContentPosition"],
+ fieldcol: 14,
+ label: "文本内容位置",
+ lanId: 543590,
+ labelcol: 6,
+ options: [],
+ value: "",
+ detailtype: 3,
+ viewAttr: 2
+ },
+ {
+ colSpan: 1,
+ conditionType: "SWITCH",
+ domkey: ["salaryItemNullStatus"],
+ fieldcol: 2,
+ label: "薪资项为空时不显示",
+ lanId: 543591,
+ labelcol: 6,
+ value: "",
+ viewAttr: 2
+ },
+ {
+ colSpan: 1,
+ conditionType: "SWITCH",
+ domkey: ["salaryItemZeroStatus"],
+ fieldcol: 2,
+ label: "薪资项为0时不显示",
+ lanId: 543592,
+ labelcol: 6,
+ value: "",
+ viewAttr: 2
+ }
+ ],
+ defaultshow: true,
+ title: "themeSet"
+ }
+];
+
diff --git a/pc4mobx/hrmSalary/pages/payrollRelease/components/payrollTempBaseSet/index.js b/pc4mobx/hrmSalary/pages/payrollRelease/components/payrollTempBaseSet/index.js
index 6482a04f..bcaa4073 100644
--- a/pc4mobx/hrmSalary/pages/payrollRelease/components/payrollTempBaseSet/index.js
+++ b/pc4mobx/hrmSalary/pages/payrollRelease/components/payrollTempBaseSet/index.js
@@ -5,6 +5,7 @@
* Date: 2023/10/13
*/
import React, { Component } from "react";
+import { toJS } from "mobx";
import { WeaFormItem, WeaLocaleProvider, WeaTools } from "ecCom";
import { tempBaseSetConditions, tempBaseSetFbConditions } from "../conditions";
import { getSearchs } from "../../../../util";
@@ -36,6 +37,7 @@ class Index extends Component {
componentWillReceiveProps(nextProps, nextContext) {
if (nextProps.visible !== this.props.visible && nextProps.visible) this.getPayrollBaseForm(nextProps);
if (nextProps.visible !== this.props.visible && !nextProps.visible) {
+ nextProps.payrollStore.setTmplDataSource({});
nextProps.payrollStore.initPayrollTempForm();
nextProps.payrollStore.initPayrollTempFeedbackForm();
}
@@ -52,17 +54,22 @@ class Index extends Component {
});
};
getPayrollBaseForm = (props) => {
- const { tmplId: id, payrollStore: { payrollTempForm, payrollTempFeedbackForm } } = props;
- getPayrollBaseForm({ id }).then(({ status, data }) => {
+ const { tmplId: id, payrollStore: { payrollTempForm, payrollTempFeedbackForm, tmplDataSource } } = props;
+ getPayrollBaseForm({ id }).then(async ({ status, data }) => {
if (status) {
- const { salaryTemplateBaseSet: { salarySobOptions } } = data;
+ const { salaryTemplateBaseSet: { salarySobOptions, data: result } } = data;
+ const {
+ autoSendDayOfMonth = "1", autoSendTimeOfDay = "09:00", autoSendCycleType = "1",
+ ...fieldsEchoData
+ } = { ...result, ...toJS(tmplDataSource) };
+ const { data: replenishRuleOptions } = (fieldsEchoData["reissueRule"] === "1" && fieldsEchoData["salarySob"]) ? await getReplenishRuleSetOptions({ salarySobId: fieldsEchoData["salarySob"] }) : [];
this.setState({
conditions: _.map(tempBaseSetConditions, it => {
if (it.title === "baseSet") {
return {
...it, title: getLabel(82743, "基础信息"),
items: _.map(it.items, o => {
- if (getKey(o) === "salarySobId") {
+ if (getKey(o) === "salarySob") {
return {
...o, options: _.map(salarySobOptions, g => ({ key: g.id.toString(), showname: g.name }))
};
@@ -73,6 +80,11 @@ class Index extends Component {
{ key: "1", showname: getLabel(542696, "按规则") }
]
};
+ } else if (getKey(o) === "replenishRule") {
+ return {
+ ...o, hide: (_.isNil(fieldsEchoData["reissueRule"]) || fieldsEchoData["reissueRule"] === "0"),
+ options: _.map(replenishRuleOptions, t => ({ key: t.id, showname: t.content }))
+ };
}
return { ...o };
})
@@ -100,8 +112,14 @@ class Index extends Component {
if (getKey(o) === "autoAckDays") {
return {
...o,
+ hide: _.isNil(fieldsEchoData["ackFeedbackStatus"]) ? o.hide : !fieldsEchoData["ackFeedbackStatus"],
helpfulTitle: getLabel(544273, "开启后,还需在计划任务中配置定时任务,执行自动确认任务;邮箱端查看工资单暂不支持确认及反馈;")
};
+ } else if (getKey(o) === "feedbackUrl") {
+ return {
+ ...o,
+ hide: _.isNil(fieldsEchoData["ackFeedbackStatus"]) ? o.hide : !fieldsEchoData["ackFeedbackStatus"]
+ };
}
return { ...o };
})
@@ -111,6 +129,41 @@ class Index extends Component {
}, () => {
payrollTempForm.initFormFields(this.state.conditions);
payrollTempFeedbackForm.initFormFields(this.state.fbConditions);
+ //字段回显
+ const tempBaseSetDomkeys = _.reduce(tempBaseSetConditions, (pre, cur) => ([...pre, ..._.map(cur.items, o => getKey(o))]), []),
+ tempBaseSetFbDomkeys = _.reduce(tempBaseSetFbConditions, (pre, cur) => ([...pre, ..._.map(cur.items, o => getKey(o))]), []);
+ _.map(tempBaseSetDomkeys, it => {
+ switch (it) {
+ case "msgStatus":
+ payrollTempForm.updateFields({ [it]: _.isNil(fieldsEchoData[it]) ? "1" : fieldsEchoData[it] ? "1" : "0" });
+ break;
+ case "reissueRule":
+ payrollTempForm.updateFields({ [it]: fieldsEchoData[it] ? fieldsEchoData[it] : "0" });
+ break;
+ case "emailStatus":
+ case "autoSendStatus":
+ payrollTempForm.updateFields({ [it]: fieldsEchoData[it] ? "1" : "0" });
+ break;
+ default:
+ payrollTempForm.updateFields({ [it]: fieldsEchoData[it] ? fieldsEchoData[it].toString() : "" });
+ break;
+ }
+ });
+ _.map(tempBaseSetFbDomkeys, it => {
+ if (it === "ackFeedbackStatus") {
+ payrollTempFeedbackForm.updateFields({ [it]: fieldsEchoData[it] ? "1" : "0" });
+ } else {
+ payrollTempFeedbackForm.updateFields({ [it]: fieldsEchoData[it] ? fieldsEchoData[it].toString() : "" });
+ }
+ });
+ this.setState({
+ formData: {
+ ...this.state.formData,
+ autoSendDayOfMonth: !_.isNil(autoSendDayOfMonth) ? autoSendDayOfMonth : "1",
+ autoSendTimeOfDay: !_.isNil(autoSendTimeOfDay) ? autoSendTimeOfDay : "09:00",
+ autoSendCycleType: !_.isNil(autoSendCycleType) ? autoSendCycleType : "1"
+ }
+ });
this.forceUpdate();
});
}
@@ -118,7 +171,7 @@ class Index extends Component {
};
handleChange = async (params) => {
const { payrollStore: { payrollTempForm } } = this.props;
- const key = _.keys(params)[0], salarySobId = payrollTempForm.getFormParams().salarySobId,
+ const key = _.keys(params)[0], salarySobId = payrollTempForm.getFormParams().salarySob,
reissueRule = payrollTempForm.getFormParams().reissueRule;
const { data: replenishRuleOptions } = (reissueRule === "1" && salarySobId) ? await getReplenishRuleSetOptions({ salarySobId }) : [];
if (key === "reissueRule") {
@@ -145,7 +198,7 @@ class Index extends Component {
payrollTempForm.initFormFields(this.state.conditions);
this.resetRequiredForm();
});
- } else if (key === "salarySobId") {
+ } else if (key === "salarySob") {
this.setState({
conditions: _.map(this.state.conditions, it => {
if (it.title === getLabel(82743, "基础信息")) {
@@ -166,7 +219,7 @@ class Index extends Component {
})
}, () => {
payrollTempForm.initFormFields(this.state.conditions);
- const salarySob = payrollTempForm.getFormDatas().salarySobId;
+ const salarySob = payrollTempForm.getFormDatas().salarySob;
payrollTempForm.updateFields({
name: salarySob.valueSpan,
replenishName: salarySob.valueSpan + "-补发工资单"
diff --git a/pc4mobx/hrmSalary/pages/payrollRelease/components/payrollTempNormalSet/formRender.js b/pc4mobx/hrmSalary/pages/payrollRelease/components/payrollTempNormalSet/formRender.js
new file mode 100644
index 00000000..ae8d0af8
--- /dev/null
+++ b/pc4mobx/hrmSalary/pages/payrollRelease/components/payrollTempNormalSet/formRender.js
@@ -0,0 +1,53 @@
+import { WeaSwitch } from "comsMobx";
+import { 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)) => {
+ const { isFormInit } = form;
+ const formParams = form.getFormParams();
+ let group = [];
+ isFormInit && condition && condition.map(c => {
+ let items = [];
+ c.items.map(fields => {
+ items.push({
+ com: (
+
+
+ {
+ getKey(fields) === "theme" &&
+
+ }
+ ),
+ colSpan: 1,
+ hide: fields.hide
+ });
+ });
+ group.push(
+ );
+ });
+ return group;
+};
diff --git a/pc4mobx/hrmSalary/pages/payrollRelease/components/payrollTempNormalSet/index.js b/pc4mobx/hrmSalary/pages/payrollRelease/components/payrollTempNormalSet/index.js
new file mode 100644
index 00000000..5b77dbbd
--- /dev/null
+++ b/pc4mobx/hrmSalary/pages/payrollRelease/components/payrollTempNormalSet/index.js
@@ -0,0 +1,152 @@
+/*
+ * Author: 黎永顺
+ * name:工资单发放-重构页面正常核算工资单模板
+ * Description:
+ * Date: 2023/10/17
+ */
+import React, { Component } from "react";
+import { inject, observer } from "mobx-react";
+import { toJS } from "mobx";
+import { WeaButtonIcon, WeaLocaleProvider, WeaSearchGroup, WeaTools } from "ecCom";
+import { getPayrollItemList, getPayrollShowForm } from "../../../../apis/payroll";
+import { tempNormalSetConditions } from "../conditions";
+import { payrollTempNormalSetForm } from "./formRender";
+import SalaryItemSettings from "../../../payroll/stepForm/salaryItemSettings";
+
+const getKey = WeaTools.getKey;
+const getLabel = WeaLocaleProvider.getLabel;
+
+@inject("payrollStore")
+@observer
+class Index extends Component {
+ constructor(props) {
+ super(props);
+ this.state = {
+ conditions: [], salaryBillItemNameSet: {}, salaryItemSet: []
+ };
+ }
+
+ componentDidMount() {
+ this.getPayrollShowForm();
+ }
+
+ componentWillUnmount() {
+ const { payrollStore: { initPayrollTempNormalForm } } = this.props;
+ initPayrollTempNormalForm();
+ }
+
+ getPayrollShowForm = () => {
+ const { tmplId: id, payrollStore: { payrollTempNormalForm, tmplDataSource } } = this.props;
+ getPayrollShowForm({ id }).then(async ({ status, data }) => {
+ if (status) {
+ const { salaryTemplateShowSet, salaryTemplateSalaryItemSet: salaryItemSet, salaryBillItemNameSet } = data;
+ const { data: result } = salaryTemplateShowSet;
+ const { ...fieldsEchoData } = { ...result, ...toJS(tmplDataSource) };
+ this.setState({
+ conditions: _.map(tempNormalSetConditions, it => {
+ if (it.title === "themeSet") {
+ return {
+ ...it, title: getLabel(543587, "主题及其他设置"),
+ items: _.map(it.items, o => {
+ if (getKey(o) === "textContentPosition") {
+ return {
+ ...o, label: getLabel(o.lanId, o.label),
+ options: [
+ { key: "1", showname: getLabel(542697, "薪资项目前") },
+ { key: "2", showname: getLabel(542698, "薪资项目后") }
+ ]
+ };
+ } else if (getKey(o) === "background") {
+ return {
+ ...o, title: getLabel(20001, "上传图片")
+ };
+ }
+ return { ...o, label: getLabel(o.lanId, o.label) };
+ })
+ };
+ }
+ }),
+ salaryBillItemNameSet, salaryItemSet
+ }, () => {
+ payrollTempNormalForm.initFormFields(this.state.conditions);
+ //字段回显
+ const tempBaseSetDomkeys = _.reduce(tempNormalSetConditions, (pre, cur) => ([...pre, ..._.map(cur.items, o => getKey(o))]), []);
+ _.map(tempBaseSetDomkeys, it => {
+ switch (it) {
+ case "salaryItemZeroStatus":
+ 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;
+ }
+ });
+ !id && this.getPayrollItemList();
+ });
+ }
+ });
+ };
+ getPayrollItemList = () => {
+ const { salaryItemSet } = this.state;
+ const { payrollStore: { tmplDataSource } } = this.props;
+ getPayrollItemList({ salarySobId: toJS(tmplDataSource).salarySob }).then(({ status, data }) => {
+ if (status && _.isEmpty(salaryItemSet)) {
+ this.setState({ salaryItemSet: data });
+ }
+ });
+ };
+ handleChange = (params) => {
+ const { payrollStore: { payrollTempNormalForm, setTmplDataSource, tmplDataSource } } = this.props;
+ const key = _.keys(params)[0];
+ if (key === "background") {
+ const background = payrollTempNormalForm.getFormDatas().background.valueObj[0].acclink;
+ setTmplDataSource({ ...toJS(tmplDataSource), background });
+ }
+ };
+ handleInsertVar = (themeVar) => {
+ const { payrollStore: { payrollTempNormalForm } } = this.props;
+ const theme = payrollTempNormalForm.getFormParams().theme;
+ payrollTempNormalForm.updateFields({ theme: `${theme}${themeVar}` });
+ };
+ handleChangeSalaryItem = (resultSet) => {
+ console.log(resultSet);
+ };
+ handleChangeSalaryItemShowNamesetting = (itemShowNamesetting) => {
+ console.log(itemShowNamesetting);
+ };
+
+ render() {
+ const { conditions, salaryBillItemNameSet, salaryItemSet } = this.state;
+ const { payrollStore: { payrollTempNormalForm, tmplDataSource } } = this.props;
+ return (
+
+ {!_.isEmpty(conditions) && payrollTempNormalSetForm(payrollTempNormalForm, conditions, 1, false, this.handleChange, this.handleInsertVar)}
+
+ {getLabel(543593, "薪资项目设置")}
+ this.salaryItemSettingsRef.handleOpenModal(toJS(tmplDataSource).salarySob, getLabel(543594, "添加分类"))}/>
+
+ }
+ items={[]} needTigger showGroup
+ >
+ this.salaryItemSettingsRef = dom}
+ dataSource={salaryItemSet} salaryTemplateId={this.props.tmplId || ""}
+ onChangeSalaryItem={this.handleChangeSalaryItem}
+ onChangeSalaryItemShowNamesetting={this.handleChangeSalaryItemShowNamesetting}
+ salarySobId={toJS(tmplDataSource).salarySob}
+ isReplenish={false} 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 87560bbe..3ab5f52c 100644
--- a/pc4mobx/hrmSalary/pages/payrollRelease/components/updatePayrollTemplateSlide/index.js
+++ b/pc4mobx/hrmSalary/pages/payrollRelease/components/updatePayrollTemplateSlide/index.js
@@ -5,10 +5,12 @@
* Date: 2023/10/13
*/
import React, { Component } from "react";
+import { toJS } from "mobx";
import { inject, observer } from "mobx-react";
import { WeaLocaleProvider, WeaSlideModal, WeaSteps } from "ecCom";
import { Button, message } from "antd";
import PayrollTempBaseSet from "../payrollTempBaseSet";
+import PayrollTempNormalSet from "../payrollTempNormalSet";
import { savePayroll } from "../../../../apis/payroll";
const Step = WeaSteps.Step;
@@ -28,7 +30,8 @@ class Index extends Component {
save = async () => {
const {
payrollStore: {
- payrollTempForm, payrollTempFeedbackForm, initPayrollTempForm, initPayrollTempFeedbackForm
+ payrollTempForm, payrollTempFeedbackForm, initPayrollTempForm,
+ initPayrollTempFeedbackForm, setTmplDataSource, tmplDataSource
}
} = this.props;
const [tempFormm, fbForm] = await Promise.all([payrollTempForm.validateForm(), payrollTempFeedbackForm.validateForm()]);
@@ -37,7 +40,7 @@ class Index extends Component {
{ ackFeedbackStatus, autoAckDays, ...extraFb } = payrollTempFeedbackForm.getFormParams(),
{ formData } = this.tmpBaseSetRef.state;
const payload = {
- ...extraFb, ...formData, ...extraBs,
+ ...toJS(tmplDataSource), ...extraFb, ...formData, ...extraBs,
ackFeedbackStatus: ackFeedbackStatus === "1",
autoSendStatus: autoSendStatus === "1",
emailStatus: emailStatus === "1",
@@ -48,6 +51,7 @@ class Index extends Component {
this.setState({
current: this.state.current + 1
}, () => {
+ setTmplDataSource(payload);
initPayrollTempForm();
initPayrollTempFeedbackForm();
});
@@ -57,6 +61,32 @@ class Index extends Component {
this.forceUpdate();
}
};
+ normalSave = () => {
+ const { payrollStore: { payrollTempNormalForm, setTmplDataSource, tmplDataSource } } = this.props;
+ payrollTempNormalForm.validateForm().then(f => {
+ if (f.isValid) {
+ const {
+ salaryItemNullStatus,
+ salaryItemZeroStatus,
+ background,
+ ...extra
+ } = payrollTempNormalForm.getFormParams();
+ const payload = {
+ ...toJS(tmplDataSource), ...extra,
+ salaryItemZeroStatus: salaryItemZeroStatus === "1",
+ salaryItemNullStatus: salaryItemNullStatus === "1"
+ };
+ this.setState({
+ current: this.state.current + 1
+ }, () => {
+ setTmplDataSource(payload);
+ });
+ } else {
+ f.showErrors();
+ this.forceUpdate();
+ }
+ });
+ };
savePayroll = (payload) => {
this.setState({ loading: true });
savePayroll(payload).then(({ status, errormsg }) => {
@@ -83,7 +113,7 @@ class Index extends Component {
-
+
:
@@ -102,6 +132,9 @@ class Index extends Component {
case 0:
dom = this.tmpBaseSetRef = dom}/>;
break;
+ case 1:
+ dom = this.tmpNormalSetRef = dom}/>;
+ break;
default:
break;
}
diff --git a/pc4mobx/hrmSalary/pages/payrollRelease/index.less b/pc4mobx/hrmSalary/pages/payrollRelease/index.less
index cbab3ea2..73c92baa 100644
--- a/pc4mobx/hrmSalary/pages/payrollRelease/index.less
+++ b/pc4mobx/hrmSalary/pages/payrollRelease/index.less
@@ -137,6 +137,30 @@
}
}
}
+
+ .sft-variables {
+ display: flex;
+ align-items: center;
+ margin-left: 10px;
+ position: absolute;
+ top: 25%;
+ right: -208px;
+ margin-top: -2px;
+
+ .sftv-item {
+ margin-right: 8px;
+ padding: 0;
+ color: #5d9cec;
+ background-color: transparent;
+ }
+ }
+
+ .salarySetTitle {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ width: 100%;
+ }
}
}
}
diff --git a/pc4mobx/hrmSalary/stores/payroll.js b/pc4mobx/hrmSalary/stores/payroll.js
index 3f2abafb..fa5a56e1 100644
--- a/pc4mobx/hrmSalary/stores/payroll.js
+++ b/pc4mobx/hrmSalary/stores/payroll.js
@@ -16,6 +16,11 @@ export class payrollStore {
@action initPayrollTempForm = () => this.payrollTempForm = new WeaForm();
@observable payrollTempFeedbackForm = new WeaForm(); //新建编辑工资单模板-工资单确认反馈设置form
@action initPayrollTempFeedbackForm = () => this.payrollTempFeedbackForm = new WeaForm();
+ @observable tmplDataSource = {}; //工资单模板数据
+ @action setTmplDataSource = (v) => this.tmplDataSource = v;//设置工资单模板数据
+
+ @observable payrollTempNormalForm = new WeaForm(); //新建编辑工资单模板-主题设置form
+ @action initPayrollTempNormalForm = () => this.payrollTempNormalForm = new WeaForm();
@observable tableStore = new TableStore(); // new table