qa-prevention-gwj-first-app/pages/application/check-record/record_info.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>