Ver código fonte

🥸操作中预览按钮增加图片预览,跟直接点表格预览列效果一致

Signed-off-by: KaneLeung <kk.xiaolan@gmail.com>
KaneLeung 2 anos atrás
pai
commit
24de7bb080
1 arquivos alterados com 6 adições e 0 exclusões
  1. 6 0
      Web/src/views/system/file/index.vue

+ 6 - 0
Web/src/views/system/file/index.vue

@@ -110,6 +110,7 @@
 		<el-drawer :title="state.fileName" v-model="state.dialogPdfVisible" size="50%" destroy-on-close>
 		<el-drawer :title="state.fileName" v-model="state.dialogPdfVisible" size="50%" destroy-on-close>
 			<vue-office-pdf :src="state.pdfUrl" style="height: 100vh" @rendered="renderedHandler" @error="errorHandler"
 			<vue-office-pdf :src="state.pdfUrl" style="height: 100vh" @rendered="renderedHandler" @error="errorHandler"
 		/></el-drawer>
 		/></el-drawer>
+		<el-image-viewer v-if="state.showViewer" :url-list="state.previewList" @close="state.showViewer = false"></el-image-viewer>
 	</div>
 	</div>
 </template>
 </template>
 
 
@@ -147,10 +148,12 @@ const state = reactive({
 	dialogDocxVisible: false,
 	dialogDocxVisible: false,
 	dialogXlsxVisible: false,
 	dialogXlsxVisible: false,
 	dialogPdfVisible: false,
 	dialogPdfVisible: false,
+	showViewer: false,
 	docxUrl: '',
 	docxUrl: '',
 	excelUrl: '',
 	excelUrl: '',
 	pdfUrl: '',
 	pdfUrl: '',
 	fileName: '',
 	fileName: '',
+	previewList: [] as string[],
 });
 });
 
 
 onMounted(async () => {
 onMounted(async () => {
@@ -234,6 +237,9 @@ const openFilePreviewDialog = async (row: any) => {
 		state.fileName = `【${row.fileName}${row.suffix}】`;
 		state.fileName = `【${row.fileName}${row.suffix}】`;
 		state.excelUrl = getFileUrl(row);
 		state.excelUrl = getFileUrl(row);
 		state.dialogXlsxVisible = true;
 		state.dialogXlsxVisible = true;
+	} else if (['.jpg', '.png', '.jpeg', '.bmp'].findIndex((e) => e == row.suffix) > -1) {
+		state.previewList = [row.url];
+		state.showViewer = true;
 	} else {
 	} else {
 		ElMessage.error('此文件格式不支持预览');
 		ElMessage.error('此文件格式不支持预览');
 	}
 	}