From 1e4a3f702623a46bcd53dbc96e235d51e0edb155 Mon Sep 17 00:00:00 2001
From: zhangzengfei <zhangzengfei@smartai.com>
Date: 星期五, 05 八月 2022 04:13:02 +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