2023-10-16 11:13:44 +08:00
|
|
|
/*
|
|
|
|
|
* Author: 黎永顺
|
|
|
|
|
* name:工资单发放-重构页面新建编辑模板基础设置
|
|
|
|
|
* Description:
|
|
|
|
|
* Date: 2023/10/13
|
|
|
|
|
*/
|
|
|
|
|
import React, { Component } from "react";
|
2023-10-17 17:17:01 +08:00
|
|
|
import { toJS } from "mobx";
|
2023-10-16 11:13:44 +08:00
|
|
|
import { WeaFormItem, WeaLocaleProvider, WeaTools } from "ecCom";
|
|
|
|
|
import { tempBaseSetConditions, tempBaseSetFbConditions } from "../conditions";
|
2023-11-23 15:50:21 +08:00
|
|
|
import { payrollFormRender } from "../../form";
|
2023-10-16 11:13:44 +08:00
|
|
|
import { getPayrollBaseForm, getReplenishRuleSetOptions } from "../../../../apis/payroll";
|
|
|
|
|
import { commonEnumList } from "../../../../apis/archive";
|
|
|
|
|
import { SendTimeComp } from "../../../payroll/stepForm/baseInformForm";
|
2023-11-23 15:50:21 +08:00
|
|
|
import SmsSettingDialog from "./smsSettingDialog";
|
2023-10-16 11:13:44 +08:00
|
|
|
|
|
|
|
|
const getKey = WeaTools.getKey;
|
|
|
|
|
const getLabel = WeaLocaleProvider.getLabel;
|
|
|
|
|
|
|
|
|
|
class Index extends Component {
|
|
|
|
|
constructor(props) {
|
|
|
|
|
super(props);
|
|
|
|
|
this.state = {
|
|
|
|
|
conditions: [], salaryMonthOptions: [], fbConditions: [],
|
|
|
|
|
formData: {
|
2023-10-17 09:17:37 +08:00
|
|
|
autoSendDayOfMonth: "1",
|
|
|
|
|
autoSendTimeOfDay: "09:00",
|
|
|
|
|
autoSendCycleType: "1"
|
2023-11-23 15:50:21 +08:00
|
|
|
},
|
|
|
|
|
smsSettingDialog: { visible: false, content: "", salarySobId: "" }
|
2023-10-16 11:13:44 +08:00
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
componentDidMount() {
|
|
|
|
|
this.commonEnumList();
|
2023-10-17 09:17:37 +08:00
|
|
|
this.props.visible && this.getPayrollBaseForm(this.props);
|
2023-10-16 11:13:44 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
componentWillReceiveProps(nextProps, nextContext) {
|
|
|
|
|
if (nextProps.visible !== this.props.visible && nextProps.visible) this.getPayrollBaseForm(nextProps);
|
|
|
|
|
if (nextProps.visible !== this.props.visible && !nextProps.visible) {
|
2023-10-17 17:17:01 +08:00
|
|
|
nextProps.payrollStore.setTmplDataSource({});
|
2023-10-16 11:13:44 +08:00
|
|
|
nextProps.payrollStore.initPayrollTempForm();
|
|
|
|
|
nextProps.payrollStore.initPayrollTempFeedbackForm();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
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 }))
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
};
|
|
|
|
|
getPayrollBaseForm = (props) => {
|
2023-10-17 17:17:01 +08:00
|
|
|
const { tmplId: id, payrollStore: { payrollTempForm, payrollTempFeedbackForm, tmplDataSource } } = props;
|
|
|
|
|
getPayrollBaseForm({ id }).then(async ({ status, data }) => {
|
2023-10-16 11:13:44 +08:00
|
|
|
if (status) {
|
2023-10-17 17:17:01 +08:00
|
|
|
const { salaryTemplateBaseSet: { salarySobOptions, data: result } } = data;
|
|
|
|
|
const {
|
|
|
|
|
autoSendDayOfMonth = "1", autoSendTimeOfDay = "09:00", autoSendCycleType = "1",
|
2023-11-23 15:50:21 +08:00
|
|
|
smsSetting = "", ...fieldsEchoData
|
2023-10-18 17:12:44 +08:00
|
|
|
} = {
|
|
|
|
|
...result, ...toJS(tmplDataSource),
|
|
|
|
|
reissueRule: (
|
|
|
|
|
(!id && (_.isEmpty(toJS(tmplDataSource)) || (!_.isEmpty(toJS(tmplDataSource)) && toJS(tmplDataSource).replenishRule === "ALL"))) ||
|
|
|
|
|
(id && ((_.isEmpty(toJS(tmplDataSource)) && !result.replenishRule) || (!_.isEmpty(toJS(tmplDataSource)) && toJS(tmplDataSource).replenishRule === "ALL")))
|
|
|
|
|
) ? "0" : "1"
|
|
|
|
|
};
|
2023-10-17 17:17:01 +08:00
|
|
|
const { data: replenishRuleOptions } = (fieldsEchoData["reissueRule"] === "1" && fieldsEchoData["salarySob"]) ? await getReplenishRuleSetOptions({ salarySobId: fieldsEchoData["salarySob"] }) : [];
|
2023-10-16 11:13:44 +08:00
|
|
|
this.setState({
|
|
|
|
|
conditions: _.map(tempBaseSetConditions, it => {
|
|
|
|
|
if (it.title === "baseSet") {
|
|
|
|
|
return {
|
|
|
|
|
...it, title: getLabel(82743, "基础信息"),
|
|
|
|
|
items: _.map(it.items, o => {
|
2023-10-17 17:17:01 +08:00
|
|
|
if (getKey(o) === "salarySob") {
|
2023-10-16 11:13:44 +08:00
|
|
|
return {
|
2023-11-23 15:50:21 +08:00
|
|
|
...o, options: _.map(salarySobOptions, g => ({ key: g.id.toString(), showname: g.name })),
|
|
|
|
|
viewAttr: _.isNil(id) ? o.viewAttr : 1
|
2023-10-16 11:13:44 +08:00
|
|
|
};
|
|
|
|
|
} else if (getKey(o) === "reissueRule") {
|
|
|
|
|
return {
|
|
|
|
|
...o, options: [
|
|
|
|
|
{ key: "0", showname: getLabel(332, "全部") },
|
|
|
|
|
{ key: "1", showname: getLabel(542696, "按规则") }
|
|
|
|
|
]
|
|
|
|
|
};
|
2023-10-17 17:17:01 +08:00
|
|
|
} else if (getKey(o) === "replenishRule") {
|
|
|
|
|
return {
|
|
|
|
|
...o, hide: (_.isNil(fieldsEchoData["reissueRule"]) || fieldsEchoData["reissueRule"] === "0"),
|
|
|
|
|
options: _.map(replenishRuleOptions, t => ({ key: t.id, showname: t.content }))
|
|
|
|
|
};
|
2023-10-16 11:13:44 +08:00
|
|
|
}
|
|
|
|
|
return { ...o };
|
|
|
|
|
})
|
|
|
|
|
};
|
|
|
|
|
} else if (it.title === "sendSet") {
|
|
|
|
|
return {
|
|
|
|
|
...it, title: getLabel(18905, "发送设置"),
|
|
|
|
|
items: _.map(it.items, o => {
|
|
|
|
|
if (getKey(o) === "autoSendStatus") {
|
|
|
|
|
return {
|
|
|
|
|
...o,
|
|
|
|
|
helpfulTitle: getLabel(544272, "开启后,还需在计划任务中配置定时任务,执行工资单定时发送任务;")
|
|
|
|
|
};
|
2023-11-23 15:50:21 +08:00
|
|
|
} else if (getKey(o) === "smsSetting") {
|
|
|
|
|
return {
|
|
|
|
|
...o,
|
2023-12-13 10:19:37 +08:00
|
|
|
hide: _.isNil(fieldsEchoData["smsStatus"]) || !fieldsEchoData["smsStatus"] || (!_.isNil(fieldsEchoData["smsStatus"]) && (fieldsEchoData["smsStatus"].toString() === "0"))
|
2023-11-23 15:50:21 +08:00
|
|
|
};
|
2023-10-16 11:13:44 +08:00
|
|
|
}
|
|
|
|
|
return { ...o };
|
|
|
|
|
})
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
}),
|
|
|
|
|
fbConditions: _.map(tempBaseSetFbConditions, it => {
|
|
|
|
|
if (it.title === "feedbackSet") {
|
|
|
|
|
return {
|
|
|
|
|
...it, title: getLabel(544092, "工资单确认反馈设置"),
|
|
|
|
|
items: _.map(it.items, o => {
|
|
|
|
|
if (getKey(o) === "autoAckDays") {
|
|
|
|
|
return {
|
|
|
|
|
...o,
|
2023-10-17 17:17:01 +08:00
|
|
|
hide: _.isNil(fieldsEchoData["ackFeedbackStatus"]) ? o.hide : !fieldsEchoData["ackFeedbackStatus"],
|
2023-10-16 11:13:44 +08:00
|
|
|
helpfulTitle: getLabel(544273, "开启后,还需在计划任务中配置定时任务,执行自动确认任务;邮箱端查看工资单暂不支持确认及反馈;")
|
|
|
|
|
};
|
2024-01-24 16:29:27 +08:00
|
|
|
} else if (getKey(o) === "feedbackUrl" || getKey(o) === "mobileFeedbackUrl") {
|
2023-10-17 17:17:01 +08:00
|
|
|
return {
|
|
|
|
|
...o,
|
|
|
|
|
hide: _.isNil(fieldsEchoData["ackFeedbackStatus"]) ? o.hide : !fieldsEchoData["ackFeedbackStatus"]
|
|
|
|
|
};
|
2023-10-16 11:13:44 +08:00
|
|
|
}
|
|
|
|
|
return { ...o };
|
|
|
|
|
})
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
}, () => {
|
|
|
|
|
payrollTempForm.initFormFields(this.state.conditions);
|
|
|
|
|
payrollTempFeedbackForm.initFormFields(this.state.fbConditions);
|
2023-10-17 17:17:01 +08:00
|
|
|
//字段回显
|
|
|
|
|
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":
|
2023-11-23 15:50:21 +08:00
|
|
|
case "smsStatus":
|
2023-10-17 17:17:01 +08:00
|
|
|
payrollTempForm.updateFields({ [it]: fieldsEchoData[it] ? "1" : "0" });
|
2023-11-23 15:50:21 +08:00
|
|
|
this.setState({
|
|
|
|
|
smsSettingDialog: {
|
|
|
|
|
...this.state.smsSettingDialog,
|
|
|
|
|
content: (!_.isNil(smsSetting) && smsSetting.length > 0) ? JSON.parse(smsSetting).content : ""
|
|
|
|
|
}
|
|
|
|
|
});
|
2023-10-17 17:17:01 +08:00
|
|
|
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 {
|
2023-12-29 13:53:26 +08:00
|
|
|
payrollTempFeedbackForm.updateFields({ [it]: !_.isNil(fieldsEchoData[it]) ? fieldsEchoData[it].toString() : "/" });
|
2023-10-17 17:17:01 +08:00
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
this.setState({
|
|
|
|
|
formData: {
|
|
|
|
|
...this.state.formData,
|
|
|
|
|
autoSendDayOfMonth: !_.isNil(autoSendDayOfMonth) ? autoSendDayOfMonth : "1",
|
|
|
|
|
autoSendTimeOfDay: !_.isNil(autoSendTimeOfDay) ? autoSendTimeOfDay : "09:00",
|
|
|
|
|
autoSendCycleType: !_.isNil(autoSendCycleType) ? autoSendCycleType : "1"
|
|
|
|
|
}
|
|
|
|
|
});
|
2023-10-16 11:13:44 +08:00
|
|
|
this.forceUpdate();
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
};
|
|
|
|
|
handleChange = async (params) => {
|
2023-10-18 17:12:44 +08:00
|
|
|
const { payrollStore: { payrollTempForm, setHasBeenModify } } = this.props;
|
2023-10-17 17:17:01 +08:00
|
|
|
const key = _.keys(params)[0], salarySobId = payrollTempForm.getFormParams().salarySob,
|
2023-10-16 11:13:44 +08:00
|
|
|
reissueRule = payrollTempForm.getFormParams().reissueRule;
|
|
|
|
|
const { data: replenishRuleOptions } = (reissueRule === "1" && salarySobId) ? await getReplenishRuleSetOptions({ salarySobId }) : [];
|
|
|
|
|
if (key === "reissueRule") {
|
|
|
|
|
this.setState({
|
|
|
|
|
conditions: _.map(this.state.conditions, it => {
|
|
|
|
|
if (it.title === getLabel(82743, "基础信息")) {
|
|
|
|
|
return {
|
|
|
|
|
...it, items: _.map(it.items, o => {
|
|
|
|
|
if (getKey(o) === "replenishRule") {
|
|
|
|
|
return {
|
|
|
|
|
...o, hide: params[key].value === "0",
|
2023-10-17 09:17:37 +08:00
|
|
|
rules: (!_.isEmpty(replenishRuleOptions) && reissueRule === "1") ? "required|string" : "",
|
|
|
|
|
viewAttr: (!_.isEmpty(replenishRuleOptions) && reissueRule === "1") ? 3 : 2,
|
2023-10-16 11:13:44 +08:00
|
|
|
options: _.map(replenishRuleOptions, t => ({ key: t.id, showname: t.content }))
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
return { ...o };
|
|
|
|
|
})
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
return { ...it };
|
|
|
|
|
})
|
|
|
|
|
}, () => {
|
|
|
|
|
payrollTempForm.initFormFields(this.state.conditions);
|
2023-10-17 09:17:37 +08:00
|
|
|
this.resetRequiredForm();
|
2023-10-16 11:13:44 +08:00
|
|
|
});
|
2023-10-17 17:17:01 +08:00
|
|
|
} else if (key === "salarySob") {
|
2023-10-16 11:13:44 +08:00
|
|
|
this.setState({
|
|
|
|
|
conditions: _.map(this.state.conditions, it => {
|
|
|
|
|
if (it.title === getLabel(82743, "基础信息")) {
|
|
|
|
|
return {
|
|
|
|
|
...it, items: _.map(it.items, o => {
|
|
|
|
|
if (getKey(o) === "replenishRule") {
|
|
|
|
|
return {
|
2023-10-17 09:17:37 +08:00
|
|
|
...o, options: _.map(replenishRuleOptions, t => ({ key: t.id, showname: t.content })),
|
|
|
|
|
rules: (!_.isEmpty(replenishRuleOptions) && reissueRule === "1") ? "required|string" : "",
|
|
|
|
|
viewAttr: (!_.isEmpty(replenishRuleOptions) && reissueRule === "1") ? 3 : 2
|
2023-10-16 11:13:44 +08:00
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
return { ...o };
|
|
|
|
|
})
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
return { ...it };
|
|
|
|
|
})
|
|
|
|
|
}, () => {
|
|
|
|
|
payrollTempForm.initFormFields(this.state.conditions);
|
2023-10-17 17:17:01 +08:00
|
|
|
const salarySob = payrollTempForm.getFormDatas().salarySob;
|
2023-10-16 11:13:44 +08:00
|
|
|
payrollTempForm.updateFields({
|
|
|
|
|
name: salarySob.valueSpan,
|
|
|
|
|
replenishName: salarySob.valueSpan + "-补发工资单"
|
|
|
|
|
});
|
2023-10-17 09:17:37 +08:00
|
|
|
this.resetRequiredForm();
|
2023-10-16 11:13:44 +08:00
|
|
|
});
|
2023-11-23 15:50:21 +08:00
|
|
|
} else if (key === "smsStatus") {
|
|
|
|
|
this.setState({
|
|
|
|
|
conditions: _.map(this.state.conditions, it => {
|
|
|
|
|
if (it.title === getLabel(18905, "发送设置")) {
|
|
|
|
|
return {
|
|
|
|
|
...it, items: _.map(it.items, o => {
|
|
|
|
|
if (getKey(o) === "smsSetting") {
|
|
|
|
|
return {
|
|
|
|
|
...o, hide: params[key].value === "0"
|
|
|
|
|
// rules: (!_.isEmpty(replenishRuleOptions) && reissueRule === "1") ? "required|string" : "",
|
|
|
|
|
// viewAttr: (!_.isEmpty(replenishRuleOptions) && reissueRule === "1") ? 3 : 2,
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
return { ...o };
|
|
|
|
|
})
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
return { ...it };
|
|
|
|
|
})
|
|
|
|
|
}, () => {
|
|
|
|
|
payrollTempForm.initFormFields(this.state.conditions);
|
|
|
|
|
});
|
2023-10-16 11:13:44 +08:00
|
|
|
}
|
2023-10-18 17:12:44 +08:00
|
|
|
setHasBeenModify(true);
|
2023-10-16 11:13:44 +08:00
|
|
|
this.forceUpdate();
|
|
|
|
|
};
|
2023-11-23 15:50:21 +08:00
|
|
|
handleSmsSetting = () => {
|
|
|
|
|
const { payrollStore: { payrollTempForm } } = this.props;
|
|
|
|
|
const { smsSettingDialog } = this.state;
|
|
|
|
|
this.setState({
|
|
|
|
|
smsSettingDialog: {
|
|
|
|
|
...smsSettingDialog, visible: true,
|
|
|
|
|
salarySobId: payrollTempForm.getFormParams().salarySob
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
};
|
2023-10-17 09:17:37 +08:00
|
|
|
resetRequiredForm = () => {
|
|
|
|
|
const { payrollStore: { payrollTempForm } } = this.props;
|
|
|
|
|
const reissueRule = payrollTempForm.getFormParams().reissueRule;
|
|
|
|
|
if (reissueRule === "0") payrollTempForm.updateFields({ replenishRule: "0" });
|
|
|
|
|
if (reissueRule === "1") payrollTempForm.updateFields({ replenishRule: "" });
|
|
|
|
|
};
|
2023-10-16 11:13:44 +08:00
|
|
|
handleFbChange = (params) => {
|
2023-10-18 17:12:44 +08:00
|
|
|
const { payrollStore: { payrollTempFeedbackForm, setHasBeenModify } } = this.props;
|
2023-10-16 11:13:44 +08:00
|
|
|
const key = _.keys(params)[0];
|
|
|
|
|
if (key === "ackFeedbackStatus") {
|
|
|
|
|
this.setState({
|
|
|
|
|
fbConditions: _.map(this.state.fbConditions, it => {
|
|
|
|
|
if (it.title === getLabel(544092, "工资单确认反馈设置")) {
|
|
|
|
|
return {
|
|
|
|
|
...it, items: _.map(it.items, o => {
|
2024-01-24 16:29:27 +08:00
|
|
|
if (getKey(o) === "autoAckDays" || getKey(o) === "feedbackUrl" || getKey(o) === "mobileFeedbackUrl") {
|
2023-10-16 11:13:44 +08:00
|
|
|
return {
|
|
|
|
|
...o, hide: params[key].value === "0"
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
return { ...o };
|
|
|
|
|
})
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
return { ...it };
|
|
|
|
|
})
|
|
|
|
|
}, () => {
|
|
|
|
|
payrollTempFeedbackForm.initFormFields(this.state.fbConditions);
|
2023-10-17 09:17:37 +08:00
|
|
|
const ackFeedbackStatus = payrollTempFeedbackForm.getFormParams().ackFeedbackStatus;
|
2024-01-24 16:29:27 +08:00
|
|
|
if (ackFeedbackStatus === "0") payrollTempFeedbackForm.updateFields({
|
|
|
|
|
autoAckDays: "7",
|
|
|
|
|
feedbackUrl: "/",
|
|
|
|
|
mobileFeedbackUrl: "/"
|
|
|
|
|
});
|
2023-10-16 11:13:44 +08:00
|
|
|
});
|
|
|
|
|
}
|
2023-10-18 17:12:44 +08:00
|
|
|
setHasBeenModify(true);
|
2023-10-16 11:13:44 +08:00
|
|
|
this.forceUpdate();
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
render() {
|
2023-11-23 15:50:21 +08:00
|
|
|
const { conditions, fbConditions, formData, salaryMonthOptions, smsSettingDialog } = this.state;
|
2023-10-16 11:13:44 +08:00
|
|
|
const { payrollStore: { payrollTempForm, payrollTempFeedbackForm } } = this.props;
|
|
|
|
|
const autoSendStatus = payrollTempForm.getFormParams().autoSendStatus;
|
|
|
|
|
return (
|
|
|
|
|
<React.Fragment>
|
2023-11-23 15:50:21 +08:00
|
|
|
{!_.isEmpty(fbConditions) && payrollFormRender(payrollTempForm, conditions, this.handleChange, this.handleSmsSetting, smsSettingDialog.content)}
|
2023-10-16 11:13:44 +08:00
|
|
|
{
|
|
|
|
|
autoSendStatus === "1" &&
|
|
|
|
|
<WeaFormItem className="sendTime-outer" label={getLabel(18961, "发送时间")} labelCol={{ span: 6 }}
|
|
|
|
|
wrapperCol={{ span: 16 }}>
|
|
|
|
|
<SendTimeComp salaryMonthOptions={salaryMonthOptions} value={{ ...formData }}
|
2023-10-17 09:17:37 +08:00
|
|
|
onChange={(v) => this.setState({ formData: { ...formData, ...v } })}
|
2023-10-16 11:13:44 +08:00
|
|
|
/>
|
|
|
|
|
</WeaFormItem>
|
|
|
|
|
}
|
2023-11-23 15:50:21 +08:00
|
|
|
{!_.isEmpty(fbConditions) && payrollFormRender(payrollTempFeedbackForm, fbConditions, this.handleFbChange)}
|
|
|
|
|
<SmsSettingDialog {...smsSettingDialog}
|
|
|
|
|
onCancel={({ smsContent } = {}) => this.setState({
|
|
|
|
|
smsSettingDialog: { ...smsSettingDialog, visible: false, content: smsContent || "" }
|
|
|
|
|
})}
|
|
|
|
|
/>
|
2023-10-16 11:13:44 +08:00
|
|
|
</React.Fragment>
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export default Index;
|