Explorar el Código

调整瑞都日报填报,日期选择

Zimo hace 2 días
padre
commit
c977ae6593
Se han modificado 1 ficheros con 22 adiciones y 8 borrados
  1. 22 8
      src/views/pms/iotrddailyreport/FillDailyReportForm.vue

+ 22 - 8
src/views/pms/iotrddailyreport/FillDailyReportForm.vue

@@ -263,10 +263,15 @@ const initDailyFuel = () => {
 }
 
 const loading = ref(false)
+let loadDetailVersion = 0
+
 async function loadDetail(id: number) {
+  const version = ++loadDetailVersion
   loading.value = true
   try {
     const res = await IotRdDailyReportApi.getIotRdDailyReport(id)
+    if (version !== loadDetailVersion) return
+
     data.value = res
 
     opinion.value = data.value.opinion || ''
@@ -319,7 +324,9 @@ async function loadDetail(id: number) {
 
     initDailyFuel()
   } finally {
-    loading.value = false
+    if (version === loadDetailVersion) {
+      loading.value = false
+    }
   }
 }
 
@@ -450,6 +457,8 @@ async function submitApprovalForm(auditStatus: number) {
 
 function handleOpenForm(id: number, type: 'edit' | 'approval' | 'detail' | 'time') {
   formType.value = type
+  data.value = {}
+  opinion.value = ''
   form.value = original()
   loadDetail(id).then(() => {
     nextTick(() => formRef.value?.clearValidate())
@@ -465,13 +474,18 @@ function handleCancel() {
   })
 }
 
-onMounted(() => {
-  if (Object.keys(route.query).length > 0) {
-    handleOpenForm(
-      Number(route.query.id),
-      route.query.mode as 'edit' | 'approval' | 'detail' | 'time'
-    )
-  }
+watch(
+  () => [route.query.id, route.query.mode],
+  ([id, mode]) => {
+    if (id && mode) {
+      handleOpenForm(Number(id), mode as 'edit' | 'approval' | 'detail' | 'time')
+    }
+  },
+  { immediate: true }
+)
+
+onUnmounted(() => {
+  loadDetailVersion++
 })
 
 const formDisabled = computed(() => (key?: string) => {