From 9461caf2a459a7ed1eb16f8f439c02cfbcf1930b Mon Sep 17 00:00:00 2001 From: zhouwenxuan <1175765986@qq.com> Date: 星期三, 02 八月 2023 15:06:08 +0800 Subject: [PATCH] 新增功能 --- pages/tabBar/notice/measures.vue | 20 +- pages/tabBar/current/current.vue | 113 +++++++------ pages/tabBar/notice/detail.vue | 41 ++-- pages/tabBar/firstPage/firstPage.vue | 43 ++++- pages/tabBar/notice/notice.vue | 14 pages/tabBar/responsivity/showMeasures.vue | 14 + pages/tabBar/responsivity/countyResponsivity.vue | 124 ++++++++++---- pages/tabBar/examine/examine.vue | 71 +++++++- pages/tabBar/utils/tabBar.js | 16 +- 9 files changed, 293 insertions(+), 163 deletions(-) diff --git a/pages/tabBar/current/current.vue b/pages/tabBar/current/current.vue index 2bf9410..89a9100 100644 --- a/pages/tabBar/current/current.vue +++ b/pages/tabBar/current/current.vue @@ -6,6 +6,7 @@ <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> @@ -67,7 +68,7 @@ </view> </view> </view> - </scroll-view> + </scroll-view> <!-- </view>--> <view v-else> <u-empty margin-top="40%" text="数据为空" mode="data"></u-empty> @@ -80,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:{ @@ -123,18 +124,18 @@ ], 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.data.pageIndex = 1 this.getInfoList(); }, methods: { @@ -144,18 +145,18 @@ }); }, getInfoList() { - this.loading = true + 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) { - let list = res.data?res.data: []; - if (res.pageIndex != 1) { - this.InfoList = this.InfoList.concat(list) - } else { - this.InfoList = list; - } - this.total = res.total + 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 ? '黄色预警':'蓝色预警'; @@ -163,39 +164,44 @@ }); } }else{ - uni.$u.toast(res.msg) - } - this.loading = false + uni.$u.toast(res.msg) + } + this.loading = false }) }, handleButtonClick(button) { - this.data.pageIndex = 1 + 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() { @@ -206,26 +212,31 @@ }, 1000); }, clickSwitch(e) { - this.data.pageIndex = 1 + 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) - }, + 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' + }); + }, } } diff --git a/pages/tabBar/examine/examine.vue b/pages/tabBar/examine/examine.vue index 90c1acd..93a632d 100644 --- a/pages/tabBar/examine/examine.vue +++ b/pages/tabBar/examine/examine.vue @@ -12,6 +12,9 @@ </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"> @@ -46,7 +49,9 @@ </view> <view style="display: flex;flex-direction: column;margin-bottom: 55px;"> <view class="examineList"> - <view class="listContent" v-if="examineList.length > 0"> + <scroll-view :scroll-top="scrollTop" scroll-y="true" class="listContent" @scrolltoupper="upper" v-if="examineList.length > 0" + @scrolltolower="lower" @scroll="scroll" lower-threshold="50"> + <!-- <view class="listContent" v-if="examineList.length > 0"> --> <view v-for="(item, index) in examineList" :key="index" class="itemContent"> <view class="content" @click="toDetail(item)"> <text>[{{item.colorContent}}]</text> @@ -63,9 +68,9 @@ </u-button> </view> </view> - </view> - </view> + </scroll-view> + <!-- </view> --> <view v-else> <u-empty margin-top="40%" text="数据为空" mode="data"></u-empty> </view> @@ -84,9 +89,11 @@ }, data() { return { + loading:false, + scrollTop: 0, data: { pageIndex: 1, - pageSize: 999999999, + pageSize: 10, searchParams: { emergType: null,//1-紧急;2-常规 warningLevel: null,//1-红色预警;2-橙色预警;3-黄色预警;4-蓝色预警 @@ -125,6 +132,7 @@ uni.hideTabBar(); }, onShow() { + this.data.pageIndex = 1 this.getExanineList(); }, methods: { @@ -133,18 +141,28 @@ uni.switchTab({ url:'/pages/tabBar/firstPage/firstPage' }); + this.selectedSaleAnalysis = 'all'; + this.checked = false; + this.isReadOnly = false; }, getExanineList() { + this.loading = true this.data.searchParams.reviewStatus = this.isReadOnly ? 1 : null; 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; getExamine(this.data).then(res => { if(res.code == 100) { - this.examineList = res.data ? res.data : []; - console.log("res111111",res); + let list = res.data?res.data: []; + if (res.pageIndex != 1) { + this.examineList = this.examineList.concat(list) + } else { + this.examineList = list; + } + this.total = res.total + // this.examineList = res.data ? res.data : []; + console.log("res111111",this.examineList); this.examineCopy = this.examineList; if(this.examineList.length > 0) { - this.examineList.forEach((item, index) => { this.examineList[index].colorContent = item.warningLevel == 1 ? '红色预警': item.warningLevel == 2 ? '橙色预警': item.warningLevel == 3 ? '黄色预警':'蓝色预警'; this.examineList[index].buttonContent = item.reviewStatus == 1 ? '待审核': item.reviewStatus == 2 ? '已审核通过' : '已驳回'; @@ -152,14 +170,19 @@ this.examineList[index].warningLevel = item.warningLevel; }); } + }else{ + uni.$u.toast(res.msg) } + this.loading = false }) }, handleButtonClick(button) { + this.data.pageIndex = 1 this.selectedSaleAnalysis = button.label; this.getExanineList(); }, chooseRead(e) { + this.data.pageIndex = 1 this.isReadOnly = e; this.getExanineList(); }, @@ -179,7 +202,25 @@ }, clickSwitch(e) { this.getExanineList(); - } + this.data.pageIndex = 1 + }, + upper: function(e) { + // console.log(e) + }, + lower: function(e) { + console.log("111") + if (this.data.pageIndex * this.data.pageSize >= this.total){ + uni.$u.toast('已加载全部数据') + return + } + //并且让页码+1,调用获取数据的方法获取第二页数据 + this.data.pageIndex++ + //此处调用自己获取数据列表的方法 + this.getExanineList() + }, + scroll: function(e) { + // console.log(e) + }, } } @@ -326,12 +367,14 @@ // height: 35px; // } .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; diff --git a/pages/tabBar/firstPage/firstPage.vue b/pages/tabBar/firstPage/firstPage.vue index 2d7b90d..0e42cb6 100644 --- a/pages/tabBar/firstPage/firstPage.vue +++ b/pages/tabBar/firstPage/firstPage.vue @@ -11,25 +11,33 @@ </view> <view class="list"> <view class="first" @click="goExamine" v-if="role == '审核领导'"> - 预警审核 + <view class="icon"> + <image src="../../../static/examine.png" class="img"></image>预警审核 + </view> </view> <view class="first" @click="goCurrent" style="background-color:rgb(249, 130, 180) ;" > - 信息查看 + <view class="icon"> + <image src="../../../static/look.png" class="img"></image>信息查看 + </view> </view> <view class="first" style="background-color: rgb(41, 203, 280);" @click="goWeather" > - 实时气象 + <view class="icon"> + <image src="../../../static/we.png" class="img"></image>实时气象 + </view> </view> <view class="first" - style="background-color: rgb(11, 246, 158) ;" + style="background-color: rgb(11, 246, 158) ;margin-bottom: 35px;" @click="goCount" > - 统计分析 + <view class="icon"> + <image src="../../../static/count.png" class="img"></image>统计分析 + </view> </view> </view> @@ -107,9 +115,16 @@ background-color:lightgrey; } .list{ - display: flex; - flex-direction: column; - padding: 10px 15px; + margin: 12px 12px 0; + padding: 12px; + box-sizing: border-box; + display: flex; + flex-direction: column; + justify-content: space-between; + width: calc(100% - 24px); + background: #fff; + border-radius: 5px; + box-shadow: 0 3px 12px rgba(0,0,0,0.05); } .first{ @@ -123,10 +138,22 @@ border: 1px solid lightgrey; font-size: 18px; margin-top: 40px; + color: #2c2c2c; + font-weight: 600; +} +.icon{ + display: flex; + align-items: center; + justify-content: center; } .barText{ text-align: center; font-size: 16px; font-weight: 600; } +.img{ + width: 20px; + height: 20px; + margin-right: 6px; +} </style> \ No newline at end of file diff --git a/pages/tabBar/notice/detail.vue b/pages/tabBar/notice/detail.vue index 28aee18..bb956c7 100644 --- a/pages/tabBar/notice/detail.vue +++ b/pages/tabBar/notice/detail.vue @@ -35,9 +35,12 @@ </text> <text class="textTop" v-else><b>发布单位:</b>{{detailData.publishingUnit}}</text> <text class="textTop"><b>短信内容:</b><i style="background-color: rgb(240, 248, 255);">{{detailData.content}}发布单位:{{detailData.publishingUnit}}</i></text> - <view style="display: flex;"> + <view :style="{ height: directViewUrl ? '360px' : '' }" style="margin-top: 20px;"> <text class="textTop" style="width: 76px;" ><b>附件内容:</b></text> - <view class="attache" v-if="isAllImg == 'no'"> + <view style="width: 100%; height: 350px;" v-if="directViewUrl"> + <iframe :src="directViewUrl" class="frameStyle"></iframe> + </view> +<!-- <view class="attache" v-if="isAllImg == 'no'"> <view v-for="(item, index) in detailData.attachments" :key="index" > <view style="display: flex;margin-top: 10px;" v-if="item.suffix == 'jpg'|| item.suffix =='jpeg' || item.suffix =='png'"> <image @click="previewSqs(item,index)" :src="item.attachment" style="width: 100rpx; height: 100rpx;margin-left: 5rpx;border: 3px solid #ccc;margin-right: 3px;"></image> @@ -57,12 +60,7 @@ <u-icon name="attach" color="#2979ff" size="20"></u-icon> {{item.attachementName}} </view> </view> - </view> - -<!-- <view style="width: 100%; height: 100px;"> - <iframe :src="" width="100%" height="100%"> </iframe> </view> --> - </view> <text class="textTop" v-if="detailData.role == 'leader'"><b>信息提交人:</b>{{detailData.infoSubmitterRealName}}</text> <view class="textTop" v-if="detailData.role == 'leader'"> @@ -83,7 +81,7 @@ <text v-else class="responseStatus" style='color: rgb(153, 148, 143);'>已驳回</text> </view> - <view class="textTop" v-else> +<!-- <view class="textTop" v-else> <text ><b>响应状态:</b></text> <text v-if="detailData.responseStatus == 1" class="responseStatus" style='background-color:rgb(247, 108, 125);color: white;'>待叫应</text> @@ -91,7 +89,7 @@ style='background-color:limegreen'>已叫应</text> <text v-else class="responseStatus" style='background-color:rgb(247, 108, 125); color: white;'>超时未叫应</text> - </view> + </view> --> <view v-if="detailData.role == 'leader' && detailData.reviewStatus == 1" class="btn"> <u-button style="background-color:rgb(6, 202, 23);color: white;width: 180px;" @@ -144,7 +142,8 @@ reviewStatus: null }, role: '', - unitType: '' + unitType: '', + directViewUrl: '' } }, onLoad:function(options){ @@ -153,18 +152,8 @@ this.statusBarHeight = uni.getSystemInfoSync()['statusBarHeight']; let test = options.data && JSON.parse(decodeURIComponent(options.data)); this.detailData = test; - // if(this.detailData.forwardPath){ - // this.detailData.publishingUnit = this.detailData.forwardPath.map((item,index) => { - // if(index == this.detailData.forwardPath.length){ - // return item - // }else { - // return item + '>' - // } - - // }) - // } + this.directViewUrl = this.detailData.directViewUrl; this.unitType = uni.getStorageSync('unittype'); - console.log("this.unitType",this.unitType); if(this.detailData.role == 'leader' || this.detailData.role == 'infoPeople' ) { this.detailData.attachments = this.detailData.attachment; if (this.detailData.attachments){ @@ -190,7 +179,7 @@ } console.log("this.isAllImg",this.isAllImg) console.log("detailData",this.detailData) - this.detailData.disaster = test.disasterType == 1 ? '地震': test.disasterType == 2 ? '洪涝' : test.disasterType == 3 ? '气象' : test.disasterType == 4 ? '泥石流': test.disasterType == 5 ? '水旱': '森林草原火灾'; + this.detailData.disaster = test.disasterType == 1 ? '地震': test.disasterType == 2 ? '洪涝' : test.disasterType == 3 ? '气象' : test.disasterType == 4 ? '地质灾害': test.disasterType == 5 ? '水旱': '森林草原火灾'; }, methods: { goBack() { @@ -201,7 +190,7 @@ goMeasures() { getMeasureDetail({id: this.detailData.id}).then(res => { if(res.code == 100){ - if(res.data.id){ + if(res.data.baseMeasures && res.data.baseMeasures.length>0 ){ console.log('111111') uni.navigateTo({ url: `/pages/tabBar/responsivity/showMeasures?data=` + encodeURIComponent(JSON.stringify(res.data)) @@ -383,5 +372,11 @@ box-shadow: 0 3px 12px rgba(33,148,239,0.4); } } +.frameStyle{ + width: 100%; + height: 350px; + border: 1px solid #dddddc; + margin-top: 5px; +} </style> diff --git a/pages/tabBar/notice/measures.vue b/pages/tabBar/notice/measures.vue index 0a6832b..6aa6d4b 100644 --- a/pages/tabBar/notice/measures.vue +++ b/pages/tabBar/notice/measures.vue @@ -56,6 +56,7 @@ <script> import { measureList, submitMeasures, getMeasureDetail } from '@/api/notice.js' + import VUE_APP_BASE_URL from '../../../common/constant.js' export default { components:{ @@ -73,7 +74,7 @@ autoHeight: true, detailData : {}, measureIds : [], - baseUrl: '', + baseUrl: VUE_APP_BASE_URL, list: [], showBtn: false } @@ -86,18 +87,12 @@ this.statusBarHeight = uni.getSystemInfoSync()['statusBarHeight']; uni.hideTabBar(); this.getMeasureList(); - console.log("huan",process.env.NODE_ENV) - if (process.env.NODE_ENV == 'development') { - this.baseUrl = 'http://192.168.0.41:8086' - }else { - this.baseUrl = 'http://121.239.169.30:13001' - } }, methods: { getMeasureList() { const param = { pageIndex: 1, - pageSize: 10000000, + pageSize: 10000, } measureList(param).then(res => { if(res.code == 100){ @@ -119,6 +114,13 @@ console.log('change', this.measureIds); }, submit() { + if(this.measureIds.length <0) { + uni.showToast({ + icon: "none", + title: '请勾选基础措施' + }); + return; + } const param = { id: this.detailData.id, baseMeasures: this.measureIds, @@ -170,7 +172,7 @@ uploadFilePromise(url) { return new Promise((resolve, reject) => { let a = uni.uploadFile({ - url: this.baseUrl + '/attachment/uploadMeasureImage/key', + url: VUE_APP_BASE_URL + '/attachment/uploadMeasureImage/key', filePath: url, name: 'file', header: { diff --git a/pages/tabBar/notice/notice.vue b/pages/tabBar/notice/notice.vue index fbacbc5..211adbd 100644 --- a/pages/tabBar/notice/notice.vue +++ b/pages/tabBar/notice/notice.vue @@ -181,13 +181,13 @@ getNotice(this.data).then(res => { if (res.code == 100) { // 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 + 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) => { diff --git a/pages/tabBar/responsivity/countyResponsivity.vue b/pages/tabBar/responsivity/countyResponsivity.vue index 75d12f8..b5ab7cc 100644 --- a/pages/tabBar/responsivity/countyResponsivity.vue +++ b/pages/tabBar/responsivity/countyResponsivity.vue @@ -13,26 +13,39 @@ </view> </view> <view class="responseCard"> + <view class='title'>{{title}}</view> <table class="table"> <thead class="head"> <tr> <th></th> - <th>叫应情况</th> - <th>县市叫应率</th> - <th>详情</th> + <th>处理情况</th> + <th v-if="unittype == 4">叫应时间</th> + <th v-else>叫应率</th> + <th v-if="unittype == 4">反馈</th> + <th v-else>详情</th> </tr> </thead> <tbody class="tableBody"> <tr v-for="(item, index) in tableData" :key="index" > - <td align="center" width="90px">{{ item.unit }}</td> - <td align="center">{{ item.response }}</td> - <td align="center">{{ item.responsivity }}</td> + <td align="center" width="90px">{{ item.receiveUnit }}</td> + <td align="center">{{ item.response }}</td> + <td align="center" v-if="unittype == 4" width="85px">{{ item.responseTime }}</td> + <td align="center" v-else>{{ item.responsivity }}</td> <td> + <u-button + v-if="unittype == 4" + size="medium" + type="text" + style="color: blue" + @click="toDetail(item)" + >查看 + </u-button> <u-button - size="mini" + v-else + size="medium" type="text" style="color: sandybrown" - @click="toCity(item)" + @click="toNext(item)" >叫应详情 </u-button> </td> @@ -44,52 +57,81 @@ </template> <script> + import { getResponseDetail,getMeasureDetail } from '../../../api/notice.js' export default { data() { return { page: 'pages/tabBar/count/count', statusBarHeight: '', - tableData: [ - { - unit:'伊犁州', - response: '1', - responsivity: '88.9%' - }, - { - unit:'伊犁州1', - response: '1', - responsivity: '88.9%' - }, - { - unit:'伊犁州2', - response: '1', - responsivity: '88.9%' - }, - { - unit:'伊犁州3', - response: '1', - responsivity: '88.9%' - } - ] + tableData: [], + unittype: null, + title: '' } }, - onLoad() { - //获取手机状态栏高度 + onLoad(options) { + let test = options.data && JSON.parse(decodeURIComponent(options.data)); + console.log("data",test) + this.title = test.title; + this.tableData = test.appPageResponseByIdRespDTOS; + this.unittype = test.unittype; + this.tableData.forEach((item,index) => { + this.tableData[index].response = item.responseStatus ==1 ? '待叫应' :item.responseStatus == 2 ? '已叫应' :'超时未叫应' + this.tableData[index].responsivity = item.forwardRate ? item.forwardRate :'--'; + this.tableData[index].responseTime = item.responseTime ? item.responseTime :'--'; + }) this.statusBarHeight = uni.getSystemInfoSync()['statusBarHeight']; uni.hideTabBar(); }, methods: { goBack() { - console.log("1111") uni.switchTab({ url:'/pages/tabBar/current/current' }); }, - toCity(item) { - console.log("item",item) - uni.navigateTo({ - url: `/pages/tabBar/responsivity/cityResponsivity?data=` + encodeURIComponent(JSON.stringify(item)) + toNext(item) { + if(item.forwardWarnInfoId != null){ + const param = { + pageIndex: 1, + pageSize: 100, + searchParams: { + warnInfoId: item.forwardWarnInfoId + } + } + getResponseDetail(param).then(res => { + if(res.code == 100){ + this.tableData = res.data.appPageResponseByIdRespDTOS; + this.unittype = this.tableData[0].unittype; + this.tableData.forEach((item,index) => { + this.tableData[index].response = item.responseStatus ==1 ? '待叫应' :item.responseStatus == 2 ? '已叫应' :'超时未叫应' + this.tableData[index].responsivity = item.forwardRate ? item.forwardRate :'--' + }) + } + }) + }else { + // uni.showToast({ + // icon: 'none', + // title: '无转发', + // duration: 3000 + // }) + } + }, + toDetail(item){ + console.log("d",item) + getMeasureDetail({id: item.id}).then(res => { + if(res.code == 100){ + if(res.data.baseMeasures && res.data.baseMeasures.length>0 ){ + uni.navigateTo({ + url: `/pages/tabBar/responsivity/showMeasures?data=` + encodeURIComponent(JSON.stringify(res.data)) + }) + }else{ + uni.showToast({ + icon: 'none', + title: '该记录暂无响应措施', + duration: 3000 + }) + } + } }) } } @@ -138,7 +180,7 @@ box-shadow: 0 3px 12px rgba(0,0,0,0.05); margin: 12px 12px 20px; border-radius: 5px; - padding: 30px 12px; + padding: 20px 12px; } .table{ .head{ @@ -158,4 +200,10 @@ background-color: rgb(233, 239, 248); /* 设置偶数行颜色 */ } } +.title{ + text-align: center; + font-size: 16px; + font-weight: 600; + margin-bottom: 20px; +} </style> \ No newline at end of file diff --git a/pages/tabBar/responsivity/showMeasures.vue b/pages/tabBar/responsivity/showMeasures.vue index 6364cf7..5f348da 100644 --- a/pages/tabBar/responsivity/showMeasures.vue +++ b/pages/tabBar/responsivity/showMeasures.vue @@ -19,13 +19,13 @@ <u-form-item label="反馈时间 :">{{form.measureSubmitTime}}</u-form-item> </u-form> </view> - <view class="first"> + <view class="first" v-if="measureList"> <text style="font-size: 16px;margin-bottom: 20px;font-weight: 600;">基础措施</text> <view v-for="(item, index) in measureList" :key="index" style="margin-left: 18px;margin-bottom:10px; font-size:16px;"> <text style="margin-top: 15px;">{{item}}</text> </view> </view> - <view class="second"> + <view class="second" v-if="measures!=null"> <text style="font-size: 16px;margin-bottom: 20px;font-weight: 600;">补充措施</text> <u--textarea style="margin-top: -5px;" v-model="measures" disabled placeholder="请输入内容" ></u--textarea> </view> @@ -67,9 +67,13 @@ this.form = test; this.measures = this.form.responseMeasure; this.measureList = this.form.baseMeasures; - this.images = this.form.attachments.map((item) => { - return {url: VUE_APP_BASE_URL + item.attachment}; - }); + if(this.form.attachments && this.form.attachments.length>0){ + this.images = this.form.attachments.map((item) => { + return {url: VUE_APP_BASE_URL + item.attachment}; + }); + }else { + this.images = []; + } console.log("img",this.images) this.statusBarHeight = uni.getSystemInfoSync()['statusBarHeight']; uni.hideTabBar(); diff --git a/pages/tabBar/utils/tabBar.js b/pages/tabBar/utils/tabBar.js index 0473dd4..4ef8ad8 100644 --- a/pages/tabBar/utils/tabBar.js +++ b/pages/tabBar/utils/tabBar.js @@ -1,14 +1,14 @@ const user_leader = [ { "pagePath": "pages/tabBar/firstPage/firstPage", - "iconPath": "/static/notice1.png", - "selectedIconPath": "/static/notice1-selected.png", + "iconPath": "/static/home.png", + "selectedIconPath": "/static/home_sel.png", "text": "首页" }, { "pagePath": "pages/tabBar/current/current", - "iconPath": "/static/send.png", - "selectedIconPath": "/static/send_selected.png", + "iconPath": "/static/notice1.png", + "selectedIconPath": "/static/notice1-selected.png", "text": "信息" }, // { @@ -19,14 +19,14 @@ // }, { "pagePath": "pages/tabBar/weather/weather", - "iconPath": "/static/notice1.png", - "selectedIconPath": "/static/notice1-selected.png", + "iconPath": "/static/weather.png", + "selectedIconPath": "/static/weather_sel.png", "text": "气象" }, { "pagePath": "pages/tabBar/count/count", - "iconPath": "/static/notice1.png", - "selectedIconPath": "/static/notice1-selected.png", + "iconPath": "/static/count.png", + "selectedIconPath": "/static/count_sel.png", "text": "信息统计" }, ] -- Gitblit v1.9.2