| | |
| | | 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>
|
| | |
| | | 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()) {
|
| | | rangeOne.sdk_arg_value = rangeOne.min + '|' + rangeOne.max
|
| | | } else {
|
| | |
| | | }
|
| | | // ruleList: {
|
| | | // handler(newVal, oldVal) {
|
| | | // debugger
|
| | | // |
| | | // this.editHandle(newVal)
|
| | | // }
|
| | |
|
| | | // }
|
| | | },
|
| | | mounted() {
|
| | | |
| | | this.TaskMange.findAllSdk({ installed: true })
|
| | | //this.TaskMange.list1 = sdkJson.data;
|
| | |
|
| | |
| | | }
|
| | | },
|
| | | methods: {
|
| | | getSdkConnection(){
|
| | | console.log(this.VideoManageData.Dictionary)
|
| | | this.sdkConnects = this.VideoManageData.Dictionary['RULECOMPUTEBETWEEN'].map(r => {
|
| | | |
| | | return {
|
| | | name: r.name,
|
| | | value: r.value
|
| | | }
|
| | | });
|
| | | },
|
| | | selConnection(sdkItem) {
|
| | | debugger
|
| | | |
| | |
|
| | | },
|
| | | addSdkItem() {
|
| | |
| | | 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{
|
| | |
| | | }
|
| | | },
|
| | | selOptionalArg(sdkItem, optArgItem) {
|
| | | debugger
|
| | | |
| | | let newSort = 0
|
| | | sdkItem.optNames.forEach(name => {
|
| | | if (name.name == optArgItem.name) {
|
| | |
| | | console.log(argObj.valueOptions)
|
| | | },
|
| | | setOptArgValueOptions(optArg) {
|
| | | debugger
|
| | | |
| | | let alias = optArg.alias;
|
| | | console.log(this.VideoManageData.Dictionary[alias])
|
| | | optArg.valueOptions = this.VideoManageData.Dictionary[alias].map(r => {
|
| | |
| | | });
|
| | | },
|
| | | validateArgVal(sdkArgItem, e) {
|
| | | debugger
|
| | | |
| | | if (typeof (sdkArgItem.sdk_arg_value) == 'string' && sdkArgItem.sdk_arg_value == '') {
|
| | | this.$notify({
|
| | | type: 'warning',
|
| | |
| | | let res = sdkArgItem.range.match(reg)
|
| | | let min = Number(res[1]),
|
| | | max = Number(res[2])
|
| | | debugger
|
| | | |
| | |
|
| | | //判断非区间类
|
| | | if (sdkArgItem.sdk_arg_value && sdkArgItem.operator != 'range') {
|
| | |
| | | this.valideArgValue(rule)
|
| | | },
|
| | | selectPolygonOption(rule) {
|
| | | debugger
|
| | | |
| | | rule.polygon_id = rule.polygonObj.polygonId
|
| | | ? rule.polygonObj.polygonId
|
| | | : rule.polygon_id
|
| | |
| | | },
|
| | | //选择算法 resetArgs为true是添加为false是初始化编辑
|
| | | selectSDKOption(sdkItem, resetArgs) {
|
| | | debugger
|
| | | |
| | | //sdkItem.sdk_id = sdkItem.sdkObj.id;
|
| | | if (resetArgs) {
|
| | | sdkItem.argDef = JSON.parse(sdkItem.sdkObj.argDef)
|
| | |
| | |
|
| | | 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));
|
| | | }
|
| | | }
|
| | | debugger
|
| | | |
| | | if(arg.type == 'option'){
|
| | | this.setOptArgValueOptions(arg)
|
| | | }
|
| | |
| | | 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)
|
| | | }
|
| | |
|
| | |
| | | },
|
| | | //选择算法配置
|
| | | selOperator(rule) {
|
| | | debugger
|
| | | |
| | | },
|
| | | selectArgsOption(rule, resetArgValue) {
|
| | | // rule.operator_type = "";
|
| | |
| | | this.groupRules.splice(index + 1, 0, newRule)
|
| | | },
|
| | | editHandle(ruleTxt) {
|
| | | debugger
|
| | | |
| | | // if (ruleTxt.length < 1) {
|
| | | // return
|
| | | // }
|
| | |
| | | // }
|
| | | },
|
| | | editRule(ruleGroup) {
|
| | | debugger
|
| | | |
| | | this.sdkGroup = []
|
| | | this.group_id = ''
|
| | |
|
| | | ruleGroup.forEach(rule => {
|
| | | debugger
|
| | | |
| | | let tempObj = {}
|
| | |
|
| | | if (rule.group_id && rule.group_id != '') {
|
| | |
| | | sdkObj = this.TaskMange.list1.find(sdk => sdk.id == rule.sdk_id)
|
| | |
|
| | | argDef = JSON.parse(sdkObj.argDef)
|
| | | debugger
|
| | | |
| | | defaultArg = argDef.filter(arg => !arg.config.isOptional)
|
| | | optionalArg = argDef.filter(arg => arg.config.isOptional)
|
| | |
|
| | |
| | |
|
| | | }
|
| | | //在push之前,需要判断是否配置了这个可选项 在sdk_set配置数组里,
|
| | | debugger
|
| | | |
| | | optArg.push(optItem)
|
| | |
|
| | | } else {
|
| | |
| | | if (d.sort == arg.sort) {
|
| | |
|
| | | if (arg.sdk_arg_value.indexOf('|') > 0) {
|
| | | debugger
|
| | | |
| | | //区间值
|
| | | 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'){
|
| | | debugger
|
| | | |
| | | //多选类型的值
|
| | | d.sdk_arg_value = arg.sdk_arg_value.split(',');
|
| | | this.setOptArgValueOptions(d)
|
| | |
| | | tempObj.isAddable = false;
|
| | | }
|
| | | //this.selectSDKOption(tempObj, false)
|
| | | debugger
|
| | | |
| | | this.sdkGroup.push(tempObj)
|
| | | //设置算法
|
| | | })
|
| | |
| | | .catch(() => { })
|
| | | },
|
| | | submitRule() {
|
| | | debugger
|
| | | |
| | | let groupRule = { rules: [] }
|
| | |
|
| | | let group_text = ''
|
| | |
| | | } else {
|
| | | //校验必填项
|
| | | let undefinished = this.sdkGroup.some((sdk, index) => {
|
| | | debugger
|
| | | |
| | | //没有配置算法
|
| | | if (Object.keys(sdk.sdkObj).length == 0) {
|
| | | return sdk
|
| | |
| | | if (sdk.rule_with_pre === '' && index != 0) {
|
| | | return sdk
|
| | | }
|
| | | debugger
|
| | | |
| | | //处理未展示的参数的值
|
| | | sdk.defaultArg.forEach(arg => {
|
| | | if(!arg.config.isShow){
|
| | |
| | | } else {
|
| | | //区间类参数值最小,最大值是否都设置
|
| | | if (arg.operator == 'range') {
|
| | | debugger
|
| | | |
| | | if (!arg.min.trim() && arg.max.trim()) {
|
| | | return arg
|
| | | }
|
| | |
| | | }
|
| | | //校验若算法关系为触发,则算法名不能重
|
| | | let sameSdk = this.sdkGroup.some((sdk, index) => {
|
| | | debugger
|
| | | |
| | | if (sdk.index != 0 && sdk.rule_with_pre == '=>') {
|
| | | debugger
|
| | | |
| | | if (sdk.sdkObj.id == this.sdkGroup[index - 1].sdkObj.id) {
|
| | | return sdk
|
| | | }
|
| | |
| | | }
|
| | | if (arg.operator == 'range') {
|
| | | let valRange = '';
|
| | | debugger
|
| | | |
| | | valRange = arg.sdk_arg_value.replace(',', '-');
|
| | | defaultArgDesc += `${arg.name}${arg.operators[0].name}${valRange}${arg.unit || ''}, `
|
| | | } else {
|
| | |
| | | }
|
| | |
|
| | | });
|
| | | debugger;
|
| | | ;
|
| | | defaultArgDesc = defaultArgDesc.substring(0, defaultArgDesc.length - 2);
|
| | |
|
| | | //defaultArgDesc = defaultArgDesc.substring(0,defaultArgDesc.length-3)+defaultArgDesc.substring(defaultArgDesc.length-1,defaultArgDesc.length);
|
| | |
| | | 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> ${
|
| | |
| | | group_text.substring(0, group_text.length - 3) +
|
| | | group_text.substring(group_text.length - 2, group_text.length)
|
| | | }
|
| | | debugger
|
| | | |
| | | })
|
| | | console.log(group_text)
|
| | | }
|