From e220a11760bb56f12da82a18e0b441dfdc588fac Mon Sep 17 00:00:00 2001 From: zhouwenxuan <1175765986@qq.com> Date: 星期四, 07 十二月 2023 15:30:25 +0800 Subject: [PATCH] bug修改 --- src/views/components/details.vue | 55 ++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 52 insertions(+), 3 deletions(-) diff --git a/src/views/components/details.vue b/src/views/components/details.vue index 985fbe8..b360786 100644 --- a/src/views/components/details.vue +++ b/src/views/components/details.vue @@ -19,7 +19,7 @@ <div class="title">{{state.content.title}}</div> <el-divider border-style="dashed"/> <div class="time">更新时间:{{state.content.updateTime?state.content.updateTime:state.content.createTime}}</div> - <div v-html="state.content.content"></div> + <div v-html="state.content.content" class="reviewTable" @click="showFile($event)"></div> </div> <div class="main" v-if="state.firstClass == '法律法规'"> <div class="title">{{state.content.title}}</div> @@ -27,7 +27,7 @@ <div class="info"><span>法律法规类别:{{state.content.lawType}}</span><span>颁布机构:{{state.content.pubAgency}}</span><span>颁布日期:{{state.content.pubDate}}</span></div> <el-divider border-style="dashed"/> <div class="time">更新时间:{{state.content.updateTime?state.content.updateTime:state.content.createTime}}</div> - <div v-html="state.content.content"></div> + <div v-html="state.content.content" class="reviewTable" @click="showFile($event)"></div> </div> <div class="main" v-if="state.firstClass == '机构公示'"> <div class="title">{{state.content.name}}</div> @@ -83,6 +83,8 @@ import {ElMessage} from "element-plus"; import {getLawsDetails, getNoticeDetails, getPublishDetails} from "../../api/home/homePage"; import { getDict } from "@/api/login" +import axios from "axios"; +import {getToken} from "@/utils/auth"; const route = useRoute() const router = useRouter() @@ -94,7 +96,7 @@ }) const emit = defineEmits(['backJump']) onMounted(()=>{ - getBusiness() + // getBusiness() }) onUnmounted(()=>{ @@ -143,6 +145,39 @@ } } +const showFile = (e) => { + if(e.target.nodeName === 'A'){ + console.log("e",e) + e.preventDefault(); + const file = { + fileUrl: e.target.href, + fileName: e.target.download + } + axios.get( file.fileUrl,{ + headers: + { + 'Content-Type': 'application/json', + 'Authorization':getToken(), + }, + responseType: 'blob' + } + ).then(res=>{ + if (res) { + const link = document.createElement('a') + let blob = new Blob([res.data],{type: res.data.type}) + link.style.display = "none"; + link.href = URL.createObjectURL(blob); // 创建URL + link.setAttribute("download", file.fileName); + document.body.appendChild(link); + link.click(); + document.body.removeChild(link); + } else { + this.$message.error('获取文件失败') + } + this.handleClose(); + }) + } +} const back = ()=>{ if(state.firstClass == '通知公告'){ @@ -266,5 +301,19 @@ } } } + .reviewTable { + :deep(table){ + border: 1px solid #ccc; + text-align: center; + } + :deep(table td){ + border: 1px solid #ccc; + text-align: center; + padding: 0 5px; + } + :deep(table th){ + border: 1px solid #ccc; + } + } } </style> -- Gitblit v1.9.2