From c813f35347449511211cac72f3fb90bf43e0c4cb Mon Sep 17 00:00:00 2001
From: litian <2804272236@qq.com>
Date: 星期四, 21 十一月 2024 16:15:36 +0800
Subject: [PATCH] 预览

---
 src/assets/images/resource/jy2.fbx |    0 
 src/views/readerPages/webHome.vue  |  117 +++++++++++++++++++++++++++++++-------
 src/child.ts                       |   10 ++
 3 files changed, 102 insertions(+), 25 deletions(-)

diff --git a/src/assets/images/resource/jy2.fbx b/src/assets/images/resource/jy2.fbx
new file mode 100644
index 0000000..628718d
--- /dev/null
+++ b/src/assets/images/resource/jy2.fbx
Binary files differ
diff --git a/src/child.ts b/src/child.ts
index 67dd7f9..e5e4b52 100644
--- a/src/child.ts
+++ b/src/child.ts
@@ -65,9 +65,15 @@
     container: '#container',
     activeRule: '/home' //鍖归厤鎵�鏈変互/subPath寮�澶寸殑涓哄瓙搴旂敤
   },
-  civilAviationServices:{
+  civilServices:{
     name: 'app-content',
-    entry: '//jsek.bnuic.com/books/book/civilAviationServices',
+    entry: '//jsek.bnuic.com/books/book/civilServices',
+    container: '#container',
+    activeRule: '/home' //鍖归厤鎵�鏈変互/subPath寮�澶寸殑涓哄瓙搴旂敤
+  },
+  meetingPlanners:{
+    name: 'app-content',
+    entry: '//jsek.bnuic.com/books/book/meetingPlanners',
     container: '#container',
     activeRule: '/home' //鍖归厤鎵�鏈変互/subPath寮�澶寸殑涓哄瓙搴旂敤
   },
diff --git a/src/views/readerPages/webHome.vue b/src/views/readerPages/webHome.vue
index 910d53b..30bfc2a 100644
--- a/src/views/readerPages/webHome.vue
+++ b/src/views/readerPages/webHome.vue
@@ -1152,9 +1152,17 @@
       <video controls controlslist="nodownload" :src="testVideo"></video>
     </div>
 
-    <!-- <div class="wordBox" v-if="resourType == 'word'">
-      <vue-office-docx :src="testWord" />
-    </div> -->
+    <div class="wordBox" v-if="resourType == 'PDF' || resourType == 'PPT' || resourType == 'WORD'">
+          <div
+            v-for="(item, index) in showData"
+            :key="index"
+            class="pdfItem"
+            :page="index + 1"
+          >
+            <img :src="item.showSrc" alt="" style="min-height: 550px" loading="lazy" />
+            <el-divider content-position="center"> 绗� {{ index + 1 }} 椤� </el-divider>
+          </div>
+        </div>
   </el-dialog>
   <div class="audioBox" v-show="false">
     <!-- <video controls controlslist="nodownload" :src="testVideo"></video> -->
@@ -1263,7 +1271,12 @@
   </el-dialog>
   <el-dialog title="妯″瀷宸ュ叿" align-center v-model="modelToolVisble" width="80%" class="myDialogs">
     <div class="wendabox">
-      <iframe src="https://adjam93.github.io/threejs-model-viewer/#" frameborder="0"></iframe>
+      <iframe :src="sceneUrl" frameborder="0"></iframe>
+    </div>
+  </el-dialog>
+  <el-dialog title="妯″瀷宸ュ叿" align-center v-model="modelTool" width="80%" class="myDialogs">
+    <div class="wendabox">
+      <iframe src='https://adjam93.github.io/threejs-model-viewer/#' frameborder="0"></iframe>
     </div>
   </el-dialog>
   <el-dialog title="鐢熻瘝鍗$墖" align-center v-model="shengciVisble" width="800" class="myDialogs">
@@ -2047,8 +2060,13 @@
             if (!activeClassify.value) {
               activeClassify.value = classifySelectList.value[0].key
               defaultResourceList.value.forEach((resItem1) => {
-                if (resItem1.resourceType != '鍥剧墖' && resItem1.resourceType != '瑙嗛' && resItem1.resourceType != '闊抽') {
+                if (resItem1.resourceType == classifySelectList.value[0].title) {
                   resourceDataList.value.push(resItem1)
+                }
+                if(activeClassify.value == 'other'){
+                  if (resItem1.resourceType != '鍥剧墖' && resItem1.resourceType != '瑙嗛' && resItem1.resourceType != '闊抽') {
+                    resourceDataList.value.push(resItem1)
+                  }
                 }
               })
             }
@@ -2121,8 +2139,13 @@
             if (!activeClassify.value) {
               activeClassify.value = classifySelectList.value[0].key
               teacherResourceList.value.forEach((resItem1) => {
-                if (resItem1.resourceType != '鍥剧墖' && resItem1.resourceType != '瑙嗛' && resItem1.resourceType != '闊抽') {
+                if (resItem1.resourceType == classifySelectList.value[0].title) {
                   resourceDataList.value.push(resItem1)
+                }
+                if(activeClassify.value == 'other'){
+                  if (resItem1.resourceType != '鍥剧墖' && resItem1.resourceType != '瑙嗛' && resItem1.resourceType != '闊抽') {
+                    resourceDataList.value.push(resItem1)
+                  }
                 }
               })
             }
@@ -2156,7 +2179,10 @@
   }
 }
 //璧勬簮鎾斁瑙嗛
+const sceneUrl = ref()
+const showData = ref()
 const goPlay = (data, index) => {
+  console.log(data.resourceType,123)
   resourType.value = data.resourceType
   if (data.resourceType == '瑙嗛') {
     if (data.md5) {
@@ -2173,7 +2199,54 @@
       testAudio.value = bookConfig.value.resourceUrl + '/' + data.resourcePath
     }
     autoPlay()
-  } else {
+  } else if (data.resourceType == '妯″瀷') {
+    console.log(data,222)
+    let file = bookConfig.value.requestCtx + '/file/api/ApiDownload?md5=' + data.md5
+    console.log(file.exd,777)
+    const ctx = 'https://jsek.bnuic.com'
+    if (data.md5) {
+      sceneUrl.value = 'https://jsek.bnuic.com/books/book/civilAviation/static/modelView/index.html?md5=' + data.md5 + '&name=je' + '&domain=' + ctx + '&exd=obj' + '&target=iframe'
+    } else {
+      sceneUrl.value = bookConfig.value.resourceUrl + '/' + data.resourcePath
+    }
+    modelToolVisble.value = true
+    // if (data.md5) {
+    //   window.open(bookConfig.value.requestCtx + '/file/api/ApiDownload?md5=' + data.md5)
+    // } else if (data.resourcePath) {
+    //   window.open(bookConfig.value.resourceUrl + '/' + data.resourcePath)
+    // }
+  }else if(data.resourceType == 'PPT' || data.resourceType == 'PDF'){
+    let md5 = data.md5
+    let dataList = []
+      MG.file
+        .getPdfInfo({
+          md5
+        })
+        .then((res: any) => {
+          console.log()
+          if (res && res.totalPages) {
+            for (let i = 0; i < res.totalPages; i++) {
+              const src =
+              bookConfig.value.requestCtx +
+                '/file/GetPdfPageImage?md5=' +
+                md5 +
+                '&index=' +
+                (i + 1) +
+                '&dpi=300'
+              dataList.push({
+                showSrc: src
+              })
+            }
+            console.log(dataList)
+            showData.value = dataList
+            // 鍚姩椤电爜瑙傚療
+            setTimeout(() => {
+              resourVisble.value = true
+            }, 500)
+          }
+        })
+
+  }else {
     if (data.md5) {
       window.open(bookConfig.value.requestCtx + '/file/api/ApiDownload?md5=' + data.md5)
     } else if (data.resourcePath) {
@@ -2824,6 +2897,7 @@
 const functionVisible = ref(false)
 const siweiVisble = ref(false)
 const modelToolVisble = ref(false)
+const modelTool = ref(false)
 const shengciVisble = ref(false)
 const calculatorVisble = ref(false)
 const activeTool = ref(0)
@@ -2846,7 +2920,7 @@
         siweiVisble.value = true
         break
       case '妯″瀷宸ュ叿':
-        modelToolVisble.value = true
+      modelTool.value = true
         break
       case '璇嶅吀':
         cidianVisible.value = true
@@ -2935,7 +3009,6 @@
 
 //娴獥宸ュ叿鏍忕偣鍑讳簨浠�
 const floatItemHandle = (item) => {
-  console.log(floatingToolData.activeToolData, 'floatingToolData.activeToolData')
   if (floatingToolData.activeToolData == '鐢荤瑪') {
     floatingToolData.activeToolData = ''
   } else {
@@ -3172,7 +3245,6 @@
 
 //璺宠浆
 const goReMark = (item) => {
-  console.log(item)
   if (window.qiankunState && window.qiankunState.gotoPage) {
     window.qiankunState.gotoPage(Number(item.chapterNum), Number(item.page))
   }
@@ -3257,7 +3329,6 @@
 }
 //鍙栨秷鍥炶皟
 const closeFn = (base64: any) => {
-  console.log(base64)
   floatingToolData.activeToolData = ''
 }
 //淇濆瓨鎴浘
@@ -3504,7 +3575,6 @@
         window.speechSynthesis.cancel()
         const synth = window.speechSynthesis
         const utterance = new SpeechSynthesisUtterance(dialogToolData.txt)
-        console.log(utterance, 1)
         utterance.lang = 'zh-CN' // 璁剧疆璇█涓轰腑鏂�
         synth.speak(utterance)
         showToolBox.value = false
@@ -3541,10 +3611,8 @@
 
         showToolBox.value = false
         // cidianVisible.value = true
-        console.log(dialogToolData.txt)
         break
       case '鐧剧':
-        console.log('https://baike.baidu.com/item/' + dialogToolData.txt)
         baiduVisible.value = true
         break
     }
@@ -3785,7 +3853,6 @@
             const item = res[i]
             // 鍌ㄥ��
             let data = catalogueData.value.find((item1) => item1.chapter == Number(item.key))
-            // console.log(data,'666')
             let dataList = []
             if (catalogueData.value.length > 0) {
               catalogueData.value.forEach((item1) => {
@@ -3827,7 +3894,6 @@
               })
             }
           }
-          console.log(scribeData.noteList, 'scribeData.noteList')
         }
         listLoading.value = false
       })
@@ -3901,13 +3967,11 @@
   document.addEventListener('mousemove', function (event) {
     var x = event.offsetX
     var y = event.offsetY
-    // console.log('榧犳爣鍧愭爣浣嶇疆锛�', x, y)
     noteContent.top = event.clientY + 20
     noteContent.left = event.clientX
   })
 }
 window.noteOut = (type) => {
-  console.log(type, 123)
   noteContent.show = false
 }
 
