From fbf16f97dc0308ae70ed126648d84dfc532dfd89 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E9=BB=8E=E6=B0=B8=E9=A1=BA?= <971387674@qq.com>
Date: Mon, 3 Jul 2023 13:52:20 +0800
Subject: [PATCH 1/5] =?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=E5=AE=9A=E6=97=B6=E5=8F=91=E6=94=BE?=
=?UTF-8?q?=E5=8A=9F=E8=83=BD=E5=BC=80=E5=8F=91?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../pages/payroll/stepForm/baseInformForm.js | 73 ++++++++++++++++++-
.../pages/payroll/stepForm/index.less | 16 ++++
2 files changed, 86 insertions(+), 3 deletions(-)
diff --git a/pc4mobx/hrmSalary/pages/payroll/stepForm/baseInformForm.js b/pc4mobx/hrmSalary/pages/payroll/stepForm/baseInformForm.js
index 69ebf94e..157467d7 100644
--- a/pc4mobx/hrmSalary/pages/payroll/stepForm/baseInformForm.js
+++ b/pc4mobx/hrmSalary/pages/payroll/stepForm/baseInformForm.js
@@ -1,7 +1,8 @@
import React from "react";
-import { WeaCheckbox, WeaFormItem, WeaInput, WeaLocaleProvider, WeaSearchGroup, WeaSelect } from "ecCom";
+import { WeaCheckbox, WeaFormItem, WeaInput, WeaLocaleProvider, WeaSearchGroup, WeaSelect, WeaTimePicker } from "ecCom";
import { inject, observer } from "mobx-react";
import { getReplenishRuleSetOptions } from "../../../apis/payroll";
+import moment from "moment";
import { toJS } from "mobx";
import "./index.less";
@@ -35,7 +36,8 @@ export default class BaseInformForm extends React.Component {
...data.templateBaseData,
msgStatus: !this.props.id ? "1" : data.templateBaseData.msgStatus,
reissueRule: data.templateBaseData.replenishRule ? "1" : "0",
- ...JSON.parse(templateBaseData)
+ ...JSON.parse(templateBaseData),
+ sendEmail: ""
}
}, () => {
this.props.onChange && this.props.onChange(this.state.request);
@@ -73,7 +75,19 @@ export default class BaseInformForm extends React.Component {
render() {
const { request, options, replenishRuleOptions } = this.state;
- const { salarySob, name, description, replenishName, replenishRule, reissueRule, msgStatus, emailStatus } = request;
+ const {
+ salarySob,
+ name,
+ description,
+ replenishName,
+ replenishRule,
+ reissueRule,
+ msgStatus,
+ emailStatus,
+ autoSendStatus,
+ autoSendDayOfMonth,
+ autoSendTimeOfDay
+ } = request;
return (
@@ -164,8 +178,61 @@ export default class BaseInformForm extends React.Component {
this.hanldeChange({ emailStatus: value === "1" })}/>
+
+ this.hanldeChange({ autoSendStatus: value === "1" })}/>
+
+ {
+ autoSendStatus &&
+
+
+
+ }
);
}
}
+
+const SendTimeComp = (props) => {
+ const { value, onChange } = props;
+ const { autoSendDayOfMonth, autoSendTimeOfDay } = value;
+
+ const handleChangeSendtime = (key, val) => {
+ onChange({ autoSendDayOfMonth, autoSendTimeOfDay, [key]: val });
+ };
+ return
+
+ {getLabel(111, "每月")}
+ ({ key: item, showname: item }))}
+ onChange={v => handleChangeSendtime("autoSendDayOfMonth", v)}
+ />
+ {getLabel(16992, "号")}
+
+
handleChangeSendtime("autoSendTimeOfDay", v)}/>
+ ;
+};
+
+const getDay = () => {
+ let days = [];
+ let day = getDaysInMonth(moment().year(), moment().month() + 1);
+ for (let i = 1; i <= day; i++) {
+ days.push(i);
+ }
+ return days;
+};
+
+const getDaysInMonth = (year, month) => {
+ month = parseInt(month, 10);
+ let d = new Date(year, month, 0);
+ return d.getDate();
+};
diff --git a/pc4mobx/hrmSalary/pages/payroll/stepForm/index.less b/pc4mobx/hrmSalary/pages/payroll/stepForm/index.less
index 4bfbe9d0..f30d0063 100644
--- a/pc4mobx/hrmSalary/pages/payroll/stepForm/index.less
+++ b/pc4mobx/hrmSalary/pages/payroll/stepForm/index.less
@@ -234,4 +234,20 @@
border-bottom: 1px solid #e5e5e5;
}
}
+
+ .customTimeCompWrapper {
+ display: flex;
+ justify-content: flex-start;
+
+ & > div {
+ margin-right: 10px;
+ display: flex;
+ align-items: center;
+
+ .wea-select {
+ width: 80px;
+ margin: 0 10px;
+ }
+ }
+ }
}
From afd3163ff52dfbe4112d45532516706013729399 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E9=BB=8E=E6=B0=B8=E9=A1=BA?= <971387674@qq.com>
Date: Mon, 3 Jul 2023 16:03:56 +0800
Subject: [PATCH 2/5] =?UTF-8?q?=E4=BA=A7=E5=93=81-=E7=BB=9F=E4=B8=80?=
=?UTF-8?q?=E9=A1=B5=E9=9D=A2=E5=88=97=E8=A1=A8=E6=93=8D=E4=BD=9C=E6=8C=89?=
=?UTF-8?q?=E9=92=AE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pc4mobx/hrmSalary/pages/payroll/SalarySendList.js | 12 ++++++++++--
.../hrmSalary/pages/payroll/templateSettingList.js | 12 +++++++++---
2 files changed, 19 insertions(+), 5 deletions(-)
diff --git a/pc4mobx/hrmSalary/pages/payroll/SalarySendList.js b/pc4mobx/hrmSalary/pages/payroll/SalarySendList.js
index 2b98919b..947db8db 100644
--- a/pc4mobx/hrmSalary/pages/payroll/SalarySendList.js
+++ b/pc4mobx/hrmSalary/pages/payroll/SalarySendList.js
@@ -1,6 +1,6 @@
import React from "react";
import { inject, observer } from "mobx-react";
-import { message, Tag } from "antd";
+import { Dropdown, Menu, message, Tag } from "antd";
import moment from "moment";
import CustomPaginationTable from "../../components/customPaginationTable";
import "../calculate/index.less";
@@ -91,6 +91,7 @@ export default class SalarySendList extends React.Component {
{
title: "操作",
key: "operate",
+ width: 150,
render: (text, record) => {
const { sendNum, sendTotal, salaryAcctType, haveBackCalc, canSeeDetail } = record;
//显示发放
@@ -106,7 +107,14 @@ export default class SalarySendList extends React.Component {
}
{
sendNum !== sendTotal && !showGrant &&
- this.handleUpdateTemplate(record)}>更新模板
+ this.handleUpdateTemplate(record)}>
+ 更新模板
+
+ }>
+
+
}
);
diff --git a/pc4mobx/hrmSalary/pages/payroll/templateSettingList.js b/pc4mobx/hrmSalary/pages/payroll/templateSettingList.js
index 05d75b27..9e986510 100644
--- a/pc4mobx/hrmSalary/pages/payroll/templateSettingList.js
+++ b/pc4mobx/hrmSalary/pages/payroll/templateSettingList.js
@@ -2,7 +2,7 @@ import React from "react";
import { inject, observer } from "mobx-react";
import { WeaLocaleProvider, WeaTable } from "ecCom";
import { toJS } from "mobx";
-import { Radio, Spin } from "antd";
+import { Dropdown, Menu, Radio, Spin } from "antd";
const getLabel = WeaLocaleProvider.getLabel;
@inject("payrollStore")
@@ -93,8 +93,14 @@ export default class TemplateSettingList extends React.Component {
onClick={() => this.onOperatesClick(record, "0")}>{getLabel(501169, "编辑")}
this.onOperatesClick(record, "1")}>{getLabel(77, "复制")}
- this.onOperatesClick(record, "2")}>{getLabel(535052, "删除")}
+ this.onOperatesClick(record, "2")}>
+ {getLabel(535052, "删除")}
+
+ }>
+
+
;
}
}
From d2fe01c7592555d36365191b0d3fdbad06436f38 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, 4 Jul 2023 17:37:04 +0800
Subject: [PATCH 3/5] =?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=E5=AE=9A=E6=97=B6=E5=8F=91=E6=94=BE?=
=?UTF-8?q?bug=E5=A4=84=E7=90=86=E4=BB=A5=E5=8F=8A=E8=A7=84=E5=88=99?=
=?UTF-8?q?=E8=AE=BE=E7=BD=AE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../pages/payroll/stepForm/baseInformForm.js | 31 ++++++++++++-------
1 file changed, 19 insertions(+), 12 deletions(-)
diff --git a/pc4mobx/hrmSalary/pages/payroll/stepForm/baseInformForm.js b/pc4mobx/hrmSalary/pages/payroll/stepForm/baseInformForm.js
index 157467d7..251b8e7e 100644
--- a/pc4mobx/hrmSalary/pages/payroll/stepForm/baseInformForm.js
+++ b/pc4mobx/hrmSalary/pages/payroll/stepForm/baseInformForm.js
@@ -37,7 +37,8 @@ export default class BaseInformForm extends React.Component {
msgStatus: !this.props.id ? "1" : data.templateBaseData.msgStatus,
reissueRule: data.templateBaseData.replenishRule ? "1" : "0",
...JSON.parse(templateBaseData),
- sendEmail: ""
+ sendEmail: "",
+ autoSendStatus: !_.isNil(data.templateBaseData.autoSendStatus) ? data.templateBaseData.autoSendStatus : false
}
}, () => {
this.props.onChange && this.props.onChange(this.state.request);
@@ -50,7 +51,7 @@ export default class BaseInformForm extends React.Component {
JSON.parse(templateBaseData).salarySob && this.getReplenishRuleSetOptions({ salarySobId: JSON.parse(templateBaseData).salarySob });
}
- hanldeChange = (params) => {
+ handleChange = (params) => {
let request = { ...this.state.request, ...params };
this.setState({
request
@@ -104,7 +105,7 @@ export default class BaseInformForm extends React.Component {
options={options}
value={salarySob ? salarySob : ""}
style={{ width: 200 }}
- onChange={value => this.hanldeChange({ salarySob: value })}/>
+ onChange={value => this.handleChange({ salarySob: value })}/>
}
this.hanldeChange({ name: value })}
+ onChange={value => this.handleChange({ name: value })}
/>
this.hanldeChange({ replenishName: value })}
+ onChange={value => this.handleChange({ replenishName: value })}
/>
this.hanldeChange({ reissueRule: value })}
+ onChange={value => this.handleChange({ reissueRule: value })}
/>
{
@@ -153,7 +154,7 @@ export default class BaseInformForm extends React.Component {
options={replenishRuleOptions}
value={replenishRule}
viewAttr={3}
- onChange={value => this.hanldeChange({ replenishRule: value })}
+ onChange={value => this.handleChange({ replenishRule: value })}
/>
}
@@ -164,7 +165,7 @@ export default class BaseInformForm extends React.Component {
>
this.hanldeChange({ description: value })}
+ onChange={value => this.handleChange({ description: value })}
/>
@@ -172,15 +173,21 @@ export default class BaseInformForm extends React.Component {
className="payrollBaseInfoWrapper">
this.hanldeChange({ msgStatus: value === "1" })}/>
+ onChange={value => this.handleChange({ msgStatus: value === "1" })}/>
this.hanldeChange({ emailStatus: value === "1" })}/>
+ onChange={value => this.handleChange({ emailStatus: value === "1" })}/>
this.hanldeChange({ autoSendStatus: value === "1" })}/>
+ onChange={value => {
+ this.handleChange({
+ autoSendStatus: value === "1",
+ autoSendDayOfMonth: value === "1" ? "1" : null,
+ autoSendTimeOfDay: value === "1" ? "09:00" : null
+ });
+ }}/>
{
autoSendStatus &&
@@ -190,7 +197,7 @@ export default class BaseInformForm extends React.Component {
autoSendDayOfMonth,
autoSendTimeOfDay
}}
- onChange={this.hanldeChange}
+ onChange={this.handleChange}
/>
}
From e501aa293e3bdbec674c13a0c8a880f5ade96c83 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, 5 Jul 2023 10:54:39 +0800
Subject: [PATCH 4/5] =?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=E5=AE=9A=E6=97=B6=E5=8F=91=E6=94=BE?=
=?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=96=AA=E8=B5=84=E6=89=80=E5=B1=9E=E6=9C=88?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../pages/payroll/stepForm/baseInformForm.js | 46 ++++++++++++++-----
1 file changed, 34 insertions(+), 12 deletions(-)
diff --git a/pc4mobx/hrmSalary/pages/payroll/stepForm/baseInformForm.js b/pc4mobx/hrmSalary/pages/payroll/stepForm/baseInformForm.js
index 251b8e7e..82be3188 100644
--- a/pc4mobx/hrmSalary/pages/payroll/stepForm/baseInformForm.js
+++ b/pc4mobx/hrmSalary/pages/payroll/stepForm/baseInformForm.js
@@ -2,10 +2,12 @@ import React from "react";
import { WeaCheckbox, WeaFormItem, WeaInput, WeaLocaleProvider, WeaSearchGroup, WeaSelect, WeaTimePicker } from "ecCom";
import { inject, observer } from "mobx-react";
import { getReplenishRuleSetOptions } from "../../../apis/payroll";
+import { commonEnumList } from "../../../apis/payrollFiles";
import moment from "moment";
import { toJS } from "mobx";
import "./index.less";
+
const getLabel = WeaLocaleProvider.getLabel;
@inject("payrollStore")
@observer
@@ -16,6 +18,7 @@ export default class BaseInformForm extends React.Component {
inited: false,
options: [],
replenishRuleOptions: [],
+ salaryMonthOptions: [],
request: {}
};
}
@@ -24,6 +27,7 @@ export default class BaseInformForm extends React.Component {
const { payrollStore } = this.props;
const { getPayrollBaseForm } = payrollStore;
const templateBaseData = window.localStorage.getItem("template-basedata") || "{}";
+ this.commonEnumList();
getPayrollBaseForm(this.props.id).then(data => {
this.setState(
{
@@ -73,9 +77,19 @@ export default class BaseInformForm extends React.Component {
}
});
};
+ commonEnumList = () => {
+ commonEnumList({ enumClass: "com.engine.salary.enums.salarysend.SalaryAutoSendCycleTypeEnum" })
+ .then(({ status, data }) => {
+ if (status && !_.isEmpty(data)) {
+ this.setState({
+ salaryMonthOptions: _.map(data, it => ({ key: it.value.toString(), showname: it.defaultLabel }))
+ });
+ }
+ });
+ };
render() {
- const { request, options, replenishRuleOptions } = this.state;
+ const { request, options, replenishRuleOptions, salaryMonthOptions } = this.state;
const {
salarySob,
name,
@@ -87,7 +101,8 @@ export default class BaseInformForm extends React.Component {
emailStatus,
autoSendStatus,
autoSendDayOfMonth,
- autoSendTimeOfDay
+ autoSendTimeOfDay,
+ autoSendCycleType
} = request;
return (
@@ -185,7 +200,8 @@ export default class BaseInformForm extends React.Component {
this.handleChange({
autoSendStatus: value === "1",
autoSendDayOfMonth: value === "1" ? "1" : null,
- autoSendTimeOfDay: value === "1" ? "09:00" : null
+ autoSendTimeOfDay: value === "1" ? "09:00" : null,
+ autoSendCycleType: 0
});
}}/>
@@ -193,9 +209,11 @@ export default class BaseInformForm extends React.Component {
autoSendStatus &&
@@ -208,18 +226,23 @@ export default class BaseInformForm extends React.Component {
}
const SendTimeComp = (props) => {
- const { value, onChange } = props;
- const { autoSendDayOfMonth, autoSendTimeOfDay } = value;
+ const { value, onChange, salaryMonthOptions } = props;
+ const { autoSendDayOfMonth, autoSendTimeOfDay, autoSendCycleType } = value;
const handleChangeSendtime = (key, val) => {
- onChange({ autoSendDayOfMonth, autoSendTimeOfDay, [key]: val });
+ onChange({ autoSendDayOfMonth, autoSendTimeOfDay, autoSendCycleType, [key]: val });
};
return
- {getLabel(111, "每月")}
+ {getLabel(542604, "薪资所属月")}
+ handleChangeSendtime("autoSendCycleType", Number(v))}
+ />
({ key: item, showname: item }))}
+ options={_.map(getDay(autoSendCycleType), item => ({ key: item, showname: item }))}
onChange={v => handleChangeSendtime("autoSendDayOfMonth", v)}
/>
{getLabel(16992, "号")}
@@ -229,15 +252,14 @@ const SendTimeComp = (props) => {
;
};
-const getDay = () => {
+const getDay = (num = 1) => {
let days = [];
- let day = getDaysInMonth(moment().year(), moment().month() + 1);
+ let day = getDaysInMonth(moment().year(), moment().month() + num);
for (let i = 1; i <= day; i++) {
days.push(i);
}
return days;
};
-
const getDaysInMonth = (year, month) => {
month = parseInt(month, 10);
let d = new Date(year, month, 0);
From ae79ab24c37fedf6151d6afa29298eceb4c7e54c 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, 5 Jul 2023 14:04:26 +0800
Subject: [PATCH 5/5] =?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=E5=AE=9A=E6=97=B6=E5=8F=91=E6=94=BE?=
=?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=96=AA=E8=B5=84=E6=89=80=E5=B1=9E=E6=9C=88?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pc4mobx/hrmSalary/pages/payroll/stepForm/baseInformForm.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pc4mobx/hrmSalary/pages/payroll/stepForm/baseInformForm.js b/pc4mobx/hrmSalary/pages/payroll/stepForm/baseInformForm.js
index 82be3188..5cd3f6f1 100644
--- a/pc4mobx/hrmSalary/pages/payroll/stepForm/baseInformForm.js
+++ b/pc4mobx/hrmSalary/pages/payroll/stepForm/baseInformForm.js
@@ -201,7 +201,7 @@ export default class BaseInformForm extends React.Component {
autoSendStatus: value === "1",
autoSendDayOfMonth: value === "1" ? "1" : null,
autoSendTimeOfDay: value === "1" ? "09:00" : null,
- autoSendCycleType: 0
+ autoSendCycleType: value === "1" ? 1 : null,
});
}}/>