| | |
| | | <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> |
| | |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </scroll-view> |
| | | </scroll-view> |
| | | <!-- </view>--> |
| | | <view v-else> |
| | | <u-empty margin-top="40%" text="数据为空" mode="data"></u-empty> |
| | |
| | | |
| | | <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:{ |
| | |
| | | ], |
| | | 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: { |
| | |
| | | }); |
| | | }, |
| | | 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 ? '黄色预警':'蓝色预警'; |
| | |
| | | }); |
| | | } |
| | | }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() { |
| | |
| | | }, 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' |
| | | }); |
| | | }, |
| | | } |
| | | } |
| | | |
| | |
| | | </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="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> |
| | |
| | | </u-button> |
| | | </view> |
| | | </view> |
| | | |
| | | </view> |
| | | </view> |
| | | </scroll-view> |
| | | <!-- </view> --> |
| | | <view v-else> |
| | | <u-empty margin-top="40%" text="数据为空" mode="data"></u-empty> |
| | | </view> |
| | |
| | | }, |
| | | data() { |
| | | return { |
| | | loading:false, |
| | | scrollTop: 0, |
| | | data: { |
| | | pageIndex: 1, |
| | | pageSize: 999999999, |
| | | pageSize: 10, |
| | | searchParams: { |
| | | emergType: null,//1-紧急;2-常规 |
| | | warningLevel: null,//1-红色预警;2-橙色预警;3-黄色预警;4-蓝色预警 |
| | |
| | | uni.hideTabBar(); |
| | | }, |
| | | onShow() { |
| | | this.data.pageIndex = 1 |
| | | this.getExanineList(); |
| | | }, |
| | | methods: { |
| | |
| | | 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 ? '已审核通过' : '已驳回'; |
| | |
| | | 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(); |
| | | }, |
| | |
| | | }, |
| | | 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) |
| | | }, |
| | | } |
| | | } |
| | | |
| | |
| | | // 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; |
| | |
| | | </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> |
| | |
| | | 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{ |
| | |
| | | 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> |
| | |
| | | </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> |
| | |
| | | <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'"> |
| | |
| | | <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> |
| | |
| | | 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;" |
| | |
| | | reviewStatus: null |
| | | }, |
| | | role: '', |
| | | unitType: '' |
| | | unitType: '', |
| | | directViewUrl: '' |
| | | } |
| | | }, |
| | | onLoad:function(options){ |
| | |
| | | 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){ |
| | |
| | | } |
| | | 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() { |
| | |
| | | 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)) |
| | |
| | | box-shadow: 0 3px 12px rgba(33,148,239,0.4); |
| | | } |
| | | } |
| | | .frameStyle{ |
| | | width: 100%; |
| | | height: 350px; |
| | | border: 1px solid #dddddc; |
| | | margin-top: 5px; |
| | | } |
| | | |
| | | </style> |
| | |
| | | |
| | | <script> |
| | | import { measureList, submitMeasures, getMeasureDetail } from '@/api/notice.js' |
| | | import VUE_APP_BASE_URL from '../../../common/constant.js' |
| | | export default { |
| | | components:{ |
| | | |
| | |
| | | autoHeight: true, |
| | | detailData : {}, |
| | | measureIds : [], |
| | | baseUrl: '', |
| | | baseUrl: VUE_APP_BASE_URL, |
| | | list: [], |
| | | showBtn: false |
| | | } |
| | |
| | | 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){ |
| | |
| | | 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, |
| | |
| | | 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: { |
| | |
| | | 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) => { |
| | |
| | | </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> |
| | |
| | | </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 |
| | | }) |
| | | } |
| | | } |
| | | }) |
| | | } |
| | | } |
| | |
| | | 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{ |
| | |
| | | background-color: rgb(233, 239, 248); /* 设置偶数行颜色 */ |
| | | } |
| | | } |
| | | .title{ |
| | | text-align: center; |
| | | font-size: 16px; |
| | | font-weight: 600; |
| | | margin-bottom: 20px; |
| | | } |
| | | </style> |
| | |
| | | <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> |
| | |
| | | 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(); |
| | |
| | | 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": "信息" |
| | | }, |
| | | // { |
| | |
| | | // }, |
| | | { |
| | | "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": "信息统计" |
| | | }, |
| | | ] |