Files
admin-sjzx/src/components/PreviewFile/index.vue

58 lines
2.0 KiB
Vue
Raw Normal View History

2024-06-06 22:14:20 +08:00
<template>
2025-12-19 10:56:30 +08:00
<div style="overflow: auto; height: 100vh">
<vue-office-docx v-if="urlKey.includes('.doc') || urlKey.includes('.docx')" :src="url" />
2025-12-25 13:19:24 +08:00
<vue-office-excel
v-if="urlKey.includes('.xls') || urlKey.includes('.xlsx')"
:src="url"
:options="excelOptions"
/>
2025-12-19 10:56:30 +08:00
<!-- <vue-office-pdf v-if="url.includes('.pdf')" :src="url" /> -->
<iframe v-if="urlKey.includes('.pdf')" :src="url" style="width: 100%; height: 99%"></iframe>
2025-12-25 13:19:24 +08:00
<img
v-if="
urlKey.includes('.png') || urlKey.includes('.jpg') || urlKey.includes('.gif') || urlKey.includes('.bmp')
"
:src="url"
/>
2024-06-06 22:14:20 +08:00
</div>
</template>
<script lang="ts" setup>
import { useRouter } from 'vue-router'
2024-06-07 14:29:28 +08:00
import { ref } from 'vue'
2024-06-06 22:14:20 +08:00
//引入相关样式
import '@vue-office/excel/lib/index.css'
//引入VueOfficeDocx组件
import VueOfficeDocx from '@vue-office/docx'
import VueOfficeExcel from '@vue-office/excel'
//引入VueOfficePdf组件
import VueOfficePdf from '@vue-office/pdf'
2025-12-12 09:29:09 +08:00
import { downloadFile } from '@/api/system-boot/file'
2025-12-25 13:19:24 +08:00
import { previewFile } from '@/utils/fileDownLoad'
2024-06-07 14:29:28 +08:00
const { push, options, currentRoute } = useRouter()
2025-12-12 09:29:09 +08:00
const VITE_FLAG = import.meta.env.VITE_NAME == 'jibei'
2024-08-07 11:20:00 +08:00
// const url = 'http://192.168.1.22:9009/excelreport' + currentRoute.value.href?.split('?')[1]
2025-12-12 09:29:09 +08:00
const url = ref('')
const excelOptions = ref({})
const urlKey = currentRoute.value?.href?.split('?')[1]
2025-12-25 13:19:24 +08:00
if (VITE_FLAG) {
url.value = '/api-docx/excelreport' + currentRoute.value?.href?.split('?')[1]
excelOptions.value = ref({
2025-12-19 10:56:30 +08:00
xls: currentRoute.value.href?.split('?')[1].split('.')[1] == 'xls' ? true : false
2025-12-12 09:29:09 +08:00
})
2025-12-25 13:19:24 +08:00
} else {
2025-12-30 10:02:01 +08:00
console.log('🚀 ~ urlKey:', urlKey)
2025-12-25 13:19:24 +08:00
setTimeout(async () => {
const previewUrl = await previewFile(currentRoute.value?.href?.split('?')[1])
url.value = previewUrl
}, 0)
2025-12-12 09:29:09 +08:00
}
2024-08-28 16:34:31 +08:00
2024-06-06 22:14:20 +08:00
onMounted(() => {
// 从路由参数获取文件路径
2024-06-06 22:14:20 +08:00
console.log()
})
</script>
<style lang="less" scoped></style>