Commit 8f739a8a by 潘建波

修改展示页 上线环境IP

1 parent 91972a43
......@@ -16,7 +16,7 @@ export default {
}
let token = localStorage.getItem("atoken");
if (!token) {
alert('errtoken')
console.log('errtoken')
this.$router.push("/login");
}
},
......
......@@ -10,7 +10,7 @@ switch (process.env.NODE_ENV) {
baseUrl = "https://pre-server.feleti.cn"; // 预上线环境url
break;
case "production":
baseUrl = "http://192.168.9.133:20080"; // 生产环境url
baseUrl = "http://vion-panda.51vip.biz:52510"; // 生产环境url
break;
}
......
import api from '../index'
import baseUrl from '../baseUrl'
import api from "../index";
import baseUrl from "../baseUrl";
export default {
devs(params){
return api.get(`${baseUrl}/api/v1/devconf_fx/devs`, params)
},
treeList(params,id) {
return api.get(`${baseUrl}/api/v1/devconf_fx/devs/${id}/vchan_struct`, params)
},
getVideoList(params,id) {
return api.get(`${baseUrl}/api/v1/devconf_fx/devs/${id}/vchans`, params)
},
addCode(params,id) {
return api.post(`${baseUrl}/api/v1/codes/custom/cates/${id}/codes`, params)
},
addNode(params,id){
return api.post(`${baseUrl}/api/v1/org`, params)
},
getCode(params,id){
return api.get(`${baseUrl}/api/v1/codes/custom/cates/${id}/codes`, params)
},
editCamera(params,id,unid){
return api.post(`${baseUrl}/api/v1/codes/custom/cates/${id}/codes/${unid}`, params)
},
delCode(params,id,unid){
return api.delete(`${baseUrl}/api/v1/codes/custom/cates/${id}/codes/${unid}`, params)
},
delOrg(params,id){
return api.delete(`${baseUrl}/api/v1/org/${id}`, 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){
return api.post(`${baseUrl}/api/v1/devconf_fx/devs/${id}/vchans/${id2}`, params)
},
editCamera(params,id,id2){
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'})
},
devs(params) {
return api.get(`${baseUrl}/api/v1/devconf_fx/devs`, params);
},
treeList(params, id) {
return api.get(
`${baseUrl}/api/v1/devconf_fx/devs/${id}/vchan_struct`,
params
);
},
getVideoList(params, id) {
return api.get(`${baseUrl}/api/v1/devconf_fx/devs/${id}/vchans`, params);
},
addCode(params, id) {
return api.post(`${baseUrl}/api/v1/codes/custom/cates/${id}/codes`, params);
},
addNode(params, id) {
return api.post(`${baseUrl}/api/v1/org`, params);
},
getCode(params, id) {
return api.get(`${baseUrl}/api/v1/codes/custom/cates/${id}/codes`, params);
},
editCamera(params, id, unid) {
return api.post(
`${baseUrl}/api/v1/codes/custom/cates/${id}/codes/${unid}`,
params
);
},
delCode(params, id, unid) {
return api.delete(
`${baseUrl}/api/v1/codes/custom/cates/${id}/codes/${unid}`,
params
);
},
delOrg(params, id) {
return api.delete(`${baseUrl}/api/v1/org/${id}`, 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) {
return api.post(
`${baseUrl}/api/v1/devconf_fx/devs/${id}/vchans/${id2}`,
params
);
},
addCamera(params, id) {
return api.post(`${baseUrl}/api/v1/devconf_fx/devs/${id}/vchans`, params);
},
editCamera(params, id, id2) {
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){
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
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
);
}
};
......@@ -170,7 +170,7 @@
if(this.type == 'add'){
this.$refs['cameraDialog'].validate((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){
this.$message({
message: res.enote,
......
<template>
<div>
<el-dialog
<el-dialog
title="区域设置"
:visible.sync="dialogVisible"
width="1100px"
:before-close="beforeHideModal"
>
<TraficCanvas :bgUrl='bgUrl' v-if="type=='0' || type=='5'" ref='canvas'></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>
>
<TraficCanvas
:bgUrl="bgUrl"
v-if="type == '0' || type == '5' || type == '3'"
ref="canvas"
></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">
<el-button @click="beforeHideModal">取 消</el-button>
<el-button type="primary" @click="save">确 定</el-button>
</span>
</el-dialog>
</el-dialog>
</div>
</template>
<script>
import TraficCanvas from "./areaconfig/TraficCanvas";
import FlowCanvas from "./areaconfig/FlowCanvas";
import SafeCanvas from "./areaconfig/SafeCanvas";
import FaceCanvas from "./areaconfig/FaceCanvas";
import ComplexCanvas from "./areaconfig/ComplexCanvas";
import TraficCanvas from "./areaconfig/TraficCanvas";
import FlowCanvas from "./areaconfig/FlowCanvas";
import SafeCanvas from "./areaconfig/SafeCanvas";
import FaceCanvas from "./areaconfig/FaceCanvas";
import ComplexCanvas from "./areaconfig/ComplexCanvas";
export default {
data() {
return {
dialogVisible: false,
isShow: false,
type: '0',
btnIsactive: false,
showClose: false,
roiBody: {},
XMLStr: "",
taskData:'',
bgUrl:''
};
},
return {
dialogVisible: false,
isShow: false,
type: "0",
btnIsactive: false,
showClose: false,
roiBody: {},
XMLStr: "",
taskData: "",
bgUrl: ""
};
},
components: {
TraficCanvas,
SafeCanvas,
......@@ -46,87 +54,92 @@ export default {
ComplexCanvas
},
methods: {
showModal: function(data,mtaskdata) {
var _this = this;
this.$store.commit('setocxstate',0)
this.taskData = mtaskdata;
this.dialogVisible =true;
this.type = data.algo_type;
// this.type = 2;
this.bgUrl = "";
//获取视频截图
this.$api.task.cutpic(mtaskdata.vchan.vdev_unid, mtaskdata.vchan.vchan_refid,mtaskdata.subtask_id).then(data => {
if (!data.ecode) {
this.bgUrl = "data:image/png;base64," + data.pic_base64;
setTimeout(() => {
let img = document.getElementById('pic').childNodes[0]
let canvas = document.createElement("canvas");
canvas.width = 800;
canvas.height = 500;
try {
canvas.getContext("2d").drawImage(img, 0, 0, 800, 500);
_this.bgUrl = canvas.toDataURL("image/webp");
} catch (error) {}
}, 500);
} else {
alert("区域设置截图失败!" + data.enote);
}
})
.catch(err => {
console.log("区域设置截图返回异常:", err.message);
});
setTimeout(() => {
_this.$refs.canvas.stageInit();
if (data.rois) {
_this.$refs.canvas.configInit(
data.rois[0].roi
);
showModal: function(data, mtaskdata) {
var _this = this;
this.$store.commit("setocxstate", 0);
this.taskData = mtaskdata;
this.dialogVisible = true;
this.type = data.algo_type;
// this.type = 2;
this.bgUrl = "";
//获取视频截图
this.$api.task
.cutpic(
mtaskdata.vchan.vdev_unid,
mtaskdata.vchan.vchan_refid,
mtaskdata.subtask_id
)
.then(data => {
if (!data.ecode) {
this.bgUrl = "data:image/png;base64," + data.pic_base64;
setTimeout(() => {
let img = document.getElementById("pic").childNodes[0];
let canvas = document.createElement("canvas");
canvas.width = 800;
canvas.height = 500;
try {
canvas.getContext("2d").drawImage(img, 0, 0, 800, 500);
_this.bgUrl = canvas.toDataURL("image/webp");
} catch (error) {
console.log(error);
}
}, 500);
} else {
alert("区域设置截图失败!" + data.enote);
}
}, 300);
},
beforeHideModal: function() {
this.$store.commit('setocxstate',1)
this.dialogVisible = false;
this.$refs.canvas.clear();
this.$refs.canvas.cindex = 0;
this.bgUrl = "";
},
getType: function() {
if (this.$parent.subTaskInfo) {
this.type = this.$parent.subTaskInfo.task_algo_type;
} else {
this.type = this.$parent.$parent.subTaskInfo.task_algo_type;
}
this.XMLStr = "";
this.btnIsactive = true;
try {
this.EditList(1);
} catch (error) {}
},
save: function() {
if (this.$refs.canvas.roadFlag === false) {
this.$alert("车道线有修改,请检查车道属性是否正确", "提示", {
confirmButtonText: "确定"
});
//xieminghui
// this.$refs.canvas.roadFlag = "confirm";
return;
})
.catch(err => {
console.log("区域设置截图返回异常:", err.message);
});
setTimeout(() => {
_this.$refs.canvas.stageInit();
if (data.rois) {
_this.$refs.canvas.configInit(data.rois[0].roi);
}
let XMLStr = this.$refs.canvas.save();
if (this.type == "1" && (XMLStr === "dir" || XMLStr === "in")) {
this.$message({
type: "warning",
message: "请检查配置是否正确"
});
return;
}
this.$parent.submit(XMLStr, "roi", this.taskData);
this.beforeHideModal();
}, 300);
},
beforeHideModal: function() {
this.$store.commit("setocxstate", 1);
this.dialogVisible = false;
this.$refs.canvas.clear();
this.$refs.canvas.cindex = 0;
this.bgUrl = "";
},
getType: function() {
if (this.$parent.subTaskInfo) {
this.type = this.$parent.subTaskInfo.task_algo_type;
} else {
this.type = this.$parent.$parent.subTaskInfo.task_algo_type;
}
this.XMLStr = "";
this.btnIsactive = true;
try {
this.EditList(1);
} catch (error) {
console.log(error);
}
},
save: function() {
if (this.$refs.canvas.roadFlag === false) {
this.$alert("车道线有修改,请检查车道属性是否正确", "提示", {
confirmButtonText: "确定"
});
//xieminghui
// this.$refs.canvas.roadFlag = "confirm";
return;
}
let XMLStr = this.$refs.canvas.save();
if (this.type == "1" && (XMLStr === "dir" || XMLStr === "in")) {
this.$message({
type: "warning",
message: "请检查配置是否正确"
});
return;
}
this.$parent.submit(XMLStr, "roi", this.taskData);
this.beforeHideModal();
}
}
}
};
</script>
<style lang="stylus" scoped>
</style>
<style lang="stylus" scoped></style>
......@@ -2305,8 +2305,8 @@ export default {
}
},
mounted() {
console.log(eventJson);
this.eventData = eventJson;
// console.log(eventJson);
// this.eventData = eventJson;
// this.stageInit()
key("alt+1", () => {
if (this.istest) {
......
......@@ -2299,7 +2299,6 @@ export default {
}
},
mounted() {
console.log(eventJson)
this.eventData = eventJson
// this.stageInit()
key('alt+1',()=>{
......
......@@ -207,8 +207,8 @@ export default {
this.stage.add(this.signLayer);
this.layers = [this.signLayer];
}
console.log(this.taskData.mtasks[0].scenes[0].calibration);
let cal = this.taskData.mtasks[0].scenes[0].calibration;
console.log(this.taskData.calibration);
let cal = this.taskData.calibration;
if (cal === null || cal == undefined) {
this.configInit("");
}
......
......@@ -6,8 +6,9 @@
border
stripe
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
prop="name"
......@@ -27,10 +28,10 @@
<el-table-column prop="address" align="center" label="参数设置">
<template slot-scope="scope">
<div class="table-set">
<span @click="setParam(scope.row)">参数设置</span>
<span @click="setArea(scope.row)">区域设置</span>
<span @click="setDemarcate(scope.row)">标定设置</span>
<span @click="setTimer(scope.row)">时间设置</span>
<span @click="setParam(scope.row, scope.$index)">参数设置</span>
<span @click="setArea(scope.row, scope.$index)">区域设置</span>
<span @click="setDemarcate(scope.row, scope.$index)">标定设置</span>
<span @click="setTimer(scope.row, scope.$index)">时间设置</span>
</div>
</template>
</el-table-column>
......@@ -127,6 +128,7 @@ export default {
timer: 0,
timersel: 0,
timerDialog: false,
curindex: 0,
timeroptions: [30, 40, 50, 60, 100],
timerscenes: null,
taskInfo: {
......@@ -148,14 +150,17 @@ export default {
handleparam
},
methods: {
setParam() {
this.$refs.parameter.init(this.taskInfo);
setParam(scenesdata, index) {
this.curindex = index;
this.$refs.parameter.init(scenesdata);
},
setArea(roidata) {
setArea(roidata, index) {
this.curindex = index;
this.$refs.areas.showModal(roidata, this.taskInfo);
},
setDemarcate() {
this.$refs.demarcate.showModal(this.taskInfo);
setDemarcate(scenesdata, index) {
this.curindex = index;
this.$refs.demarcate.showModal(scenesdata);
},
handleparam(type) {
this.$refs.handleparam.show(type);
......@@ -195,14 +200,15 @@ export default {
});
},
showview() {
this.$router.push({
name: "show",
params: {
let routeData = this.$router.resolve({
name: "show",
query: {
taskid: this.taskid,
subtaskid: this.subtaskid,
playurl: this.playurl
}
});
});
window.open(routeData.href, '_blank');
},
submit: function(xml, type) {
let postObj = {
......@@ -212,31 +218,23 @@ export default {
mtask_unid: this.taskInfo.mtasks[0].mtask_unid,
// type: 0,
// priority: 0,
scenes: [
{
scene_unid: this.taskInfo.mtasks[0].scenes[0].scene_unid,
play_urls: {
rtsp: this.vchanUrl
}
// algo_args: {}
}
]
scenes: this.taskInfo.mtasks[0].scenes
}
]
};
if (type == "roi") {
postObj.mtasks[0].scenes[0].rois = [
postObj.mtasks[0].scenes[this.curindex].rois = [
{
roi: xml
}
];
} else if (type == "config") {
postObj.mtasks[0].scenes[0].config = {
postObj.mtasks[0].scenes[this.curindex].config = {
xml: xml
};
} else if (type == "calibration") {
console.log(xml);
postObj.mtasks[0].scenes[0].calibration = {
postObj.mtasks[0].scenes[this.curindex].calibration = {
calibration: xml
};
}
......@@ -254,14 +252,14 @@ export default {
});
switch (type) {
case "roi":
this.taskInfo.mtasks[0].scenes[0].rois = [
this.taskInfo.mtasks[0].scenes[this.curindex].rois = [
{
roi: xml
}
];
break;
case "calibration":
this.taskInfo.mtasks[0].scenes[0].calibration = {
this.taskInfo.mtasks[0].scenes[this.curindex].calibration = {
calibration: xml
};
break;
......
<template>
<div>
<el-dialog
<el-dialog
title="参数设置"
:visible.sync="dialogVisible"
width="50%"
:before-close="handleClose">
:before-close="handleClose"
>
<span>
<iframe
id="iframe"
ref="iframe"
src="./dynamicParameters.html"
frameborder="0"
width="100%"
height="415"
scrolling="no"
></iframe>
<iframe
id="iframe"
ref="iframe"
src="./dynamicParameters.html"
frameborder="0"
width="100%"
height="415"
scrolling="no"
></iframe>
</span>
<span slot="footer" class="dialog-footer">
<el-button @click="handleClose">取 消</el-button>
<el-button type="primary" @click="save">确 定</el-button>
</span>
</el-dialog>
</el-dialog>
</div>
</template>
<script>
export default {
data() {
return {
dialogVisible: false,
XMLStr:'',
basicXml:'',
taskData:""
};
},
return {
dialogVisible: false,
XMLStr: "",
basicXml: "",
taskData: ""
};
},
methods: {
init(data){
this.$store.commit('setocxstate',0)
init(data) {
this.$store.commit("setocxstate", 0);
this.dialogVisible = true;
this.taskData = data;
let that = this;
setTimeout(()=>{
that.xmlInit(data.mtasks[0].scenes[0]);
},800)
setTimeout(() => {
that.xmlInit(data);
}, 800);
},
balltaskinit(data){
this.$store.commit('setocxstate',0)
balltaskinit(data) {
this.$store.commit("setocxstate", 0);
this.dialogVisible = true;
setTimeout(()=>{
setTimeout(() => {
this.xmlInit(data);
},800)
}, 800);
},
xmlInit: function(obj) {
this.XMLStr =
obj.config.xml || '<?xml version="1.0" encoding="GBK"?><root></root>';
console.log("XML:" + this.XMLStr.split("@").length);
if (this.XMLStr.split("@").length > 1) {
this.XMLStr = '<?xml version="1.0" encoding="GBK"?><root></root>';
}
this.basicXml = obj.basicConfig.xml;
this.$refs.iframe.contentWindow.loadParameterTree(
this.basicXml,
this.XMLStr
);
},
xmlInit: function (obj) {
this.XMLStr = obj.config.xml || '<?xml version="1.0" encoding="GBK"?><root></root>'
console.log('XML:'+this.XMLStr.split('@').length)
if (this.XMLStr.split('@').length>1) {
this.XMLStr = '<?xml version="1.0" encoding="GBK"?><root></root>'
}
this.basicXml = obj.basicConfig.xml;
this.$refs.iframe.contentWindow.loadParameterTree(this.basicXml,this.XMLStr);
save: function() {
this.$refs.iframe.contentWindow.submit();
//ifram 传递回来的饿xml
this.XMLStr = this.$refs.iframe.contentWindow.xmlStr;
this.dialogVisible = false;
this.$parent.submit(this.XMLStr, "config");
},
save:function () {
this.$refs.iframe.contentWindow.submit();
//ifram 传递回来的饿xml
this.XMLStr = this.$refs.iframe.contentWindow.xmlStr;
this.dialogVisible = false;
this.$parent.submit(this.XMLStr,'config')
},
handleClose(done) {
this.dialogVisible = false;
this.$store.commit('setocxstate',1)
this.$store.commit("setocxstate", 1);
}
}
}
};
</script>
<style lang="stylus" scoped>
</style>
<style lang="stylus" scoped></style>
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!