feature/2.9.42310.02-薪酬统计报表统计项目设置

This commit is contained in:
黎永顺 2023-11-06 17:05:26 +08:00
parent f9f47324e5
commit 8bd1cd51af
1 changed files with 23 additions and 10 deletions

View File

@ -47,6 +47,7 @@ class StatisticalMicroSettingsSlide extends Component {
dataSource: [],
unitTypeList: [],
salaryMonth: [],
salaryMonthDefault: "",
showMonthRange: true,
statisticalItemPayload: {
visible: false, id: "", dimension: "",
@ -99,7 +100,8 @@ class StatisticalMicroSettingsSlide extends Component {
if (status && !_.isEmpty(data)) {
const { salaryEndMonth, salaryStartMonth, ...formData } = data.data;
this.setState({
salaryMonth: [salaryStartMonth || moment().startOf("year").format("YYYY-MM"), salaryEndMonth || moment().format("YYYY-MM")]
salaryMonth: [salaryStartMonth || moment().startOf("year").format("YYYY-MM"), salaryEndMonth || moment().format("YYYY-MM")],
salaryMonthDefault: salaryStartMonth || moment().startOf("year").format("YYYY-MM")
});
const fields = _.map(conditions[0].items, it => it.domkey[0]);
fields.map(item => {
@ -119,12 +121,12 @@ class StatisticalMicroSettingsSlide extends Component {
});
};
reportStatisticsSaveSearchCondition = () => {
const { salaryMonth, dataSource } = this.state;
const { salaryMonth, salaryMonthDefault, dataSource } = this.state;
const { form, id, dimension, onClose } = this.props;
const [salaryStartMonth, salaryEndMonth] = salaryMonth;
const { department, employee, position, subCompany, taxAgent, ...extra } = form.getFormDatas();
const { value, valueSpan } = taxAgent;
if (!salaryEndMonth || !salaryStartMonth) {
if ((!salaryEndMonth || !salaryStartMonth) && !salaryMonthDefault) {
this.refs.weaError.showError();
return;
}
@ -137,13 +139,14 @@ class StatisticalMicroSettingsSlide extends Component {
subCompany: _.map(subCompany.valueObj, it => ({ id: it.id, name: it.name })),
taxAgent: value ? _.map(value.split(","), (it, idx) => ({ id: it, name: valueSpan.split(",")[idx] })) : [],
items: dataSource,
salaryEndMonth: salaryEndMonth + "-01",
salaryStartMonth: salaryStartMonth + "-01"
salaryEndMonth: (salaryEndMonth || salaryMonthDefault) + "-01",
salaryStartMonth: (salaryStartMonth || salaryMonthDefault) + "-01"
};
this.setState({ loading: true });
reportStatisticsSaveSearchCondition(payload).then(({ status, errormsg }) => {
this.setState({ loading: false });
if (status) {
this.setState({ showMonthRange: true });
onClose(true);
message.success(getLabel(111, "保存成功"));
} else {
@ -233,7 +236,7 @@ class StatisticalMicroSettingsSlide extends Component {
render() {
const {
salaryMonth, showMonthRange, conditions, selectedRowKeys, loading,
salaryMonth, salaryMonthDefault, showMonthRange, conditions, selectedRowKeys, loading,
statisticalItemPayload, dataSource, unitTypeList
} = this.state;
const { id, dimension, isShare } = this.props;
@ -275,7 +278,9 @@ class StatisticalMicroSettingsSlide extends Component {
<WeaSlideModal
className="microSlideWrapper"
{...this.props}
onClose={() => this.props.onClose()}
onClose={() => {
this.setState({ showMonthRange: true }, () => this.props.onClose());
}}
top={0}
measureT="%"
width={800}
@ -291,13 +296,21 @@ class StatisticalMicroSettingsSlide extends Component {
<div className="date-set-area">
<div className="date-item">
<WeaError tipPosition="bottom" ref="weaError" error={getLabel(111, "此项必填")}>
<WeaDatePicker format="YYYY-MM" viewAttr={3} value={salaryMonth[0]} disabled={isShare}
onChange={v => this.setState({ salaryMonth: [v, v], showMonthRange: false })}/>
<WeaDatePicker format="YYYY-MM" viewAttr={3} value={salaryMonth[0] || salaryMonthDefault}
disabled={isShare}
onChange={v => this.setState({
salaryMonth: [v, v],
salaryMonthDefault: v,
showMonthRange: !v
})}/>
</WeaError>
</div>
<div className="date-item">
<a href="javascript:void(0);"
onClick={() => this.setState({ showMonthRange: true })}>{getLabel(111, "指定日期范围")}</a>
onClick={() => this.setState({
showMonthRange: true,
salaryMonth: []
})}>{getLabel(111, "指定日期范围")}</a>
{
showMonthRange &&
<WeaError tipPosition="bottom" ref="weaError" error={getLabel(111, "此项必填")}>