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