提交应急

This commit is contained in:
”Rain“ 2024-05-21 18:03:30 +08:00
parent fa31c452ba
commit 36db958732
11 changed files with 794 additions and 81 deletions

View File

@ -30,7 +30,7 @@
var that = this
uni.getSystemInfo({
success(res) {
that.mobileTopHeight = res.statusBarHeight
that.mobileTopHeight = res.statusBarHeight ? res.statusBarHeight : 0;
uni.setStorageSync('systemInfo',res)
console.log(res)
}

View File

@ -189,7 +189,13 @@
}
},
"sdkConfigs" : {
"maps" : {}
"maps" : {
"amap" : {
"key" : "3b060f3a0ce4bafebeba1621dcd99c31",
"securityJsCode" : "",
"serviceHost" : ""
}
}
},
"router" : {
"mode" : "hash",

View File

@ -2623,6 +2623,20 @@
{
"navigationBarTitleText" : ""
}
},
{
"path" : "pages/projectEnd/emergencyDisposal/mymaps",
"style" :
{
"navigationBarTitleText" : ""
}
},
{
"path" : "pages/projectEnd/emergencyDisposal/reliefApprove",
"style" :
{
"navigationBarTitleText" : ""
}
}
],
// "subPackages":[{

View File

@ -46,14 +46,14 @@
</view>
<view class="uploadImg">
<text>视频(mp4)附件</text>
<view v-if="videoFileList.length>0" class="imgBox flex2" style="height:28px;"
<view v-if="videoFileList.length>0" class="imgBox flex2"
v-for="(item,index) in videoFileList" :key="index">
<view
style="color: #4181FE;width: 28%;white-space: nowrap; overflow: hidden;text-overflow: ellipsis;"
style="color: #4181FE;width: 100%;white-space: nowrap; overflow: hidden;text-overflow: ellipsis;"
@click="playVideo(url_config+'image/'+item.url,'video')">
{{item.name}}
</view>
<view @click="deleteImg(item,2)" style="margin: 5px;color: gray;left: 50%;"
<view @click="deleteImg(item,2)" style="margin: 5px;color: gray;right: 0%;"
class="deleteImg">×
</view>
</view>
@ -248,27 +248,12 @@
filePath: tempFilePaths[0],
name: 'files',
success: (uploadFileRes) => {
console.log(uploadFileRes);
let data = {
name: JSON.parse(uploadFileRes.data).data[0].filename,
url: JSON.parse(uploadFileRes.data).data[0].imageUrl
};
that.imgFileList.push(data)
uni.getImageInfo({
src: tempFilePaths[0],
success: (resInfo) => {
console.log('传过去啦 resInfo', resInfo)
that.imgList = {
imgUrl: tempFilePaths[0],
imgWidth: resInfo.width,
imgHeight: resInfo.height,
// team:'',
// name: ''
}
that.openImg = true
}
})
that.openImg = false
}
});
}
@ -359,40 +344,52 @@
getAddress() {
const that = this;
console.log("获取地址")
uni.getLocation({
type: 'gcj02',
// type: 'wgs84',
geocode: true, //true
isHighAccuracy: "true",
accuracy: "best", // 20m
success: function(res) {
console.log(res)
// const latitude = parseFloat(res.latitude);
// const longitude = parseFloat(res.longitude);
uni.chooseLocation({
success: function (res) {
// console.log('' + res.name);
// console.log('' + res.address);
// console.log('' + res.latitude);
// console.log('' + res.longitude);
that.emergencyInfo.incidentSite = res.address;
that.emergencyInfo.longitude = parseFloat(res.longitude);
that.emergencyInfo.latitude = parseFloat(res.latitude);
that.addressList = [
res.latitude.address.province,
res.latitude.address.city,
res.latitude.address.district,
res.latitude.address.street,
res.latitude.address.streetNum,
res.latitude.address.city,
res.latitude.address.poiName,
res.latitude.address.cityCode,
]
that.emergencyInfo.incidentSite = that.addressList.map(item => item).join('、')
console.log(that.emergencyInfo.incidentSite)
// that.addrDel = res;
},
fail: function() {
uni.showToast({
title: '获取地址失败,将导致部分功能不可用',
icon: 'none'
});
}
});
// uni.getLocation({
// type: 'gcj02',
// // type: 'wgs84',
// geocode: true, //true
// isHighAccuracy: "true",
// accuracy: "best", // 20m
// success: function(res) {
// console.log(res)
// // const latitude = parseFloat(res.latitude);
// // const longitude = parseFloat(res.longitude);
// that.emergencyInfo.longitude =
// that.emergencyInfo.latitude = parseFloat(res.latitude);
// that.addressList = [
// res.address.province,
// res.address.city,
// res.address.district,
// res.address.street,
// res.address.streetNum,
// res.address.city,
// res.address.poiName,
// res.address.cityCode,
// ]
// that.emergencyInfo.incidentSite = that.addressList.map(item => item).join('')
// console.log(that.emergencyInfo.incidentSite)
// console.log(66666666);
// // that.addrDel = res;
// },
// fail: function() {
// uni.showToast({
// title: '',
// icon: 'none'
// });
// }
// });
}
}
}
@ -421,7 +418,7 @@
}
.emergencyalarm {
padding: 64rpx 24rpx 120rpx 24rpx;
padding: 88rpx 24rpx 120rpx 24rpx;
.item-boxs {
.item-box {
@ -594,6 +591,8 @@
position: relative;
margin-right: 30rpx;
margin-bottom: 16rpx;
display: flex;
align-items: center;
.img {
width: 100%;

View File

@ -57,9 +57,9 @@
.image-error {
width: 145.52rpx;
height: 145.52rpx;
background-image: url(/static/signin-error.png);
/* background-image: url(/static/signin-error.png);
background-repeat: no-repeat;
background-size: 100% 100%;
background-size: 100% 100%; */
display: flex;
justify-content: center;
align-items: center;

View File

@ -58,7 +58,7 @@
</view>
</view>
</view>
<view class="addImgBox" @click="uploadImg(1,eIndex)" v-if="item.imgFileList.length<5">
<view class="addImgBox" @click="uploadImg(1,eIndex)" v-if="item.imgFileList.length<1">
<image src="/static/icon-add.png" class="icon-add"></image>
</view>
</view>
@ -93,7 +93,7 @@
</view>
</view>
<view class="rescue-item_add" @click="addRescue()">
<image src="/static/icon-add.png" class="icon-add"></image> 新增处置记录
<image src="/static/icon-add.png" class="icon-add"></image> 新增救援记录
</view>
<view class="addSaveBtn" @click="addSaveBtn">提交保存</view>
</view>

View File

@ -29,24 +29,29 @@
</view>
<view class="detail">
<text>应急详情</text>
<text>{{emergencyDetail.incidentSite}}</text>
<text
style="word-wrap:break-word; word-break:break-all;">{{emergencyDetail.emergencyDetail}}</text>
</view>
<view>
<text>处置状态</text>
<text class="color-ea3">
<text>救援状态</text>
<text v-if="emergencyDetail.dispositionStatus === 1"
style="color:#f56c6c;font-weight:bold;">待救援</text>
<text v-if="emergencyDetail.dispositionStatus === 2"
style="color:#5181f6;font-weight:bold;">救援中</text>
<text v-if="emergencyDetail.dispositionStatus === 3"
style="color:#008000;font-weight:bold;">已救援</text>
<!-- <text class="color-ea3">
{{emergencyDetail.dispositionStatus == 1 ? '待救援' : emergencyDetail.dispositionStatus == 2 ? '救援中' :'已救援' }}
</text>
</text> -->
</view>
<view>
<text>现场情况视频</text>
<view class="imgBox flex2"
v-for="(item,index) in emergencyDetail.liveVideoSituation && JSON.parse(emergencyDetail.livePicture).length>0 && JSON.parse(emergencyDetail.liveVideoSituation)"
:key="index">
<view
style="color: #4181FE;width: 50%;white-space: nowrap; overflow: hidden;text-overflow: ellipsis;"
@click="playVideo(item.url,'video')">
<view style="color: #4181FE;white-space: nowrap; overflow: hidden;text-overflow: ellipsis;"
@click="playVideo(url_config+'image/'+item.url,'video')">
{{item.name}}
</view>
</view>
<!-- url_config+'image/'+ -->
@ -60,7 +65,8 @@
</view>
<view>
<text>经纬度</text>
<text>{{emergencyDetail.longitude}},{{emergencyDetail.latitude}}</text>
<text>{{emergencyDetail.longitude}}<text
v-if="emergencyDetail.longitude && emergencyDetail.latitude">,</text>{{emergencyDetail.latitude}}</text>
</view>
<view>
<text>现场情况图片</text>
@ -68,7 +74,8 @@
<view class="imgBox"
v-for="(item,index) in emergencyDetail.livePicture && JSON.parse(emergencyDetail.livePicture).length>0 && JSON.parse(emergencyDetail.livePicture)"
:key="index">
<image :src="item.url" class="img" @click="previewImage(item.url)">
<image :src="url_config+'image/'+item.url" style="width: 75px;height: 50px;" class="img"
@click="previewImage(item.url)">
</image>
</view>
</view>
@ -86,11 +93,17 @@
<view class="rescue-detail data">
<view>
<text>处置资料</text>
<text class="color-518">4654.mp4</text>
<text v-if="emergencyInfo.disposalInformation" style="cursor: pointer;" class="color-518"
@click="downloadReport(emergencyInfo.disposalInformation)">
{{ JSON.parse(emergencyInfo.disposalInformation).map(item => item.name).join("、") }}
</text>
</view>
<view>
<text>指导文件</text>
<text class="color-518">4654.mp4</text>
<text v-if="emergencyInfo.guidanceDocument" style="cursor: pointer;" class="color-518"
@click="downloadReport(emergencyInfo.guidanceDocument)">
{{ JSON.parse(emergencyInfo.guidanceDocument).map(item => item.name).join("、") }}
</text>
</view>
</view>
</view>
@ -172,11 +185,11 @@
</view>
<view v-if="emergencyDetail.dispositionStatus == 3"
style="color: #5181f6; cursor: pointer; height: 88rpx; justify-content: center; align-items: center;display: flex;"
@click="downloadReport()">
@click="downloadReport(this.imgList)">
下载处置报告
</view>
</view>
<view class="lable-absolute">
<view class="lable-absolute" @click="goMaps()">
<image src="/static/emergencywz.png"></image>
<text>应急物资</text>
</view>
@ -196,6 +209,8 @@
emergencyDetail: {},
imageValue: [],
imgList: [],
emergencyTypeList: [],
emergencyInfo: {},
}
},
mounted() {
@ -208,12 +223,13 @@
},
onShow() {
this.getEmergencyTypeList();
this.getEmergencyRecordQueryById();
},
methods: {
downloadReport() {
const url = this.imgList[0].url;
const fileName = this.imgList[0].name;
downloadReport(row) {
const url = row[0].url;
const fileName = row[0].name;
fetch(url)
.then(response => response.blob())
@ -276,6 +292,21 @@
// }
},
getEmergencyTypeList() {
let that = this;
//
this.sendRequest({
url: 'xmgl/xzEmergencyType/list',
method: 'get',
data: {
projectSn: this.projectSn,
},
success: res => {
console.log(res);
that.emergencyTypeList = res.result;
}
})
},
//
getEmergencyRecordQueryById() {
let that = this;
@ -290,16 +321,23 @@
success: res => {
console.log(res);
that.emergencyDetail = res.result;
const find = that.emergencyTypeList.find(item => item.id == res.result
.emergencyTypeId);
that.emergencyInfo = find ? find : {};
this.imgList = res.result.disposalReport && JSON.parse(res.result.disposalReport);
}
})
},
getnavigateTo(url) {
uni.navigateTo({
url,
})
},
goMaps() {
uni.navigateTo({
url: `./mymaps?latitude=${this.emergencyDetail.latitude}&longitude=${this.emergencyDetail.longitude}`
})
},
//
playVideo(url, type) {
uni.navigateTo({
@ -404,7 +442,7 @@
}
.disposal-detail {
margin: 12% 0;
margin: 88rpx 0;
padding: 0 30rpx;
position: relative;
@ -442,7 +480,7 @@
// margin-top: 15%;
font-size: 14px;
color: #000000;
padding: 0 8rpx;
padding: 0 8rpx 30rpx;
view {
display: flex;

View File

@ -59,7 +59,7 @@
<view class="overEmergency">处置台账</view>
<scroll-view style="height: 100%;" scroll-y @scrolltoupper="upper" @scrolltolower="lower" @scroll="scroll">
<view class="modulesList">
<view class="menu" v-for="item in dataList" :key="item.id" @click="getnavigateTo(`./detail?id=${item.id}`)">
<view class="menu" v-for="item in dataList" :key="item.id" @click="getnavigateTo(item.id)">
<view>
<text>报警人员姓名</text>
<text>{{item.alarmPersonName}}</text>
@ -168,8 +168,13 @@
dataList: [],
total: 0,
page:1,
getGoId:-1,
}
},
onLoad(option) {
this.getGoId = option.id;
},
mounted() {
this.getTime()
// this.getListData();
@ -242,6 +247,7 @@
projectSn: this.projectSn,
pageNo: this.page,
pageSize: 10,
inDispositionStatus:this.getGoId == 2 ? "2,3" : "1,2,3",
},
success: res => {
console.log(res)
@ -287,9 +293,16 @@
url: "./analysisAlarm"
})
},
getnavigateTo(url) {
getnavigateTo(id) {
if(this.getGoId == 2){
uni.navigateTo({
url:`./reliefApprove?id=${id}`,
})
return
}
uni.navigateTo({
url,
url:`./detail?id=${id}`,
})
},
}
@ -299,6 +312,7 @@
<style lang="scss" scoped>
.emergencyDisposal {
height: 100%;
overflow: hidden;
}
.fixedheader {
@ -321,7 +335,7 @@
// box-sizing: border-box;
border-radius: 10px;
// border: 3px solid #fafbfc;
margin: 17% 2% 11% 2%;
margin: 88rpx 2% 11% 2%;
padding: 3% 3%;
@ -341,7 +355,7 @@
.problemData {
margin-top: 13%;
margin-top: 4%;
display: flex;
background: linear-gradient(180deg, #FCF2D6 0%, #FFFFFF 50%);
box-shadow: 0 8rpx 16rpx 0 rgba(219, 229, 255, 0.6);

View File

@ -0,0 +1,61 @@
<template>
<view>
<view class="page-body">
<view class="page-section page-section-gap">
<map style="width: 100%; height: 100%;" :markers="markersArr" :latitude="latitude"
:longitude="longitude">
</map>
</view>
</view>
</view>
</template>
<script>
export default {
data() {
return {
id: 0, // 使 marker id
title: 'map',
latitude: 39.909,
longitude: 116.39742,
projectSn: "",
markersArr: [],
}
},
onLoad(option) {
this.latitude = option.latitude ? option.latitude : '39.909';
this.longitude = option.longitude ? option.longitude : '116.39742';
this.projectSn = JSON.parse(uni.getStorageSync('projectDetail')).projectSn;
},
methods: {
//
getListData() {
let that = this;
//
this.sendRequest({
url: 'xmgl/xzEmergencyRecord/page',
method: 'get',
data: {
projectSn: this.projectSn,
},
success: res => {
console.log(res)
that.markersArr = res.result.filter(item => item.longitude || item.latitude).map(
(item, index) => {
return {
id: index + 1,
latitude: item.latitude ? item.latitude : 0,
longitude: item.longitude ? item.longitude : 0,
title: item.goodsName
}
});
}
})
},
}
}
</script>
<style>
</style>

View File

@ -0,0 +1,570 @@
<template>
<view class="emergencyDisposal">
<headers class="fixedheader" :showBack="true">
<view class="headerName">
处置详情
</view>
</headers>
<view class="disposal-detail">
<view class="rescue">
<view class="title">
基本信息
</view>
<view class="rescue-detail">
<view>
<text>报警人员姓名</text>
<text>{{emergencyDetail.alarmPersonName}}</text>
</view>
<view>
<text>所属企业</text>
<text>{{emergencyDetail.enterpriseName}}</text>
</view>
<view>
<text>应急类型</text>
<text>{{emergencyDetail.emergencyTypeName}}</text>
</view>
<view>
<text>所属班组/部门</text>
<text>{{emergencyDetail.teamName}}</text>
</view>
<view class="detail">
<text>应急详情</text>
<text
style="word-wrap:break-word; word-break:break-all;">{{emergencyDetail.emergencyDetail}}</text>
</view>
<view>
<text>救援状态</text>
<text v-if="emergencyDetail.dispositionStatus === 1"
style="color:#f56c6c;font-weight:bold;">待救援</text>
<text v-if="emergencyDetail.dispositionStatus === 2"
style="color:#5181f6;font-weight:bold;">救援中</text>
<text v-if="emergencyDetail.dispositionStatus === 3"
style="color:#008000;font-weight:bold;">已救援</text>
<!-- <text class="color-ea3">
{{emergencyDetail.dispositionStatus == 1 ? '待救援' : emergencyDetail.dispositionStatus == 2 ? '救援中' :'已救援' }}
</text> -->
</view>
<view>
<text>现场情况视频</text>
<view class="imgBox flex2"
v-for="(item,index) in emergencyDetail.liveVideoSituation && JSON.parse(emergencyDetail.livePicture).length>0 && JSON.parse(emergencyDetail.liveVideoSituation)"
:key="index">
<view style="color: #4181FE;white-space: nowrap; overflow: hidden;text-overflow: ellipsis;"
@click="playVideo(url_config+'image/'+item.url,'video')">
{{item.name}}
</view>
</view>
<!-- url_config+'image/'+ -->
<!-- <text class="color-518">
{{emergencyDetail.liveVideoSituation}}
</text> -->
</view>
<view>
<text>报警时间</text>
<text>{{emergencyDetail.alarmTime}}</text>
</view>
<view>
<text>经纬度</text>
<text>{{emergencyDetail.longitude}}<text
v-if="emergencyDetail.longitude && emergencyDetail.latitude">,</text>{{emergencyDetail.latitude}}</text>
</view>
<view>
<text>现场情况图片</text>
<view class="uni-form-input imgBox_wrap">
<view class="imgBox"
v-for="(item,index) in emergencyDetail.livePicture && JSON.parse(emergencyDetail.livePicture).length>0 && JSON.parse(emergencyDetail.livePicture)"
:key="index">
<image :src="url_config+'image/'+item.url" style="width: 75px;height: 50px;" class="img"
@click="previewImage(item.url)">
</image>
</view>
</view>
<!-- <text>
<image class="image" :src="emergencyDetail.livePicture"></image>
</text> -->
</view>
</div>
</view>
</view>
<view class="rescue">
<view class="title">
救援资料
</view>
<view class="rescue-detail data">
<view>
<text>处置资料</text>
<text v-if="emergencyInfo.disposalInformation" style="cursor: pointer;" class="color-518"
@click="downloadReport(emergencyInfo.disposalInformation)">
{{ JSON.parse(emergencyInfo.disposalInformation).map(item => item.name).join("、") }}
</text>
</view>
<view>
<text>指导文件</text>
<text v-if="emergencyInfo.guidanceDocument" style="cursor: pointer;" class="color-518"
@click="downloadReport(emergencyInfo.guidanceDocument)">
{{ JSON.parse(emergencyInfo.guidanceDocument).map(item => item.name).join("、") }}
</text>
</view>
</view>
</view>
<view class="rescue">
<view class="title">
救援情况
<text class="color-518" v-if="emergencyDetail.incidentClosedStatus == 2">事故已关闭</text>
</view>
<view class="rescue-detail">
<view class="rescue-item" v-for="item in emergencyDetail.situations" :key="item.id">
<!-- <view class="rescue-detail data condition">
</view> -->
<view>
<text>处置人</text>
<text>{{item.disposalPersonName}}</text>
</view>
<view style="flex-direction: column;">
<text>现场情况视频</text>
<view v-if="item.liveVideoSituation && JSON.parse(item.liveVideoSituation).length>0"
class="imgBox flex2" v-for="(ele,index) in JSON.parse(item.liveVideoSituation)"
:key="index">
<view
style="color: #4181FE;width: 50%;white-space: nowrap; overflow: hidden;text-overflow: ellipsis;"
@click="playVideo(ele.url,'video')">
{{ele.name}}
</view>
</view>
<!-- <text class="color-518">4654.mp4</text> -->
</view>
<view>
<text>处置说明</text>
<text>{{item.disposalSpecification}}</text>
</view>
<view>
<text>现场图片</text>
<view class="uni-form-input imgBox_wrap" v-show="item.livePicture.length>0">
<view class="imgBox" v-for="(item,index) in JSON.parse(item.livePicture)" :key="index">
<!-- url_config+'image/'+ -->
<image :src="item.url" class="image" @click="previewImage(item.url)">
</image>
</view>
</view>
<!-- <text>
<image class="image" src="/static/aqjy.png"></image>
</text> -->
</view>
<view>
<text>处理完成时间</text>
<text>{{item.disposalCompletionTime}}</text>
</view>
</view>
<!-- <view class="addSaveBtn" v-if="emergencyDetail.incidentClosedStatus == 1"
@click="getnavigateTo(`./ImmediateRescue?id=${emergencyDetail.id}`)">
立即救援
</view> -->
</view>
</view>
<view class="rescue" v-if="emergencyDetail.dispositionStatus == 3">
<view class="title">
处置报告
</view>
<view v-if="this.imgList && this.imgList.length > 0"
style="color: #5181f6; cursor: pointer; height: 88rpx; justify-content: center; align-items: center;display: flex;"
@click="downloadReport(this.imgList)">
下载处置报告
</view>
</view>
<view class="addSaveBtn" v-if="emergencyDetail.incidentClosedStatus == 1" @click="onSubmitAll()">
关闭事故
</view>
<view class="lable-absolute" @click="goMaps()">
<image src="/static/emergencywz.png"></image>
<text>应急物资</text>
</view>
</view>
</view>
</template>
<script>
import headers from "../../../components/headers/headers.vue"
var _self;
export default {
data() {
return {
projectSn: "",
id: "",
emergencyDetail: {},
imageValue: [],
imgList: [],
emergencyTypeList: [],
emergencyInfo: {},
}
},
mounted() {
},
onLoad(options) {
this.id = options.id;
this.projectSn = JSON.parse(uni.getStorageSync('projectDetail')).projectSn;
console.log(options);
},
onShow() {
this.getEmergencyTypeList();
this.getEmergencyRecordQueryById();
},
methods: {
downloadReport(row) {
const url = row[0].url;
const fileName = row[0].name;
fetch(url)
.then(response => response.blob())
.then(blob => {
const link = document.createElement('a');
link.href = URL.createObjectURL(blob);
link.download = fileName;
link.target = "_blank"; //
link.click();
});
},
onSubmitAll() {
this.sendRequest({
url: 'xmgl/xzEmergencyRecord/edit',
method: 'post',
data: {
projectSn: this.projectSn,
id: this.emergencyDetail.id,
incidentClosedStatus: 2,
situations: this.emergencyDetail.situations,
disposalReport: JSON.stringify(this.imgList)
},
success: res => {
console.log(res.result)
if (res.code == 200) {
uni.showToast({
title: '提交成功',
})
uni.navigateBack()
}
}
})
},
addSaveBtn() {
this.sendRequest({
url: 'xmgl/xzEmergencyRecord/edit',
method: 'post',
data: {
projectSn: this.projectSn,
id: this.emergencyDetail.id,
dispositionStatus: 3,
situations: this.emergencyDetail.situations,
disposalReport: JSON.stringify(this.imgList)
},
success: res => {
console.log(res.result)
if (res.code == 200) {
uni.showToast({
title: '提交成功',
})
uni.navigateBack()
}
}
})
},
deleteImgList(eIndex) {
this.imgList.splice(eIndex, 1);
},
canversList(e) {
const that = this;
console.log(e);
uni.uploadFile({
url: that.url_config + 'upload/image', //
filePath: e.tempFilePaths[0],
name: 'files',
success: (uploadFileRes) => {
let data = {
name: JSON.parse(uploadFileRes.data).data[0].filename,
url: that.url_config + 'image/' + JSON.parse(uploadFileRes
.data).data[0].imageUrl
};
that.imgList.push(data)
console.log('传过去啦', this.imgList)
}
});
// this.imgList = {
// imgUrl: e.tempFiles[0].image.location,
// imgWidth: e.tempFiles[0].image.width,
// imgHeight: e.tempFiles[0].image.height,
// team: this.teamList[this.teamindex].teamName,
// name: this.teamList[this.teamindex].leaderName
// }
},
getEmergencyTypeList() {
let that = this;
//
this.sendRequest({
url: 'xmgl/xzEmergencyType/list',
method: 'get',
data: {
projectSn: this.projectSn,
},
success: res => {
console.log(res);
that.emergencyTypeList = res.result;
}
})
},
//
getEmergencyRecordQueryById() {
let that = this;
//
this.sendRequest({
url: 'xmgl/xzEmergencyRecord/queryById',
method: 'get',
data: {
projectSn: this.projectSn,
id: this.id,
},
success: res => {
console.log(res);
that.emergencyDetail = res.result;
const find = that.emergencyTypeList.find(item => item.id == res.result
.emergencyTypeId);
that.emergencyInfo = find ? find : {};
this.imgList = res.result.disposalReport && JSON.parse(res.result.disposalReport);
}
})
},
getnavigateTo(url) {
uni.navigateTo({
url,
})
},
goMaps() {
uni.navigateTo({
url: `./mymaps?latitude=${this.emergencyDetail.latitude}&longitude=${this.emergencyDetail.longitude}`
})
},
//
playVideo(url, type) {
uni.navigateTo({
url: '../carWashManage/mediaPlay?url=' + url + '&type=' + type
})
},
//
previewImage(url) {
uni.previewImage({
urls: [url]
})
},
}
}
</script>
<style lang="scss" scoped>
/deep/ .uni-file-picker__lists {
display: none;
}
.emergencyDisposal {
height: 100%;
}
.addSaveBtn {
width: 496rpx;
height: 80rpx;
background: #5181F6;
box-shadow: 0 8rpx 18rpx 0 rgba(81, 129, 246, 0.37);
border-radius: 148rpx;
color: #fff;
font-size: 36rpx;
display: flex;
align-items: center;
justify-content: center;
margin: 70rpx auto;
}
.rescue-report {
view:last-child {
display: flex;
align-items: center;
justify-content: space-between;
}
}
/deep/ .uni-file-picker__files {
width: 220rpx;
height: 80rpx;
background-color: #5181F6;
color: #fff;
border-radius: 20rpx;
display: flex;
justify-content: center;
align-items: center;
margin: 24rpx 0;
.files-button {
display: flex;
align-items: center;
justify-content: center;
}
.icon-add {
width: 32rpx;
height: 32rpx;
margin-right: 8rpx;
}
text {
color: white !important;
}
}
.color-ea3 {
color: #EA3941;
}
.color-518 {
color: #5181F6;
}
.fixedheader {
position: fixed;
top: 0;
left: 0;
width: 100%;
z-index: 2;
/deep/.headerBox {
background: #2b8df3;
color: #fff;
}
}
.image {
width: 148rpx;
height: 90rpx;
}
.disposal-detail {
margin: 88rpx 0;
padding: 0 30rpx;
position: relative;
.rescue {
.title {
font-weight: bold;
font-size: 32rpx;
display: flex;
justify-content: space-between;
}
.rescue-item {
flex-direction: column;
background: linear-gradient(180deg, rgba(255, 255, 255, 0.1) 0%, rgba(198, 220, 255, 0.2) 100%);
box-shadow: 0px 8rpx 32rpx -8rpx rgba(42, 60, 106, 0.24);
border-radius: 34rpx;
padding: 24rpx 24rpx;
view {
margin: 6rpx 0 !important;
}
}
.rescue-item>view:last-child {
font-size: 10px;
color: rgba(0, 0, 0, 0.5);
justify-content: flex-end;
text:last-child {
flex: initial,
}
}
.rescue-detail {
// margin-top: 15%;
font-size: 14px;
color: #000000;
padding: 0 8rpx 30rpx;
view {
display: flex;
line-height: 50rpx;
margin: 20rpx 0;
text:last-child {
flex: 1,
}
}
.detail {
flex-direction: column;
text:last-child {
padding: 0 26rpx;
}
}
.rescue-data {
border: 1px solid #BBBBBB;
background-color: #F5F5F5;
justify-content: center;
}
.addSaveBtn {
margin: 60rpx auto;
color: #fff;
// width: 60%;
// padding: 20rpx 0;
align-items: center;
justify-content: center;
// background-color: #4181FE;
// font-size: 34rpx;
// border-radius: 30px;
// letter-spacing: 2px;
width: 252px;
height: 40px;
background: #5181F6;
box-shadow: 0px 4px 9px 0px rgba(81, 129, 246, 0.37);
border-radius: 74px 74px 74px 74px;
}
.addSaveBtn:active {
background-color: rgba(65, 129, 254, 0.8);
}
}
.data {
margin-left: 46rpx;
color: #272D45;
}
.condition {
flex-wrap: wrap;
justify-content: space-between;
}
}
.lable-absolute {
// background-color: #fcebec;
// color: #ea3941;
padding: 4rpx 24rpx;
border-radius: 20rpx;
position: absolute;
top: 32rpx;
right: 0;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
image {
width: 68rpx;
height: 74rpx;
}
}
}
</style>

View File

@ -86,6 +86,11 @@
</image>
<view>特种验收</view>
</view>
<view class="menu" @click="reliefApprove">
<image class="icon" style="width: 30px; height: 30px;" src="@/static/safeMange/danger_check.png">
</image>
<view>新增隐患审批</view>
</view>
<!-- <view class="moudle-item flex" @click="jumpPage(7)" v-if="COMPANY != 'sanjiang'">
<image class="moudle-icon" src="/static/safeMange/danger_check.png"></image>
<text>危大验收</text>
@ -204,6 +209,12 @@
url: '../specialOperations/specialCheck'
})
},
reliefApprove(){
//
uni.navigateTo({
url: `../emergencyDisposal/index?id=${2}`
})
},
//
getTime() {
this.timer = setInterval(() => {