From 630b10c9ac839a05df705b8e687602afee3b37a7 Mon Sep 17 00:00:00 2001 From: fanluyan <754122931@qq.com> Date: Wed, 16 Aug 2023 15:15:40 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=A7=84=E7=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/imageCapture.vue | 456 +++++++++++++++++- .../components/parameterSetDialog.vue | 17 +- .../components/videoCapture.vue | 177 ++++++- 3 files changed, 598 insertions(+), 52 deletions(-) diff --git a/src/views/management/monitoringEquipment/photographicDevice/components/imageCapture.vue b/src/views/management/monitoringEquipment/photographicDevice/components/imageCapture.vue index 19db76c..c01181d 100644 --- a/src/views/management/monitoringEquipment/photographicDevice/components/imageCapture.vue +++ b/src/views/management/monitoringEquipment/photographicDevice/components/imageCapture.vue @@ -49,7 +49,7 @@ @@ -82,9 +82,16 @@ class="searchImage" :loading="searchloading" type="primary" - @click="inquirebtn()" + @click="imageSearch()" >查询 + @@ -143,7 +150,7 @@ @@ -171,7 +178,10 @@ > - 确认 --> + 确认 @@ -187,12 +197,13 @@ import { setPhotoParamApi, getPhotoParamnrApi, getResolutionRatio, + setTermCamera, + getTermCameraRequest, } from "@/utils/api/index"; export default { data() { return { loading: false, - isShow: false, searchloading: false, activeName: "1", //选项卡 accesslist: [], //通道选择器 @@ -206,7 +217,250 @@ export default { id: 0, }, ], //色彩选择器 - ratiolist: [], //图像分辨率 + ratiolist: [], + hnratiolist: [ + { + id: 1, + name: "320X240", + }, + { + id: 2, + name: "640X480", + }, + { + id: 3, + name: "704X576", + }, + { + id: 5, + name: "1024X768", + }, + { + id: 6, + name: "1280X1024", + }, + { + id: 7, + name: "1280X720", + }, + { + id: 8, + name: "1920X1080", + }, + { + id: 9, + name: "2560X1440", + }, + { + id: 10, + name: "3840X2160", + }, + { + id: 11, + name: "2560X1920", + }, + { + id: 12, + name: "3200X2400", + }, + { + id: 13, + name: "4000X3000", + }, + { + id: 14, + name: "4160X3120", + }, + { + id: 15, + name: "4608X3456", + }, + ], //湖南图像分辨率 + zzratiolist: [ + { + id: 1, + name: " 320X240", + }, + { + id: 2, + name: " 640X480", + }, + { + id: 3, + name: " 704X576", + }, + { + id: 4, + name: " 800X600", + }, + { + id: 5, + name: " 1024X768", + }, + { + id: 6, + name: " 1280X1024", + }, + { + id: 7, + name: " 1280X720", + }, + { + id: 8, + name: " 1920X1080", + }, + { + id: 9, + name: " 2560X1440", + }, + { + id: 10, + name: " 3840X2160", + }, + ], //郑州图像分辨率 + jsratiolist: [ + { + id: 1, + name: " 320X240", + }, + { + id: 2, + name: " 640X480", + }, + { + id: 3, + name: " 704X576", + }, + { + id: 4, + name: " 720X480 ", + }, + { + id: 5, + name: " 1280X720", + }, + { + id: 6, + name: " 1920X1080 ", + }, + { + id: 7, + name: " 2048X1536", + }, + { + id: 8, + name: " 2592X1520", + }, + { + id: 9, + name: " 2592X1944", + }, + { + id: 10, + name: " 3072X2048", + }, + { + id: 11, + name: " 3840X2160 ", + }, + { + id: 12, + name: " 4000X3000", + }, + { + id: 13, + name: " 4608X3456", + }, + ], //江苏图像分辨率 + ahratiolist: [ + { + id: 1, + name: " 320X240", + }, + { + id: 2, + name: " 640X480", + }, + { + id: 3, + name: " 704X576", + }, + { + id: 4, + name: " 720 X 480", + }, + + { + id: 5, + name: " 1280X720", + }, + { + id: 6, + name: " 1920X1080", + }, + ], //安徽图像分辨率 + zhejiangratiolist: [ + { + id: 1, + name: " 320X240", + }, + { + id: 2, + name: " 640X480", + }, + { + id: 3, + name: " 704X576", + }, + { + id: 4, + name: " 800X600 ", + }, + { + id: 5, + name: " 1024X768", + }, + { + id: 6, + name: " 1280X960 ", + }, + { + id: 7, + name: " 1600X1200", + }, + { + id: 8, + name: " 1920X1080", + }, + { + id: 9, + name: " 2048X1536", + }, + { + id: 10, + name: " 2592X1944", + }, + { + id: 11, + name: " 2816X2112 ", + }, + { + id: 12, + name: " 3072X2304", + }, + { + id: 13, + name: " 3264X2448", + }, + { + id: 14, + name: " 3456X2592", + }, + { + id: 15, + name: " 3672X2754", + }, + ], //浙江 selaccess: "", //选中的通道 capturenr: {}, //查询后的内容 setForm: {}, //设置参数 @@ -229,12 +483,17 @@ export default { seltermid: "", //装置id selcmdId: "", //cmdId requestId: "", + + requestid: "", + timer: null, + i: 0, }; }, mounted() {}, methods: { handleClick(tab, event) { console.log(tab, event); + this.capturenr = {}; }, //获取设备通道 getSingleAccess(val) { @@ -251,15 +510,44 @@ export default { .catch((err) => {}); }, //获取图像分辨率 - getRatio() { + getRatio(val) { this.$set(this.setForm, "color", this.colorlist[0].id); - getResolutionRatio({ type: 0 }) - .then((res) => { - this.ratiolist = res.data.list; - this.$set(this.setForm, "resolution", res.data.list[0].id); - }) - .catch((err) => {}); + console.log(val); + switch (val.protocol) { + //湖南 + case 65283: + this.ratiolist = this.hnratiolist; + break; + //河南 + // case 65285: + // days = "星期二"; + // break; + //郑州 + case 65286: + this.ratiolist = this.zzratiolist; + break; + //江苏 + case 65282: + this.ratiolist = this.jsratiolist; + break; + //安徽 + case 65281: + this.ratiolist = this.ahratiolist; + break; + //浙江 + case 65284: + this.ratiolist = this.zhejiangratiolist; + break; + } + this.$set(this.setForm, "resolution", this.ratiolist[0].id); + // getResolutionRatio({ type: 0 }) + // .then((res) => { + // this.ratiolist = this.hnratiolist; + // this.$set(this.setForm, "resolution", res.data.list[0].id); + // }) + // .catch((err) => {}); }, + //查询触发 inquirebtn() { this.loading = true; @@ -323,7 +611,6 @@ export default { .then((res) => { if (res.code == 200) { this.$message.success("设置成功"); - this.isShow = false; } else { this.$message.error(res.code.msg); } @@ -336,17 +623,140 @@ export default { } }); }, - display() { - this.isShow = true; + //命令调用imageSearch + //--act=imgparams [0xC9] --flag=[Request Set Flag, default is set=1, 0: request] --rf=[Request Flag] --channel=[Channel No] --color=[Color Select: 0, 1] --resolution=[Resolution: 1-15 255] --luminance=[Luminance: 1-100] --contrast=[Contrast: 1-100] --saturation=[Saturation: 1-100] + imageSearch() { + let params = [ + { + name: "act", + value: "imgparams", + }, + { + name: "flag", + value: 0, + }, + { + name: "channel", + value: this.selaccess, + }, + { + name: "color", + value: "", + }, + { + name: "resolution", + value: "", + }, + { + name: "luminance", + value: "", + }, + { + name: "contrast", + value: "", + }, + { + name: "saturation", + value: "", + }, + ]; + this.setTermFn(params); + }, + imageSet(setForm) { + console.log(this.setForm); + + let params = [ + { + name: "act", + value: "imgparams", + }, + { + name: "flag", + value: 1, + }, + { + name: "channel", + value: this.setForm.channelId, + }, + { + name: "color", + value: this.setForm.color, + }, + { + name: "resolution", + value: this.setForm.resolution, + }, + { + name: "luminance", + value: this.setForm.luminance, + }, + { + name: "contrast", + value: this.setForm.contrast, + }, + { + name: "saturation", + value: this.setForm.saturation, + }, + ]; + this.setTermFn(params); }, - hide() { - this.isShow = false; + setTermFn(dataParams) { + setTermCamera({ + termId: this.seltermid, + list: dataParams, + }) + .then((res) => { + console.log(res); + this.requestid = res.data.requestId; + //this.getinfo1(); + + clearInterval(this.timer); + this.timer = window.setInterval(() => { + this.getinfo(); + this.i++; + }, 1000); + // this.timer = setInterval(() => { + // this.getinfo(); + // this.i++; + // }, 1000); + }) + .catch((err) => {}); }, - handleclose() { - this.searchloading = false; - this.i = 0; - clearInterval(this.timer); - this.timer = null; + getinfo() { + getTermCameraRequest({ requestid: this.requestid }) + .then((res) => { + if (res.data.success == 1) { + window.clearInterval(this.timer); + this.timer = null; + this.i = 0; + console.log("终止轮询"); + // && res.data.result == 255 + console.log(JSON.parse(res.data.data)); + this.capturenr = JSON.parse(res.data.data); + this.$message({ + duration: 1500, + showClose: true, + message: "信息已更新", + type: "success", + }); + } else if (this.i > 9) { + window.clearInterval(this.timer); + this.timer = null; + this.i = 0; + this.$message({ + duration: 1500, + showClose: true, + message: "暂未获取到信息,请稍后再试!!", + type: "warning", + }); + } + }) + .catch(); + }, + clearData() { + this.capturenr = {}; + this.setForm = {}; }, }, }; diff --git a/src/views/management/monitoringEquipment/photographicDevice/components/parameterSetDialog.vue b/src/views/management/monitoringEquipment/photographicDevice/components/parameterSetDialog.vue index 31751a8..1d3927a 100644 --- a/src/views/management/monitoringEquipment/photographicDevice/components/parameterSetDialog.vue +++ b/src/views/management/monitoringEquipment/photographicDevice/components/parameterSetDialog.vue @@ -415,16 +415,18 @@ export default { this.timer = null; this.i = 0; console.log(tab, event); + this.$refs.imageCaptureref.clearData(); + this.$refs.videoCaptureref.clearData(); //每次切换重置选项卡 this.tabsActive = "first"; if (tab.label == "图像采集参数") { console.log("图像采集参数"); this.$refs.imageCaptureref.getSingleAccess(this.rowData); - this.$refs.imageCaptureref.getRatio(); + this.$refs.imageCaptureref.getRatio(this.rowData); } else if (tab.label == "视频采集参数") { console.log("视频采集参数"); this.$refs.videoCaptureref.getSingleAccess(this.rowData); - this.$refs.videoCaptureref.getRatio(); + this.$refs.videoCaptureref.getRatio(this.rowData); } }, //装置时间查询 @@ -736,16 +738,7 @@ export default { }) .catch((err) => {}); }, - getinfo1() { - console.log("jinlaile"); - if (this.i > 10) { - console.log(this.i); - // console.log(this.i); - window.clearInterval(this.timer); - this.timer = null; - this.i = 0; - } - }, + getinfo() { getTermCameraRequest({ requestid: this.requestid }) .then((res) => { diff --git a/src/views/management/monitoringEquipment/photographicDevice/components/videoCapture.vue b/src/views/management/monitoringEquipment/photographicDevice/components/videoCapture.vue index 9424bab..161f7f9 100644 --- a/src/views/management/monitoringEquipment/photographicDevice/components/videoCapture.vue +++ b/src/views/management/monitoringEquipment/photographicDevice/components/videoCapture.vue @@ -38,9 +38,11 @@ + > + {{ item.id + " / " + item.name }} +
@@ -61,12 +63,19 @@
- 查询 --> + 查询
@@ -112,7 +121,7 @@ @@ -133,7 +142,10 @@ > - 确认 --> + 确认 @@ -149,6 +161,8 @@ import { setVideoParamApi, getVideoParamnrApi, getResolutionRatio, + setTermCamera, + getTermCameraRequest, } from "@/utils/api/index"; export default { data() { @@ -158,7 +172,29 @@ export default { searchloading: false, activeName: "1", //选项卡 accesslist: [], //通道选择器 - ratiolist: [], //分辨率 + ratiolist: [], + hnratiolist: [ + { + id: 1, + name: "480P", + }, + { + id: 2, + name: "720p", + }, + { + id: 3, + name: "1080P", + }, + { + id: 4, + name: "QVGA", + }, + { + id: 5, + name: "VGA", + }, + ], //分辨率 selaccess: "", //选中的通道 capturenr: {}, //查询后的内容 setForm: { @@ -185,6 +221,7 @@ export default { methods: { handleClick(tab, event) { console.log(tab, event); + this.capturenr = {}; }, //获取设备通道 getSingleAccess(val) { @@ -206,8 +243,8 @@ export default { getRatio() { getResolutionRatio({ type: 1 }) .then((res) => { - this.ratiolist = res.data.list; - this.$set(this.setForm, "videoFormat", res.data.list[0].id); + this.ratiolist = this.hnratiolist; + this.$set(this.setForm, "videoFormat", this.ratiolist[0].id); }) .catch((err) => {}); }, @@ -300,17 +337,123 @@ export default { } }); }, - display() { - this.isShow = true; + //命令调用videoSearch + // --act=videoparams [0xD5] --flag=[Request Set Flag, default is set=1, 0: request] --channel=[Channel No] --preset=[Preset No] format=[Video Format: 1 QVGA 2 VGA 3 480p 4 720P 5 1080P] time=[seconds] + videoSearch() { + let params = [ + { + name: "act", + value: "videoparams", + }, + { + name: "flag", + value: 0, + }, + { + name: "channel", + value: this.selaccess, + }, + { + name: "preset", + value: 255, + }, + { + name: "format", + value: "", + }, + { + name: "time", + value: "", + }, + ]; + this.setTermFn(params); }, - hide() { - this.isShow = false; + videoSet(setForm) { + console.log(this.setForm); + let params = [ + { + name: "act", + value: "videoparams", + }, + { + name: "flag", + value: 1, + }, + { + name: "channel", + value: this.setForm.channelId, + }, + { + name: "preset", + value: 255, + }, + { + name: "format", + value: this.setForm.videoFormat, + }, + { + name: "time", + value: this.setForm.videoTime, + }, + ]; + this.setTermFn(params); + }, + setTermFn(dataParams) { + setTermCamera({ + termId: this.seltermid, + list: dataParams, + }) + .then((res) => { + console.log(res); + this.requestid = res.data.requestId; + //this.getinfo1(); + + clearInterval(this.timer); + this.timer = window.setInterval(() => { + this.getinfo(); + this.i++; + }, 1000); + // this.timer = setInterval(() => { + // this.getinfo(); + // this.i++; + // }, 1000); + }) + .catch((err) => {}); + }, + getinfo() { + getTermCameraRequest({ requestid: this.requestid }) + .then((res) => { + if (res.data.success == 1) { + window.clearInterval(this.timer); + this.timer = null; + this.i = 0; + console.log("终止轮询"); + // && res.data.result == 255 + console.log(JSON.parse(res.data.data)); + this.capturenr = JSON.parse(res.data.data); + this.$message({ + duration: 1500, + showClose: true, + message: "信息已更新", + type: "success", + }); + } else if (this.i > 9) { + window.clearInterval(this.timer); + this.timer = null; + this.i = 0; + this.$message({ + duration: 1500, + showClose: true, + message: "暂未获取到信息,请稍后再试!!", + type: "warning", + }); + } + }) + .catch(); }, - handleclose() { - this.searchloading = false; - this.i = 0; - clearInterval(this.timer); - this.timer = null; + clearData() { + this.capturenr = {}; + this.setForm = {}; }, }, };