|
@@ -31,23 +31,15 @@
|
|
|
<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="throttle(onSubmit(false))"
|
|
|
+ <van-button type="primary" block @click="onSubmit(false)"
|
|
|
>更新</van-button
|
|
|
>
|
|
|
</div>
|
|
|
<div class="send-btn-group" v-else>
|
|
|
- <van-button
|
|
|
- type="success"
|
|
|
- block
|
|
|
- class="send-btn"
|
|
|
- @click="throttle(onSubmit(true))"
|
|
|
+ <van-button type="success" block class="send-btn" @click="onSubmit(true)"
|
|
|
>暂存</van-button
|
|
|
>
|
|
|
- <van-button
|
|
|
- type="primary"
|
|
|
- block
|
|
|
- class="send-btn"
|
|
|
- @click="throttle(onSubmit(false))"
|
|
|
+ <van-button type="primary" block class="send-btn" @click="onSubmit(false)"
|
|
|
>发送</van-button
|
|
|
>
|
|
|
</div>
|
|
@@ -62,11 +54,12 @@ import { reactive, watch } from "vue";
|
|
|
import { showSuccessToast, showToast } from "vant";
|
|
|
import SelectUser from "@/components/UserSelect.vue";
|
|
|
import ProjectList from "../components/ProjectList.vue";
|
|
|
-import { getUserInfo, throttle } from "@/utils/tools";
|
|
|
+import { getUserInfo } from "@/utils/tools";
|
|
|
import { http } from "../http";
|
|
|
import { IReport } from "../interface";
|
|
|
import { onSubmitCheck, setWorkDayListToWeek } from "../service";
|
|
|
import PubsubService from "@/utils/PubsubService";
|
|
|
+import { throttle } from "lodash-es";
|
|
|
|
|
|
interface FormData {
|
|
|
reportContent: string; // 内容
|
|
@@ -207,7 +200,7 @@ const projectChange = (data: any) => {
|
|
|
|
|
|
// 提交
|
|
|
const { replace } = useRouter();
|
|
|
-const onSubmit = async (isTemp: boolean, isRouteLeave?: boolean) => {
|
|
|
+const onSubmit = throttle(async (isTemp: boolean, isRouteLeave?: boolean) => {
|
|
|
const date = thisWeek.value.split(" ~ ");
|
|
|
const userInfo = getUserInfo();
|
|
|
const params: IReport = {
|
|
@@ -229,12 +222,13 @@ const onSubmit = async (isTemp: boolean, isRouteLeave?: boolean) => {
|
|
|
return;
|
|
|
}
|
|
|
const result: any = await http.submitReport(params);
|
|
|
+ // 如果暂存且有返回id
|
|
|
+ if (result.data) {
|
|
|
+ formData.id = result.data;
|
|
|
+ }
|
|
|
if (isRouteLeave) return; // 如果是退出,则不提示暂存
|
|
|
const type = isTemp ? "暂存" : "发送";
|
|
|
if (result.msg == "success") {
|
|
|
- if (result.data) {
|
|
|
- formData.id = result.data;
|
|
|
- }
|
|
|
showSuccessToast(`${type}成功`);
|
|
|
if (!isTemp) {
|
|
|
replace({
|
|
@@ -247,7 +241,7 @@ const onSubmit = async (isTemp: boolean, isRouteLeave?: boolean) => {
|
|
|
} else {
|
|
|
showToast(`${type}失败,请稍后重试`);
|
|
|
}
|
|
|
-};
|
|
|
+}, 5000);
|
|
|
|
|
|
// 获取是否工作日
|
|
|
const getIsWorkDays = async (date?: string) => {
|