@@ -3957,7 +4021,6 @@
 
 //绗旇璺宠浆
 const jumpContent = (item) => {
-  console.log(item)
   if (window.qiankunState && window.qiankunState.gotoPage) {
     window.qiankunState.gotoPage(Number(item.chapterNum), Number(item.page))
   }
@@ -3965,7 +4028,6 @@
 
 //鑿滃崟绗旇缂栬緫
 const update = (item) => {
-  console.log(item)
   dialogToolData.chapter = item.chapterNum
   noteColorActive.value = item.color
   formData.id = item.id
@@ -4048,13 +4110,11 @@
         }
       ])
       .then((res) => {
-        console.log(res[0][0], 'cid')
         if (res.length > 0 && res[0].length > 0) {
           res[0].map((item) => {
             item.trans = JSON.parse(item.trans)
           })
           dictionaryData.data = res[0][0]
-          console.log(dictionaryData.data, '14')
           dictionaryData.showContent = true
         }
       })
@@ -5306,7 +5366,7 @@
 
 .wendabox {
   width: 100%;
-  height: 95vh;
+  height: 82vh;
 
   iframe {
     width: 100%;
@@ -5407,6 +5467,17 @@
 
 .wordBox {
   height: 600px;
+  width: 100%;
+  overflow-y: scroll;
+
+    img {
+      display: block;
+      margin: 0 auto;
+      width: 90%;
+      height: auto;
+      box-shadow: 0px 0px 10px 1px rgba(0, 0, 0, 0.1);
+      object-fit: contain;
+    }
 }
 
 .imgUrlBox {

--
Gitblit v1.9.1