| | |
| | | <!-- <view style="flex: 1;" @click="loginOut">退出</view> --> |
| | | </view> |
| | | </view> |
| | | <div v-if="loading" style='display: flex;justify-content: center;position: absolute;width:100%;top: 40%;left: 0'> |
| | | <u-loading-icon></u-loading-icon> |
| | | </div> |
| | | <!-- 页面内容 --> |
| | | <view class="controlBar"> |
| | | <view class="buttonGroup"> |
| | |
| | | </view> |
| | | <view style="display: flex;flex-direction: column;margin-bottom: 55px;"> |
| | | <view class="noticeList"> |
| | | <view class="listContent" v-if="noticeList.length > 0" > |
| | | <!-- <view class="listContent" v-if="noticeList.length > 0" >--> |
| | | <scroll-view :scroll-top="scrollTop" scroll-y="true" class="listContent" @scrolltoupper="upper" v-if="noticeList.length > 0" |
| | | @scrolltolower="lower" @scroll="scroll" lower-threshold="50"> |
| | | <view v-for="(item, index) in noticeList" :key="index" class="itemContent" > |
| | | <view class="content" v-if="item.isResponse" > |
| | | <text style="color:rgb(17, 204, 33);" @click="toDetail(item)">[已叫应]</text> |
| | |
| | | <!-- </view> --> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </scroll-view> |
| | | <!-- </view>--> |
| | | <view v-else> |
| | | <u-empty margin-top="40%" text="数据为空" mode="data"></u-empty> |
| | | </view> |
| | |
| | | showDialog: false, |
| | | data: { |
| | | pageIndex: 1, |
| | | pageSize: 10000000, |
| | | pageSize: 10, |
| | | searchParams: { |
| | | emergType: null,//1-紧急;2-常规 |
| | | warningLevel: null,//1-红色预警;2-橙色预警;3-黄色预警;4-蓝色预警 |
| | | readStatus: null//0-未读,1-已读 |
| | | } |
| | | }, |
| | | total: 0, |
| | | scrollTop: 0, |
| | | loading: false, |
| | | buttons: [{ |
| | | label: 'red', |
| | | name: '红' |
| | |
| | | } |
| | | }, |
| | | onShow () { |
| | | this.data.pageIndex = 1 |
| | | this.tabBarLists = uni.getStorageSync('tabBarList'); |
| | | this.user.name = uni.getStorageSync('user').realName; |
| | | this.getNoticeList(); |
| | |
| | | }, |
| | | methods: { |
| | | getNoticeList() { |
| | | this.loading = true |
| | | this.noSpeak = 0; |
| | | // this.data.searchParams.readStatus = this.isReadOnly ? 0 : null; |
| | | this.data.searchParams.readStatus = null; |
| | |
| | | this.data.searchParams.warningLevel = this.selectedSaleAnalysis =='all' ? null : this.selectedSaleAnalysis =='red' ? 1 : this.selectedSaleAnalysis =='orange' ? 2: this.selectedSaleAnalysis =='yellow'? 3 : 4; |
| | | getNotice(this.data).then(res => { |
| | | if (res.code == 100) { |
| | | this.noticeList = res.data ? res.data : []; |
| | | // this.noticeList = res.data ? res.data : []; |
| | | let list = res.data?res.data: []; |
| | | if (res.pageIndex != 1) { |
| | | this.noticeList = this.noticeList.concat(list) |
| | | } else { |
| | | this.noticeList = list; |
| | | } |
| | | this.total = res.total |
| | | this.noticeListCopy = this.noticeList; |
| | | if (this.noticeList.length > 0) { |
| | | this.noticeList.forEach((item, index) => { |
| | |
| | | this.noticeList[index].buttonContent = item.responseStatus == 1 ? '待叫应': item.responseStatus == 2 ? '已叫应' : '超时未叫应'; |
| | | }); |
| | | } |
| | | } |
| | | }else{ |
| | | uni.$u.toast(res.msg) |
| | | } |
| | | this.loading = false |
| | | }).catch(err=>{ |
| | | }) |
| | | }, |
| | | handleButtonClick(button) { |
| | | this.data.pageIndex = 1 |
| | | this.selectedSaleAnalysis = button.label; |
| | | this.getNoticeList(); |
| | | }, |
| | |
| | | this.getNoticeList(); |
| | | }, 1000); |
| | | }, |
| | | |
| | | upper: function(e) { |
| | | // console.log(e) |
| | | }, |
| | | lower: function(e) { |
| | | if (this.data.pageIndex * this.data.pageSize >= this.total){ |
| | | uni.$u.toast('已加载全部数据') |
| | | return |
| | | } |
| | | //并且让页码+1,调用获取数据的方法获取第二页数据 |
| | | this.data.pageIndex++ |
| | | //此处调用自己获取数据列表的方法 |
| | | this.getNoticeList() |
| | | }, |
| | | scroll: function(e) { |
| | | // console.log(e) |
| | | }, |
| | | |
| | | clickSwitch(e) { |
| | | this.data.pageIndex = 1 |
| | | this.getNoticeList(); |
| | | }, |
| | | } |
| | |
| | | .listContent{ |
| | | display: flex; |
| | | flex-direction: column; |
| | | width: calc(100% - 24px); |
| | | margin: 0 12px; |
| | | background: #fff; |
| | | border-radius: 5px; |
| | | box-shadow: 0 3px 12px rgba(0,0,0,0.05); |
| | | height: 100%; |
| | | } |
| | | .itemContent{ |
| | | font-size: 16px; |