From 8eec3bdd93b15bb26f53e3e4b1f5c1679f2efc1a Mon Sep 17 00:00:00 2001
From: zhengyiming <540361168@qq.com>
Date: 星期五, 31 十月 2025 13:15:12 +0800
Subject: [PATCH] fix: s

---
 src/views/MaterialReview/MaterialReReviewList.vue |  233 ++++++++++++++++++++++++++++++++++++++++++++++
 src/services/api/typings.d.ts                     |   18 ++
 src/router/index.ts                               |   15 ++
 src/services/api/ParkBountyApply.ts               |   15 +++
 src/services/api/EnterpriseApplyFile.ts           |   12 +-
 5 files changed, 282 insertions(+), 11 deletions(-)

diff --git a/src/router/index.ts b/src/router/index.ts
index 4fe318f..6a610e0 100644
--- a/src/router/index.ts
+++ b/src/router/index.ts
@@ -155,7 +155,7 @@
         component: () => import('@/views/MaterialReview/MaterialReview.vue'),
         meta: {
           rank: 10021,
-          title: '鏉愭枡瀹℃牳',
+          title: '鏉愭枡鍒濆',
           // rootMenu: true,
           icon: 'home',
         },
@@ -182,6 +182,19 @@
           rootMenu: false,
         },
       },
+      {
+        path: '/MaterialReReviewList',
+        name: 'MaterialReReviewList',
+        hidden: false,
+        alwaysShow: true,
+        component: () => import('@/views/MaterialReview/MaterialReReviewList.vue'),
+        meta: {
+          rank: 10021,
+          title: '鏉愭枡澶嶅',
+          // rootMenu: true,
+          icon: 'home',
+        },
+      },
     ],
   },
 
diff --git a/src/services/api/EnterpriseApplyFile.ts b/src/services/api/EnterpriseApplyFile.ts
index 6413946..a05e787 100644
--- a/src/services/api/EnterpriseApplyFile.ts
+++ b/src/services/api/EnterpriseApplyFile.ts
@@ -116,19 +116,19 @@
   );
 }
 
-/** 鏍规嵁鏈堜唤鏌ヨ鏄惁瀛樺湪鎻愪氦璁板綍 GET /api/EnterpriseApplyFile/GetCustomerUploadFileRecord */
+/** 鏍规嵁鏈堜唤鏌ヨ鏄惁瀛樺湪鎻愪氦璁板綍 POST /api/EnterpriseApplyFile/GetCustomerUploadFileRecord */
 export async function getCustomerUploadFileRecord(
-  // 鍙犲姞鐢熸垚鐨凱aram绫诲瀷 (闈瀊ody鍙傛暟swagger榛樿娌℃湁鐢熸垚瀵硅薄)
-  params: API.APIgetCustomerUploadFileRecordParams,
+  body: API.GetCustomerUploadFileRecordInput,
   options?: API.RequestConfig
 ) {
   return request<API.GetCustomerUploadFileRecordOutput>(
     '/api/EnterpriseApplyFile/GetCustomerUploadFileRecord',
     {
-      method: 'GET',
-      params: {
-        ...params,
+      method: 'POST',
+      headers: {
+        'Content-Type': 'application/json',
       },
+      data: body,
       ...(options || {}),
     }
   );
diff --git a/src/services/api/ParkBountyApply.ts b/src/services/api/ParkBountyApply.ts
index 8a815b0..fdbd9c9 100644
--- a/src/services/api/ParkBountyApply.ts
+++ b/src/services/api/ParkBountyApply.ts
@@ -886,6 +886,21 @@
   });
 }
 
+/** 鏀垮姟绔�-鏉愭枡瀹℃牳-澶栭儴澶嶅鏍� POST /api/ParkBountyApply/OutReCheckParkBountyApply */
+export async function outReCheckParkBountyApply(
+  body: API.OutReCheckParkBountyApplyInput,
+  options?: API.RequestConfig
+) {
+  return request<number>('/api/ParkBountyApply/OutReCheckParkBountyApply', {
+    method: 'POST',
+    headers: {
+      'Content-Type': 'application/json',
+    },
+    data: body,
+    ...(options || {}),
+  });
+}
+
 /** 鎵归噺璐㈡斂鍏ヨ处 POST /api/ParkBountyApply/ParkBountyApplyBatchFinance */
 export async function parkBountyApplyBatchFinance(
   body: API.ParkBountyApplyBatchFinanceInput,
diff --git a/src/services/api/typings.d.ts b/src/services/api/typings.d.ts
index 267af50..54b580e 100644
--- a/src/services/api/typings.d.ts
+++ b/src/services/api/typings.d.ts
@@ -1388,10 +1388,6 @@
     templateId?: string;
   }
 
