From ac2ca1c55728096667ceb9713e06995a4dfdf0fc Mon Sep 17 00:00:00 2001
From: zhengyiming <540361168@qq.com>
Date: 星期一, 03 十一月 2025 18:01:49 +0800
Subject: [PATCH] fix: 四流

---
 src/views/MaterialReview/MaterialReviewAudit.vue |  147 +++++++++----------------------------------------
 1 files changed, 27 insertions(+), 120 deletions(-)

diff --git a/src/views/MaterialReview/MaterialReviewAudit.vue b/src/views/MaterialReview/MaterialReviewAudit.vue
index 104cf51..698fbc7 100644
--- a/src/views/MaterialReview/MaterialReviewAudit.vue
+++ b/src/views/MaterialReview/MaterialReviewAudit.vue
@@ -1,121 +1,24 @@
 <template>
-  <LoadingLayout>
-    <AppContainer>
-      <PageFormLayout title="鏉愭枡瀹℃牳">
-        <DetailView :form="form" :has-form="true">
-          <ChunkCellV2 title="鐢虫姤浼佷笟鍚嶅崟" class="chunk-cell-table">
-            <DeclareEnterpriseTableView ref="tableRef"></DeclareEnterpriseTableView>
-          </ChunkCellV2>
-          <ChunkCell>
-            <ProForm :model="form" ref="formRef" label-width="120px">
-              <ProFormCol>
-                <ProFormColItem :span="12">
-                  <ProFormItemV2
-                    label="鐢虫姤瀹℃牳:"
-                    prop="status"
-                    :check-rules="[{ message: '璇烽�夋嫨瀹℃牳鐘舵��' }]"
-                  >
-                    <ProFormRadio v-model="form.status" :value-enum="DataRangeEnumText" />
-                  </ProFormItemV2>
-                </ProFormColItem>
-              </ProFormCol>
-              <ProFormCol>
-                <ProFormColItem>
-                  <ProFormItemV2 label="椹冲洖鍘熷洜:" prop="remark">
-                    <ProFormTextArea
-                      v-model="form.remark"
-                      placeholder="璇疯緭鍏�"
-                      show-word-limit
-                      :maxlength="200"
-                    ></ProFormTextArea>
-                  </ProFormItemV2>
-                </ProFormColItem>
-              </ProFormCol>
-            </ProForm>
-          </ChunkCell>
-        </DetailView>
-        <template #footer>
-          <el-button @click="handleBack">鍏抽棴</el-button>
-          <el-button type="primary" @click="handleConfirm()">鎻愪氦</el-button>
-        </template>
-      </PageFormLayout>
-    </AppContainer>
-  </LoadingLayout>
+  <MaterialReviewAuditView :confirm="confirm"></MaterialReviewAuditView>
 </template>
 
 <script setup lang="ts">
-import {
-  AppContainer,
-  ProForm,
-  ChunkCell,
-  ProFormCol,
-  ProFormColItem,
-  ProFormItemV2,
-  ProFormTextArea,
-  ProFormRadio,
-  LoadingLayout,
-  UploadUserFile,
-  PageFormLayout,
-} from '@bole-core/components';
-import { DataRangeEnum, DataRangeEnumText } from '@/constants';
-import ChunkCellV2 from '@/components/Layout/ChunkCellV2.vue';
-import DetailView from '@/components/commonView/DetailView.vue';
-import DeclareEnterpriseTableView from '@/components/commonView/DeclareEnterpriseTableView.vue';
-import { useQuery } from '@tanstack/vue-query';
+import { useQuery, useQueryClient } from '@tanstack/vue-query';
 import * as parkBountyApplyServices from '@/services/api/ParkBountyApply';
-import { convertApi2FormUrlOnlyOne } from '@/utils';
-import { useRouteView } from '@/hooks';
-import { FormInstance } from 'element-plus';
+import { useGlobalEventContext, useRouteView } from '@/hooks';
+import { Message } from '@bole-core/core';
+import { EnterpriseApplyFileUtils } from '@/components/commonView/utils';
+import MaterialReviewAuditView from './components/MaterialReviewAuditView.vue';
+import { Form } from './components/materialReviewAudit';
 
 defineOptions({
   name: 'MaterialReviewAudit',
 });
 
 const route = useRoute();
+const eventContext = useGlobalEventContext();
 const { closeViewPush } = useRouteView();
 const id = route.params?.id as string;
-const form = reactive({
-  batchNo: '',
-  parkName: '',
-  parkTypeName: '',
-  applyMonth: '',
-  applySumAmount: 0,
-  enterpriseTaxSubFileUrl: [] as UploadUserFile[],
-  enterpriseOperateFileUrl: [] as UploadUserFile[],
-  bountyAssignFileUlr: [] as UploadUserFile[],
-  bountyCollectFileUrl: [] as UploadUserFile[],
-
-  status: '' as any as DataRangeEnum,
-  remark: '',
-});
-
-const tableRef = ref<InstanceType<typeof DeclareEnterpriseTableView>>();
-
-const { data: detail, isLoading } = useQuery({
-  queryKey: ['parkBountyApplyServices/getParkBountyApplyDetail', id],
-  queryFn: async () => {
-    return await parkBountyApplyServices.getParkBountyApplyDetailBaseInfo(
-      { parkBountyApplyId: id },
-      {
-        showLoading: false,
-      }
-    );
-  },
-  placeholderData: () => ({} as API.ParkBountyApplyBaseInfo),
-  onSuccess(data) {
-    form.batchNo = data.batchNo;
-    form.parkName = data.parkName;
-    form.parkTypeName = data.parkTypeName;
-    form.applyMonth = data.applyMonth;
-    form.applySumAmount = data.applySumAmount;
-    form.enterpriseTaxSubFileUrl = convertApi2FormUrlOnlyOne(data?.enterpriseTaxSubFileUrl);
-    form.enterpriseOperateFileUrl = convertApi2FormUrlOnlyOne(data?.enterpriseOperateFileUrl);
-    form.bountyAssignFileUlr = convertApi2FormUrlOnlyOne(data?.bountyAssignFileUlr);
-    form.bountyCollectFileUrl = convertApi2FormUrlOnlyOne(data?.bountyCollectFileUrl);
-
-    tableRef.value?.getList();
-  },
-});
 
 function handleBack() {
   closeViewPush(route, {
@@ -123,21 +26,25 @@
   });
 }
 
-const formRef = ref<FormInstance>();
-function handleConfirm() {
-  if (!formRef.value) return;
-  formRef.value.validate((valid) => {
-    if (valid) {
-      confirm();
-    } else {
-      return;
+const queryClient = useQueryClient();
+
+async function confirm(form: Form) {
+  try {
+    let params: API.OutcheckParkBountyApplyInput = {
+      parkBountyApplyId: id,
+      outCheckStatus: form.status,
+      remark: form.remark,
+      extraListFiles: EnterpriseApplyFileUtils.convertFileTableListToApiBatch(form.extraListFiles),
+    };
+    let res = await parkBountyApplyServices.outcheckParkBountyApply(params);
+    if (res) {
+      Message.successMessage('鎿嶄綔鎴愬姛');
+      eventContext.emit('materialReviewAudit:audit');
+      queryClient.invalidateQueries({
+        queryKey: ['parkBountyApplyServices/getGoverDataBoard'],
+      });
+      handleBack();
     }
-  });
+  } catch (error) {}
 }
-
-function confirm() {}
 </script>
-
-<style lang="scss" scoped>
-@use '@/style/common.scss' as *;
-</style>

--
Gitblit v1.9.1