From f812a5d9c4a973930a79581e0c1de91a7054b547 Mon Sep 17 00:00:00 2001 From: riku <risaku@163.com> Date: 星期二, 29 七月 2025 14:57:01 +0800 Subject: [PATCH] 中间数据产品 1. 新增报告生成提示; 2. 新增报告文件下载; 3. 修复报告页面展示时,相同名称的列数据无法正确展示的问题; --- src/views/fysp/check/components/ArbitraryPhoto.vue | 61 ++++++++++++++++-------------- 1 files changed, 33 insertions(+), 28 deletions(-) diff --git a/src/views/fysp/check/components/ArbitraryPhoto.vue b/src/views/fysp/check/components/ArbitraryPhoto.vue index 703ceda..012ae5c 100644 --- a/src/views/fysp/check/components/ArbitraryPhoto.vue +++ b/src/views/fysp/check/components/ArbitraryPhoto.vue @@ -14,7 +14,12 @@ @contextmenu="closeContextMenu" class="container" > --> - <div v-if="showMenu" ref="menu" :style="menuStyle" class="context-menu"> + <div + v-if="showMenu && !menuLoading" + ref="menu" + :style="menuStyle" + class="context-menu" + > <template v-for="(item, index) in menuItems" :key="index"> <el-popover v-if="item.children" placement="right-start" trigger="hover"> <template #reference> @@ -58,20 +63,9 @@ loading: true, // 鍙抽敭鍥剧墖寮瑰嚭鑿滃崟鎺у埗 showMenu: false, + menuLoading: true, menuStyle: undefined, - // menuItems: [ - // { label: '澶嶅埗鍥剧墖', action: 'copy' }, - // { - // label: '绉诲姩鍒�', - // children: [ - // { - // action: 'move', - // label: v.typeName, - // value: v.typeId - // } - // ] - // } - // ], + allMoveActions: [], closeContextMenuListenr: undefined, // 鍙抽敭閫変腑鐨勫浘鐗� selectedFileElement: undefined, @@ -82,21 +76,14 @@ }, computed: { menuItems() { - const sceneTypeId = this.subtask.sceneTypeId; - const items = enumMediaFile(sceneTypeId, false) - .filter((v) => { - return v.value != this.selectedTypeId; - }) - .map((v) => { - return { - action: 'move', - label: v.label, - value: v.value - }; - }); return [ // { label: '澶嶅埗鍒板壀璐存澘', action: 'copy' }, - { label: '绉诲姩鍒�', children: items } + { + label: '绉诲姩鍒�', + children: this.allMoveActions.filter((v) => { + return v.value != this.selectedTypeId; + }) + } ]; } }, @@ -113,6 +100,8 @@ } }; document.addEventListener('click', this.closeContextMenuListenr); + + this.initMenuItems(); }, unmounted() { document.removeEventListener('click', this.closeContextMenuListenr); @@ -229,7 +218,7 @@ canvas.width = img.naturalWidth; canvas.height = img.naturalHeight; ctx.drawImage(img, 0, 0, canvas.width, canvas.height); - // this.copyCanvasToClipboard(canvas); + this.copyCanvasToClipboard(canvas); const dataUrl = canvas.toDataURL('image/png'); // 鍙互閫夋嫨鍏朵粬鏍煎紡濡�'image/jpeg' // 鍒涘缓涓�涓复鏃剁殑textarea鍏冪礌鏉ュ鍒舵枃鏈� const tempTextArea = document.createElement('textarea'); @@ -251,6 +240,22 @@ } ); }, 'image/png'); // 鍚屾牱锛岃繖閲屼篃鍙互鎸囧畾鍏朵粬鏍煎紡锛屽 'image/jpeg' + }, + // 鍒濆鍖栧満鏅浘鐗囩殑绫诲瀷鑿滃崟 + initMenuItems() { + this.menuLoading = true; + const sceneTypeId = this.subtask.sceneTypeId; + enumMediaFile(sceneTypeId, false) + .then((res) => { + this.allMoveActions = res.map((v) => { + return { + action: 'move', + label: v.label, + value: v.value + }; + }); + }) + .finally(() => (this.menuLoading = false)); } } }; -- Gitblit v1.9.3