457 lines
16 KiB
Vue
457 lines
16 KiB
Vue
|
<template>
|
||
|
<view>
|
||
|
<cu-custom bgColor="bg-gradual-blueness" :isBack="true">
|
||
|
<block slot="backText">返回</block>
|
||
|
<block slot="content">检查记录详情</block>
|
||
|
</cu-custom>
|
||
|
<view class="de-card-list de-list" style="position: relative">
|
||
|
<web-view id="webview" v-if="mapUrl" :src="mapUrl" style="width: calc(100% - 40upx); height: 300px;margin-left: 20upx;margin-right: 20upx;" :scale="scale" :latitude="latitude" :longitude="longitude" :markers="covers" ></web-view>
|
||
|
<view style="position: absolute;width: 100%;top: 620upx">
|
||
|
<view class="title">
|
||
|
检测内容
|
||
|
</view>
|
||
|
<view class="table-box">
|
||
|
<uni-table name='varlist' border stripe emptyText="暂无更多数据">
|
||
|
<!-- 表头行 -->
|
||
|
<uni-tr>
|
||
|
<uni-th align="center" style="font-weight: bold;">检测内容</uni-th>
|
||
|
<uni-th align="center" style="font-weight: bold;width:150upx">状态</uni-th>
|
||
|
</uni-tr>
|
||
|
<uni-tr v-for="item in varList" :key="item.RISKPOINT_ID">
|
||
|
<uni-td>{{item.CHECK_CONTENT}}</uni-td>
|
||
|
<uni-td v-if='item.ISNORMAL=="1"' align="center">
|
||
|
<view @click="goToDetail(item.HIDDEN_ID)" style="color: blue;">不合格</view>
|
||
|
</uni-td>
|
||
|
<uni-td v-else-if='item.ISNORMAL=="2"' align="center">
|
||
|
<view style="color: blue;">已忽略</view>
|
||
|
</uni-td>
|
||
|
<uni-td v-else align="center">
|
||
|
<template v-if="item.IMGCOUNT>0 && isTongyong">
|
||
|
<view @click="goToImgs(item.RECORDITEM_ID)" style="color: blue;">合格</view>
|
||
|
</template>
|
||
|
<template v-else>合格</template>
|
||
|
</uni-td>
|
||
|
<uni-td v-else align="center">
|
||
|
</uni-td>
|
||
|
</uni-tr>
|
||
|
|
||
|
</uni-table>
|
||
|
</view>
|
||
|
<view class="title">
|
||
|
其他隐患信息
|
||
|
</view>
|
||
|
<view class="table-box">
|
||
|
<uni-table name='otherHiddenList' border stripe emptyText="暂无更多数据">
|
||
|
<!-- 表头行 -->
|
||
|
<uni-tr>
|
||
|
<uni-th align="center" style="font-weight: bold;">隐患描述</uni-th>
|
||
|
<uni-th align="center" style="font-weight: bold;">操作</uni-th>
|
||
|
</uni-tr>
|
||
|
<uni-tr v-for="item in otherHiddenList" :key="item.HIDDEN_ID">
|
||
|
<uni-td>{{item.HIDDENDESCR}}</uni-td>
|
||
|
<uni-td align="center">
|
||
|
<view @click="goToDetail(item.HIDDEN_ID)">查看</view>
|
||
|
</uni-td>
|
||
|
</uni-tr>
|
||
|
</uni-table>
|
||
|
</view>
|
||
|
<!-- <map style="width: 100%; height: 300px;" :scale="scale" :latitude="latitude" :longitude="longitude" :markers="covers">-->
|
||
|
<!-- </map>-->
|
||
|
<view class="title">
|
||
|
清单信息
|
||
|
</view>
|
||
|
<view>
|
||
|
<view class="cu-list menu">
|
||
|
<view class="cu-item">
|
||
|
<view class="content">
|
||
|
<text class="text-semi">清单名称</text>
|
||
|
</view>
|
||
|
<view class="action">
|
||
|
<text class="text-grey">{{pd.LIST_NAME}}</text>
|
||
|
</view>
|
||
|
</view>
|
||
|
<view class="cu-item">
|
||
|
<view class="content">
|
||
|
<text class="text-semi">排查清单类型</text>
|
||
|
</view>
|
||
|
<view class="action">
|
||
|
<text class="text-grey">{{pd.SCREENTYPENAME}}</text>
|
||
|
</view>
|
||
|
</view>
|
||
|
<view class="cu-item">
|
||
|
<view class="content">
|
||
|
<text class="text-semi">检查人</text>
|
||
|
</view>
|
||
|
<view class="action">
|
||
|
<text class="text-grey">{{pd.USERS}}</text>
|
||
|
</view>
|
||
|
</view>
|
||
|
<view class="cu-item">
|
||
|
<view class="content">
|
||
|
<text class="text-semi">检查时间</text>
|
||
|
</view>
|
||
|
<view class="action">
|
||
|
<text class="text-grey">{{pd.CHECK_TIME}}</text>
|
||
|
</view>
|
||
|
</view>
|
||
|
<view class="cu-item">
|
||
|
<view class="content">
|
||
|
<text class="text-semi">所属部门 </text>
|
||
|
</view>
|
||
|
<view class="action">
|
||
|
<text class="text-grey">{{pd.DEPARTMENT_NAME}}</text>
|
||
|
</view>
|
||
|
</view>
|
||
|
<view class="cu-item">
|
||
|
<view class="content">
|
||
|
<text class="text-semi">所属岗位 </text>
|
||
|
</view>
|
||
|
<view class="action">
|
||
|
<text class="text-grey">{{pd.POST_NAME}}</text>
|
||
|
</view>
|
||
|
</view>
|
||
|
<view class="cu-item">
|
||
|
<view class="content">
|
||
|
<text class="text-semi">排查周期</text>
|
||
|
</view>
|
||
|
<view class="action">
|
||
|
<text class="text-grey">{{pd.PERIODNAME}}</text>
|
||
|
</view>
|
||
|
</view>
|
||
|
<view class="cu-item">
|
||
|
<view class="content">
|
||
|
<text class="text-semi">清单类型</text>
|
||
|
</view>
|
||
|
<view class="action">
|
||
|
<text class="text-grey">{{pd.TYPENAME}}</text>
|
||
|
</view>
|
||
|
</view>
|
||
|
<view class="cu-item" v-if="isTongyong">
|
||
|
<view class="content">
|
||
|
<text class="text-semi">签字照片</text>
|
||
|
</view>
|
||
|
<view class="de-sub-content">
|
||
|
<scroll-view scroll-x class="bg-white nav" scroll-with-animation>
|
||
|
<view class="cu-item" v-for="(item,index) in files" v-bind:key="index">
|
||
|
<view class="imgs">
|
||
|
<image :src="baseImgPath+item.FILEPATH" :data-index="index" @click="ViewShowImage" mode=""></image>
|
||
|
</view>
|
||
|
</view>
|
||
|
</scroll-view>
|
||
|
</view>
|
||
|
</view>
|
||
|
</view>
|
||
|
<!-- <view class="cu-tabbar-height"></view> -->
|
||
|
</view>
|
||
|
</view>
|
||
|
</view>
|
||
|
</view>
|
||
|
</template>
|
||
|
|
||
|
<script>
|
||
|
import {
|
||
|
basePath,
|
||
|
deptId,
|
||
|
corpinfoId,
|
||
|
loginSession,
|
||
|
baseImgPath
|
||
|
} from '@/common/tool.js';
|
||
|
import gcoord from '@/common/gcoord.js'
|
||
|
var wv;//计划创建的webview
|
||
|
export default {
|
||
|
data() {
|
||
|
return {
|
||
|
recordItemList: [],
|
||
|
baseImgPath:baseImgPath,
|
||
|
CHECKRECORD_ID: '',
|
||
|
hiddenList: [],
|
||
|
varList: [],
|
||
|
pd: [],
|
||
|
otherHiddenList: [],
|
||
|
title: 'map',
|
||
|
scale:13,
|
||
|
latitude: 39.935866846326036,
|
||
|
longitude: 119.64918897343684,
|
||
|
covers: [],
|
||
|
mapVarList: [],
|
||
|
mapHdList: [],
|
||
|
mapPd: [],
|
||
|
mapCinfo: [],
|
||
|
mapCheckrecord: [],
|
||
|
|
||
|
files: [],
|
||
|
isTongyong:true,
|
||
|
mapUrl:'',
|
||
|
}
|
||
|
},
|
||
|
onLoad(e) {
|
||
|
loginSession();console.info(corpinfoId)
|
||
|
if(corpinfoId =='ffbf90f7064340ae9d56c16d4f560423'){
|
||
|
this.isTongyong=false;
|
||
|
}
|
||
|
this.CHECKRECORD_ID = e.CHECKRECORD_ID;
|
||
|
this.getData();
|
||
|
this.getOtherHidden();
|
||
|
this.getMap();
|
||
|
},
|
||
|
methods: {
|
||
|
//跳转事件
|
||
|
goToDetail(e) {
|
||
|
// uni.navigateTo({
|
||
|
// url: '/pages/basics/hidden-perils/fill-in-case/fill-in-case-detail-view?id='+e
|
||
|
// });
|
||
|
uni.navigateTo({
|
||
|
url: '/pages/application/hidden-danger-management/hidden-danger-record/hidden-danger-record-detail?id='+e,
|
||
|
});
|
||
|
},
|
||
|
goToImgs(e){
|
||
|
uni.navigateTo({
|
||
|
url: '/pages/application/check-record/imgs_details?id='+e,
|
||
|
});
|
||
|
},
|
||
|
|
||
|
getData() {
|
||
|
var _this = this;
|
||
|
uni.showLoading({
|
||
|
title: '请稍候'
|
||
|
})
|
||
|
uni.request({
|
||
|
url: basePath + '/app/checkrecord/goEdit',
|
||
|
method: 'POST',
|
||
|
dataType: 'json',
|
||
|
header: {
|
||
|
'Content-type': 'application/x-www-form-urlencoded'
|
||
|
},
|
||
|
data: {
|
||
|
CHECKRECORD_ID: _this.CHECKRECORD_ID,
|
||
|
},
|
||
|
success: (res) => {
|
||
|
|
||
|
if (res.data != null) {
|
||
|
uni.hideLoading();
|
||
|
_this.varList = res.data.varList;
|
||
|
_this.pd = res.data.pd;
|
||
|
_this.files = res.data.qianming;
|
||
|
} else {
|
||
|
uni.showToast({
|
||
|
title: res.data.message,
|
||
|
duration: 2000
|
||
|
});
|
||
|
}
|
||
|
}
|
||
|
});
|
||
|
},
|
||
|
getOtherHidden() {
|
||
|
var _this = this;
|
||
|
uni.showLoading({
|
||
|
title: '请稍候'
|
||
|
})
|
||
|
uni.request({
|
||
|
url: basePath + '/app/hidden/getChcenkHidden',
|
||
|
method: 'POST',
|
||
|
dataType: 'json',
|
||
|
header: {
|
||
|
'Content-type': 'application/x-www-form-urlencoded'
|
||
|
},
|
||
|
data: {
|
||
|
CHECKRECORD_ID: _this.CHECKRECORD_ID,
|
||
|
},
|
||
|
success: (res) => {
|
||
|
|
||
|
if (res.data != null) {
|
||
|
uni.hideLoading();
|
||
|
_this.otherHiddenList = res.data.hiddenList;
|
||
|
} else {
|
||
|
uni.showToast({
|
||
|
title: res.data.message,
|
||
|
duration: 2000
|
||
|
});
|
||
|
}
|
||
|
}
|
||
|
});
|
||
|
},
|
||
|
getMap() {
|
||
|
var _this = this;
|
||
|
uni.showLoading({
|
||
|
title: '请稍候'
|
||
|
})
|
||
|
uni.request({
|
||
|
url: basePath + '/app/checkrecord/goMap',
|
||
|
method: 'POST',
|
||
|
dataType: 'json',
|
||
|
header: {
|
||
|
'Content-type': 'application/x-www-form-urlencoded'
|
||
|
},
|
||
|
data: {
|
||
|
CHECKRECORD_ID: _this.CHECKRECORD_ID,
|
||
|
CORPINFO_ID: corpinfoId
|
||
|
},
|
||
|
success: (res) => {
|
||
|
|
||
|
if (res.data != null) {
|
||
|
uni.hideLoading();
|
||
|
_this.mapVarList = res.data.varList;
|
||
|
_this.mapHdList = res.data.hdList;
|
||
|
_this.mapPd = res.data.pd;
|
||
|
_this.mapCinfo = res.data.cinfo;
|
||
|
_this.mapCheckrecord = res.data.checkrecord;
|
||
|
if (_this.validStr(res.data.cinfo.LONGITUDE) && _this.validStr(res.data.cinfo.LATITUDE)) {
|
||
|
if (res.data.cinfo.LONGITUDE.length <16) {
|
||
|
var result = gcoord.transform(
|
||
|
[res.data.cinfo.LONGITUDE, res.data.cinfo.LATITUDE], // 经纬度坐标
|
||
|
gcoord.BD09, // 当前坐标系
|
||
|
gcoord.GCJ02 // 目标坐标系
|
||
|
);
|
||
|
_this.longitude = result[0];
|
||
|
_this.latitude = result[1];
|
||
|
} else {
|
||
|
_this.longitude = res.data.cinfo.LONGITUDE;
|
||
|
_this.latitude = res.data.cinfo.LATITUDE;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
if (_this.validStr(res.data.checkrecord.LONGITUDE) && _this.validStr(res.data.checkrecord.LATITUDE)) {
|
||
|
if (res.data.checkrecord.LONGITUDE.length <16) {
|
||
|
var result1 = gcoord.transform(
|
||
|
[res.data.checkrecord.LONGITUDE, res.data.checkrecord.LATITUDE], // 经纬度坐标
|
||
|
gcoord.BD09, // 当前坐标系
|
||
|
gcoord.GCJ02 // 目标坐标系
|
||
|
);
|
||
|
var checkMarker={latitude: result1[1],longitude: result1[0],iconPath: '../../static/map/50.png'}
|
||
|
_this.covers.push(checkMarker);
|
||
|
} else {
|
||
|
var checkMarker={latitude: res.data.checkrecord.LATITUDE, longitude: res.data.checkrecord.LONGITUDE,iconPath: '../../static/map/50.png'}
|
||
|
_this.covers.push(checkMarker);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
for(var i=0;i<res.data.varList.length;i++){
|
||
|
if (_this.validStr(res.data.varList[i].LONGITUDE) && _this.validStr(res.data.varList[i].LATITUDE)) {
|
||
|
if (res.data.varList[i].LONGITUDE.length <16) {
|
||
|
var result2 = gcoord.transform(
|
||
|
[res.data.varList[i].LONGITUDE, res.data.varList[i].LATITUDE], // 经纬度坐标
|
||
|
gcoord.BD09, // 当前坐标系
|
||
|
gcoord.GCJ02 // 目标坐标系
|
||
|
);
|
||
|
var checkMarker = {
|
||
|
latitude: result2[1],
|
||
|
longitude: result2[0],
|
||
|
iconPath: '../../static/map/50.png'
|
||
|
}
|
||
|
_this.covers.push(checkMarker);
|
||
|
} else {
|
||
|
var checkMarker={latitude: res.data.varList[i].LATITUDE, longitude: res.data.varList[i].LONGITUDE,iconPath: '../../static/map/50.png'}
|
||
|
_this.covers.push(checkMarker);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
console.info(res.data.hdList);
|
||
|
for(var i=0;i<res.data.hdList.length;i++){
|
||
|
if (_this.validStr(res.data.hdList[i].LONGITUDE) && _this.validStr(res.data.hdList[i].LATITUDE)) {
|
||
|
if (res.data.hdList[i].LONGITUDE.length <16) {
|
||
|
var result3 = gcoord.transform(
|
||
|
[res.data.hdList[i].LONGITUDE, res.data.hdList[i].LATITUDE], // 经纬度坐标
|
||
|
gcoord.BD09, // 当前坐标系
|
||
|
gcoord.GCJ02 // 目标坐标系
|
||
|
);
|
||
|
var checkMarker={latitude: result3[1],longitude: result3[0],iconPath: '../../static/map/h.png'}
|
||
|
_this.covers.push(checkMarker);
|
||
|
console.info(_this.covers);
|
||
|
} else {
|
||
|
var checkMarker={latitude: res.data.hdList[i].LATITUDE, longitude: res.data.hdList[i].LONGITUDE,iconPath: '../../static/map/h.png'}
|
||
|
_this.covers.push(checkMarker);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
this.mapUrl = ("/hybrid/html/mapShow.html?"+JSON.stringify(_this.covers));
|
||
|
this.$nextTick(()=>{
|
||
|
// #ifdef APP-PLUS
|
||
|
var currentWebview = this.$scope.$getAppWebview() //此对象相当于html5plus里的plus.webview.currentWebview()。在uni-app里vue页面直接使用plus.webview.currentWebview()无效
|
||
|
setTimeout(function() {
|
||
|
wv = currentWebview.children()[0]
|
||
|
wv.setStyle({
|
||
|
position: 'unset',
|
||
|
top: _this.CustomBar + 5,
|
||
|
height:300,
|
||
|
'margin-left':10,
|
||
|
'margin-right':10
|
||
|
})
|
||
|
}, 1000); //如果是页面初始化调用时,需要延时一下
|
||
|
// #endif
|
||
|
})
|
||
|
|
||
|
} else {
|
||
|
uni.showToast({
|
||
|
title: res.data.message,
|
||
|
duration: 2000
|
||
|
});
|
||
|
}
|
||
|
}
|
||
|
});
|
||
|
},
|
||
|
|
||
|
ViewShowImage(e) {
|
||
|
let files = [];
|
||
|
for (var i = 0; i < this.files.length; i++) {
|
||
|
files.push(baseImgPath+this.files[i].FILEPATH)
|
||
|
}
|
||
|
uni.previewImage({
|
||
|
urls: files,
|
||
|
current: e.currentTarget.dataset.index
|
||
|
});
|
||
|
},
|
||
|
/* getRecordItem() {
|
||
|
var _this = this;
|
||
|
uni.showLoading({
|
||
|
title: '请稍候'
|
||
|
})
|
||
|
uni.request({
|
||
|
url: basePath + '/app/hidden/getCheckrecord',
|
||
|
method: 'POST',
|
||
|
dataType: 'json',
|
||
|
header:{
|
||
|
'Content-type':'application/x-www-form-urlencoded'
|
||
|
},
|
||
|
data: {
|
||
|
CHECKRECORD_ID: _this.CHECKRECORD_ID,
|
||
|
},
|
||
|
success: (res) => {
|
||
|
|
||
|
if (res.data != null) {
|
||
|
uni.hideLoading();
|
||
|
_this.recordItemList = res.data.varList;
|
||
|
} else {
|
||
|
uni.showToast({
|
||
|
title: res.data.message,
|
||
|
duration: 2000
|
||
|
});
|
||
|
}
|
||
|
}
|
||
|
});
|
||
|
},
|
||
|
*/
|
||
|
}
|
||
|
|
||
|
}
|
||
|
</script>
|
||
|
|
||
|
<style>
|
||
|
page {
|
||
|
background-color: #fff;
|
||
|
}
|
||
|
|
||
|
.title {
|
||
|
font-weight: bold;
|
||
|
margin: 30upx 20upx;
|
||
|
padding-left: 10upx;
|
||
|
border-left: 4px solid #0081FF;
|
||
|
}
|
||
|
|
||
|
navigator {
|
||
|
color: #0066CC;
|
||
|
text-decoration: underline;
|
||
|
}
|
||
|
</style>
|