From f20a554bdb24e9dfde9dc6a69d78595944f61d15 Mon Sep 17 00:00:00 2001 From: mark <mark18340872469@163.com> Date: 星期二, 25 十月 2022 14:53:57 +0800 Subject: [PATCH] 设备管理 样式调整 --- src/views/hashrate/CameraManage/CameraRules/components/SdkSettingBox.vue | 261 +++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 226 insertions(+), 35 deletions(-) diff --git a/src/views/hashrate/CameraManage/CameraRules/components/SdkSettingBox.vue b/src/views/hashrate/CameraManage/CameraRules/components/SdkSettingBox.vue index a5ec2ac..e984e29 100644 --- a/src/views/hashrate/CameraManage/CameraRules/components/SdkSettingBox.vue +++ b/src/views/hashrate/CameraManage/CameraRules/components/SdkSettingBox.vue @@ -61,14 +61,14 @@ <el-input class="range-min" v-model="arg.min" - @input="forceUpdate" + @input="rangeInput(arg)" @blur="validateArgVal(arg, $event)" ></el-input> <span class="devide"></span> <el-input class="range-max" v-model="arg.max" - @input="forceUpdate" + @input="rangeInput(arg)" @blur="validateArgVal(arg, $event)" ></el-input> <span class="font">{{ arg.unit }}</span> @@ -206,7 +206,9 @@ <div class="btns"> <div class="cancelBtn button" @click="close">鍙栨秷</div> - <div class="confirmBtn button" @click="save">娣诲姞</div> + <div class="confirmBtn button" @click="save"> + {{ editSdk ? "淇濆瓨" : "娣诲姞" }} + </div> </div> </div> </template> @@ -224,14 +226,18 @@ type: Boolean, default: false, }, - isLinkRule: { - type: Boolean, - default: false, + + editSdk: {}, + + linkEditCamera: {}, + }, + computed: { + isLinkRule() { + return this.Cameras.length > 1; }, }, created() { this.initOption(); - this.initPolygon(); }, data() { return { @@ -251,6 +257,10 @@ }; }, methods: { + rangeInput(arg) { + arg.sdk_arg_value = arg.min + "|" + arg.max; + this.$forceUpdate(); + }, selectPolygonOption(rule) { rule.polygon_id = rule.polygonObj.polygonId ? rule.polygonObj.polygonId @@ -258,14 +268,36 @@ rule.camera_id = rule.polygonObj.cameraId ? rule.polygonObj.cameraId : rule.camera_id; - rule.group_id = this.group_id; }, close() { this.$emit("close"); }, initOption() { - let sdkItem = this.$store.state.newSdk; - sdkItem.argDef = JSON.parse(sdkItem.argDef); + this.initPolygon(); + let sdkItem = null; + if (this.editSdk) { + this.TaskMange.list1.forEach((item) => { + if (item.id === this.editSdk.sdk_id) { + sdkItem = item; + } + }); + + if (typeof sdkItem.argDef === "string") { + sdkItem.argDef = JSON.parse(sdkItem.argDef); + } + + this.sdkItem = sdkItem; + this.sdkItem.sdk_set = JSON.parse(JSON.stringify(this.editSdk.sdk_set)); + this.sdkItem.polygon_id = this.editSdk.polygon_id; + + this.editRule(); + return; + } else { + sdkItem = this.$store.state.newSdk; + } + if (typeof sdkItem.argDef === "string") { + sdkItem.argDef = JSON.parse(sdkItem.argDef); + } //鍙栧嚭榛樿鍙傛暟 sdkItem.defaultArg = sdkItem.argDef.filter( (arg) => !arg.config.isOptional @@ -304,29 +336,170 @@ this.sdkItem = sdkItem; }, initPolygon() { - let polygon = []; - let cameras = [...this.Cameras]; - - for (let i = 0; i < cameras.length; i++) { - let polyOpt = cameras[i].polygonData.map((p) => { - return { - defence_state: p.defence_state, - polygonId: p.id, - name: this.isLinkRule - ? cameras[i].cameraName + ":" + p.name - : p.name, - - cameraId: cameras[i].cameraId, - }; + let cameras = []; + if (this.linkEditCamera) { + this.allPolygonData = []; + cameras = this.linkEditCamera; + this.linkEditCamera.forEach((camera) => { + camera.polygon.forEach((polygon) => { + this.allPolygonData.push({ + defence_state: polygon.defenceState, + polygonId: polygon.id, + name: camera.camera_name + ":" + polygon.name, + cameraId: camera.camera_id, + }); + }); }); - polygon = polygon.concat(polyOpt); + } else { + cameras = [...this.Cameras]; + for (let i = 0; i < cameras.length; i++) { + let polyOpt = cameras[i].polygonData.map((p) => { + return { + defence_state: p.defence_state, + polygonId: p.id, + name: + this.isLinkRule || this.linkEditCamera + ? cameras[i].cameraName + ":" + p.name + : p.name, - this.allPolygonData = polygon; + cameraId: cameras[i].cameraId, + }; + }); + this.allPolygonData = this.allPolygonData.concat(polyOpt); + } } + + this.$forceUpdate(); + }, + + editRule() { + let tempObj = {}; + + // 濉厖鍖哄煙閫夐」鍒楄〃 + this.allPolygonData.forEach((p) => { + if (p.polygonId === this.sdkItem.polygon_id) { + this.sdkItem.polygonObj = p; + } + }); + + if (!this.sdkItem.polygonObj) { + this.sdkItem.polygonObj = { + cameraId: this.sdkItem.camera_id, + defence_state: 1, + name: "鏈煡鍖哄煙", + polygonId: this.sdkItem.polygon_id, + }; + } + + // 璁剧疆鍖哄煙 + this.selectPolygonOption(this.sdkItem); + + //绠楁硶瀵硅薄,绠楁硶鍙傛暟閰嶇疆鏁扮粍,(鐢ㄤ簬鏁版嵁澶勭悊鐨�)榛樿鍙傛暟鏁扮粍, 鍙�夊弬鏁版暟缁�, 宸查厤缃殑鍙�夊弬鏁版暟缁�, (鐢ㄤ簬鍘婚噸鍒ゆ柇)瀛樻斁鍙�夊弬鏁板悕鐨勬暟缁� + let argDef = [], + defaultArg = [], + optionalArg = [], + optArg = [], + optNames = []; + + argDef = this.sdkItem.argDef; + + defaultArg = argDef.filter((arg) => !arg.config.isOptional); + optionalArg = argDef.filter((arg) => arg.config.isOptional); + + this.sdkItem.sdk_set.forEach((arg) => { + let optItem = optionalArg.find((oarg) => { + if (oarg.sort == arg.sort) { + return oarg; + } + }); + if (optItem) { + //if (optItem.operators.length > 1) { + optItem.operator = arg.operator; + //this.selOperator(optItem) + //} + + //璧嬪�� + optItem.sdk_arg_value = arg.sdk_arg_value; + //if(arg.sdk_arg_value.indexOf(',')>0){ + //鍒ゆ柇鏄惁鏄閫夊�肩被鍨嬬殑鍙傛暟 + let isMultiOne = optionalArg.find( + (oarg) => oarg.sort == optItem.sort && optItem.config.isMulti + ); + if (isMultiOne) { + optItem.sdk_arg_value = arg.sdk_arg_value.split(","); + } + + if (optItem.type == "option") { + this.setOptArgValueOptions(optItem); + } + if (optItem.alias == "bForceSend") { + } + //鍦╬ush涔嬪墠,闇�瑕佸垽鏂槸鍚﹂厤缃簡杩欎釜鍙�夐」 鍦╯dk_set閰嶇疆鏁扮粍閲�, + + optArg.push(optItem); + } else { + defaultArg.forEach((d) => { + if (d.sort == arg.sort) { + if (arg.sdk_arg_value.indexOf("|") > 0) { + //鍖洪棿鍊� + d.min = arg.sdk_arg_value.split("|")[0]; + d.max = arg.sdk_arg_value.split("|")[1]; + d.operator = "range"; + //} else if(arg.sdk_arg_value.indexOf(',') > 0){ + } else if (arg.operator_type == "option") { + //澶氶�夌被鍨嬬殑鍊� + d.sdk_arg_value = arg.sdk_arg_value.split(","); + this.setOptArgValueOptions(d); + } else { + d.sdk_arg_value = arg.sdk_arg_value; + } + d.operator = arg.operator; + } + }); + } + }); + optNames = optionalArg.map((arg) => ({ + name: arg.name, + sort: arg.sort, + isSelected: false, + })); + + tempObj = { + polygonObj: this.sdkItem.polygonObj, + rule_with_pre: this.sdkItem.rule_with_pre, + is_save_anyhow: this.sdkItem.is_save_anyhow, + isSpread: true, + argDef, + initAddOptional: false, + optionalArg, + optArg, + defaultArg, + optNames, + isAddable: true, + camera_id: this.sdkItem.camera_id, + polygon_id: this.sdkItem.polygon_id, + sdk_id: this.editSdk.sdk_id, + rule_with_pre: this.editSdk.rule_with_pre, + is_save_anyhow: this.editSdk.is_save_anyhow, + icon_blob: this.editSdk.icon_blob, + }; + //鍥炴樉鏄惁鏄剧ず娣诲姞鍙�夊弬鏁� + tempObj.initAddOptional = + tempObj.optArg.length == 0 && tempObj.optionalArg.length > 0 + ? true + : false; + //鍥炴樉鏄惁鏄剧ず鍙�夊弬鏁版坊鍔犳寜閽� + if (tempObj.optArg.length < tempObj.optionalArg.length) { + tempObj.isAddable = true; + } else { + tempObj.isAddable = false; + } + + this.sdkItem = tempObj; + this.$forceUpdate(); }, validateArgVal(sdkArgItem, e) { - console.log(sdkArgItem); if ( typeof sdkArgItem.sdk_arg_value == "string" && sdkArgItem.sdk_arg_value == "" @@ -560,6 +733,8 @@ setOptArgValueOptions(optArg) { let alias = optArg.alias; + console.log(121212); + console.log(alias); optArg.valueOptions = this.VideoManageData.Dictionary[alias].map((r) => { return { name: r.name, @@ -645,9 +820,8 @@ console.log(this.sdkItem); let tempObj = { - sdk_id: this.sdkItem.id, + sdk_id: this.editSdk ? this.sdkItem.sdk_id : this.sdkItem.id, camera_id: this.sdkItem.camera_id, - group_id: "", is_save_anyhow: this.sdkItem.is_save_anyhow, polygon_id: this.sdkItem.polygon_id, rule_with_pre: this.sdkItem.rule_with_pre, @@ -720,6 +894,11 @@ } }); let optArgDesc = " "; + + //鏂板 + + //鏂板 + this.sdkItem.optArg.forEach((arg) => { let val = ""; let valRange = ""; @@ -761,9 +940,21 @@ optArgDesc.substring(optArgDesc.length - 1, optArgDesc.length); optArgDesc += ")"; tempObj.sdk_set = defaultArgs.concat(optArgs); - tempObj.icon_blob = this.$store.state.newSdk.iconBlob; + tempObj.ruleDes = defaultArgDesc + optArgDesc; + console.log(tempObj.ruleDes); - this.$emit("getNewSdk", tempObj); + if (this.editSdk) { + tempObj.icon_blob = this.editSdk.icon_blob; + tempObj.group_id = this.editSdk.group_id; + tempObj.sort = this.editSdk.sort; + tempObj.id = this.editSdk.id; + tempObj.icon_blob = this.editSdk.icon_blob; + tempObj.icon_blob2 = this.editSdk.icon_blob2; + this.$emit("getEditSdk", tempObj); + } else { + tempObj.icon_blob = this.$store.state.newSdk.iconBlob; + this.$emit("getNewSdk", tempObj); + } }, }, watch: { @@ -902,17 +1093,17 @@ } .el-input ::v-deep { - width: 50px; + width: 100px; height: 32px; input { - width: 50px; + width: 100px; height: 32px; } } .el-select { - width: 68px; + width: 100px; } .font { @@ -939,7 +1130,7 @@ .btns { position: absolute; display: flex; - justify-content: end; + justify-content: flex-end; align-items: center; left: 0; right: 0; -- Gitblit v1.8.0