闫增涛
2024-06-28 f0c2c003738addcc452c4e7a001481f245056dec
src/views/readerPages/home.vue
@@ -1,30 +1,144 @@
<template>
  <div class="homePage">
    <webHome v-if="!homeBoxHide"/>
    <mobileHome v-if="homeBoxHide"/>
    <webHome v-if="!homeBoxHide" />
    <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 qiankunActions = inject('qiankunActions')
const screenWidth = ref(
  window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth
)
const homeBoxHide = ref(false)
const dialogState = reactive({
  dialogVisible: false,
  pdfTitle: '',
  isClear: false,
  p_md5: ''
})
onMounted(() => {
  if (screenWidth.value < 420) {
    homeBoxHide.value = true
  }else{
  } else {
    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%;
}
.pdfDialog {
  .el-overlay {
    z-index: 2004 !important;
  }
}
.pdfModal {
  width: 100%;
  height: 90vh;
}
.custom-dialog {
  overflow: hidden !important;
  padding: 0;
  .el-dialog__body {
    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';
    }
  }
}
@media screen and (max-width: 1070px) {
  .pdfModal {
    width: 100%;
    height: 80vh;
  }
  .custom-dialog {
    .el-dialog {
      width: 90vw !important;
    }
  }
}
@media screen and (max-width: 800px) {
  .pdfModal {
    width: 100%;
    height: 60vh;
  }
  .custom-dialog {
    .el-dialog {
      width: 90vw !important;
    }
  }
}
</style>