|
@@ -126,6 +126,16 @@ onMounted(async () => {
|
|
|
formData.receiveUserIds = receiveUser;
|
|
|
});
|
|
|
|
|
|
+// 在退出前调用一下暂存
|
|
|
+onBeforeRouteLeave((ev: any) => {
|
|
|
+ // 如果是千万详情,则不做处理
|
|
|
+ if (ev.name == "LogsDetail") return;
|
|
|
+ // 如果日志内容不为空则触发暂存,否则直接退出
|
|
|
+ if (formData.reportContent?.length > 0) {
|
|
|
+ onSubmit(true);
|
|
|
+ }
|
|
|
+});
|
|
|
+
|
|
|
// 回填暂存数据
|
|
|
const receiveData = (weekDetail: any) => {
|
|
|
formData.reportContent = weekDetail.reportContent;
|
|
@@ -156,7 +166,7 @@ const projectChange = (data: any) => {
|
|
|
};
|
|
|
|
|
|
// 提交
|
|
|
-const { push, replace } = useRouter();
|
|
|
+const { replace } = useRouter();
|
|
|
const onSubmit = async (isTemp: boolean) => {
|
|
|
const date = thisWeek.value.split(" ~ ");
|
|
|
const userInfo = getUserInfo();
|
|
@@ -169,6 +179,7 @@ const onSubmit = async (isTemp: boolean) => {
|
|
|
reportEndDate: moment(date[1]).valueOf(),
|
|
|
isTemp,
|
|
|
};
|
|
|
+ // 提交前校验
|
|
|
const submitCheck = onSubmitCheck(params);
|
|
|
if (!submitCheck.success) {
|
|
|
showToast({
|
|
@@ -178,9 +189,19 @@ const onSubmit = async (isTemp: boolean) => {
|
|
|
return;
|
|
|
}
|
|
|
const result: any = await http.submitReport(params);
|
|
|
+ const type = isTemp ? "暂存" : "发送";
|
|
|
if (result.msg == "success") {
|
|
|
- showSuccessToast("发送成功");
|
|
|
- push(`/logsDetail?id=${result.data}`);
|
|
|
+ showSuccessToast(`${type}成功`);
|
|
|
+ if (!isTemp) {
|
|
|
+ replace({
|
|
|
+ path: "/logsDetail",
|
|
|
+ query: {
|
|
|
+ id: result.data,
|
|
|
+ },
|
|
|
+ });
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ showToast(`${type}失败,请稍后重试`);
|
|
|
}
|
|
|
};
|
|
|
|