-  interface APIgetCustomerUploadFileRecordParams {
-    withMonth?: string;
-  }
-
   interface APIgetDefaultConnectionStringParams {
     id?: string;
   }
@@ -7583,6 +7579,11 @@
     parkName?: string;
     /** 闄勪欢 */
     items?: GetCustomerUploadApplyFilesOutput[];
+  }
+
+  interface GetCustomerUploadFileRecordInput {
+    withMonth?: string;
+    userId?: string;
   }
 
   interface GetCustomerUploadFileRecordOutput {
@@ -16420,6 +16421,15 @@
     extraListFiles?: CustomerUploadMonthApplyFileTypeDto[];
   }
 
+  interface OutReCheckParkBountyApplyInput {
+    parkBountyApplyId?: string;
+    outReCheckStatus?: BountyCheckStatusEnum;
+    /** 澶囨敞 */
+    remark?: string;
+    /** 鎬荤殑棰濆琛ュ厖鏉愭枡 */
+    extraListFiles?: CustomerUploadMonthApplyFileTypeDto[];
+  }
+
   interface PagedListQueryPageModel {
     /** 琛屾暟 */
     rows?: number;
diff --git a/src/views/MaterialReview/MaterialReReviewList.vue b/src/views/MaterialReview/MaterialReReviewList.vue
new file mode 100644
index 0000000..d9283cc
--- /dev/null
+++ b/src/views/MaterialReview/MaterialReReviewList.vue
@@ -0,0 +1,233 @@
+<template>
+  <LoadingLayout :loading="state.loading">
+    <AppContainer>
+      <ProTableQueryFilterBar @on-reset="reset">
+        <template #query>
+          <QueryFilterItem tip-content="鐢虫姤鏃ユ湡">
+            <FieldDatePicker
+              v-model="extraParamState.creationTime"
+              type="daterange"
+              range-separator="~"
+              start-placeholder="寮�濮嬫棩鏈�"
+              end-placeholder="缁撴潫鏃ユ湡"
+              clearable
+              @change="getList()"
+            ></FieldDatePicker>
+          </QueryFilterItem>
+          <QueryFilterItem tip-content="瀹℃牳鏃ユ湡">
+            <FieldDatePicker
+              v-model="extraParamState.outCheckTime"
+              type="daterange"
+              range-separator="~"
+              start-placeholder="寮�濮嬫棩鏈�"
+              end-placeholder="缁撴潫鏃ユ湡"
+              clearable
+              @change="getList()"
+            ></FieldDatePicker>
+          </QueryFilterItem>
+          <QueryFilterItem>
+            <FieldRadio
+              v-model="extraParamState.outCheckStatus"
+              :value-enum="BountyCheckStatusEnumText"
+              buttonStyle
+              showAllBtn
+              @change="getList()"
+            />
+          </QueryFilterItem>
+          <QueryFilterItem>
+            <SearchInput
+              v-model="extraParamState.batchNo"
+              style="width: 200px"
+              placeholder="鎵规鍙�"
+              @on-click-search="getList"
+            >
+            </SearchInput>
+          </QueryFilterItem>
+        </template>
+      </ProTableQueryFilterBar>
+
+      <ProTableV2 v-bind="proTableProps" :columns="column" :operationBtns="operationBtns">
+      </ProTableV2>
+    </AppContainer>
+  </LoadingLayout>
+</template>
+
+<script setup lang="ts">
+import {
+  LoadingLayout,
+  AppContainer,
+  useTable,
+  ProTableQueryFilterBar,
+  ProTableV2,
+  defineOperationBtns,
+  SearchInput,
+  FieldRadio,
+  QueryFilterItem,
+  FieldDatePicker,
+} from '@bole-core/components';
+import { OrderInputType } from '@bole-core/core';
+import { format } from '@/utils';
+import { BountyCheckStatusEnum, BountyCheckStatusEnumText, DataRangeEnumText } from '@/constants';
+import * as parkBountyApplyServices from '@/services/api/ParkBountyApply';
+import _ from 'lodash';
+import { ModelValueType } from 'element-plus';
+import { useGlobalEventContext } from '@/hooks';
+
+defineOptions({
+  name: 'MaterialReviewList',
+});
+
+const column: API.CustomModuleColumnDto[] = [
+  {
+    id: '1',
+    enCode: 'batchNo',
+    name: '鐢宠鎵规鍙�',
+  },
+  {
+    id: '2',
+    enCode: 'parkName',
+    name: '鐢宠鍥尯',
+  },
+  {
+    id: '3',
+    enCode: 'parkTypeName',
+    name: '鍥尯绫诲瀷',
+  },
+  {
+    id: '4',
+    enCode: 'applyMonth',
+    name: '鐢宠濂栧姳閲戞湀浠�',
+  },
+  {
+    id: '5',
+    enCode: 'applySumAmount',
+    name: '濂栧姳閲戞眹鎬婚噾棰濓紙鍏冿級',
+  },
+  {
+    id: '6',
+    enCode: 'creationTime',
+    name: '鐢虫姤鏃ユ湡',
+  },
+  {
+    id: '7',
+    enCode: 'outCheckAuditOperator',
+    name: '瀹℃牳浜�',
+  },
+  {
+    id: '8',
+    enCode: 'outCheckTime',
+    name: '瀹℃牳鏃ユ湡',
+  },
+  {
+    id: '9',
+    enCode: 'outCheckStatus',
+    name: '瀹℃牳鐘舵��',
+  },
+];
+
+const operationBtns = defineOperationBtns([
+  {
+    data: {
+      enCode: 'detailBtn',
+      name: '璇︽儏',
+    },
+    emits: {
+      onClick: (role) => goDetail(role),
+    },
+  },
+  {
+    data: {
+      enCode: 'auditBtn',
+      name: '瀹℃牳',
+    },
+    emits: {
+      onClick: (role) => goAudit(role),
+    },
+    extraProps: {
+      hide: (row: API.GetParkBountyApplyListOutput) =>
+        row.outCheckStatus !== BountyCheckStatusEnum.WaitCheck,
+    },
+  },
+]);
+
+const router = useRouter();
+const BaseState = {
+  loading: true,
+};
+
+const state = reactive({ ...BaseState });
+
+const eventContext = useGlobalEventContext();
+
+eventContext.addEvent('materialReviewAudit:audit', () => {
+  getList(paginationState.pageIndex);
+});
+
+onMounted(async () => {
+  await getList();
+  state.loading = false;
+});
+
+const {
+  getDataSource: getList,
+  proTableProps,
+  paginationState,
+  extraParamState,
+  reset,
+} = useTable(
+  async ({ pageIndex, pageSize }, extraParamState) => {
+    try {
+      let params: API.GetParkBountyApplyListInput = {
+        pageModel: {
+          rows: pageSize,
+          page: pageIndex,
+          orderInput: extraParamState.orderInput,
+        },
+        batchNo: extraParamState.batchNo,
+        outCheckStatus: extraParamState.outCheckStatus,
+        creationTimeBegin: format(extraParamState.creationTime?.[0] ?? '', 'YYYY-MM-DD 00:00:00'),
+        creationTimeEnd: format(extraParamState.creationTime?.[1] ?? '', 'YYYY-MM-DD 23:59:59'),
+        outCheckTimeBegin: format(extraParamState.outCheckTime?.[0] ?? '', 'YYYY-MM-DD 00:00:00'),
+        outCheckTimeEnd: format(extraParamState.outCheckTime?.[1] ?? '', 'YYYY-MM-DD 23:59:59'),
+      };
+      let res = await parkBountyApplyServices.getOutcheckParkBountyList(params, {
+        showLoading: !state.loading,
+      });
+      return res;
+    } catch (error) {}
+  },
+  {
+    defaultExtraParams: {
+      batchNo: '',
+      outCheckStatus: '' as any as BountyCheckStatusEnum,
+      creationTime: [] as unknown as ModelValueType,
+      outCheckTime: [] as unknown as ModelValueType,
+      orderInput: [{ property: 'creationTime', order: OrderInputType.Desc }],
+    },
+    columnsRenderProps: {
+      applyMonth: { type: 'date', format: 'YYYY骞碝M鏈�' },
+      creationTime: { type: 'date', format: 'YYYY-MM-DD HH:mm:ss' },
+      outCheckTime: { type: 'date', format: 'YYYY-MM-DD HH:mm:ss' },
+      applySumAmount: { type: 'money', precision: 2 },
+      outCheckStatus: { type: 'enum', valueEnum: BountyCheckStatusEnumText },
+    },
+  }
+);
+
+function goDetail(row: API.GetParkBountyApplyListOutput) {
+  router.push({
+    name: 'MaterialReviewDetail',
+    params: {
+      id: row.id,
+    },
+  });
+}
+function goAudit(row: API.GetParkBountyApplyListOutput) {
+  router.push({
+    name: 'MaterialReviewAudit',
+    params: {
+      id: row.id,
+    },
+  });
+}
+</script>

--
Gitblit v1.9.1