From 6689bfb1c2f0638e8493adfa058d57d86e473eac Mon Sep 17 00:00:00 2001
From: yyb <995253665@qq.com>
Date: 星期二, 19 五月 2026 17:21:10 +0800
Subject: [PATCH] 审批列表得提交审批根据模板类型区分

---
 src/views/officeProcessAutomation/ApproveManage/approve-list/index.vue |   55 ++++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 52 insertions(+), 3 deletions(-)

diff --git a/src/views/officeProcessAutomation/ApproveManage/approve-list/index.vue b/src/views/officeProcessAutomation/ApproveManage/approve-list/index.vue
index cdae763..5fce871 100644
--- a/src/views/officeProcessAutomation/ApproveManage/approve-list/index.vue
+++ b/src/views/officeProcessAutomation/ApproveManage/approve-list/index.vue
@@ -77,7 +77,34 @@
       @closed="resetSubmitDialogState"
     >
       <template v-if="submitDialog.step === 1 && !isSubmitEdit">
-        <p class="template-hint">璇烽�夋嫨宸插惎鐢ㄧ殑瀹℃壒妯℃澘锛岀郴缁熷皢鎸夋ā鏉块厤缃紩瀵煎~鎶ャ��</p>
+        <p class="template-hint">璇峰厛閫夋嫨妯℃澘绫诲瀷锛屽啀閫夋嫨璇ョ被鍨嬩笅宸插惎鐢ㄧ殑瀹℃壒妯℃澘銆�</p>
+        <div v-loading="submitTemplatesLoading" class="template-grid">
+          <div
+            v-for="opt in submitBusinessTypeOptions"
+            :key="`biz-type-${opt.value}`"
+            class="template-card"
+            :class="{ 'is-disabled': !countTemplatesByBusinessType(opt.value) }"
+            @click="onBusinessTypePick(opt.value)"
+          >
+            <span class="template-card-type">{{ opt.label }}</span>
+            <span class="template-card-desc">
+              {{ countTemplatesByBusinessType(opt.value) }} 涓彲鐢ㄦā鏉�
+            </span>
+          </div>
+          <el-empty
+            v-if="!submitTemplatesLoading && !submitBusinessTypeOptions.length"
+            description="鏆傛棤妯℃澘绫诲瀷"
+            :image-size="80"
+            class="template-empty"
+          />
+        </div>
+      </template>
+
+      <template v-else-if="submitDialog.step === 2 && !isSubmitEdit">
+        <p class="template-hint">
+          褰撳墠绫诲瀷锛歿{ selectedBusinessTypeLabel || "鈥�" }}锛岃閫夋嫨鍏蜂綋瀹℃壒妯℃澘銆�
+          <el-button type="primary" link class="ml8" @click="backToBusinessTypePick">鏇存崲绫诲瀷</el-button>
+        </p>
         <div v-loading="submitTemplatesLoading" class="template-grid">
           <div
             v-for="card in submitTemplateCards"
@@ -92,7 +119,7 @@
           </div>
           <el-empty
             v-if="!submitTemplatesLoading && !submitTemplateCards.length"
-            description="鏆傛棤鍙敤瀹℃壒妯℃澘"
+            description="璇ョ被鍨嬩笅鏆傛棤鍙敤瀹℃壒妯℃澘"
             :image-size="80"
             class="template-empty"
           />
@@ -132,12 +159,18 @@
 
       <template #footer>
         <el-button
-          v-if="submitDialog.step === 2 || isSubmitEdit"
+          v-if="submitDialog.step === 3 || isSubmitEdit"
           type="primary"
           :loading="submitSaving"
           @click="onSubmitInstance"
         >
           {{ isSubmitEdit ? "淇� 瀛�" : "鎻� 浜�" }}
+        </el-button>
+        <el-button
+          v-if="submitDialog.step === 2 && !isSubmitEdit"
+          @click="backToBusinessTypePick"
+        >
+          涓婁竴姝�
         </el-button>
         <el-button @click="submitDialog.visible = false">
           {{ submitDialog.step === 1 && !isSubmitEdit ? "鍙� 娑�" : "鍏� 闂�" }}
@@ -274,8 +307,13 @@
 const {
   Search,
   APPROVAL_TYPE_OPTIONS,
+  submitBusinessTypeOptions,
   submitTemplateCards,
+  selectedBusinessTypeLabel,
+  countTemplatesByBusinessType,
   submitTemplatesLoading,
+  onBusinessTypePick,
+  backToBusinessTypePick,
   approvalTypeLabel,
   approvalActionLabel,
   searchForm,
@@ -434,6 +472,17 @@
   border-color: var(--el-color-primary);
   box-shadow: var(--shadow-sm, 0 2px 8px rgba(0, 0, 0, 0.06));
 }
+.template-card.is-disabled {
+  opacity: 0.5;
+  cursor: not-allowed;
+}
+.template-card.is-disabled:hover {
+  border-color: var(--el-border-color-lighter);
+  box-shadow: none;
+}
+.ml8 {
+  margin-left: 8px;
+}
 .template-card-type {
   display: inline-block;
   padding: 2px 8px;

--
Gitblit v1.9.3