From 47bae1f938f915206e3934ea960aff975e5738c9 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期五, 12 六月 2026 16:09:49 +0800
Subject: [PATCH] feat(teachingDemo): 新增工艺路线与BOM教学演示模块

---
 src/views/collaborativeApproval/approvalProcess/index.vue |   76 ++++++++++++++++++++++++++++----------
 1 files changed, 56 insertions(+), 20 deletions(-)

diff --git a/src/views/collaborativeApproval/approvalProcess/index.vue b/src/views/collaborativeApproval/approvalProcess/index.vue
index dba6bc1..158916c 100644
--- a/src/views/collaborativeApproval/approvalProcess/index.vue
+++ b/src/views/collaborativeApproval/approvalProcess/index.vue
@@ -126,20 +126,23 @@
     <!-- 寮圭獥缁勪欢 -->
     <info-form-dia ref="infoFormDia" @close="handleQuery" :approveType="currentApproveType"></info-form-dia>
     <approval-dia ref="approvalDia" @close="handleQuery" :approveType="currentApproveType"></approval-dia>
-    <FileList ref="fileListRef" />
+    <FileList v-if="fileDialogVisible"
+              v-model:visible="fileDialogVisible"
+              record-type="approve_process"
+              :record-id="recordId" />
   </div>
 </template>
 
 <script setup>
-import FileList from "./fileList.vue";
 import { Search, Plus, Delete, Download, RefreshRight, DocumentChecked } from "@element-plus/icons-vue";
-import {onMounted, ref, computed, reactive, toRefs, nextTick, getCurrentInstance} from "vue";
+import {onMounted, ref, computed, reactive, toRefs, nextTick, getCurrentInstance, defineAsyncComponent} 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 FileList = defineAsyncComponent(() => import("@/components/Dialog/FileList.vue"));
 
 const userStore = useUserStore();
 const route = useRoute();
@@ -204,6 +207,7 @@
 // 鍔ㄦ�佽〃鏍煎垪閰嶇疆锛屾牴鎹鎵圭被鍨嬬敓鎴愬垪
 const tableColumnCopy = computed(() => {
   const isLeaveType = currentApproveType.value === 2; // 璇峰亣绠$悊
+  const isBusinessTripType = currentApproveType.value === 3; // 鍑哄樊绠$悊
   const isReimburseType = currentApproveType.value === 4; // 鎶ラ攢绠$悊
   const isQuotationType = currentApproveType.value === 6; // 鎶ヤ环瀹℃壒
   const isPurchaseType = currentApproveType.value === 5; // 閲囪喘瀹℃壒
@@ -271,26 +275,52 @@
       width: 120
     });
   }
+
+  // 璇峰亣绠$悊锛氬紑濮嬫棩鏈� / 缁撴潫鏃ユ湡
+  if (isLeaveType) {
+    baseColumns.push(
+      { label: "寮�濮嬫棩鏈�", prop: "startDate", width: 120 },
+      { label: "缁撴潫鏃ユ湡", prop: "endDate", width: 120 }
+    );
+  }
   
-  // 鏃ユ湡鍒楋紙鏍规嵁绫诲瀷鍔ㄦ�侀厤缃級
-  baseColumns.push(
-    {
-      label: isLeaveType ? "寮�濮嬫棩鏈�" : "鐢宠鏃ユ湡",
-      prop: isLeaveType ? "startDate" : "approveTime",
-      width: 200
-    },
-    {
-      label: "缁撴潫鏃ユ湡",
-      prop: isLeaveType ? "endDate" : "approveOverTime",
-      width: 120
-    }
-  );
+  // 鍑哄樊绠$悊锛氬紑濮嬫椂闂� / 缁撴潫鏃堕棿锛堜笉鍚锛�
+  if (isBusinessTripType) {
+    baseColumns.push(
+      {
+        label: "寮�濮嬫椂闂�",
+        prop: "startDateTime",
+        width: 180,
+        formatData: (val) => val ? val.substring(0, 16) : ''
+      },
+      {
+        label: "缁撴潫鏃堕棿",
+        prop: "endDateTime",
+        width: 180,
+        formatData: (val) => val ? val.substring(0, 16) : ''
+      }
+    );
+  }
   
   // 褰撳墠瀹℃壒浜哄垪
   baseColumns.push({
     label: "褰撳墠瀹℃壒浜�",
     prop: "approveUserCurrentName",
     width: 120
+  });
+
+  // 鐢宠鏃堕棿 - 鎵�鏈夌被鍨嬮兘鏄剧ず
+  baseColumns.push({
+    label: "鐢宠鏃堕棿",
+    prop: "approveTime",
+    width: 180,
+  });
+
+  // 瀹℃壒鏃堕棿 - 鎵�鏈夌被鍨嬮兘鏄剧ず
+  baseColumns.push({
+    label: "瀹℃壒鏃堕棿",
+    prop: "approveOverTime",
+    width: 180,
   });
   
   // 鎿嶄綔鍒�
@@ -337,7 +367,7 @@
       name: "闄勪欢",
       type: "text",
       clickFun: (row) => {
-        downLoadFile(row);
+        openFilesFormDia(row);
       },
     });
   }
@@ -371,11 +401,17 @@
   page.current = 1;
   getList();
 };
-const fileListRef = ref(null)
-const downLoadFile = (row) => {
-  fileListRef.value.open(row.commonFileList)
 
+// 鎵撳紑闄勪欢寮圭獥
+const recordId =ref(0)
+const fileDialogVisible = ref(false)
+
+// 鎵撳紑闄勪欢寮规
+const openFilesFormDia = async (row) => {
+  recordId.value = row.id
+  fileDialogVisible.value = true
 }
+
 const pagination = (obj) => {
   page.current = obj.page;
   page.size = obj.limit;

--
Gitblit v1.9.3