فهرست منبع

给vue-office打补丁

chauncey 11 ماه پیش
والد
کامیت
c93bb9e297

+ 6 - 0
package.json

@@ -31,6 +31,9 @@
     "@vicons/ionicons5": "0.12.0",
     "@vitejs/plugin-vue": "5.2.1",
     "@vue-office/docx": "1.6.3",
+    "@vue-office/excel": "1.7.14",
+    "@vue-office/pdf": "2.0.10",
+    "@vue-office/pptx": "1.0.1",
     "@vueuse/core": "8.9.4",
     "@vueuse/router": "10.6.1",
     "@wangeditor/editor-for-vue": "5.1.12",
@@ -154,6 +157,9 @@
       ]
     },
     "patchedDependencies": {
+      "@vue-office/excel": "patches/@vue-office__excel.patch",
+      "@vue-office/pdf": "patches/@vue-office__pdf.patch",
+      "@vue-office/pptx": "patches/@vue-office__pptx.patch",
       "@vue-office/docx": "patches/@vue-office__docx.patch"
     }
   }

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 825 - 0
patches/@vue-office__excel.patch


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 11 - 0
patches/@vue-office__pdf.patch


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 118 - 0
patches/@vue-office__pptx.patch


+ 3 - 22
src/views/disaster/disaster-warning/src/components/ViewDefenseNoticeItem.vue

@@ -24,14 +24,8 @@
     </section>
     <section class="attachment">
       <span class="info-content">附件({{ defenseNoticeDetail?.noticeAttachment.length }})</span>
-      <a @click="handleDownloadAll">下载全部</a>
       <div class="attachment-list">
-        <div
-          class="attachment-item"
-          v-for="item in defenseNoticeDetail?.noticeAttachment"
-          :key="item.id"
-          @click="handlePreview(item)"
-        >
+        <div class="attachment-item" v-for="item in defenseNoticeDetail?.noticeAttachment" :key="item.id">
           <span class="attachment-item--name">{{ item.fileName }}</span>
           <div class="attachment-item--footer">
             <div class="info">
@@ -51,30 +45,17 @@
   import { FILE_TYPE_ICON } from '@/views/disaster/constant';
   import { getDefenseNoticeDetail } from '@/api/disaster-warning';
   import type { DefenseNoticeDetailResponse, DefenseNoticeAttachment } from '@/types/disaster-warning';
-  import VueOfficeDocx from '@vue-office/docx'
-  import '@vue-office/docx/lib/index.css'
-
+  import VueOfficeDocx from '@vue-office/docx';
+  import '@vue-office/docx/lib/index.css';
 
   const props = defineProps<{
     id: number;
   }>();
 
   const defenseNoticeDetail = ref<DefenseNoticeDetailResponse>();
-  const handleDownloadAll = () => {
-    defenseNoticeDetail.value?.noticeAttachment.forEach((item) => {
-      if (item.downloadUrl) {
-        window.open(item.downloadUrl, '_blank');
-      }
-    });
-  };
   const handleDownload = (fileUrl: string) => {
     window.open(fileUrl, '_blank');
   };
-  const handlePreview = (item: DefenseNoticeAttachment) => {
-    if (item.fileType === 'pdf') {
-      window.open(item.downloadUrl, '_blank');
-    }
-  };
 
   onMounted(() => {
     getDefenseNoticeDetail(props.id).then((res) => {