|
@@ -31,15 +31,29 @@
|
|
|
<SelectUser v-model="formData.receiveUserIds" />
|
|
|
<div class="blank-line"></div>
|
|
|
<div class="send-btn-group" v-if="formData.isUpdate">
|
|
|
- <van-button type="primary" block @click="onSubmit(false)"
|
|
|
+ <van-button
|
|
|
+ type="primary"
|
|
|
+ block
|
|
|
+ @click="onSubmit(false)"
|
|
|
+ :loading="submitLoading"
|
|
|
>更新</van-button
|
|
|
>
|
|
|
</div>
|
|
|
<div class="send-btn-group" v-else>
|
|
|
- <van-button type="success" block class="send-btn" @click="onSubmit(true)"
|
|
|
+ <van-button
|
|
|
+ type="success"
|
|
|
+ block
|
|
|
+ class="send-btn"
|
|
|
+ @click="onSubmit(true)"
|
|
|
+ :loading="tempLoading"
|
|
|
>暂存</van-button
|
|
|
>
|
|
|
- <van-button type="primary" block class="send-btn" @click="onSubmit(false)"
|
|
|
+ <van-button
|
|
|
+ type="primary"
|
|
|
+ block
|
|
|
+ class="send-btn"
|
|
|
+ @click="onSubmit(false)"
|
|
|
+ :loading="submitLoading"
|
|
|
>发送</van-button
|
|
|
>
|
|
|
</div>
|
|
@@ -200,6 +214,8 @@ const projectChange = (data: any) => {
|
|
|
|
|
|
// 提交
|
|
|
const { replace } = useRouter();
|
|
|
+const tempLoading = ref(false);
|
|
|
+const submitLoading = ref(false);
|
|
|
const onSubmit = throttle(async (isTemp: boolean, isRouteLeave?: boolean) => {
|
|
|
const date = thisWeek.value.split(" ~ ");
|
|
|
const userInfo = getUserInfo();
|
|
@@ -221,6 +237,14 @@ const onSubmit = throttle(async (isTemp: boolean, isRouteLeave?: boolean) => {
|
|
|
});
|
|
|
return;
|
|
|
}
|
|
|
+ // 提交或暂存时loading
|
|
|
+ if (!isRouteLeave) {
|
|
|
+ if (isTemp) {
|
|
|
+ tempLoading.value = true;
|
|
|
+ } else {
|
|
|
+ submitLoading.value = true;
|
|
|
+ }
|
|
|
+ }
|
|
|
const result: any = await http.submitReport(params);
|
|
|
// 如果暂存且有返回id
|
|
|
if (result.data) {
|
|
@@ -241,6 +265,8 @@ const onSubmit = throttle(async (isTemp: boolean, isRouteLeave?: boolean) => {
|
|
|
} else {
|
|
|
showToast(`${type}失败,请稍后重试`);
|
|
|
}
|
|
|
+ tempLoading.value = false;
|
|
|
+ submitLoading.value = false;
|
|
|
}, 5000);
|
|
|
|
|
|
// 获取是否工作日
|