|
|
@@ -1,65 +1,61 @@
|
|
|
<template>
|
|
|
- <div class="info-container">
|
|
|
- <header class="info-container__header">
|
|
|
- <el-tooltip
|
|
|
- :content="defenseNoticeDetail?.title"
|
|
|
- placement="bottom-start"
|
|
|
- effect="light"
|
|
|
- :hide-after="0"
|
|
|
- v-if="defenseNoticeDetail?.title && defenseNoticeDetail.title.length > 50"
|
|
|
+ <header class="info-container__header">
|
|
|
+ <el-tooltip
|
|
|
+ :content="defenseNoticeDetail?.title"
|
|
|
+ placement="bottom-start"
|
|
|
+ effect="light"
|
|
|
+ :hide-after="0"
|
|
|
+ v-if="defenseNoticeDetail?.title && defenseNoticeDetail.title.length > 50"
|
|
|
+ >
|
|
|
+ <span class="title">{{ defenseNoticeDetail?.title }}</span>
|
|
|
+ </el-tooltip>
|
|
|
+ <span class="title" v-else>{{ defenseNoticeDetail?.title }}</span>
|
|
|
+ <div class="disaster">
|
|
|
+ <p class="info-item">
|
|
|
+ 灾害类型:<span class="info-content">{{ getDisasterType(defenseNoticeDetail?.disasterType || '') }}</span>
|
|
|
+ </p>
|
|
|
+ <p class="info-item">
|
|
|
+ 灾害等级:<span class="info-content">{{ getDisasterLevel(defenseNoticeDetail?.disasterLevel || '') }}</span>
|
|
|
+ </p>
|
|
|
+ </div>
|
|
|
+ <span class="publish-info">
|
|
|
+ <p class="info-item">
|
|
|
+ <span>{{ defenseNoticeDetail?.pushTime ? '发布人:' : '创建人:' }}</span>
|
|
|
+ <span class="info-content">
|
|
|
+ {{ defenseNoticeDetail?.pushTime ? defenseNoticeDetail.pushName : defenseNoticeDetail?.realname }}
|
|
|
+
|
|
|
+ {{ defenseNoticeDetail?.pushTime }}
|
|
|
+ </span>
|
|
|
+ </p>
|
|
|
+ </span>
|
|
|
+ </header>
|
|
|
+ <section class="divider"></section>
|
|
|
+ <section class="content">
|
|
|
+ <div v-html="defenseNoticeDetail?.content"></div>
|
|
|
+ </section>
|
|
|
+ <section class="attachment" v-if="defenseNoticeDetail?.attachmentListRes.length">
|
|
|
+ <span class="info-content" style="font-size: 14px">附件({{ defenseNoticeDetail?.attachmentListRes.length }})</span>
|
|
|
+
|
|
|
+ <a @click="downloadAll">下载全部</a>
|
|
|
+ <div class="attachment-list">
|
|
|
+ <div
|
|
|
+ class="attachment-item"
|
|
|
+ v-for="item in defenseNoticeDetail?.attachmentListRes"
|
|
|
+ :key="item.fileId"
|
|
|
+ @click="previewOnline(item.fileUrl, item.fileType as keyof typeof FILE_TYPE_ICON)"
|
|
|
>
|
|
|
- <span class="title">{{ defenseNoticeDetail?.title }}</span>
|
|
|
- </el-tooltip>
|
|
|
- <span class="title" v-else>{{ defenseNoticeDetail?.title }}</span>
|
|
|
- <div class="disaster">
|
|
|
- <p class="info-item">
|
|
|
- 灾害类型:<span class="info-content">{{ getDisasterType(defenseNoticeDetail?.disasterType || '') }}</span>
|
|
|
- </p>
|
|
|
- <p class="info-item">
|
|
|
- 灾害等级:<span class="info-content">{{ getDisasterLevel(defenseNoticeDetail?.disasterLevel || '') }}</span>
|
|
|
- </p>
|
|
|
- </div>
|
|
|
- <span class="publish-info">
|
|
|
- <p class="info-item">
|
|
|
- <span>{{ defenseNoticeDetail?.pushTime ? '发布人:' : '创建人:' }}</span>
|
|
|
- <span class="info-content">
|
|
|
- {{ defenseNoticeDetail?.pushTime ? defenseNoticeDetail.pushName : defenseNoticeDetail?.realname }}
|
|
|
-
|
|
|
- {{ defenseNoticeDetail?.pushTime }}
|
|
|
- </span>
|
|
|
- </p>
|
|
|
- </span>
|
|
|
- </header>
|
|
|
- <section class="divider"></section>
|
|
|
- <section class="content">
|
|
|
- <div v-html="defenseNoticeDetail?.content"></div>
|
|
|
- </section>
|
|
|
- <section class="attachment" v-if="defenseNoticeDetail?.attachmentListRes.length">
|
|
|
- <span class="info-content" style="font-size: 14px"
|
|
|
- >附件({{ defenseNoticeDetail?.attachmentListRes.length }})</span
|
|
|
- >
|
|
|
-
|
|
|
- <a @click="downloadAll">下载全部</a>
|
|
|
- <div class="attachment-list">
|
|
|
- <div
|
|
|
- class="attachment-item"
|
|
|
- v-for="item in defenseNoticeDetail?.attachmentListRes"
|
|
|
- :key="item.fileId"
|
|
|
- @click="previewOnline(item.fileUrl, item.fileType as keyof typeof FILE_TYPE_ICON)"
|
|
|
- >
|
|
|
- <span class="attachment-item--name">{{ item.fileName }}</span>
|
|
|
- <div class="attachment-item--footer">
|
|
|
- <div class="info">
|
|
|
- <img :src="FILE_TYPE_ICON[item.fileType as keyof typeof FILE_TYPE_ICON]" />
|
|
|
- <span>{{ item.fileSize }}</span>
|
|
|
- </div>
|
|
|
- <a @click.stop="downloadFile(item.fileUrl, item.fileName)">下载</a>
|
|
|
+ <span class="attachment-item--name">{{ item.fileName }}</span>
|
|
|
+ <div class="attachment-item--footer">
|
|
|
+ <div class="info">
|
|
|
+ <img :src="FILE_TYPE_ICON[item.fileType as keyof typeof FILE_TYPE_ICON]" />
|
|
|
+ <span>{{ item.fileSize }}</span>
|
|
|
</div>
|
|
|
+ <a @click.stop="downloadFile(item.fileUrl, item.fileName)">下载</a>
|
|
|
</div>
|
|
|
</div>
|
|
|
- </section>
|
|
|
- <PreviewOnline ref="previewOnlineRef" />
|
|
|
- </div>
|
|
|
+ </div>
|
|
|
+ </section>
|
|
|
+ <PreviewOnline ref="previewOnlineRef" />
|
|
|
</template>
|
|
|
|
|
|
<script setup lang="ts">
|
|
|
@@ -102,14 +98,10 @@
|
|
|
</script>
|
|
|
|
|
|
<style scoped lang="scss">
|
|
|
- .info-container {
|
|
|
+ .info-container__header {
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
width: 100%;
|
|
|
- height: 100%;
|
|
|
- &__header {
|
|
|
- display: flex;
|
|
|
- flex-direction: column;
|
|
|
- width: 100%;
|
|
|
- }
|
|
|
}
|
|
|
.title {
|
|
|
font-size: 20px;
|