From 5cb471c388d5b9a6829f1045d19f0644d983822c Mon Sep 17 00:00:00 2001
From: zhengyiming <540361168@qq.com>
Date: 星期四, 20 十一月 2025 17:07:48 +0800
Subject: [PATCH] fix: s

---
 src/views/MaterialReview/MaterialReReviewList.vue |   70 ++++++++++++++++++++++++++++++++++-
 1 files changed, 68 insertions(+), 2 deletions(-)

diff --git a/src/views/MaterialReview/MaterialReReviewList.vue b/src/views/MaterialReview/MaterialReReviewList.vue
index da49c0b..8a4dbb8 100644
--- a/src/views/MaterialReview/MaterialReReviewList.vue
+++ b/src/views/MaterialReview/MaterialReReviewList.vue
@@ -3,6 +3,17 @@
     <AppContainer>
       <ProTableQueryFilterBar @on-reset="reset">
         <template #query>
+          <QueryFilterItem>
+            <FieldSelect
+              v-model="extraParamState.industrialParkId"
+              placeholder="璇烽�夋嫨鍥尯"
+              :value-enum="fourStreamsIndustrialParkList"
+              enumLabelKey="parkName"
+              enum-value-key="id"
+              clearable
+              @change="getList()"
+            />
+          </QueryFilterItem>
           <QueryFilterItem tip-content="鐢虫姤鏃ユ湡">
             <FieldDatePicker
               v-model="extraParamState.creationTime"
@@ -48,7 +59,9 @@
 
       <ProTableV2 v-bind="proTableProps" :columns="column" :operationBtns="operationBtns">
       </ProTableV2>
+      <ParkBountyApplyRedoDialog v-bind="dialogProps" />
     </AppContainer>
+    <OperateHistoryLogDialog v-bind="logDialogProps" />
   </LoadingLayout>
 </template>
 
@@ -64,14 +77,22 @@
   FieldRadio,
   QueryFilterItem,
   FieldDatePicker,
+  FieldSelect,
+  useFormDialog,
 } from '@bole-core/components';
-import { OrderInputType } from '@bole-core/core';
+import { Message, 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 { useAccess, useGlobalEventContext } from '@/hooks';
+import {
+  useAccess,
+  useGlobalEventContext,
+  useIndustrialParkDropDownList,
+  useOpenLogDialog,
+} from '@/hooks';
+import ParkBountyApplyRedoDialog from './components/ParkBountyApplyRedoDialog.vue';
 
 defineOptions({
   name: 'MaterialReviewList',
@@ -92,6 +113,17 @@
         row.outReCheckStatus !== BountyCheckStatusEnum.WaitCheck,
     },
   },
+  redoBtn: {
+    emits: {
+      onClick: (role) => openDialog(role),
+    },
+    extraProps: {
+      hide: (row: API.GetParkBountyApplyListOutput) =>
+        row.outReCheckStatus !== BountyCheckStatusEnum.CheckPassed ||
+        !row.dualReviewOfGovernmentAffairs,
+    },
+  },
+  logBtn: { emits: { onClick: (role) => openLogDialog(role.id) } },
 };
 
 const { checkSubModuleItemShow, column, operationBtns } = useAccess({
@@ -102,6 +134,8 @@
 const BaseState = {
   loading: true,
 };
+
+const { fourStreamsIndustrialParkList } = useIndustrialParkDropDownList();
 
 const state = reactive({ ...BaseState });
 
@@ -141,6 +175,7 @@
           'YYYY-MM-DD 00:00:00'
         ),
         outReCheckTimeEnd: format(extraParamState.outReCheckTime?.[1] ?? '', 'YYYY-MM-DD 23:59:59'),
+        industrialParkId: extraParamState.industrialParkId,
       };
       let res = await parkBountyApplyServices.getOutcheckParkBountyList(params, {
         showLoading: !state.loading,
@@ -155,6 +190,7 @@
       creationTime: [] as unknown as ModelValueType,
       outReCheckTime: [] as unknown as ModelValueType,
       orderInput: [{ property: 'creationTime', order: OrderInputType.Desc }],
+      industrialParkId: '',
     },
     columnsRenderProps: {
       applyMonth: { type: 'date', format: 'YYYY骞碝M鏈�' },
@@ -187,4 +223,34 @@
     },
   });
 }
+
+function openDialog(row: API.GetParkBountyApplyListOutput) {
+  handleAdd({
+    parkBountyApplyId: row.id,
+  });
+}
+
+const { dialogProps, handleAdd, editForm } = useFormDialog({
+  onConfirm: outcheckParkBountyApplyReRedoed,
+  defaultFormParams: {
+    reasonForWithdrawal: '',
+    parkBountyApplyId: '',
+  },
+});
+
+async function outcheckParkBountyApplyReRedoed() {
+  try {
+    let params: API.OutcheckParkBountyApplyRedoedInput = {
+      parkBountyApplyId: editForm.parkBountyApplyId,
+      reasonForWithdrawal: editForm.reasonForWithdrawal,
+    };
+    let res = await parkBountyApplyServices.outcheckParkBountyApplyReRedoed(params);
+    if (res) {
+      Message.successMessage('鎿嶄綔鎴愬姛');
+      getList(paginationState.pageIndex);
+    }
+  } catch (error) {}
+}
+
+const { openLogDialog, logDialogProps } = useOpenLogDialog();
 </script>

--
Gitblit v1.9.1