Commit 8f739a8a by 潘建波

修改展示页 上线环境IP

1 parent 91972a43
...@@ -16,7 +16,7 @@ export default { ...@@ -16,7 +16,7 @@ export default {
} }
let token = localStorage.getItem("atoken"); let token = localStorage.getItem("atoken");
if (!token) { if (!token) {
alert('errtoken') console.log('errtoken')
this.$router.push("/login"); this.$router.push("/login");
} }
}, },
......
...@@ -10,7 +10,7 @@ switch (process.env.NODE_ENV) { ...@@ -10,7 +10,7 @@ switch (process.env.NODE_ENV) {
baseUrl = "https://pre-server.feleti.cn"; // 预上线环境url baseUrl = "https://pre-server.feleti.cn"; // 预上线环境url
break; break;
case "production": case "production":
baseUrl = "http://192.168.9.133:20080"; // 生产环境url baseUrl = "http://vion-panda.51vip.biz:52510"; // 生产环境url
break; break;
} }
......
import api from '../index' import api from "../index";
import baseUrl from '../baseUrl' import baseUrl from "../baseUrl";
export default { export default {
devs(params){ devs(params) {
return api.get(`${baseUrl}/api/v1/devconf_fx/devs`, params) return api.get(`${baseUrl}/api/v1/devconf_fx/devs`, params);
}, },
treeList(params,id) { treeList(params, id) {
return api.get(`${baseUrl}/api/v1/devconf_fx/devs/${id}/vchan_struct`, params) return api.get(
}, `${baseUrl}/api/v1/devconf_fx/devs/${id}/vchan_struct`,
getVideoList(params,id) { params
return api.get(`${baseUrl}/api/v1/devconf_fx/devs/${id}/vchans`, params) );
}, },
addCode(params,id) { getVideoList(params, id) {
return api.post(`${baseUrl}/api/v1/codes/custom/cates/${id}/codes`, params) return api.get(`${baseUrl}/api/v1/devconf_fx/devs/${id}/vchans`, params);
}, },
addNode(params,id){ addCode(params, id) {
return api.post(`${baseUrl}/api/v1/org`, params) return api.post(`${baseUrl}/api/v1/codes/custom/cates/${id}/codes`, params);
}, },
getCode(params,id){ addNode(params, id) {
return api.get(`${baseUrl}/api/v1/codes/custom/cates/${id}/codes`, params) return api.post(`${baseUrl}/api/v1/org`, params);
}, },
editCamera(params,id,unid){ getCode(params, id) {
return api.post(`${baseUrl}/api/v1/codes/custom/cates/${id}/codes/${unid}`, params) return api.get(`${baseUrl}/api/v1/codes/custom/cates/${id}/codes`, params);
}, },
delCode(params,id,unid){ editCamera(params, id, unid) {
return api.delete(`${baseUrl}/api/v1/codes/custom/cates/${id}/codes/${unid}`, params) return api.post(
}, `${baseUrl}/api/v1/codes/custom/cates/${id}/codes/${unid}`,
delOrg(params,id){ params
return api.delete(`${baseUrl}/api/v1/org/${id}`, params) );
}, },
delCamera(params,id,id2){ delCode(params, id, unid) {
return api.delete(`${baseUrl}/api/v1/devconf_fx/devs/${id}/vchans/${id2}`, params) return api.delete(
}, `${baseUrl}/api/v1/codes/custom/cates/${id}/codes/${unid}`,
getCameraTable(params,id,id2){ params
console.log(id2) );
if(id2){ },
return api.get(`${baseUrl}/api/v1/devconf_fx/devs/${id}/vchans/${id2}`, params) delOrg(params, id) {
}else{ return api.delete(`${baseUrl}/api/v1/org/${id}`, params);
return api.get(`${baseUrl}/api/v1/devconf_fx/devs/${id}/vchans`, params) },
delCamera(params, id, id2) {
return api.delete(
`${baseUrl}/api/v1/devconf_fx/devs/${id}/vchans/${id2}`,
params
);
},
getCameraTable(params, id, id2) {
console.log(id2);
if (id2) {
return api.get(
`${baseUrl}/api/v1/devconf_fx/devs/${id}/vchans/${id2}`,
params
);
} else {
return api.get(`${baseUrl}/api/v1/devconf_fx/devs/${id}/vchans`, params);
} }
}, },
editVideo(params,id,id2){ editVideo(params, id, id2) {
return api.post(`${baseUrl}/api/v1/devconf_fx/devs/${id}/vchans/${id2}`, params) return api.post(
}, `${baseUrl}/api/v1/devconf_fx/devs/${id}/vchans/${id2}`,
editCamera(params,id,id2){ params
return api.post(`${baseUrl}/api/v1/devconf_fx/devs/${id}/vchans/${id2}`, params) );
},
uploadFile(params,id){
return api.post(`${baseUrl}/api/v1/devconf_fx/devs/${id}/vfile_vchans`, params,{'Content-Type': 'multipart/form-data'})
},
getResource(params,id){
return api.get(`${baseUrl}/api/v1/devconf_fx/devs/${id}/status`, params)
},
getDevsName(params,id){
return api.get(`${baseUrl}/api/v1/devconf_fx/devs/${id}/fx_devs`, params)
},
getStoreConList(params){
return api.get(`${baseUrl}/api/v1/devconf_fx/store_confs`, params)
},
uploadStore(params){
return api.post(`${baseUrl}/api/v1/devconf_fx/store_confs`, params,{'Content-Type': 'multipart/form-data'})
},
getSubTask(params,id){
return api.get(`${baseUrl}/api/v1/devconf_fx/tasks/${id}/subtasks`, params)
},
delStore(params,id){
return api.delete(`${baseUrl}/api/v1/devconf_fx/store_confs/${id}`, params)
}, },
getsip(params,id,id2){ addCamera(params, id) {
return api.get(`${baseUrl}/api/v1/devconf_fx/devs/${id}/${id2}/sip_server`, params) return api.post(`${baseUrl}/api/v1/devconf_fx/devs/${id}/vchans`, params);
}, },
addSip(params,id,id2){ editCamera(params, id, id2) {
return api.post(`${baseUrl}/api/v1/devconf_fx/devs/${id}/${id2}/sip_server`, params) return api.post(
`${baseUrl}/api/v1/devconf_fx/devs/${id}/vchans/${id2}`,
params
);
}, },
editSip(params,id,id2,id3){ uploadFile(params, id) {
return api.post(`${baseUrl}/api/v1/devconf_fx/devs/${id}/${id2}/${id3}/sip_server`, params) return api.post(
`${baseUrl}/api/v1/devconf_fx/devs/${id}/vfile_vchans`,
params,
{ "Content-Type": "multipart/form-data" }
);
}, },
delSip(params,id,id2,id3){
return api.delete(`${baseUrl}/api/v1/devconf_fx/devs/${id}/${id2}/${id3}/sip_server`, params)
getResource(params, id) {
return api.get(`${baseUrl}/api/v1/devconf_fx/devs/${id}/status`, params);
},
getDevsName(params, id) {
return api.get(`${baseUrl}/api/v1/devconf_fx/devs/${id}/fx_devs`, params);
},
getStoreConList(params) {
return api.get(`${baseUrl}/api/v1/devconf_fx/store_confs`, params);
},
uploadStore(params) {
return api.post(`${baseUrl}/api/v1/devconf_fx/store_confs`, params, {
"Content-Type": "multipart/form-data"
});
},
getSubTask(params, id) {
return api.get(`${baseUrl}/api/v1/devconf_fx/tasks/${id}/subtasks`, params);
},
delStore(params, id) {
return api.delete(`${baseUrl}/api/v1/devconf_fx/store_confs/${id}`, params);
},
getsip(params, id, id2) {
return api.get(
`${baseUrl}/api/v1/devconf_fx/devs/${id}/${id2}/sip_server`,
params
);
},
addSip(params, id, id2) {
return api.post(
`${baseUrl}/api/v1/devconf_fx/devs/${id}/${id2}/sip_server`,
params
);
},
editSip(params, id, id2, id3) {
return api.post(
`${baseUrl}/api/v1/devconf_fx/devs/${id}/${id2}/${id3}/sip_server`,
params
);
},
delSip(params, id, id2, id3) {
return api.delete(
`${baseUrl}/api/v1/devconf_fx/devs/${id}/${id2}/${id3}/sip_server`,
params
);
} }
}
\ No newline at end of file \ No newline at end of file
};
<template> <template>
<div class=""> <div class>
<el-header class="headers"> <el-header class="headers">
<span class="title">实事分析展示</span> <span class="title">实事分析展示</span>
</el-header> </el-header>
...@@ -18,22 +18,25 @@ ...@@ -18,22 +18,25 @@
<div class="imgDiv"> <div class="imgDiv">
<!-- 加入img 100% --> <!-- 加入img 100% -->
<div v-if="resultData[0]"> <div v-if="resultData[0]">
<img :src = "resultData[0].pic" class="photos"/> <img :src="resultData[0].pic" class="photos" />
</div> </div>
</div> </div>
<div style="padding:0 10px 10px 10px"> <div style="padding:0 10px 10px 10px">
<div class="textDiv"> <div class="textDiv">
<div v-if="resultData[0]"> <div v-if="resultData[0]">
<p>抓拍时间:{{resultData[0].shoot_dt}}</p> <p>抓拍时间:{{ resultData[0].shoot_dt }}</p>
<p>抓拍地点:{{resultData[0].location_name}}</p> <p>抓拍地点:{{ resultData[0].location_name }}</p>
<p>车牌号码:{{resultData[0].vehicle_plate_text}}</p> <p>车牌号码:{{ resultData[0].vehicle_plate_text }}</p>
<p>车辆类型:{{resultData[0].vehicle_body_type_text}}</p> <p>
<p>车身颜色:{{resultData[0].vehicle_body_color_text}}</p> 车辆类型:{{ resultData[0].vehicle_body_type_text }}
<p>违法类型:{{resultData[0].illegal_text}}</p> </p>
<p>
车身颜色:{{ resultData[0].vehicle_body_color_text }}
</p>
<p>违法类型:{{ resultData[0].illegal_text }}</p>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</el-col> </el-col>
</el-row> </el-row>
...@@ -45,17 +48,17 @@ ...@@ -45,17 +48,17 @@
<div class="leftImg"> <div class="leftImg">
<!-- 加入img 100% --> <!-- 加入img 100% -->
<div v-if="resultData[1]"> <div v-if="resultData[1]">
<img :src = "resultData[1].pic" class="photos"/> <img :src="resultData[1].pic" class="photos" />
</div> </div>
</div> </div>
<div class="rightDiv"> <div class="rightDiv">
<div v-if="resultData[1]"> <div v-if="resultData[1]">
<p>抓拍时间:{{resultData[1].shoot_dt}}</p> <p>抓拍时间:{{ resultData[1].shoot_dt }}</p>
<p>抓拍地点:{{resultData[1].location_name}}</p> <p>抓拍地点:{{ resultData[1].location_name }}</p>
<p>车牌号码:{{resultData[1].vehicle_plate_text}}</p> <p>车牌号码:{{ resultData[1].vehicle_plate_text }}</p>
<p>车辆类型:{{resultData[1].vehicle_body_type_text}}</p> <p>车辆类型:{{ resultData[1].vehicle_body_type_text }}</p>
<p>车身颜色:{{resultData[1].vehicle_body_color_text}}</p> <p>车身颜色:{{ resultData[1].vehicle_body_color_text }}</p>
<p>违法类型:{{resultData[1].illegal_text}}</p> <p>违法类型:{{ resultData[1].illegal_text }}</p>
</div> </div>
</div> </div>
<div style="clear: both;"></div> <div style="clear: both;"></div>
...@@ -65,17 +68,17 @@ ...@@ -65,17 +68,17 @@
<div class="leftImg"> <div class="leftImg">
<!-- 加入img 100% --> <!-- 加入img 100% -->
<div v-if="resultData[2]"> <div v-if="resultData[2]">
<img :src = "resultData[2].pic" class="photos"/> <img :src="resultData[2].pic" class="photos" />
</div> </div>
</div> </div>
<div class="rightDiv"> <div class="rightDiv">
<div v-if="resultData[2]"> <div v-if="resultData[2]">
<p>抓拍时间:{{resultData[2].shoot_dt}}</p> <p>抓拍时间:{{ resultData[2].shoot_dt }}</p>
<p>抓拍地点:{{resultData[2].location_name}}</p> <p>抓拍地点:{{ resultData[2].location_name }}</p>
<p>车牌号码:{{resultData[2].vehicle_plate_text}}</p> <p>车牌号码:{{ resultData[2].vehicle_plate_text }}</p>
<p>车辆类型:{{resultData[2].vehicle_body_type_text}}</p> <p>车辆类型:{{ resultData[2].vehicle_body_type_text }}</p>
<p>车身颜色:{{resultData[2].vehicle_body_color_text}}</p> <p>车身颜色:{{ resultData[2].vehicle_body_color_text }}</p>
<p>违法类型:{{resultData[2].illegal_text}}</p> <p>违法类型:{{ resultData[2].illegal_text }}</p>
</div> </div>
</div> </div>
<div style="clear: both;"></div> <div style="clear: both;"></div>
...@@ -85,17 +88,17 @@ ...@@ -85,17 +88,17 @@
<div class="leftImg"> <div class="leftImg">
<!-- 加入img 100% --> <!-- 加入img 100% -->
<div v-if="resultData[3]"> <div v-if="resultData[3]">
<img :src = "resultData[3].pic" class="photos"/> <img :src="resultData[3].pic" class="photos" />
</div> </div>
</div> </div>
<div class="rightDiv"> <div class="rightDiv">
<div v-if="resultData[3]"> <div v-if="resultData[3]">
<p>抓拍时间:{{resultData[3].shoot_dt}}</p> <p>抓拍时间:{{ resultData[3].shoot_dt }}</p>
<p>抓拍地点:{{resultData[3].location_name}}</p> <p>抓拍地点:{{ resultData[3].location_name }}</p>
<p>车牌号码:{{resultData[3].vehicle_plate_text}}</p> <p>车牌号码:{{ resultData[3].vehicle_plate_text }}</p>
<p>车辆类型:{{resultData[3].vehicle_body_type_text}}</p> <p>车辆类型:{{ resultData[3].vehicle_body_type_text }}</p>
<p>车身颜色:{{resultData[3].vehicle_body_color_text}}</p> <p>车身颜色:{{ resultData[3].vehicle_body_color_text }}</p>
<p>违法类型:{{resultData[3].illegal_text}}</p> <p>违法类型:{{ resultData[3].illegal_text }}</p>
</div> </div>
</div> </div>
<div style="clear: both;"></div> <div style="clear: both;"></div>
...@@ -109,38 +112,40 @@ ...@@ -109,38 +112,40 @@
</template> </template>
<script> <script>
import videoplay from './public/videoPlay' import videoplay from "./public/videoPlay";
export default { export default {
name: "home", name: "home",
data(){ data() {
return{ return {
isCollapse: false, isCollapse: false,
conHeight:0, conHeight: 0,
playurl:'', playurl: "",
subtaskid:'', subtaskid: "",
taskid:'', taskid: "",
showws:null, showws: null,
keepAlive:null, keepAlive: null,
quitws:false, quitws: false,
resultData:[] resultData: []
}; };
}, },
created(){ created() {
this.taskid = this.$route.params.taskid let url = location.href;
this.subtaskid = this.$route.params.subtaskid let params = url.split("?")[1];
this.playurl = this.$route.params.playurl this.taskid = this.getQueryVariable("taskid");
this.subtaskid = this.getQueryVariable("subtaskid");
this.playurl = this.getQueryVariable("playurl");
}, },
mounted(){ mounted() {
this.$refs.videoplay.videoPlay()
this.$refs.videoplay.videoPlay();
}, },
components: { components: {
videoplay videoplay
// HelloWorld // HelloWorld
}, },
methods:{ methods: {
connectwebsocket(type) { connectwebsocket(type) {
let that = this; let that = this;
this.connect_id = new Date().getTime(); this.connect_id = new Date().getTime();
...@@ -162,6 +167,7 @@ export default { ...@@ -162,6 +167,7 @@ export default {
}; };
this.showws.onmessage = evt => { this.showws.onmessage = evt => {
let data = JSON.parse(evt.data); let data = JSON.parse(evt.data);
// eslint-disable-next-line no-empty
if (data.command) { if (data.command) {
} else if (data.type == "response") { } else if (data.type == "response") {
console.log("请求任务推送成功"); console.log("请求任务推送成功");
...@@ -170,13 +176,16 @@ export default { ...@@ -170,13 +176,16 @@ export default {
try { try {
data.picsEmpty = data.pics.length == 0 ? true : false; data.picsEmpty = data.pics.length == 0 ? true : false;
data.pic = data.pic =
data.pics[0].src_url || "data:image/jpeg;base64," + data.pics[0].pic_base64; data.pics[0].src_url ||
data.bigpic = data.pics[0].src_url || "data:image/jpeg;base64," + data.pics[0].pic_base64; "data:image/jpeg;base64," + data.pics[0].pic_base64;
data.bigpic =
data.pics[0].src_url ||
"data:image/jpeg;base64," + data.pics[0].pic_base64;
that.$buildCode.init(data); that.$buildCode.init(data);
if(that.resultData.length > 4) { if (that.resultData.length > 4) {
that.resultData.pop(data) that.resultData.pop(data);
} else { } else {
that.resultData.unshift(data) that.resultData.unshift(data);
} }
} catch (err) { } catch (err) {
console.log(err); console.log(err);
...@@ -205,13 +214,24 @@ export default { ...@@ -205,13 +214,24 @@ export default {
} catch (err) { } catch (err) {
console.log(err); console.log(err);
} }
},
getQueryVariable(variable) {
var query = window.location.href.split("?")[1];
var vars = query.split("&");
for (var i = 0; i < vars.length; i++) {
var pair = vars[i].split("=");
if (pair[0] == variable) {
return pair[1];
}
}
return false;
} }
}, },
beforeMount() { beforeMount() {
this.connectwebsocket(); this.connectwebsocket();
//监听成功 //监听成功
this.showws.onopen = ()=> { this.showws.onopen = () => {
let send_mesage = let send_mesage =
'{"type":"request","connect_id": "' + '{"type":"request","connect_id": "' +
this.connect_id + this.connect_id +
...@@ -224,14 +244,14 @@ export default { ...@@ -224,14 +244,14 @@ export default {
//监听断开 //监听断开
this.showws.onclose = function() { this.showws.onclose = function() {
if(quitws) return if (quitws) return;
window.clearInterval(this.keepAlive); window.clearInterval(this.keepAlive);
this.connectwebsocket(1); this.connectwebsocket(1);
}; };
}, },
beforeDestroy() { beforeDestroy() {
this.showws.close(); this.showws.close();
this.quitws = true this.quitws = true;
try { try {
window.clearTimeout(this.keepAlive); window.clearTimeout(this.keepAlive);
} catch (error) {} } catch (error) {}
...@@ -239,80 +259,80 @@ export default { ...@@ -239,80 +259,80 @@ export default {
}; };
</script> </script>
<style scoped="scoped" lang="scss"> <style scoped="scoped" lang="scss">
.headers{ .headers {
line-height: 60px; line-height: 60px;
} }
.title{ .title {
font-size:24px; font-size: 24px;
font-family:MicrosoftYaHeiUI; font-family: MicrosoftYaHeiUI;
color:rgba(255,255,255,1); color: rgba(255, 255, 255, 1);
-webkit-background-clip:text; -webkit-background-clip: text;
} }
.videoCon{ .videoCon {
background: #FFFFFF; background: #ffffff;
width:100%; width: 100%;
height:70vh;
}
.imgCon{
height: 70vh; height: 70vh;
background: #FFFFFF; }
} .imgCon {
.imgDiv{ height: 70vh;
padding:0 10px 0 10px; background: #ffffff;
height:40vh; }
} .imgDiv {
.imgDiv>div{ padding: 0 10px 0 10px;
height: 40vh;
}
.imgDiv > div {
height: 100%; height: 100%;
background: #d8d8d8; background: #d8d8d8;
} }
.lDiv{ .lDiv {
float: left; float: left;
} }
.lDiv:nth-last-of-type(2){ .lDiv:nth-last-of-type(2) {
margin: 0; margin: 0;
} }
.rightDiv{ .rightDiv {
width:10.5vw; width: 10.5vw;
height:20vh; height: 20vh;
border:1px solid rgba(229,229,229,1); border: 1px solid rgba(229, 229, 229, 1);
border-left: none; border-left: none;
color: #555555; color: #555555;
font-size: 12px; font-size: 12px;
float: left; float: left;
} }
.rightDiv p{ .rightDiv p {
margin: 10px 0; margin: 10px 0;
margin-left: 10px; margin-left: 10px;
} }
.textDiv{ .textDiv {
height:29vh; height: 29vh;
border:1px solid rgba(229,229,229,1); border: 1px solid rgba(229, 229, 229, 1);
color: #555555; color: #555555;
font-size:22px; font-size: 22px;
} }
.textDiv p{ .textDiv p {
margin: 14px 0; margin: 14px 0;
margin-left: 37px; margin-left: 37px;
} }
.bottomDiv{ .bottomDiv {
padding: 7px; padding: 7px;
background: #FFFFFF; background: #ffffff;
display: flex; display: flex;
flex-flow: row nowrap; flex-flow: row nowrap;
} }
.leftImg{ .leftImg {
width: 21vw; width: 21vw;
height: 20.2vh; height: 20.2vh;
background: #d8d8d8; background: #d8d8d8;
overflow: hidden; overflow: hidden;
float: left; float: left;
} }
.leftImg>div{ .leftImg > div {
height: 100%; height: 100%;
width: 100%; width: 100%;
} }
.photos{ .photos {
width: 100%; width: 100%;
height: 100%; height: 100%;
} }
</style> </style>
...@@ -170,7 +170,7 @@ ...@@ -170,7 +170,7 @@
if(this.type == 'add'){ if(this.type == 'add'){
this.$refs['cameraDialog'].validate((valid) => { this.$refs['cameraDialog'].validate((valid) => {
if (valid) { if (valid) {
this.$api.resource.addCamera(this.addVideoParam,this.devsId).then(res=>{ this.$api.resource.addCamera(this.addVideoParam,localStorage.getItem('dev_unid')).then(res=>{
if(res.ecode==200){ if(res.ecode==200){
this.$message({ this.$message({
message: res.enote, message: res.enote,
......
...@@ -6,11 +6,19 @@ ...@@ -6,11 +6,19 @@
width="1100px" width="1100px"
:before-close="beforeHideModal" :before-close="beforeHideModal"
> >
<TraficCanvas :bgUrl='bgUrl' v-if="type=='0' || type=='5'" ref='canvas'></TraficCanvas> <TraficCanvas
<FlowCanvas :bgUrl='bgUrl' v-if="type=='1'" ref='canvas'></FlowCanvas> :bgUrl="bgUrl"
<SafeCanvas :bgUrl='bgUrl' v-if="type=='2'" ref='canvas'></SafeCanvas> v-if="type == '0' || type == '5' || type == '3'"
<FaceCanvas :bgUrl='bgUrl' v-if="type=='4'" ref='canvas'></FaceCanvas> ref="canvas"
<ComplexCanvas :bgUrl='bgUrl' v-if="type=='7'" ref='canvas'></ComplexCanvas> ></TraficCanvas>
<FlowCanvas :bgUrl="bgUrl" v-if="type == '1'" ref="canvas"></FlowCanvas>
<SafeCanvas :bgUrl="bgUrl" v-if="type == '2'" ref="canvas"></SafeCanvas>
<FaceCanvas :bgUrl="bgUrl" v-if="type == '4'" ref="canvas"></FaceCanvas>
<ComplexCanvas
:bgUrl="bgUrl"
v-if="type == '7'"
ref="canvas"
></ComplexCanvas>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<el-button @click="beforeHideModal">取 消</el-button> <el-button @click="beforeHideModal">取 消</el-button>
<el-button type="primary" @click="save">确 定</el-button> <el-button type="primary" @click="save">确 定</el-button>
...@@ -19,23 +27,23 @@ ...@@ -19,23 +27,23 @@
</div> </div>
</template> </template>
<script> <script>
import TraficCanvas from "./areaconfig/TraficCanvas"; import TraficCanvas from "./areaconfig/TraficCanvas";
import FlowCanvas from "./areaconfig/FlowCanvas"; import FlowCanvas from "./areaconfig/FlowCanvas";
import SafeCanvas from "./areaconfig/SafeCanvas"; import SafeCanvas from "./areaconfig/SafeCanvas";
import FaceCanvas from "./areaconfig/FaceCanvas"; import FaceCanvas from "./areaconfig/FaceCanvas";
import ComplexCanvas from "./areaconfig/ComplexCanvas"; import ComplexCanvas from "./areaconfig/ComplexCanvas";
export default { export default {
data() { data() {
return { return {
dialogVisible: false, dialogVisible: false,
isShow: false, isShow: false,
type: '0', type: "0",
btnIsactive: false, btnIsactive: false,
showClose: false, showClose: false,
roiBody: {}, roiBody: {},
XMLStr: "", XMLStr: "",
taskData:'', taskData: "",
bgUrl:'' bgUrl: ""
}; };
}, },
components: { components: {
...@@ -46,27 +54,35 @@ export default { ...@@ -46,27 +54,35 @@ export default {
ComplexCanvas ComplexCanvas
}, },
methods: { methods: {
showModal: function(data,mtaskdata) { showModal: function(data, mtaskdata) {
var _this = this; var _this = this;
this.$store.commit('setocxstate',0) this.$store.commit("setocxstate", 0);
this.taskData = mtaskdata; this.taskData = mtaskdata;
this.dialogVisible =true; this.dialogVisible = true;
this.type = data.algo_type; this.type = data.algo_type;
// this.type = 2; // this.type = 2;
this.bgUrl = ""; this.bgUrl = "";
//获取视频截图 //获取视频截图
this.$api.task.cutpic(mtaskdata.vchan.vdev_unid, mtaskdata.vchan.vchan_refid,mtaskdata.subtask_id).then(data => { this.$api.task
.cutpic(
mtaskdata.vchan.vdev_unid,
mtaskdata.vchan.vchan_refid,
mtaskdata.subtask_id
)
.then(data => {
if (!data.ecode) { if (!data.ecode) {
this.bgUrl = "data:image/png;base64," + data.pic_base64; this.bgUrl = "data:image/png;base64," + data.pic_base64;
setTimeout(() => { setTimeout(() => {
let img = document.getElementById('pic').childNodes[0] let img = document.getElementById("pic").childNodes[0];
let canvas = document.createElement("canvas"); let canvas = document.createElement("canvas");
canvas.width = 800; canvas.width = 800;
canvas.height = 500; canvas.height = 500;
try { try {
canvas.getContext("2d").drawImage(img, 0, 0, 800, 500); canvas.getContext("2d").drawImage(img, 0, 0, 800, 500);
_this.bgUrl = canvas.toDataURL("image/webp"); _this.bgUrl = canvas.toDataURL("image/webp");
} catch (error) {} } catch (error) {
console.log(error);
}
}, 500); }, 500);
} else { } else {
alert("区域设置截图失败!" + data.enote); alert("区域设置截图失败!" + data.enote);
...@@ -78,14 +94,12 @@ export default { ...@@ -78,14 +94,12 @@ export default {
setTimeout(() => { setTimeout(() => {
_this.$refs.canvas.stageInit(); _this.$refs.canvas.stageInit();
if (data.rois) { if (data.rois) {
_this.$refs.canvas.configInit( _this.$refs.canvas.configInit(data.rois[0].roi);
data.rois[0].roi
);
} }
}, 300); }, 300);
}, },
beforeHideModal: function() { beforeHideModal: function() {
this.$store.commit('setocxstate',1) this.$store.commit("setocxstate", 1);
this.dialogVisible = false; this.dialogVisible = false;
this.$refs.canvas.clear(); this.$refs.canvas.clear();
this.$refs.canvas.cindex = 0; this.$refs.canvas.cindex = 0;
...@@ -101,11 +115,12 @@ export default { ...@@ -101,11 +115,12 @@ export default {
this.btnIsactive = true; this.btnIsactive = true;
try { try {
this.EditList(1); this.EditList(1);
} catch (error) {} } catch (error) {
console.log(error);
}
}, },
save: function() { save: function() {
if (this.$refs.canvas.roadFlag === false) { if (this.$refs.canvas.roadFlag === false) {
this.$alert("车道线有修改,请检查车道属性是否正确", "提示", { this.$alert("车道线有修改,请检查车道属性是否正确", "提示", {
confirmButtonText: "确定" confirmButtonText: "确定"
}); });
...@@ -125,8 +140,6 @@ export default { ...@@ -125,8 +140,6 @@ export default {
this.beforeHideModal(); this.beforeHideModal();
} }
} }
} };
</script> </script>
<style lang="stylus" scoped> <style lang="stylus" scoped></style>
</style>
...@@ -2305,8 +2305,8 @@ export default { ...@@ -2305,8 +2305,8 @@ export default {
} }
}, },
mounted() { mounted() {
console.log(eventJson); // console.log(eventJson);
this.eventData = eventJson; // this.eventData = eventJson;
// this.stageInit() // this.stageInit()
key("alt+1", () => { key("alt+1", () => {
if (this.istest) { if (this.istest) {
......
...@@ -2299,7 +2299,6 @@ export default { ...@@ -2299,7 +2299,6 @@ export default {
} }
}, },
mounted() { mounted() {
console.log(eventJson)
this.eventData = eventJson this.eventData = eventJson
// this.stageInit() // this.stageInit()
key('alt+1',()=>{ key('alt+1',()=>{
......
...@@ -207,8 +207,8 @@ export default { ...@@ -207,8 +207,8 @@ export default {
this.stage.add(this.signLayer); this.stage.add(this.signLayer);
this.layers = [this.signLayer]; this.layers = [this.signLayer];
} }
console.log(this.taskData.mtasks[0].scenes[0].calibration); console.log(this.taskData.calibration);
let cal = this.taskData.mtasks[0].scenes[0].calibration; let cal = this.taskData.calibration;
if (cal === null || cal == undefined) { if (cal === null || cal == undefined) {
this.configInit(""); this.configInit("");
} }
......
...@@ -6,8 +6,9 @@ ...@@ -6,8 +6,9 @@
border border
stripe stripe
style="width: 80%;float:left" style="width: 80%;float:left"
height="25vh"
> >
<el-table-column label="序号" type="index" width="80"> <el-table-column label="序号" type="index" width="50" align="center">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="name" prop="name"
...@@ -27,10 +28,10 @@ ...@@ -27,10 +28,10 @@
<el-table-column prop="address" align="center" label="参数设置"> <el-table-column prop="address" align="center" label="参数设置">
<template slot-scope="scope"> <template slot-scope="scope">
<div class="table-set"> <div class="table-set">
<span @click="setParam(scope.row)">参数设置</span> <span @click="setParam(scope.row, scope.$index)">参数设置</span>
<span @click="setArea(scope.row)">区域设置</span> <span @click="setArea(scope.row, scope.$index)">区域设置</span>
<span @click="setDemarcate(scope.row)">标定设置</span> <span @click="setDemarcate(scope.row, scope.$index)">标定设置</span>
<span @click="setTimer(scope.row)">时间设置</span> <span @click="setTimer(scope.row, scope.$index)">时间设置</span>
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
...@@ -127,6 +128,7 @@ export default { ...@@ -127,6 +128,7 @@ export default {
timer: 0, timer: 0,
timersel: 0, timersel: 0,
timerDialog: false, timerDialog: false,
curindex: 0,
timeroptions: [30, 40, 50, 60, 100], timeroptions: [30, 40, 50, 60, 100],
timerscenes: null, timerscenes: null,
taskInfo: { taskInfo: {
...@@ -148,14 +150,17 @@ export default { ...@@ -148,14 +150,17 @@ export default {
handleparam handleparam
}, },
methods: { methods: {
setParam() { setParam(scenesdata, index) {
this.$refs.parameter.init(this.taskInfo); this.curindex = index;
this.$refs.parameter.init(scenesdata);
}, },
setArea(roidata) { setArea(roidata, index) {
this.curindex = index;
this.$refs.areas.showModal(roidata, this.taskInfo); this.$refs.areas.showModal(roidata, this.taskInfo);
}, },
setDemarcate() { setDemarcate(scenesdata, index) {
this.$refs.demarcate.showModal(this.taskInfo); this.curindex = index;
this.$refs.demarcate.showModal(scenesdata);
}, },
handleparam(type) { handleparam(type) {
this.$refs.handleparam.show(type); this.$refs.handleparam.show(type);
...@@ -195,14 +200,15 @@ export default { ...@@ -195,14 +200,15 @@ export default {
}); });
}, },
showview() { showview() {
this.$router.push({ let routeData = this.$router.resolve({
name: "show", name: "show",
params: { query: {
taskid: this.taskid, taskid: this.taskid,
subtaskid: this.subtaskid, subtaskid: this.subtaskid,
playurl: this.playurl playurl: this.playurl
} }
}); });
window.open(routeData.href, '_blank');
}, },
submit: function(xml, type) { submit: function(xml, type) {
let postObj = { let postObj = {
...@@ -212,31 +218,23 @@ export default { ...@@ -212,31 +218,23 @@ export default {
mtask_unid: this.taskInfo.mtasks[0].mtask_unid, mtask_unid: this.taskInfo.mtasks[0].mtask_unid,
// type: 0, // type: 0,
// priority: 0, // priority: 0,
scenes: [ scenes: this.taskInfo.mtasks[0].scenes
{
scene_unid: this.taskInfo.mtasks[0].scenes[0].scene_unid,
play_urls: {
rtsp: this.vchanUrl
}
// algo_args: {}
}
]
} }
] ]
}; };
if (type == "roi") { if (type == "roi") {
postObj.mtasks[0].scenes[0].rois = [ postObj.mtasks[0].scenes[this.curindex].rois = [
{ {
roi: xml roi: xml
} }
]; ];
} else if (type == "config") { } else if (type == "config") {
postObj.mtasks[0].scenes[0].config = { postObj.mtasks[0].scenes[this.curindex].config = {
xml: xml xml: xml
}; };
} else if (type == "calibration") { } else if (type == "calibration") {
console.log(xml); console.log(xml);
postObj.mtasks[0].scenes[0].calibration = { postObj.mtasks[0].scenes[this.curindex].calibration = {
calibration: xml calibration: xml
}; };
} }
...@@ -254,14 +252,14 @@ export default { ...@@ -254,14 +252,14 @@ export default {
}); });
switch (type) { switch (type) {
case "roi": case "roi":
this.taskInfo.mtasks[0].scenes[0].rois = [ this.taskInfo.mtasks[0].scenes[this.curindex].rois = [
{ {
roi: xml roi: xml
} }
]; ];
break; break;
case "calibration": case "calibration":
this.taskInfo.mtasks[0].scenes[0].calibration = { this.taskInfo.mtasks[0].scenes[this.curindex].calibration = {
calibration: xml calibration: xml
}; };
break; break;
......
...@@ -4,7 +4,8 @@ ...@@ -4,7 +4,8 @@
title="参数设置" title="参数设置"
:visible.sync="dialogVisible" :visible.sync="dialogVisible"
width="50%" width="50%"
:before-close="handleClose"> :before-close="handleClose"
>
<span> <span>
<iframe <iframe
id="iframe" id="iframe"
...@@ -28,52 +29,53 @@ export default { ...@@ -28,52 +29,53 @@ export default {
data() { data() {
return { return {
dialogVisible: false, dialogVisible: false,
XMLStr:'', XMLStr: "",
basicXml:'', basicXml: "",
taskData:"" taskData: ""
}; };
}, },
methods: { methods: {
init(data){ init(data) {
this.$store.commit('setocxstate',0) this.$store.commit("setocxstate", 0);
this.dialogVisible = true; this.dialogVisible = true;
this.taskData = data; this.taskData = data;
let that = this; let that = this;
setTimeout(()=>{ setTimeout(() => {
that.xmlInit(data.mtasks[0].scenes[0]); that.xmlInit(data);
},800) }, 800);
}, },
balltaskinit(data){ balltaskinit(data) {
this.$store.commit('setocxstate',0) this.$store.commit("setocxstate", 0);
this.dialogVisible = true; this.dialogVisible = true;
setTimeout(()=>{ setTimeout(() => {
this.xmlInit(data); this.xmlInit(data);
},800) }, 800);
}, },
xmlInit: function (obj) { xmlInit: function(obj) {
this.XMLStr =
this.XMLStr = obj.config.xml || '<?xml version="1.0" encoding="GBK"?><root></root>' obj.config.xml || '<?xml version="1.0" encoding="GBK"?><root></root>';
console.log('XML:'+this.XMLStr.split('@').length) console.log("XML:" + this.XMLStr.split("@").length);
if (this.XMLStr.split('@').length>1) { if (this.XMLStr.split("@").length > 1) {
this.XMLStr = '<?xml version="1.0" encoding="GBK"?><root></root>' this.XMLStr = '<?xml version="1.0" encoding="GBK"?><root></root>';
} }
this.basicXml = obj.basicConfig.xml; this.basicXml = obj.basicConfig.xml;
this.$refs.iframe.contentWindow.loadParameterTree(this.basicXml,this.XMLStr); this.$refs.iframe.contentWindow.loadParameterTree(
this.basicXml,
this.XMLStr
);
}, },
save:function () { save: function() {
this.$refs.iframe.contentWindow.submit(); this.$refs.iframe.contentWindow.submit();
//ifram 传递回来的饿xml //ifram 传递回来的饿xml
this.XMLStr = this.$refs.iframe.contentWindow.xmlStr; this.XMLStr = this.$refs.iframe.contentWindow.xmlStr;
this.dialogVisible = false; this.dialogVisible = false;
this.$parent.submit(this.XMLStr,'config') this.$parent.submit(this.XMLStr, "config");
}, },
handleClose(done) { handleClose(done) {
this.dialogVisible = false; this.dialogVisible = false;
this.$store.commit('setocxstate',1) this.$store.commit("setocxstate", 1);
} }
} }
} };
</script> </script>
<style lang="stylus" scoped> <style lang="stylus" scoped></style>
</style>
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!