From 7e54d59bd102daca534f96f99631a1973232dc9f Mon Sep 17 00:00:00 2001 From: shijing Date: Mon, 13 Feb 2023 13:29:07 +0800 Subject: [PATCH] 0213bigScreenShowopl --- src/views/bigScreen/index.vue | 143 +++++++++++++-- src/views/bigScreen/oplDetail.vue | 295 ++++++++++++++++++++++++++++++ src/views/wf/steps.vue | 2 +- 3 files changed, 421 insertions(+), 19 deletions(-) create mode 100644 src/views/bigScreen/oplDetail.vue diff --git a/src/views/bigScreen/index.vue b/src/views/bigScreen/index.vue index 4a8d337d..354910a6 100644 --- a/src/views/bigScreen/index.vue +++ b/src/views/bigScreen/index.vue @@ -460,20 +460,41 @@ +
+
+
作业
+ + +
+
+
+ + + + + + + + +
+
+
-
查看作业详情
+
作业详情
关闭
- 作业证名称: + 作业名称: {{screenJobItem.name}}
- 作业证编号: + 作业编号: {{screenJobItem.number}}
@@ -504,6 +525,17 @@ 业务部门: {{screenJobItem.dept_bus_.name}}
+
+ 监控设备: + {{ item.name }} + + +
作业票
@@ -512,8 +544,9 @@ {{ item.name }} + >{{ item.cate_name }}
@@ -622,6 +655,18 @@ + + + + + + + +
@@ -629,11 +674,20 @@ import flvjs from "../../utils/flv.js"; import { genTree } from "@/utils/verificate"; import sysConfig from "@/config"; +import videoView from "./../am/videoView"; +import opreationView from "./oplDetail"; export default { + components: { + videoView, + opreationView + }, data() { return { line1:null, music:null, + ticketId:null, + projectId:null, + cateType:null, timerUser: null, timerTime: null, eventTimer:null, @@ -662,6 +716,7 @@ export default { tracking: false, lineTracking:false, areaDetail: false, + workDetail:false, screenJob: false, screenUser: false, screenRisk: false, @@ -673,6 +728,8 @@ export default { warningDetail: false, filterCtrlFocus: true, screenOperation:false, + limitedVisible:false, + limitedOpreation:false, warningListTotal: 0, heightNum:0, warningData: { @@ -773,7 +830,9 @@ export default { audioList:{}, employeeScroll:0, searchKeyWord:'', - ElLoading:null + ElLoading:null, + channelCode:'', + channelName:'', } }, // created() { @@ -970,14 +1029,23 @@ export default { } } else if (type === 'Symbol(polygonmarker)') { //危险作业 - that.screenRisk = false; - that.screenWarning = false; - that.areaDetailId = item.properties.get("area"); - let areaWork = that.areaList.filter(area=>{ - return area.id==that.areaDetailId - }); + debugger; + console.log(item) + let workId = item.properties.get("workId"); + if(workId){ + that.areaDetailId = item.properties.get("area"); + that.getAreaOperation(); + that.workDetail = true; + }else{ + that.screenRisk = false; + that.screenWarning = false; + that.areaDetailId = item.properties.get("area"); + let areaWork = that.areaList.filter(area=>{ + return area.id==that.areaDetailId + }); + that.areaRowClick(areaWork[0]); + } - that.areaRowClick(areaWork[0]); } } else { } @@ -1390,9 +1458,14 @@ export default { areaOperationRowClick(row){ let that = this; debugger; - console.log(row) + console.log(row); that.screenJobItem = row; - that.screenOperation = true; + that.$API.opm.opl.list.req({ operation: row.id}).then((res) => { + debugger; + console.log(res) + that.screenJobItem.cates_ = res.results; + that.screenOperation = true; + }); }, closeScreenOperation(){ this.screenOperation = false; @@ -1500,12 +1573,13 @@ export default { //获取危险作业 getDangers() { let that = this; - // that.$API.opm.operation.list.req({state:40}).then(res => { - that.$API.opm.operation.list.req({state:10}).then(res => { + that.$API.opm.operation.list.req({state:40}).then(res => { + // that.$API.opm.operation.list.req({state:10}).then(res => { if (res.err_msg) { } else { that.dangerList = res.results; + debugger; that.showPolygonMarkers(that.dangerList); } }) @@ -1897,6 +1971,7 @@ export default { showPolygonMarkers(data) { let that = this; if(data.length>0){ + debugger; data.forEach(item => { let polygonMarker = null; let areaWork = that.areaList.filter(area=>{ @@ -1910,15 +1985,16 @@ export default { return obj }); polygonMarker = new jsmap.JSPolygonMarker({ - id: item.id,//id + id: item.id+'work',//id position: pointsList,//坐标集合 floorId: 1,//楼层id - color: 'rgba(0,0,255,.44)',//填充颜色 + color: 'rgba(241,193,105,.44)',//填充颜色 strokeColor: '#2bff1d',//边线颜色 depthTest: false,//是否开启深度检测 allowPicking: true, //是否允许点击 displayCondition: new jsmap.JSDisplayCondition(0.0, 1000), //可见范围 properties: { + workId:item.id, area: item.area },//属性设置 callback: (marker) => { @@ -2292,6 +2368,37 @@ export default { this.speakerPlayStatus = true; this.music.play();//播放 }, + //关闭作业列表 + workDetailClose(){ + this.workDetail = false; + }, + //查看监控 + showVchannel(item){ + let that = this; + debugger; + console.log(item) + that.channelCode = item.code; + that.channelName = item.name; + that.limitedVisible = true; + }, + viewClose(){ + this.limitedVisible = false; + }, + showOpretion(item){ + let that = this; + that.ticketId = item.ticket; + // that.projectId = item.operation; + that.cateType = item.cate_.code; + if (that.cateType === "visit") { + that.projectId = item.ticket_.ticket_data.visit; + } else if (that.cateType === "rpj") { + that.projectId = item.ticket_.ticket_data.rpj; + } else { + that.cateType = "opl"; + that.projectId = item.ticket_.ticket_data.opl; + } + that.limitedOpreation = true; + }, }, beforeRouteLeave(to, from, next){ next(); diff --git a/src/views/bigScreen/oplDetail.vue b/src/views/bigScreen/oplDetail.vue new file mode 100644 index 00000000..ec7742d3 --- /dev/null +++ b/src/views/bigScreen/oplDetail.vue @@ -0,0 +1,295 @@ + + + + + diff --git a/src/views/wf/steps.vue b/src/views/wf/steps.vue index a15e729c..83f606a3 100644 --- a/src/views/wf/steps.vue +++ b/src/views/wf/steps.vue @@ -27,7 +27,7 @@ export default { }; }, mounted() { - this.workId = this.$route.query.id; + this.workId = this.ticket?this.ticket:this.$route.query.id; this.getFlowSteps(); }, methods: {