|
|
@@ -4,21 +4,29 @@
|
|
|
<div class="left">
|
|
|
<BaseMain title="通知公告">
|
|
|
<template v-slot:mainArea>
|
|
|
- <div class="main-container">
|
|
|
- <div class="img-txt" v-if="noticeList.length > 0">
|
|
|
- <el-image class="img" :src="noticeList[0].url"></el-image>
|
|
|
- <div class="txt">{{ noticeList[0].txt }}</div>
|
|
|
+ <div class="main-container h380">
|
|
|
+ <template v-if="noticeList.length > 0">
|
|
|
+ <div class="img-txt" v-if="noticeList.length > 0" @click="toSee(noticeList[0])">
|
|
|
+ <el-image class="img" :src="noticeList[0].images"></el-image>
|
|
|
+ <div class="txt">{{ noticeList[0].announcementName }}</div>
|
|
|
</div>
|
|
|
<div class="list" v-for="item in noticeDataList" :key="item.id">
|
|
|
<div class="left">
|
|
|
- <el-image :src="item.url" class="img"></el-image>
|
|
|
+ <el-image :src="item.images" class="img"></el-image>
|
|
|
</div>
|
|
|
<div class="right">
|
|
|
- <div class="title">{{ item.txt }}</div>
|
|
|
- <div class="date">{{ item.date }}</div>
|
|
|
- <div class="detailBtn">详情</div>
|
|
|
+ <div class="title">{{ item.announcementName }}</div>
|
|
|
+ <div class="date">{{ formatDate(item.createTime) }}</div>
|
|
|
+ <div class="detailBtn" @click="toSee(item)">详情</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
+ </template>
|
|
|
+ <template v-else>
|
|
|
+ <div class="noData">
|
|
|
+ <img src="@/assets/image/comprehensive/noData.png" alt="">
|
|
|
+ <div class="txt">暂无公告信息</div>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
</div>
|
|
|
</template>
|
|
|
</BaseMain>
|
|
|
@@ -66,23 +74,6 @@
|
|
|
<span class="value blue">538.85 <span>km²</span></span>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <!-- <div class="table-card" v-for="item in tableInfo" :key="item.id">
|
|
|
- <div class="title">{{ item.title }}</div>
|
|
|
- <div class="base-info-card">
|
|
|
- <div class="base-info-item">
|
|
|
- <span>堤防长度</span>
|
|
|
- <span class="value">{{ item.len }} <span>km</span></span>
|
|
|
- </div>
|
|
|
- <div class="base-info-item pl20">
|
|
|
- <span>防洪标准</span>
|
|
|
- <span class="value">{{ item.year }} <span>年一遇</span></span>
|
|
|
- </div>
|
|
|
- <div class="base-info-item pl20">
|
|
|
- <span>设计流量</span>
|
|
|
- <span class="value">{{ item.sl }} <span>m³/人</span></span>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div> -->
|
|
|
<div class="title-area borderT">
|
|
|
<div class="left">渭河生态区兴平段</div>
|
|
|
<div class="right">河道长度:30.6km</div>
|
|
|
@@ -123,10 +114,10 @@
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
+import moment from 'moment'
|
|
|
import BasePanelLeft from '@/components/base-panel/base-panel-left'
|
|
|
import BaseMain from '@/components/base-main/base-main.vue'
|
|
|
-import noticeUrl from '@/assets/image/comprehensive/bg1.png'
|
|
|
-import iUrl from '@/assets/image/comprehensive/bg2.png'
|
|
|
+import {getAnnouncementList} from '@/api/announcementApi'
|
|
|
export default {
|
|
|
components: {
|
|
|
BaseMain,
|
|
|
@@ -134,26 +125,7 @@ export default {
|
|
|
},
|
|
|
data() {
|
|
|
return {
|
|
|
- noticeList: [
|
|
|
- {
|
|
|
- id: 1,
|
|
|
- url: noticeUrl,
|
|
|
- txt: '朝元阁峻临秦岭,羯鼓楼高俯渭河',
|
|
|
- date: '2025-05-04 10:00:00'
|
|
|
- },
|
|
|
- {
|
|
|
- id: 2,
|
|
|
- url: iUrl,
|
|
|
- txt: '离亭当日唱离歌,只为柔条傍渭河',
|
|
|
- date: '2025-05-04 10:00:00'
|
|
|
- },
|
|
|
- {
|
|
|
- id: 3,
|
|
|
- url: iUrl,
|
|
|
- txt: '离亭当日唱离歌,只为柔条傍渭河',
|
|
|
- date: '2025-05-04 10:00:00'
|
|
|
- }
|
|
|
- ],
|
|
|
+ noticeList: [],
|
|
|
noticeDataList: [],
|
|
|
tableInfo: [
|
|
|
{
|
|
|
@@ -173,11 +145,25 @@ export default {
|
|
|
]
|
|
|
}
|
|
|
},
|
|
|
- created() {
|
|
|
- this.noticeDataList = this.noticeList.splice(1, this.noticeList.length)
|
|
|
- console.info(this.noticeDataList)
|
|
|
+ mounted(){
|
|
|
+ this.fetchData()
|
|
|
},
|
|
|
- methods: {}
|
|
|
+ methods: {
|
|
|
+ formatDate(date) {
|
|
|
+ return moment(date).format('YYYY-MM-DD HH:mm:ss')
|
|
|
+ },
|
|
|
+ fetchData() {
|
|
|
+ getAnnouncementList({ announcementStatus: '1',pageNum: 1,
|
|
|
+ pageSize: 3}).then((res) => {
|
|
|
+ this.noticeList = res.data.records
|
|
|
+ this.noticeDataList = this.noticeList.splice(1, this.noticeList.length)
|
|
|
+ })
|
|
|
+ },
|
|
|
+ toSee(data){
|
|
|
+ console.info(data)
|
|
|
+ this.$globalEventBus.$emit('clickAnnouncePopup',{list:data})
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
</script>
|
|
|
|
|
|
@@ -187,8 +173,24 @@ export default {
|
|
|
top: px-to-rem(30);
|
|
|
z-index: 1;
|
|
|
left: px-to-rem(-4);
|
|
|
+ .h380{
|
|
|
+ height: px-to-rem(419);
|
|
|
+ }
|
|
|
.main-container {
|
|
|
padding: px-to-rem(10);
|
|
|
+ .noData{
|
|
|
+ width: 100%;
|
|
|
+ height: 100%;
|
|
|
+ text-align: center;
|
|
|
+ img{
|
|
|
+ margin-top: px-to-rem(70);
|
|
|
+ margin-bottom: px-to-rem(20);
|
|
|
+ }
|
|
|
+ .txt{
|
|
|
+ color: #fff;
|
|
|
+ font-size: px-to-rem(14);
|
|
|
+ }
|
|
|
+ }
|
|
|
.title-area {
|
|
|
display: flex;
|
|
|
justify-content: space-between;
|
|
|
@@ -261,10 +263,10 @@ export default {
|
|
|
.detailBtn {
|
|
|
width: px-to-rem(48);
|
|
|
height: px-to-rem(24);
|
|
|
- line-height: px-to-rem(24);
|
|
|
+ line-height: px-to-rem(25);
|
|
|
background: linear-gradient(0deg, #468adb 0%, #366dae 100%);
|
|
|
border-radius: px-to-rem(4);
|
|
|
- border: px-to-rem(1) solid;
|
|
|
+ border: px-to-rem(1) solid transparent;
|
|
|
font-weight: 400;
|
|
|
font-size: px-to-rem(14);
|
|
|
color: #ffffff;
|