From 32f10392ab00b07e85c0b4229037c30af7c3f28e Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期二, 27 一月 2026 10:42:49 +0800
Subject: [PATCH] 浪潮对接单点登录:mis调整2

---
 src/views/collaborativeApproval/approvalProcess/index.vue |   88 +++++++++++++++++++++++++++-----------------
 1 files changed, 54 insertions(+), 34 deletions(-)

diff --git a/src/views/collaborativeApproval/approvalProcess/index.vue b/src/views/collaborativeApproval/approvalProcess/index.vue
index d8a99dd..8fd9332 100644
--- a/src/views/collaborativeApproval/approvalProcess/index.vue
+++ b/src/views/collaborativeApproval/approvalProcess/index.vue
@@ -2,13 +2,11 @@
   <div class="app-container">
     <!-- 鏍囩椤靛垏鎹笉鍚岀殑瀹℃壒绫诲瀷 -->
     <el-tabs v-model="activeTab" @tab-change="handleTabChange" class="approval-tabs">
-      <el-tab-pane label="鍏嚭绠$悊" name="1"></el-tab-pane>
-      <el-tab-pane label="璇峰亣绠$悊" name="2"></el-tab-pane>
-      <el-tab-pane label="鍑哄樊绠$悊" name="3"></el-tab-pane>
-      <el-tab-pane label="鎶ラ攢绠$悊" name="4"></el-tab-pane>
+      <el-tab-pane label="鍗忓悓瀹℃壒" name="1"></el-tab-pane>
+      <el-tab-pane label="閿�鍞鎵�" name="3"></el-tab-pane>
       <el-tab-pane label="閲囪喘瀹℃壒" name="5"></el-tab-pane>
     </el-tabs>
-    
+
     <div class="search_form">
       <div>
         <span class="search_title">娴佺▼缂栧彿锛�</span>
@@ -21,19 +19,19 @@
             :prefix-icon="Search"
         />
         <span class="search_title ml10">瀹℃壒鐘舵�侊細</span>
-				<el-select v-model="searchForm.approveStatus" clearable @change="handleQuery" style="width: 240px">
-					<el-option label="寰呭鏍�" :value="0" />
-					<el-option label="瀹℃牳涓�" :value="1" />
-					<el-option label="瀹℃牳瀹屾垚" :value="2" />
-					<el-option label="瀹℃牳鏈�氳繃" :value="3" />
-					<el-option label="宸查噸鏂版彁浜�" :value="4" />
-				</el-select>
+        <el-select v-model="searchForm.approveStatus" clearable @change="handleQuery" style="width: 240px">
+          <el-option label="寰呭鏍�" :value="0" />
+          <el-option label="瀹℃牳涓�" :value="1" />
+          <el-option label="瀹℃牳瀹屾垚" :value="2" />
+          <el-option label="瀹℃牳鏈�氳繃" :value="3" />
+          <el-option label="宸查噸鏂版彁浜�" :value="4" />
+        </el-select>
         <el-button type="primary" @click="handleQuery" style="margin-left: 10px"
         >鎼滅储</el-button
         >
       </div>
       <div>
-        <el-button type="primary" @click="openForm('add')">鏂板</el-button>
+        <el-button type="primary" @click="openForm('add')" v-if="currentApproveType !== 6">鏂板</el-button>
         <el-button @click="handleOut">瀵煎嚭</el-button>
         <el-button type="danger" plain @click="handleDelete">鍒犻櫎</el-button>
       </div>
@@ -52,7 +50,7 @@
       ></PIMTable>
     </div>
     <info-form-dia ref="infoFormDia" @close="handleQuery" :approveType="currentApproveType"></info-form-dia>
-    <approval-dia ref="approvalDia" @close="handleQuery"></approval-dia>
+    <approval-dia ref="approvalDia" @close="handleQuery" :approveType="currentApproveType"></approval-dia>
     <FileList ref="fileListRef" />
   </div>
 </template>
@@ -62,12 +60,14 @@
 import { Search } from "@element-plus/icons-vue";
 import {onMounted, ref, computed, reactive, toRefs, nextTick, getCurrentInstance} from "vue";
 import {ElMessageBox} from "element-plus";
+import { useRoute } from 'vue-router';
 import InfoFormDia from "@/views/collaborativeApproval/approvalProcess/components/infoFormDia.vue";
 import ApprovalDia from "@/views/collaborativeApproval/approvalProcess/components/approvalDia.vue";
 import {approveProcessDelete, approveProcessListPage} from "@/api/collaborativeApproval/approvalProcess.js";
 import useUserStore from "@/store/modules/user";
 
 const userStore = useUserStore();
+const route = useRoute();
 
 // 褰撳墠閫変腑鐨勬爣绛鹃〉锛岄粯璁や负鍏嚭绠$悊
 const activeTab = ref('1');
