|
|
@@ -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) => {
|