Browse Source

Merge branch 'eta2.4' into debug

shanbinzhang 2 months ago
parent
commit
bcf1e74b91
2 changed files with 27 additions and 20 deletions
  1. 21 2
      src/hooks/sheet/useResizeTable.js
  2. 6 18
      src/views/sheetShow/index.vue

+ 21 - 2
src/hooks/sheet/useResizeTable.js

@@ -2,6 +2,7 @@ import { ref,nextTick } from 'vue';
 import { isMobile } from '@/utils/utils';
 import _ from 'lodash';
 import { useRoute } from 'vue-router';
+import { ElMessage } from 'element-plus';
 
 
 export function useResizeTable(refName) {
@@ -181,7 +182,10 @@ export function useResizeTable(refName) {
           
           columnsWArr.value=widthArr
           rowsHArr.value=heightArr
-            
+          
+          nextTick(() => {
+            postSheetHeightMsg()
+          }) 
         }
       })
     }else if(type === 'change') {
@@ -197,6 +201,20 @@ export function useResizeTable(refName) {
     }
   }
 
+  /* 初始化抛出渲染后的表格高度 */
+  function postSheetHeightMsg(type="") {
+      let ele = document.getElementsByClassName('sheet-show-wrapper')[0];
+    
+      let params = {
+        height: ele.offsetHeight,
+        code: route.query.code,
+        uid: route.query.uid||""
+      }
+    
+      window.parent.postMessage(params,'*')
+      type==='update'&&ElMessage.success('更新样式成功')
+  }
+
   /* 拖拽后抛出参数到外面存储  只在报告编辑页可保存*/
   function changeTableCellWidSave() {
     if(!route.query.sourceId || !route.query.uid) return
@@ -218,6 +236,7 @@ export function useResizeTable(refName) {
     handleMouseMove,
     handleMouseDown,
     initTableCellsWid,
-    getSize
+    getSize,
+    postSheetHeightMsg
   }
 }

+ 6 - 18
src/views/sheetShow/index.vue

@@ -5,8 +5,11 @@ import { SheetApi } from '@/request/api';
 import sheet from '@/components/sheet.vue'
 import { isMobile } from '@/utils/utils';
 import { IUnknowObject } from '@/types';
-import { ElMessage, valueEquals } from 'element-plus';
+import { ElMessage } from 'element-plus';
 import NoAuth from '@/components/noAuth.vue';
+import { useResizeTable } from '@/hooks/sheet/useResizeTable';
+
+const { postSheetHeightMsg } = useResizeTable();
 
 const route = useRoute();
 const code = ref(route.query.code || '')
@@ -57,26 +60,10 @@ const getInfo = async(type='') => {
     info.value.SourcesFrom = Data.ExcelSource?setDefaultSource(Data.ExcelSource):''
   }
   type==='refresh'&&ElMessage.success('刷新成功')
-  type!=='refresh'&&nextTick(() => {
-    updateToHeight()
-  })
 
 }
 getInfo()
 
-function updateToHeight(type="") {
-  let ele = document.getElementsByClassName('sheet-show-wrapper')[0] as HTMLElement;
-
-    let params = {
-      height: ele.offsetHeight,
-      code: info.value.UniqueCode,
-      uid: route.query.uid||""
-    }
-  
-    window.parent.postMessage(params,'*')
-    type==='update'&&ElMessage.success('更新样式成功')
-}
-
 const refreshSheet = async()=>{
     loading.value = true;
     let res: any=null;
@@ -116,10 +103,11 @@ const refreshSheet = async()=>{
         <!-- 占位 -->
         <div v-else></div>
         <div class="right-btns">
-          <span @click="updateToHeight('update')" v-if="route.query.sourceId&&!isMobile()">更新样式</span>
+          <span @click="postSheetHeightMsg('update')" v-if="route.query.sourceId&&!isMobile()">更新样式</span>
           <span @click="refreshSheet">刷新</span>
         </div>
       </div>
+
     </template>
     <NoAuth v-else/>
   </div>