@@ -89,8 +89,8 @@
 
 const data = reactive({
   searchForm: {
-		approveId: "",
-		approveStatus: "",
+    approveId: "",
+    approveStatus: "",
   },
 });
 const { searchForm } = toRefs(data);
@@ -99,7 +99,8 @@
 const tableColumnCopy = computed(() => {
   const isLeaveType = currentApproveType.value === 2; // 璇峰亣绠$悊
   const isReimburseType = currentApproveType.value === 4; // 鎶ラ攢绠$悊
-  
+  const isQuotationType = currentApproveType.value === 6; // 鎶ヤ环瀹℃壒
+
   // 鍩虹鍒楅厤缃�
   const baseColumns = [
     {
@@ -145,7 +146,7 @@
       width: 220
     },
     {
-      label: "瀹℃壒浜嬬敱",
+      label: isQuotationType ? "鎶ヤ环鍗曞彿" : "瀹℃壒浜嬬敱",
       prop: "approveReason",
       width: 200
     },
@@ -155,7 +156,7 @@
       width: 120
     }
   ];
-  
+
   // 閲戦鍒楋紙浠呮姤閿�绠$悊鏄剧ず锛�
   if (isReimburseType) {
     baseColumns.push({
@@ -164,28 +165,28 @@
       width: 120
     });
   }
-  
+
   // 鏃ユ湡鍒楋紙鏍规嵁绫诲瀷鍔ㄦ�侀厤缃級
   baseColumns.push(
-    {
-      label: isLeaveType ? "寮�濮嬫棩鏈�" : "鐢宠鏃ユ湡",
-      prop: isLeaveType ? "startDate" : "approveTime",
-      width: 200
-    },
-    {
-      label: "缁撴潫鏃ユ湡",
-      prop: isLeaveType ? "endDate" : "approveOverTime",
-      width: 120
-    }
+      {
+        label: isLeaveType ? "寮�濮嬫棩鏈�" : "鐢宠鏃ユ湡",
+        prop: isLeaveType ? "startDate" : "approveTime",
+        width: 200
+      },
+      {
+        label: "缁撴潫鏃ユ湡",
+        prop: isLeaveType ? "endDate" : "approveOverTime",
+        width: 120
+      }
   );
-  
+
   // 褰撳墠瀹℃壒浜哄垪
   baseColumns.push({
     label: "褰撳墠瀹℃壒浜�",
     prop: "approveUserCurrentName",
     width: 120
   });
-  
+
   // 鎿嶄綔鍒�
   baseColumns.push({
     dataType: "action",
@@ -200,7 +201,7 @@
         clickFun: (row) => {
           openForm("edit", row);
         },
-        disabled: (row) => row.approveStatus == 2 || row.approveStatus == 1 || row.approveStatus == 4
+        disabled: (row) => currentApproveType.value === 6 || row.approveStatus == 2 || row.approveStatus == 1 || row.approveStatus == 4
       },
       {
         name: "瀹℃牳",
@@ -226,7 +227,7 @@
       },
     ],
   });
-  
+
   return baseColumns;
 });
 const tableData = ref([]);
@@ -277,6 +278,8 @@
     3: "/approveProcess/exportThree",
     4: "/approveProcess/exportFour",
     5: "/approveProcess/exportFive",
+    6: "/approveProcess/exportSix",
+    7: "/approveProcess/exportSeven",
   }
   const url = urlMap[type] || urlMap[0]
   const nameMap = {
@@ -286,6 +289,8 @@
     3: "鍑哄樊绠$悊瀹℃壒琛�",
     4: "鎶ラ攢绠$悊瀹℃壒琛�",
     5: "閲囪喘鐢宠瀹℃壒琛�",
+    6: "鎶ヤ环瀹℃壒琛�",
+    7: "鍑哄簱瀹℃壒琛�",
   }
   const fileName = nameMap[type] || nameMap[0]
   proxy.download(url, {}, `${fileName}.xlsx`)
@@ -333,6 +338,21 @@
       });
 };
 onMounted(() => {
+  // 鏍规嵁URL鍙傛暟璁剧疆鏍囩椤靛拰鏌ヨ鏉′欢
+  const approveType = route.query.approveType;
+  const approveId = route.query.approveId;
+
+  if (approveType) {
+    // 璁剧疆鏍囩椤碉紙approveType 瀵瑰簲 activeTab 鐨� name锛�
+    activeTab.value = String(approveType);
+  }
+
+  if (approveId) {
+    // 璁剧疆娴佺▼缂栧彿鏌ヨ鏉′欢
+    searchForm.value.approveId = String(approveId);
+  }
+
+  // 鏌ヨ鍒楄〃
   getList();
 });
 </script>

--
Gitblit v1.9.3