From 7ab50761e7b6649fc30930cfd604d663b2ea4e00 Mon Sep 17 00:00:00 2001
From: tuqin <tuqin@tuqin.cn>
Date: 星期三, 21 十月 2026 15:16:10 +0800
Subject: [PATCH] feat(芯导): 仓储库存管理/协同审批会议提醒/采购付款查询导出/营销回款流水导出/生产设备补字段

---
 src/views/collaborativeApproval/notificationManagement/summary/index.vue |   71 +++++++++++++++++++++++++----------
 1 files changed, 51 insertions(+), 20 deletions(-)

diff --git a/src/views/collaborativeApproval/notificationManagement/summary/index.vue b/src/views/collaborativeApproval/notificationManagement/summary/index.vue
index a00316d..5d1bee6 100644
--- a/src/views/collaborativeApproval/notificationManagement/summary/index.vue
+++ b/src/views/collaborativeApproval/notificationManagement/summary/index.vue
@@ -204,24 +204,48 @@
 // 鏌ヨ鏁版嵁
 const getList = async () => {
   loading.value = true
-  let resp = await getMeetingPublish({ ...searchForm, ...queryParams })
-  meetingList.value = resp.data.records.map(it => {
-    let room = roomEnum.value.find(room => it.roomId === room.id)
-    it.location = `${room.name}(${room.location})`
-    let staffs = JSON.parse(it.participants)
-    it.staffCount = staffs.size
-    it.meetingTime = `${it.meetingDate} ${dayjs(it.startTime).format('HH:mm:ss')} ~ ${dayjs(it.endTime).format('HH:mm:ss')}`
-    it.participants = staffList.value.filter(staff => staffs.some(id => id === staff.id)).map(staff => {
-      return {
-        id: staff.id,
-        name: `${staff.staffName}(${staff.postJob})`
+  try {
+    const resp = await getMeetingPublish({ ...searchForm, ...queryParams })
+    const records = resp && resp.data && resp.data.records ? resp.data.records : []
+    meetingList.value = records.map(it => {
+      const room = (roomEnum.value || []).find(r => r.id === it.roomId)
+      it.location = room ? `${room.name}(${room.location})` : (it.location || '鈥�')
+      let staffIds = []
+      const rawParticipants = it.participants
+      if (Array.isArray(rawParticipants)) {
+        staffIds = rawParticipants
+      } else if (rawParticipants) {
+        const s = String(rawParticipants).trim()
+        if (s.startsWith('[')) {
+          try {
+            staffIds = JSON.parse(s)
+          } catch (e) {
+            staffIds = []
+          }
+        } else {
+          // 鍏煎 "130,131,132" 閫楀彿鍒嗛殧鏍煎紡
+          staffIds = s.split(',').map(v => v.trim()).filter(Boolean)
+        }
       }
+      if (!Array.isArray(staffIds)) staffIds = []
+      staffIds = staffIds.map(v => String(v))
+      it.staffCount = staffIds.length
+      const s = it.startTime ? dayjs(it.startTime).format('HH:mm:ss') : ''
+      const e2 = it.endTime ? dayjs(it.endTime).format('HH:mm:ss') : ''
+      it.meetingTime = `${it.meetingDate || ''} ${s} ~ ${e2}`.trim()
+      it.participants = (staffList.value || [])
+        .filter(staff => staffIds.some(id => String(id) === String(staff.id)))
+        .map(staff => ({ id: staff.id, name: `${staff.staffName}(${staff.postJob})` }))
+      return it
     })
-
-    return it
-  })
-  total.value = resp.data.total
-  loading.value = false
+    total.value = (resp && resp.data && resp.data.total) || 0
+  } catch (err) {
+    console.error('浼氳绾鍒楄〃鍔犺浇澶辫触', err)
+    meetingList.value = []
+    total.value = 0
+  } finally {
+    loading.value = false
+  }
 }
 
 // 鎼滅储鎸夐挳鎿嶄綔
@@ -337,10 +361,17 @@
 
 // 椤甸潰鍔犺浇鏃惰幏鍙栨暟鎹�
 onMounted(async () => {
-  const [resp1, resp2] = await Promise.all([getRoomEnum(), getStaffOnJob()])
-  roomEnum.value = resp1.data
-  staffList.value = resp2.data
-
+  try {
+    const [resp1, resp2] = await Promise.all([
+      getRoomEnum().catch(() => ({ data: [] })),
+      getStaffOnJob().catch(() => ({ data: [] }))
+    ])
+    roomEnum.value = (resp1 && resp1.data) || []
+    staffList.value = (resp2 && resp2.data) || []
+  } catch (e) {
+    roomEnum.value = []
+    staffList.value = []
+  }
   await getList()
 })
 </script>

--
Gitblit v1.9.3