From d7e53e63dd6c435e226d9f08cde31ca35131c911 Mon Sep 17 00:00:00 2001
From: 闫增涛 <1829501689@qq.com>
Date: 星期一, 14 四月 2025 15:30:33 +0800
Subject: [PATCH] Merge branch 'master' of http://182.92.203.7:2001/r/TextbookReader

---
 src/views/readerPages/home.vue |  176 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 168 insertions(+), 8 deletions(-)

diff --git a/src/views/readerPages/home.vue b/src/views/readerPages/home.vue
index 47ca510..0f45f5e 100644
--- a/src/views/readerPages/home.vue
+++ b/src/views/readerPages/home.vue
@@ -1,30 +1,190 @@
 <template>
   <div class="homePage">
-    <webHome v-if="!homeBoxHide"/>
-    <mobileHome v-if="homeBoxHide"/>
+    <webHome v-if="homeBoxWebHide" />
+    <mobileHome v-if="homeBoxHide" />
+  </div>
+  <div class="pdfDialog">
+    <el-dialog v-model="dialogState.dialogVisible" width="60vw" top="2vh" lock-scroll :show-close="false"
+      class="custom-dialog">
+      <template #header>
+        <div class="header_title">
+          <span>{{ dialogState.pdfTitle }}</span>
+          <span @click="dialogState.dialogVisible = false"> x </span>
+        </div>
+      </template>
+      <div class="pdfModal" v-if="dialogState.dialogVisible">
+        <preView :isClear="dialogState.dialogVisible" :md5="dialogState.p_md5"></preView>
+      </div>
+    </el-dialog>
   </div>
 </template>
 <script setup lang="ts">
-import { ref, onMounted } from 'vue'
+import { ref, onMounted, reactive, inject } from 'vue'
 import webHome from '@/views//readerPages/webHome.vue'
 import mobileHome from '@/views//readerPages/mobileHome.vue'
+import preView from '../components/pdfview.vue'
+// import { da } from 'element-plus/es/locale'
 const screenWidth = ref(
   window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth
 )
 const homeBoxHide = ref(false)
-
+const homeBoxWebHide = ref(false)
+const dialogState = reactive({
+  dialogVisible: false,
+  pdfTitle: '',
+  isClear: false,
+  p_md5: ''
+})
 onMounted(() => {
   if (screenWidth.value < 420) {
     homeBoxHide.value = true
-  }else{
+    homeBoxWebHide.value = false
+  } else {
+    homeBoxWebHide.value = true
     homeBoxHide.value = false
   }
+  window.qiankunActions.setGlobalState({
+    openPDF: (data) => {
+      console.log('鐖跺簲鐢�', data)
+      if (data.data.md5) {
+        const { md5, title } = data.data
+        dialogState.p_md5 = md5
+        dialogState.pdfTitle = title
+      }
+      dialogState.dialogVisible = true
+    }
+  })
 })
 </script>
 
 <style lang="less">
-.homePage{
-    width:100%;
-    height:100%;
+.homePage {
+  width: 100%;
+  height: 100%;
+}
+
+.custom-dialog {
+  .el-dialog {
+  padding: 0;
+}
+
+  .el-dialog__header {
+    background-color: rgba(0, 0, 0, 0.8);
+    padding: 0;
+    padding: 10px 0;
+
+    .header_title {
+      display: flex;
+      justify-content: space-between;
+      align-items: center;
+      color: #fff;
+      font-weight: 900;
+      font-size: 16px;
+      font-family: 'FZLTXIHJW';
+      padding: 5px 20px;
+      box-sizing: border-box;
+
+      span:nth-child(2):hover {
+        cursor: pointer;
+      }
+    }
+
+    .el-dialog__title,
+    .el-dialog__headerbtn .el-dialog__close {
+      color: #fff;
+      font-weight: 900;
+      font-size: 16px;
+      font-family: 'FZLTXIHJW';
+    }
+  }
+}
+
+
+.pdfModal {
+  width: 100%;
+  height: 90vh;
+
+  .pdfBox-component {
+    width: 100%;
+    height: 100%;
+    position: relative;
+
+    .preview {
+      width: 100%;
+      height: 100%;
+
+      .imageBox {
+        height: calc(100% - 30px);
+        overflow-x: hidden;
+        overflow-y: auto;
+        background: #ccc;
+        box-sizing: border-box;
+
+        img {
+          margin: 0 auto;
+          display: flex;
+          justify-content: center;
+        }
+
+      }
+
+      .imageBox:hover {
+        cursor: zoom-in !important;
+      }
+
+      ::v-deep .el-dialog__header {
+        background-color: rgba(0, 0, 0, 0.8);
+
+        .header_title {
+          display: flex;
+          justify-content: space-between;
+          align-items: center;
+          color: #fff;
+          font-weight: 900;
+          font-size: 16px;
+          font-family: 'FZLTXIHJW';
+
+          span:nth-child(2):hover {
+            cursor: pointer;
+          }
+        }
+
+        ::v-deep .el-dialog__title,
+        ::v-deep .el-dialog__headerbtn .el-dialog__close {
+          color: #fff;
+          font-weight: 900;
+          font-size: 16px;
+          font-family: 'FZLTXIHJW';
+        }
+      }
+
+      .bottom_tool {
+        height: 30px;
+        background-color: rgba(0, 0, 0, 0.8);
+        display: flex;
+        justify-content: flex-end;
+        align-items: center;
+
+        svg {
+          margin-right: 15px;
+          fill: #d1d1d1;
+        }
+
+        svg:hover {
+          fill: #fff;
+          cursor: pointer;
+        }
+      }
+    }
+
+    .notBox {
+      position: absolute;
+      top: 0;
+      left: 0;
+      width: 100%;
+      height: calc(100% - 30px);
+      min-height: 300px;
+    }
+  }
 }
 </style>

--
Gitblit v1.9.1