From b7d59880975d3aa75760e764c20c2c4217039c78 Mon Sep 17 00:00:00 2001 From: zhouwenxuan <1175765986@qq.com> Date: 星期五, 04 八月 2023 09:17:25 +0800 Subject: [PATCH] 叫应率修改 --- pages/tabBar/current/current.vue | 115 +++++++++++++++++++++++++++++++++++++++++---------------- 1 files changed, 83 insertions(+), 32 deletions(-) diff --git a/pages/tabBar/current/current.vue b/pages/tabBar/current/current.vue index 9ad74a3..89a9100 100644 --- a/pages/tabBar/current/current.vue +++ b/pages/tabBar/current/current.vue @@ -6,9 +6,13 @@ <view class="statusBar" :style="{ paddingTop: statusBarHeight + 'px' }"></view> <!-- 真正的导航栏内容 --> <view class="navBar"> + <u-icon style=" margin-left: -25px;" name="arrow-left" color="black" size="17" @click="goBack" /> <view class="barText">信息查看</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"> @@ -38,7 +42,9 @@ </view> <view style="display: flex;flex-direction: column;margin-bottom: 55px;"> <view class="examineList"> - <view class="listContent" v-if="InfoList.length > 0"> +<!-- <view class="listContent" v-if="InfoList.length > 0">--> + <scroll-view :scroll-top="scrollTop" scroll-y="true" class="listContent" @scrolltoupper="upper" v-if="InfoList.length > 0" + @scrolltolower="lower" @scroll="scroll" lower-threshold="50"> <view v-for="(item, index) in InfoList" :key="index" class="itemContent"> <view class="content"> <text>[{{item.colorContent}}]</text> @@ -62,7 +68,8 @@ </view> </view> </view> - </view> + </scroll-view> +<!-- </view>--> <view v-else> <u-empty margin-top="40%" text="数据为空" mode="data"></u-empty> </view> @@ -74,7 +81,7 @@ <script> import tabBar from '../tabBarIndex.vue' - import { getPublished } from '../../../api/notice.js' + import { getPublished, getResponseDetail } from '../../../api/notice.js' import tebBar from '../tabBarIndex.vue' export default { components:{ @@ -84,12 +91,15 @@ return { data: { pageIndex: 1, - pageSize: 10000000, + pageSize: 10, searchParams: { emergType: null,//1-紧急;2-常规 warningLevel: null,//1-红色预警;2-橙色预警;3-黄色预警;4-蓝色预警 } }, + total: 0, + scrollTop: 0, + loading: false, page: 'pages/tabBar/current/current', checked: false, isReadOnly: false, @@ -114,68 +124,84 @@ ], selectedSaleAnalysis: 'all', InfoList: [], - unitType: '', + unitType: null, } }, onLoad() { - this.unitType = uni.getStorageSync('unittype'); + this.unitType = uni.getStorageSync('unittype') + 1; console.log("11",this.unitType) //获取手机状态栏高度 this.statusBarHeight = uni.getSystemInfoSync()['statusBarHeight']; uni.hideTabBar(); }, onShow() { + this.data.pageIndex = 1 this.getInfoList(); }, methods: { goBack() { - console.log("1111") uni.switchTab({ url:'/pages/tabBar/firstPage/firstPage' }); }, getInfoList() { + this.loading = true this.data.searchParams.emergType = this.checked ? 1 : null; this.data.searchParams.warningLevel = this.selectedSaleAnalysis == 'all' ? null : this.selectedSaleAnalysis =='red' ? 1 : this.selectedSaleAnalysis =='orange' ? 2: this.selectedSaleAnalysis =='yellow'? 3 : 4; getPublished(this.data).then(res => { if(res.code == 100) { - this.InfoList = res.data + let list = res.data?res.data: []; + if (res.pageIndex != 1) { + this.InfoList = this.InfoList.concat(list) + } else { + this.InfoList = list; + } + this.total = res.total if(this.InfoList && this.InfoList.length > 0) { this.InfoList.forEach((item, index) => { this.InfoList[index].colorContent = item.warningLevel == 1 ? '红色预警': item.warningLevel == 2 ? '橙色预警': item.warningLevel == 3 ? '黄色预警':'蓝色预警'; this.InfoList[index].warningLevel = item.warningLevel; }); } - } + }else{ + uni.$u.toast(res.msg) + } + this.loading = false }) }, handleButtonClick(button) { + this.data.pageIndex = 1 this.selectedSaleAnalysis = button.label; this.getInfoList(); }, toDetail(item) { - console.log("item",item) uni.navigateTo({ url: `/pages/tabBar/notice/detail?data=` + encodeURIComponent(JSON.stringify(item)) }) }, toResponsivity(item) { - console.log("item",item) - - // if(this.unitType == 2 || this.unitType == 1 ){ - // uni.navigateTo({ - // url: `/pages/tabBar/responsivity/countyResponsivity?data=` + encodeURIComponent(JSON.stringify(item)) - // }) - // }else if(this.unitType == 3){ - // uni.navigateTo({ - // url: `/pages/tabBar/responsivity/cityResponsivity?data=` + encodeURIComponent(JSON.stringify(item)) - // }) - // }else if(this.unitType == 4){ - // uni.navigateTo({ - // url: `/pages/tabBar/responsivity/villageResponsivity?data=` + encodeURIComponent(JSON.stringify(item)) - // }) - // } - + const param = { + pageIndex: 1, + pageSize: 100, + searchParams: { + warnInfoId: item.id + } + } + getResponseDetail(param).then(res => { + if(res.code == 100){ + console.log("res",res) + let data = res.data.appPageResponseByIdRespDTOS; + res.data.appPageResponseByIdRespDTOS.forEach((item,index) => { + if(item.forwardRate){ + data[index].forwardRate = item.forwardRate.replace(/%/g, '%25'); + } + + }) + uni.navigateTo({ + url: `/pages/tabBar/responsivity/countyResponsivity?data=` + encodeURIComponent(JSON.stringify(res.data)) + }) + } + }) }, //下拉刷新 onPullDownRefresh() { @@ -186,8 +212,31 @@ }, 1000); }, clickSwitch(e) { + this.data.pageIndex = 1 this.getInfoList(); + }, + + 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.getInfoList() + }, + scroll: function(e) { + // console.log(e) + }, + goBack() { + uni.switchTab({ + url:'/pages/tabBar/firstPage/firstPage' + }); + }, } } @@ -328,12 +377,14 @@ align-items: center; } .listContent{ - display: flex; - flex-direction: column; - margin: 0 12px; - background: #fff; - border-radius: 5px; - box-shadow: 0 3px 12px rgba(0,0,0,0.05); + 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; -- Gitblit v1.9.2