| | |
| | | eventAudio: new Audio(), |
| | | soundPath: '', |
| | | form: { |
| | | latitude: 0, |
| | | rtsp: "", |
| | | longitude: 0, |
| | | name: "", |
| | | addr: "", |
| | | alias: "", |
| | | areaid: "", |
| | | brand: "", |
| | | id: "", |
| | | ip: "", |
| | | reserved: "", |
| | | run_type: 0, |
| | | isAI: false, |
| | | username: "", |
| | | password: "", |
| | | cameraType: 0, |
| | | resolution: "", |
| | | voiceId: "", |
| | | voiceEnable: false |
| | | }, |
| | | // 记录添加状态 |
| | | isAdd: false, |
| | |
| | | if (node.type === "4") { |
| | | getCameraInfo(node.id).then(res => { |
| | | if (res.success) { |
| | | console.log(res, '获取摄像机信息') |
| | | // console.log(res, '获取摄像机信息') |
| | | if (res.data.resolutions) { |
| | | let list = res.data.resolutions.map(i => { |
| | | let obj = {} |
| | |
| | | // 保存 |
| | | onSubmit(formName) { |
| | | let list = this.$refs.cameraEditor.getResult() |
| | | console.log(list, "sensor") |
| | | // console.log(list, "sensor") |
| | | // id为空,新增摄像机 |
| | | this.$refs[formName].validate(async valid => { |
| | | if (valid) { |
| | | const isRequire = this.verifyRequrie(); |
| | | if (!isRequire) return false; |
| | | |
| | | this.form.latitude = Number.isNaN(parseFloat(this.form.latitude)) ? 0 : parseFloat(this.form.latitude); |
| | | this.form.longitude = Number.isNaN(parseFloat(this.form.longitude)) ? 0 : parseFloat(this.form.longitude); |
| | | this.form.sensors = list |
| | | this.form.resolution_width = Number(this.form.resolution.split("*")[0]) |
| | | this.form.resolution_height = Number(this.form.resolution.split("*")[1]) |
| | | |
| | | // 更新 |
| | | if (this.form.id !== "") { |
| | | this.form.areaid = this.TreeDataPool.getParent(this.form.id, this.isGb28182); |
| | | this.form.latitude = Number.isNaN(parseFloat(this.form.latitude)) ? 0 : parseFloat(this.form.latitude); |
| | | this.form.longitude = Number.isNaN(parseFloat(this.form.longitude)) ? 0 : parseFloat(this.form.longitude); |
| | | this.form.sensors = list |
| | | this.form.resolution_width = Number(this.form.resolution.split("*")[0]) |
| | | this.form.resolution_height = Number(this.form.resolution.split("*")[1]) |
| | | updateCameraInfo(this.form).then(rsp => { |
| | | if (rsp.success) { |
| | | this.$notify({ |
| | |
| | | }); |
| | | } else { |
| | | this.form.areaid = this.addParentId; |
| | | this.form.sensors = list |
| | | const { ...json } = this.form; |
| | | createCamera({ |
| | | latitude: parseFloat(json.latitude), |
| | | rtsp: this.form.rtsp, |
| | | longitude: parseFloat(json.longitude), |
| | | name: this.form.name, |
| | | addr: this.form.addr, |
| | | areaid: this.form.areaid, |
| | | brand: this.form.brand, |
| | | id: this.form.id, |
| | | ip: this.form.ip, |
| | | port: parseFloat(json.port), |
| | | reserved: this.form.reserved, |
| | | run_type: this.form.isAI ? this.form.run_type : -1, |
| | | username: this.form.username, |
| | | password: this.form.password, |
| | | areaId: this.form.areaId, |
| | | sensors: this.form.sensors |
| | | }).then(rsp => { |
| | | createCamera(this.form).then(rsp => { |
| | | if (rsp.success) { |
| | | this.$notify({ |
| | | type: "success", |
| | |
| | | id: "", |
| | | ip: "", |
| | | reserved: "", |
| | | run_type: 0, |
| | | run_type: -1, |
| | | isAI: false, |
| | | username: "", |
| | | password: "", |
| | |
| | | this.isAdd = true; |
| | | this.addParentId = node; |
| | | this.initFormData(); |
| | | }, |
| | | //实时、轮询切换 |
| | | changePoll(row) { |
| | | // console.log(row,'实时、轮询切换',this.form,this.PollData.RealTimeSum) |
| | | //判断是新增还是更新 |
| | | if (this.form.id && this.form.id !== undefined) { |
| | | if (this.PollData.RealTimeSum < 16) { |
| | | if (row.value) { |
| | | this.form.run_type = 1 |
| | | } else { |
| | | this.form.run_type = 0 |
| | | } |
| | | changeRunType({ camera_ids: [this.form.id], run_type: this.form.run_type }).then( |
| | | rsp => { |
| | | if (rsp && rsp.success) { |
| | | this.$notify({ |
| | | type: "success", |
| | | message: "配置成功" |
| | | }); |
| | | } else { |
| | | this.$notify({ |
| | | type: "error", |
| | | message: "配置失败" |
| | | }); |
| | | } |
| | | } |
| | | ); |
| | | } else { |
| | | if (this.form.run_type === 1) { |
| | | this.form.run_type = 0 |
| | | changeRunType({ camera_ids: [this.form.id], run_type: this.form.run_type }).then( |
| | | rsp => { |
| | | if (rsp && rsp.success) { |
| | | this.$notify({ |
| | | type: "success", |
| | | message: "配置成功" |
| | | }); |
| | | } else { |
| | | this.$notify({ |
| | | type: "error", |
| | | message: "配置失败" |
| | | }); |
| | | } |
| | | } |
| | | ); |
| | | } |
| | | this.$nextTick(() => { |
| | | this.$set(this.form, 'run_type', 0) |
| | | }) |
| | | // this.$notify({ |
| | | // type: 'warning', |
| | | // message: '实时处理路数已达最大处理路数!' |
| | | // }) |
| | | } |
| | | this.TreeDataPool.fetchTreeData(); |
| | | this.PollData.statisticTaskInfo(); |
| | | } |
| | | }, |
| | | //是否进行视频分析处理 |
| | | pollEnable(row) { |
| | | // console.log(row,'实时、轮询切换') |
| | | if (row) { |
| | | if (this.PollData.RealTimeSum < 16) { |
| | | this.form.run_type = 1 |
| | | } else { |
| | | this.form.run_type = 0 |
| | | } |
| | | } else { |
| | | this.form.run_type = -1 |
| | | } |
| | | if (this.form.id && this.form.id !== undefined) { |
| | | changeRunType({ camera_ids: [this.form.id], run_type: this.form.run_type }).then( |
| | | rsp => { |
| | | if (rsp && rsp.success) { |
| | | this.$notify({ |
| | | type: "success", |
| | | message: "配置成功" |
| | | }); |
| | | } else { |
| | | this.$notify({ |
| | | type: "error", |
| | | message: "配置失败" |
| | | }); |
| | | } |
| | | this.selectCamera(this.TreeDataPool.selectedNode) |
| | | } |
| | | ); |
| | | } |
| | | this.TreeDataPool.fetchTreeData(); |
| | | this.PollData.statisticTaskInfo(); |
| | | } |
| | | } |
| | | }; |