| | |
| | | <!-- 真正的导航栏内容 --> |
| | | <view class="navBar" > |
| | | <view class="barText">{{user.name}}收到的工作通知</view> |
| | | <view > |
| | | <u-button type="text" @click="loginOut" style="color: blue;margin-right: 5px;">退出</u-button> |
| | | </view> |
| | | <!-- <view class="barText">{{registerID}}</view> --> |
| | | <!-- <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 v-for="(item, index) in noticeList" :key="index" class="itemContent" > |
| | | <!-- <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" @click="toDetail(item)"> |
| | | <view class="content" v-if="item.isResponse" > |
| | | <text style="color:rgb(17, 204, 33);" @click="toDetail(item)">[已叫应]</text> |
| | | <text @click="toDetail(item)">[{{item.colorContent}}]</text> |
| | | <text @click="toDetail(item)">{{item.title}},{{item.content}}</text> |
| | | <text style="color:rgb(17, 204, 33);" >[已叫应]</text> |
| | | <text>[{{item.colorContent}}]</text> |
| | | <text>{{item.title}}</text> |
| | | <view> |
| | | {{item.content}} |
| | | </view> |
| | | <!-- <view v-if="item.isResponse" style="float: right; width: 80px;margin-top: 3px;"> --> |
| | | <!-- <u-button @click="toDetail(item)"v-if="item.buttonContent == '已叫应'" size="mini" style="margin-bottom: 10px;background-color:rgb(17, 204, 33);color: white;"> |
| | | {{item.buttonContent}} |
| | |
| | | <!-- </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(); |
| | |
| | | // uni.startPullDownRefresh(); |
| | | }, |
| | | methods: { |
| | | loginOut() { |
| | | uni.clearStorageSync(); |
| | | uni.clearStorage(); |
| | | uni.navigateTo({ |
| | | url: '/pages/index/index' |
| | | }) |
| | | }, |
| | | 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(); |
| | | }, |
| | |
| | | if (item.responseStatus === 1) { |
| | | this.updateResponseStatus(item); |
| | | } |
| | | uni.setStorageSync('fdetailData', item); |
| | | uni.setStorageSync('backFlag','notice'); |
| | | uni.navigateTo({ |
| | | url: `/pages/tabBar/notice/detail?data=` + encodeURIComponent(JSON.stringify(item)) |
| | | }) |
| | |
| | | console.log("触发close") |
| | | this.getNoticeList(); |
| | | }, |
| | | loginOut() { |
| | | uni.removeStorageSync('tk'); |
| | | uni.removeStorageSync('uid'); |
| | | uni.removeStorageSync('user'); |
| | | uni.navigateTo({ |
| | | url: `/pages/index/index` |
| | | }) |
| | | }, |
| | | // loginOut() { |
| | | // uni.removeStorageSync('tk'); |
| | | // uni.removeStorageSync('uid'); |
| | | // uni.removeStorageSync('user'); |
| | | // uni.navigateTo({ |
| | | // url: `/pages/index/index` |
| | | // }) |
| | | // }, |
| | | //下拉刷新 |
| | | onPullDownRefresh() { |
| | | console.log('refresh'); |
| | |
| | | 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(); |
| | | }, |
| | | } |
| | |
| | | box-shadow: 0 3px 12px rgba(0,0,0,0.05); |
| | | } |
| | | .barText{ |
| | | /* margin-left: 20px; */ |
| | | margin-left: 35px; |
| | | text-align: center; |
| | | width: 85%; |
| | | font-size: 16px; |
| | |
| | | |
| | | .noticeList{ |
| | | margin-top: 12px; |
| | | height: calc(100vh - 266px); |
| | | height: calc(100vh - 286px); |
| | | overflow: hidden; |
| | | overflow-y: scroll; |
| | | } |
| | |
| | | .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%; |
| | | // margin-bottom: 30px; |
| | | } |
| | | .itemContent{ |
| | | font-size: 16px; |
| | |
| | | padding: 0 12px 15px; |
| | | border-bottom: 1px solid #ebebeb; |
| | | |
| | | &:last-of-type{ |
| | | border-bottom: none; |
| | | } |
| | | //&:last-of-type{ |
| | | // border-bottom: none; |
| | | //} |
| | | } |
| | | .content{ |
| | | text-overflow: ellipsis; |
| | | overflow: hidden; |
| | | white-space: nowrap; |
| | | |
| | | view{ |
| | | font-size: 14px; |
| | | color: #666; |
| | | text-overflow: ellipsis; |
| | | overflow: hidden; |
| | | white-space: nowrap; |
| | | } |
| | | } |
| | | .contentNoRead{ |
| | | font-size: 14px; |