Bladeren bron

上报修改

duy 1 jaar geleden
bovenliggende
commit
92994f69f4
2 gewijzigde bestanden met toevoegingen van 19 en 6 verwijderingen
  1. 10 3
      src/views/tasks/components/hc-pdf1.vue
  2. 9 3
      src/views/tasks/hc-data.vue

+ 10 - 3
src/views/tasks/components/hc-pdf1.vue

@@ -2,7 +2,7 @@
     <div class="hc-page-box">
         <HcCard title="测试">
             <div v-loading="loading" element-loading-text="加载文件并初始渲染中..." class="h-full">
-                <div id="pdfView" class="h-full" />
+                <div :id="`pdfView+${id}`" class="h-full" />
             </div>
         </HcCard>
     </div>
@@ -19,17 +19,24 @@ const props = defineProps({
         type: [String, Number],
         default: '',
     },
+    id:{
+        type: [String, Number],
+        default: '',
+    },
 
 })
 //事件
 const emit = defineEmits(['change'])
 const pdf = ref(props.src)
+const id = ref(props.id)
 const loading = ref(true)
 //监听
 watch(() => [
     props.src,
-], ([src]) => {
+    props.id,
+], ([src, Id]) => {
     pdf.value = src
+    id.value = Id
     getPdf()
 
   
@@ -52,7 +59,7 @@ const queryCurrentUserData = async () => {
 const getPdf = ()=>{
      //创建PDF签章控件以及相关功能
      HcPdfSign.createPdf({
-        ele: 'pdfView', //挂载元素的id
+        ele: 'pdfView' + id.value, //挂载元素的id
         url: pdf.value, //pdf的url地址
         img: logoName.value, //签章图片的url地址
         //加载完成

+ 9 - 3
src/views/tasks/hc-data.vue

@@ -47,7 +47,10 @@
             </template>
             <div class="hc-card-body-flex">
                 <div v-if="batchPdfUrl" class="flex-iframe">
-                    <HcPdf :src="batchPdfUrl" @change="changeSealStrategy" />
+                    <!-- <HcPdf :src="batchPdfUrl" @change="changeSealStrategy" /> -->
+                    <KeepAlive>
+                        <component :is="current" :id="getUUID()" :src="batchPdfUrl" @change="changeSealStrategy" />
+                    </KeepAlive>
                 </div>
                 <div v-else class="flex-iframe hc-no-table-form">
                     <div class="table-form-no">
@@ -140,14 +143,14 @@
 </template>
 
 <script setup>
-import { onMounted, ref } from 'vue'
+import { onMounted, ref, shallowRef } from 'vue'
 import { useAppStore } from '~src/store'
 import { useRoute, useRouter } from 'vue-router'
 import TableCard from './components/TableCard.vue'
 import notableform from '~src/assets/view/notableform.svg'
 import { getContractInfo } from '~api/other'
 import tasksFlowApi from '~api/tasks/flow'
-import { arrToKey, getArrValue, isString } from 'js-fast-way'
+import { arrToKey, getArrValue, getUUID, isString } from 'js-fast-way'
 import tasksApi from '~api/tasks/data'
 import dayjs from 'dayjs'
 import HcPdf from './components/hc-pdf1.vue'
@@ -172,6 +175,9 @@ onMounted(() => {
     checkSmsCode()
     getContractInfoList()
 })
+
+//pdf
+const current = shallowRef(HcPdf)
 //合同段信息
 const contractList = ref([])