From 81c9b1f75b80fade52653243b914ccb2677b4a8f Mon Sep 17 00:00:00 2001
From: ZZJ <zzjdsg2300@163.com>
Date: 星期二, 22 三月 2022 18:34:17 +0800
Subject: [PATCH] 禅道bug修复
---
src/pages/cameraAccess/components/scene/Editor.vue | 271 +++++++++++++++++++++++++++++++++---------------------
1 files changed, 165 insertions(+), 106 deletions(-)
diff --git a/src/pages/cameraAccess/components/scene/Editor.vue b/src/pages/cameraAccess/components/scene/Editor.vue
index 0278baa..ae96008 100644
--- a/src/pages/cameraAccess/components/scene/Editor.vue
+++ b/src/pages/cameraAccess/components/scene/Editor.vue
@@ -32,12 +32,19 @@
placeholder="閫夊叧绯�"
@change="selConnection(sdkItem)"
>
- <el-option value="&&" title="and/涓�" label="and/涓�"></el-option>
+ <el-option
+ :value="item.value"
+ :title="item.name"
+ :label="item.name"
+ v-for="item in sdkConnects"
+ :key="item.id"
+ ></el-option>
+ <!-- <el-option value="&&" title="and/涓�" label="and/涓�"></el-option>
<el-option value="||" title="or/鎴�" label="or/鎴�"></el-option>
- <el-option value="=>" title="鈥�>/瑙﹀彂" label="鈥�>/瑙﹀彂"></el-option>
+ <el-option value="=>" title="鈥�>/瑙﹀彂" label="鈥�>/瑙﹀彂"></el-option>-->
</el-select>
<el-checkbox
- v-show="sdkItem.rule_with_pre == '=>'"
+ v-show="sdkItem.rule_with_pre == '=>' || sdkItem.rule_with_pre == '!=>'"
v-model="sdkItem.is_save_anyhow"
style="margin-left:30px"
>淇濆瓨杩囩▼鏁版嵁</el-checkbox>
@@ -99,7 +106,7 @@
<div class="argums derive-line" v-show="sdkItem.isSpread">
<div v-for="(arg, index) in sdkItem.defaultArg" :key="arg.sort">
- <div class="argums-item" v-if="arg.config.isShow">
+ <div class="argums-item" v-show="arg.config.isShow">
<div class="arg-name">
<!-- <el-input
v-model="arg.name"
@@ -148,9 +155,22 @@
<span>{{ arg.unit }}</span>
</div>
<div v-else>
- <el-select v-if="arg.type == 'option'" v-model="arg.sdk_arg_value">
- <el-option>璇烽�夋嫨</el-option>
+ <el-select
+ v-if="arg.type == 'option'"
+ v-model="arg.sdk_arg_value"
+ :multiple="arg.config.isMulti"
+ collapse-tags
+ size="mini"
+ >
+ <el-option
+ v-for="one in arg.valueOptions"
+ :key="one.value"
+ :value="one.value"
+ :label="one.name"
+ :title="one.name"
+ ></el-option>
</el-select>
+
<el-input
v-if="arg.type == 'value'"
v-model="arg.sdk_arg_value"
@@ -213,6 +233,7 @@
></el-input>-->
<el-select
+ :disabled="optArgItem.operators.length==1"
v-model="optArgItem.operator"
size="mini"
@change="selOperator(optArgItem)"
@@ -338,7 +359,6 @@
watch: {
Cameras: {
handler(n, o) {
- debugger
let polygon = []
let cameras = [...n]
@@ -358,7 +378,6 @@
this.allPolygonData = polygon
//娣诲姞鍦烘櫙鍒濆鍖栧尯鍩熼�夐」涓�'鍏ㄩ儴鍖哄煙'
- debugger
// if (polygon.length > 0 && this.ruleList == '') {
// this.polygonObj = polygon[0]
// this.sdkGroup[0].polygonObj = JSON.parse(
@@ -374,22 +393,14 @@
sdkGroup: {
handler(newV, oldV) {
if (newV) {
- debugger
+
newV.forEach(sdk => {
let rangeOne = sdk.defaultArg.find(
arg => arg.operators[0].operator == 'range'
)
if (rangeOne) {
- debugger
if (rangeOne.min.trim() && rangeOne.max.trim()) {
- // if (Number(rangeOne.min) >= Number(rangeOne.max)) {
- // this.$notify({
- // type: 'error',
- // message: '鍖洪棿宸︿晶涓嶈兘澶т簬鎴栫瓑浜庡尯闂村彸渚х殑鍊�'
- // })
- // rangeOne.valid = false
- // }
- rangeOne.sdk_arg_value = rangeOne.min + ',' + rangeOne.max
+ rangeOne.sdk_arg_value = rangeOne.min + '|' + rangeOne.max
} else {
rangeOne.sdk_arg_value = false;
}
@@ -414,30 +425,16 @@
},
deep: true
}
- // ruleList: {
- // handler(newVal, oldVal) {
- // debugger
- // this.editHandle(newVal)
- // }
- // }
},
mounted() {
- this.TaskMange.findAllSdk({installed:true})
- //this.TaskMange.list1 = sdkJson.data;
+ this.TaskMange.findAllSdk({ installed: true })
//this.editHandle(this.ruleList)
},
data() {
return {
- // rule: {
- // sdk_id:'',
- // sdkObj: {},
- // polygonObj: {},
- // argDef: []
- // },
hideDel: true,
- //isAddable: true,
allPolygonData: [],
group_id: '',
baseSdkItem: {
@@ -518,8 +515,17 @@
}
},
methods: {
+ getSdkConnection() {
+ this.sdkConnects = this.VideoManageData.Dictionary['RULECOMPUTEBETWEEN'].map(r => {
+
+ return {
+ name: r.name,
+ value: r.value
+ }
+ });
+ },
selConnection(sdkItem) {
- debugger
+
},
addSdkItem() {
@@ -528,9 +534,9 @@
itemTemp.polygonObj = JSON.parse(JSON.stringify(this.allPolygonData[0]))
this.selectPolygonOption(itemTemp)
this.sdkGroup.push(itemTemp)
+
},
delConfigItem(index) {
- debugger
// if(index != 0){
// this.sdkGroup.splice(index,1);
// }else{
@@ -545,10 +551,10 @@
this.selectPolygonOption(itemTemp)
this.sdkGroup.splice(index, 1, itemTemp)
} else {
- if(this.sdkGroup[index+1] && this.sdkGroup[index+1].rule_with_pre){
- this.sdkGroup[index+1].rule_with_pre = '';
+ if (this.sdkGroup[index + 1] && this.sdkGroup[index + 1].rule_with_pre) {
+ this.sdkGroup[index + 1].rule_with_pre = '';
}
-
+
this.sdkGroup.splice(index, 1);
}
},
@@ -560,7 +566,6 @@
this.sdkGroup[index].isSpread = !this.sdkGroup[index].isSpread
},
addOptionalArg(sdkItem) {
- debugger
sdkItem.initAddOptional = false
sdkItem.optArg.forEach(arg => {
sdkItem.optNames.forEach(name => {
@@ -591,6 +596,10 @@
this.setOptArgValueOptions(copyArgTemp)
}
+ //榛樿閫変腑绗竴涓猳perator
+ //if (copyArgTemp.operators.length == 1) {
+ this.$set(copyArgTemp, 'operator', copyArgTemp.operators[0].operator)
+ //}
if (copyArgTemp.default_value) {
this.$set(copyArgTemp, 'sdk_arg_value', copyArgTemp.default_value)
@@ -618,7 +627,7 @@
}
},
selOptionalArg(sdkItem, optArgItem) {
- debugger
+
let newSort = 0
sdkItem.optNames.forEach(name => {
if (name.name == optArgItem.name) {
@@ -635,7 +644,10 @@
if (argObj.type == 'option') {
this.setOptArgValueOptions(argObj);
}
- debugger
+ //榛樿閫変腑绗竴涓猳perator
+ //if (argObj.operators.length == 1) {
+ this.$set(argObj, 'operator', argObj.operators[0].operator)
+ //}
//鏇挎崲鏂扮殑鍙傛暟閰嶇疆瀵硅薄
sdkItem.optArg.forEach((arg, index) => {
if (arg.sort == optArgItem.sort) {
@@ -643,11 +655,10 @@
}
})
- console.log(argObj.valueOptions)
},
setOptArgValueOptions(optArg) {
+
let alias = optArg.alias;
- console.log(this.VideoManageData.Dictionary[alias])
optArg.valueOptions = this.VideoManageData.Dictionary[alias].map(r => {
return {
name: r.name,
@@ -656,7 +667,7 @@
});
},
validateArgVal(sdkArgItem, e) {
- debugger
+
if (typeof (sdkArgItem.sdk_arg_value) == 'string' && sdkArgItem.sdk_arg_value == '') {
this.$notify({
type: 'warning',
@@ -676,7 +687,7 @@
let res = sdkArgItem.range.match(reg)
let min = Number(res[1]),
max = Number(res[2])
- debugger
+
//鍒ゆ柇闈炲尯闂寸被
if (sdkArgItem.sdk_arg_value && sdkArgItem.operator != 'range') {
@@ -810,7 +821,7 @@
this.valideArgValue(rule)
},
selectPolygonOption(rule) {
- debugger
+
rule.polygon_id = rule.polygonObj.polygonId
? rule.polygonObj.polygonId
: rule.polygon_id
@@ -821,11 +832,10 @@
},
//閫夋嫨绠楁硶 resetArgs涓簍rue鏄坊鍔犱负false鏄垵濮嬪寲缂栬緫
selectSDKOption(sdkItem, resetArgs) {
- debugger
+
//sdkItem.sdk_id = sdkItem.sdkObj.id;
if (resetArgs) {
sdkItem.argDef = JSON.parse(sdkItem.sdkObj.argDef)
- console.log(sdkItem.argDef)
//鍙栧嚭榛樿鍙傛暟
sdkItem.defaultArg = sdkItem.argDef.filter(
arg => !arg.config.isOptional
@@ -837,12 +847,15 @@
if (arg.operators[0].operator == 'range') {
//鍖洪棿鍊肩殑澶勭悊
- debugger
+
//this.$set(arg, 'sdk_arg_value', arg.min+','+arg.max)
//this.$set(arg, 'sdk_arg_value', arg.range.substring(1,arg.range.length-1));
}
}
+ if (arg.type == 'option') {
+ this.setOptArgValueOptions(arg)
+ }
if (arg.default_value) {
//arg.sdk_arg_value = arg.default_value
this.$set(arg, 'sdk_arg_value', arg.default_value)
@@ -858,14 +871,14 @@
sort: arg.sort,
isSelected: false
}))
- debugger
+
sdkItem.initAddOptional = sdkItem.optionalArg.length > 0 ? true : false
sdkItem.optArg = []
}
//娣诲姞鍦烘櫙鏃�,濡傛灉鍦烘櫙鍚嶇О涓虹┖,灏卞皢閫夋嫨鐨勭涓�涓畻娉曞悕鍚屾鍒板満鏅悕绉�
if (this.sdkGroup[0] && resetArgs) {
- debugger
+
this.$emit('sdkNameChange', this.sdkGroup[0].sdkObj.sdk_name)
}
@@ -897,7 +910,7 @@
},
//閫夋嫨绠楁硶閰嶇疆
selOperator(rule) {
- debugger
+
},
selectArgsOption(rule, resetArgValue) {
// rule.operator_type = "";
@@ -1087,14 +1100,12 @@
this.groupRules.splice(index + 1, 0, newRule)
},
editHandle(ruleTxt) {
- debugger
+ this.getSdkConnection();
// if (ruleTxt.length < 1) {
// return
// }
let ruleInfo = JSON.parse(ruleTxt);
- debugger;
- //let ruleInfo = JSON.parse(ruleTxt)
this.editRule(ruleInfo)
// 濡傛灉鏄仈鍔ㄤ换鍔�, 鏌ヨ鑱斿姩鎽勫儚鏈哄垪琛�, 灏嗘爲閫変腑鐨勫垪琛ㄦ洿鏀逛负璇ユ潯瑙勫垯鎵�闇�瑕佺殑鎽勫儚鏈�, 骞跺浠藉綋鍓嶇殑閫変腑鐘舵��, 瑙勫垯淇濆瓨鍚庢仮澶�
// if (this.isLinkRule) {
@@ -1114,27 +1125,12 @@
// }
},
editRule(ruleGroup) {
- debugger
+
this.sdkGroup = []
this.group_id = ''
- // this.sdkGroup = ruleGroup;
- // sdkGroup: [
- // {
- // sdkObj: {},
- // polygonObj: {},
- // is_save_anyhow: true,
- // isSpread: true,
- // argDef: [],
- // initAddOptional: false,
- // defaultArg: [],
- // optionalArg: [],
- // optArg: [],
- // optNames: []
- // }
- // ],
ruleGroup.forEach(rule => {
- debugger
+
let tempObj = {}
if (rule.group_id && rule.group_id != '') {
@@ -1170,8 +1166,9 @@
optNames = []
sdkObj = this.TaskMange.list1.find(sdk => sdk.id == rule.sdk_id)
-
+
argDef = JSON.parse(sdkObj.argDef)
+
defaultArg = argDef.filter(arg => !arg.config.isOptional)
optionalArg = argDef.filter(arg => arg.config.isOptional)
@@ -1182,10 +1179,10 @@
}
})
if (optItem) {
- if (optItem.operators.length > 1) {
- optItem.operator = arg.operator
- //this.selOperator(optItem)
- }
+ //if (optItem.operators.length > 1) {
+ optItem.operator = arg.operator
+ //this.selOperator(optItem)
+ //}
//璧嬪��
optItem.sdk_arg_value = arg.sdk_arg_value
@@ -1199,15 +1196,28 @@
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) {
+
+ if (arg.sdk_arg_value.indexOf('|') > 0) {
//鍖洪棿鍊�
- d.min = arg.sdk_arg_value.split(',')[0];
- d.max = arg.sdk_arg_value.split(',')[1];
+ 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
}
@@ -1243,7 +1253,6 @@
tempObj.optArg.length == 0 && tempObj.optionalArg.length > 0
? true
: false;
- debugger
//鍥炴樉鏄惁鏄剧ず鍙�夊弬鏁版坊鍔犳寜閽�
if (tempObj.optArg.length < tempObj.optionalArg.length) {
tempObj.isAddable = true;
@@ -1251,7 +1260,7 @@
tempObj.isAddable = false;
}
//this.selectSDKOption(tempObj, false)
- debugger
+
this.sdkGroup.push(tempObj)
//璁剧疆绠楁硶
})
@@ -1282,7 +1291,7 @@
.catch(() => { })
},
submitRule() {
- debugger
+
let groupRule = { rules: [] }
let group_text = ''
@@ -1303,17 +1312,38 @@
} else {
//鏍¢獙蹇呭~椤�
let undefinished = this.sdkGroup.some((sdk, index) => {
- debugger
+
//娌℃湁閰嶇疆绠楁硶
if (Object.keys(sdk.sdkObj).length == 0) {
return sdk
}
+ //澶嶅埗绠楁硶鏃舵娴嬪尯鍩熶笉鑳戒负绌�
+ if (!sdk.polygon_id) {
+ return sdk
+ }
+
//澶氫簬涓ら」绠楁硶鏃�,绠楁硶鍏崇郴涓嶈兘涓虹┖
if (sdk.rule_with_pre === '' && index != 0) {
return sdk
}
+
+ //澶勭悊鏈睍绀虹殑鍙傛暟鐨勫��
+ sdk.defaultArg.forEach(arg => {
+ if (!arg.config.isShow) {
+ arg.sdk_arg_value = arg.default_value
+ }
+ })
//琛ㄥ崟鎻愪氦鍓嶆牎楠�:鎵�鏈夌畻娉曠殑鍙傛暟鍊间笉鑳戒负绌�,(鏈塺ange鐨�,瑕佸湪range鑼冨洿鍐�)澶辩劍鏃舵牎楠�
- let defaultArgFlag = sdk.defaultArg.find(arg => !arg.sdk_arg_value)
+ let defaultArgFlag = sdk.defaultArg.find(arg => {
+
+ if (arg.sdk_arg_value instanceof Array) {
+ if (arg.sdk_arg_value.length == 0) {
+ return arg
+ }
+ } else if (!arg.sdk_arg_value) {
+ return arg
+ }
+ });
if (defaultArgFlag) {
return sdk
}
@@ -1326,7 +1356,7 @@
} else {
//鍖洪棿绫诲弬鏁板�兼渶灏�,鏈�澶у�兼槸鍚﹂兘璁剧疆
if (arg.operator == 'range') {
- debugger
+
if (!arg.min.trim() && arg.max.trim()) {
return arg
}
@@ -1350,15 +1380,15 @@
return false
}
//鏍¢獙鍖洪棿宸︿晶鍊兼槸鍚﹀皬浜庡彸渚у��
- let illegalRange = this.sdkGroup.some((sdk,index)=>{
- let rangeArg = sdk.defaultArg.find(arg=>arg.operator=='range');
- if(rangeArg){
+ let illegalRange = this.sdkGroup.some((sdk, index) => {
+ let rangeArg = sdk.defaultArg.find(arg => arg.operator == 'range');
+ if (rangeArg) {
if (Number(rangeArg.max) <= Number(rangeArg.min)) {
return sdk
}
}
});
- if(illegalRange){
+ if (illegalRange) {
this.$notify({
type: 'error',
message: '鍖洪棿宸︿晶涓嶈兘澶т簬鎴栫瓑浜庡尯闂村彸渚х殑鍊�'
@@ -1367,9 +1397,9 @@
}
//鏍¢獙鑻ョ畻娉曞叧绯讳负瑙﹀彂,鍒欑畻娉曞悕涓嶈兘閲�
let sameSdk = this.sdkGroup.some((sdk, index) => {
- debugger
- if (sdk.index != 0 && sdk.rule_with_pre == '=>') {
- debugger
+
+ if (sdk.index != 0 && (sdk.rule_with_pre == '=>' || sdk.rule_with_pre == '!=>')) {
+
if (sdk.sdkObj.id == this.sdkGroup[index - 1].sdkObj.id) {
return sdk
}
@@ -1409,20 +1439,44 @@
let defaultArgDesc = '( '
sdk.defaultArg.forEach(arg => {
+ //涓嶆樉绀洪殣钘忕殑鍙傛暟閰嶇疆
+ if (!arg.config.isShow) {
+ return
+ }
+ let val = '';
+ //澶勭悊涓嬫媺閫夊�肩被鍨�
+ if (arg.type == 'option') {
+ if (arg.sdk_arg_value instanceof Array) {
+ //澶氶�夊��
+ let multiNames = '';
+ arg.sdk_arg_value.forEach(val => {
+ let opV = arg.valueOptions.find(opt => opt.value == val);
+ multiNames += opV.name + ' ';
+ })
+ val = multiNames;
+ } else {
+ let res = arg.valueOptions.find(
+ opt => opt.value == arg.sdk_arg_value
+ );
+ val = res.name;
+ }
+
+ }
if (arg.operator == 'range') {
let valRange = '';
- debugger
+
valRange = arg.sdk_arg_value.replace(',', '-');
defaultArgDesc += `${arg.name}${arg.operators[0].name}${valRange}${arg.unit || ''}, `
} else {
defaultArgDesc += `${arg.name}${arg.operators[0].name}${
- arg.sdk_arg_value
+ arg.type == 'option' ? val : arg.sdk_arg_value
}${arg.unit || ''}, `
}
});
- debugger;
- defaultArgDesc = defaultArgDesc.substring(0, defaultArgDesc.length - 2)
+ ;
+ defaultArgDesc = defaultArgDesc.substring(0, defaultArgDesc.length - 2);
+
//defaultArgDesc = defaultArgDesc.substring(0,defaultArgDesc.length-3)+defaultArgDesc.substring(defaultArgDesc.length-1,defaultArgDesc.length);
//defaultArgDesc = defaultArgDesc.substring(0,defaultArgDesc.length-1);
@@ -1446,7 +1500,6 @@
let val = '';
let valRange = '';
-
//澶勭悊涓嬫媺閫夊�肩被鍨�
if (arg.type == 'option') {
if (arg.sdk_arg_value instanceof Array) {
@@ -1465,16 +1518,20 @@
val = res.name;
}
- //optArgDesc += `,${arg.name}${arg.operators[0].operator}${val}${arg.unit || ''}, `
- } else {
- //optArgDesc += `,${arg.name}${arg.operators[0].operator}${ arg.sdk_arg_value }${arg.unit || ''}, `
+
}
let operatorSelected = arg.operators.find(opr => opr.operator == arg.operator)
optArgDesc += `,${arg.name}${operatorSelected.name}${
arg.type == 'option' ? val : arg.sdk_arg_value
}${arg.unit || ''}, `
- })
+ });
+ //灏嗗閫夐」鐨勫�兼嫾鎴愬瓧绗︿覆
+ defaultArgs.forEach(one => {
+ if (one.sdk_arg_value instanceof Array) {
+ one.sdk_arg_value = one.sdk_arg_value.join();
+ }
+ });
optArgDesc = optArgDesc.substring(0, optArgDesc.length - 2) + optArgDesc.substring(optArgDesc.length - 1, optArgDesc.length);
optArgDesc += ')'
tempObj.sdk_set = defaultArgs.concat(optArgs)
@@ -1493,11 +1550,14 @@
case '=>':
rule_with_pre = ' -> '
break
+ case '!=>':
+ rule_with_pre = ' !-> '
+ break
default:
rule_with_pre = ''
}
}
- debugger;
+ ;
group_text += `${rule_with_pre ? "<br/>" + rule_with_pre + "<br/>" : ""} <span style="background-color:RGB(183,183,183);">${
sdk.sdkObj.sdk_name
}</span> ${
@@ -1513,9 +1573,8 @@
group_text.substring(0, group_text.length - 3) +
group_text.substring(group_text.length - 2, group_text.length)
}
- debugger
+
})
- console.log(group_text)
}
groupRule.text = group_text
@@ -1555,7 +1614,7 @@
</script>
<style lang="scss">
-body{
+body {
font-size: 12px;
}
.edit-rules-box {
--
Gitblit v1.8.0