{"remainingRequest":"D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\xq-web-bpm\\src\\components\\form\\dataTemplate\\RemindSetting.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\src\\components\\form\\dataTemplate\\RemindSetting.vue","mtime":1675071992178},{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\thread-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\r\nimport {Base64} from 'js-base64'\r\nimport htEditor from '@/components/common/HtEditor.vue'\r\n\r\nconst eipUserSelector = () => import('@/components/selector/EipUserSelector.vue')\r\nconst eipOrgSelector = () => import('@/components/selector/EipOrgSelector.vue')\r\nconst eipJobSelector = () => import('@/components/selector/EipJobSelector.vue')\r\nconst eipPostSelector = () => import('@/components/selector/EipPostSelector.vue')\r\nconst eipRoleSelector = () => import('@/components/selector/EipRoleSelector.vue')\r\nimport utils from '@/hotent-ui-util.js'\r\nimport flow from \"@/api/flow.js\";\r\nexport default {\r\n\tname: 'RemindSetting',\r\n\tcomponents: {htEditor, eipUserSelector, eipOrgSelector, eipJobSelector, eipPostSelector, eipRoleSelector},\r\n\tprops: ['data'],\r\n\tdata () {\r\n\t\treturn {\r\n\t\t\tmyConfig:{\r\n\t\t\t\tinitialFrameHeight: 240,\r\n\t\t\t\tUEDITOR_HOME_URL: window.location.origin +'/'+ window.location.pathname.split('/')[1]+'/static/ueditor/',\r\n\t\t\t\ttoolbars: [\r\n\t\t\t\t\t[\r\n\t\t\t\t\t\t// 'source', //源代码\r\n\t\t\t\t\t\t'undo', //撤销\r\n\t\t\t\t\t\t'bold', //加粗\r\n\t\t\t\t\t\t'indent', //首行缩进\r\n\t\t\t\t\t\t'italic', //斜体\r\n\t\t\t\t\t\t'underline', //下划线\r\n\t\t\t\t\t\t'strikethrough', //删除线\r\n\t\t\t\t\t\t'subscript', //下标\r\n\t\t\t\t\t\t'fontborder', //字符边框\r\n\t\t\t\t\t\t'superscript', //上标\r\n\t\t\t\t\t\t'formatmatch', //格式刷\r\n\t\t\t\t\t\t'forecolor',//字体颜色\r\n\t\t\t\t\t\t'justifyleft', //居左对齐\r\n\t\t\t\t\t\t'justifycenter', //居中对齐\r\n\t\t\t\t\t\t'justifyright', //居右对齐\r\n\t\t\t\t\t\t'justifyjustify', //两端对齐\r\n\t\t\t\t\t\t'fontfamily', //字体\r\n\t\t\t\t\t\t'fontsize', //字号\r\n\t\t\t\t\t\t'insertorderedlist', //有序列表\r\n\t\t\t\t\t\t'insertunorderedlist', //无序列表\r\n\t\t\t\t\t\t'lineheight',//行间距\r\n\t\t\t\t\t\t'inserttable', //插入表格\r\n\t\t\t\t\t]\r\n\t\t\t\t],\r\n\t\t\t\t// 初始容器宽度\r\n\t\t\t\tinitialFrameWidth: \"100%\",\r\n\t\t\t\tzIndex:9999,\r\n\t\t\t\tenableAutoSave: false,\r\n\t\t\t\treadonly : false\r\n\t\t\t},\r\n\t\t\ttabHeight: `${document.documentElement.clientHeight}` - 280,\r\n\t\t\tdialogContentData: {content: '', subject: ''},\r\n\t\t\tdialogRuleData: '',\r\n\t\t\tindex: '',\r\n\t\t\tdialogMethodVisible: false,\r\n\t\t\tdialogContentVisible: false,\r\n\t\t\tdataTemplate: {},\r\n\t\t\tuserPluginList: [{key: 'user', value: '用户'}],\r\n\t\t\tremindSettingList: [],\r\n\t\t\tdiyScript: '',\r\n\t\t\tconditionObj: {},\r\n\t\t\ttabList: [],\r\n\t\t\tbranchList: [],\r\n\t\t\tsvgHtml: '',\r\n\t\t\tsvgHeight: '400px',\r\n\t\t\tdefaultCondition: {\r\n\t\t\t\tproperty: '',\r\n\t\t\t\toperator: '1',\r\n\t\t\t\tdataType: '',\r\n\t\t\t\tvalue: '',\r\n\t\t\t\tcompType: '1'\r\n\t\t\t},\r\n\t\t\tMleft: 50, //初始左边距50\r\n\t\t\tMtop: 20, //初始上边距40\r\n\t\t\tXIncase: 100, //x轴递增数值70\r\n\t\t\tYIncase: 50, //y轴递增数据50\r\n\t\t\tvarTree: [],\r\n\t\t\tfiledsObj: {},\r\n displaySettingFields: [],\r\n scripts: [] // 常用脚本列表\r\n\t\t}\r\n\t},\r\n\tupdated(){\r\n\t\tthis.remindSettingList.forEach((v, i) =>{\r\n\t\t\tv.mainHeight = document.getElementById('mainHeight'+i).offsetHeight;\r\n\t\t})\r\n\t},\r\n\tmounted () {\r\n this.getAllScript();\r\n\t\tthis.dataTemplate = this.data.bpmDataTemplate\r\n\t\tthis.remindSettingList = !this.dataTemplate.remindSettingList ? [] : JSON.parse(this.dataTemplate.remindSettingList)\r\n\t\tif (this.data.displaySettingFields) {\r\n\t\t\tthis.displaySettingFields = JSON.parse(this.data.displaySettingFields).filter(item => {\r\n\t\t\t\treturn item.isFlowField != true\r\n\t\t\t})\r\n\t\t\tthis.displaySettingFields.forEach(item => {\r\n\t\t\t\tthis.filedsObj[item.name] = item\r\n\t\t\t})\r\n\t\t}\r\n\t},\r\n\tmethods: {\r\n\t\t//切换对象 清除之前已选择的对象\r\n\t\tchangeTypeObj(name,row){\r\n\t\t\trow.objId ='';\r\n\t\t\trow.objName ='';\r\n\t\t},\r\n getAllScript(){\r\n // 查询所有的常用脚本\r\n const _this = this;\r\n flow.getAllScript().then(resp => {\r\n for (let index = 0; index < resp.length; index++) {\r\n const script = resp[index].script;\r\n script=script.replace(\"return \",\"\");\r\n script=script.replace(\";\",\"\");\r\n resp[index].script = script;\r\n }\r\n _this.scripts = resp;\r\n })\r\n },\r\n\t\tpreviewCondition (isConfirm) {\r\n\t\t\tconst me_ = this\r\n\t\t\tutils.validateForm(this, 'form1')\r\n\t\t\t\t\t.then(r => {\r\n\t\t\t\t\t\tif (!this.conditionObj) return\r\n\t\t\t\t\t\tvar data = this.getConditionStr(this.conditionObj)\r\n\t\t\t\t\t\tdata.conditionObj = JSON.stringify(this.conditionObj)\r\n\t\t\t\t\t\tif (!isConfirm) {\r\n\t\t\t\t\t\t\tthis.dialogRuleData = data.conditionString\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tthis.remindSettingList[this.index].rule = JSON.stringify({\r\n\t\t\t\t\t\t\t\tscriptStr: Base64.encode('import com.hotent.base.util.StringUtil;import com.hotent.base.util.time.DateUtil;' + data.conditionString),\r\n\t\t\t\t\t\t\t\tconditionObj: data.conditionObj\r\n\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\tthis.dialogMethodVisible = false\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.catch(items => {\r\n\t\t\t\t\t\tthis.$message.error(`还有内容未填写,无法生成表表达式。`)\r\n\t\t\t\t\t})\r\n\t\t},\r\n\t\tgetConditionStr (obj) {\r\n\t\t\tif (!obj || !obj.condition) return\r\n\t\t\tvar returnData = {}\r\n\t\t\tvar data = obj.condition\r\n\t\t\tvar res = ''\r\n\t\t\tvar desString = ''\r\n\t\t\tfor (var i = 0; i < data.length; i++) {\r\n\t\t\t\t//第一节点的表达式\r\n\t\t\t\tvar curcondStr1 = ''\r\n\t\t\t\tvar curcondDes1 = ''\r\n\t\t\t\t//如果第一节点有分支则计算\r\n\t\t\t\tif (data[i].condition && data[i].condition.length > 0) {\r\n\t\t\t\t\tcurcondStr1 += '('\r\n\t\t\t\t\tcurcondDes1 += '('\r\n\t\t\t\t\tfor (var j = 0; j < data[i].condition.length; j++) {\r\n\t\t\t\t\t\t//第二节点的表达式\r\n\t\t\t\t\t\tvar curcondStr2 = ''\r\n\t\t\t\t\t\tvar curcondDes2 = ''\r\n\t\t\t\t\t\t//如果第三级节点有分支,则计算分支\r\n\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\t\tdata[i].condition[j].condition &&\r\n\t\t\t\t\t\t\t\tdata[i].condition[j].condition.length > 0\r\n\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\tcurcondStr2 += '('\r\n\t\t\t\t\t\t\tcurcondDes2 += '('\r\n\t\t\t\t\t\t\tvar curcondStr3 = ''\r\n\t\t\t\t\t\t\tvar curcondDes3 = ''\r\n\t\t\t\t\t\t\tfor (var z = 0; z < data[i].condition[j].condition.length; z++) {\r\n\t\t\t\t\t\t\t\tcurcondStr3 = this.getConditionStrByObj(\r\n\t\t\t\t\t\t\t\t\t\tdata[i].condition[j].condition[z]\r\n\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\tcurcondDes3 = this.getConditionStrByObj(\r\n\t\t\t\t\t\t\t\t\t\tdata[i].condition[j].condition[z],\r\n\t\t\t\t\t\t\t\t\t\t'des'\r\n\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\tif (curcondStr3 != '') {\r\n\t\t\t\t\t\t\t\t\t//循环拼接第三节点的条件\r\n\t\t\t\t\t\t\t\t\tif (z == 0) {\r\n\t\t\t\t\t\t\t\t\t\t//第一个不拼接运算符\r\n\t\t\t\t\t\t\t\t\t\tcurcondStr2 += curcondStr3\r\n\t\t\t\t\t\t\t\t\t\tcurcondDes2 += curcondDes3\r\n\t\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\t\tcurcondStr2 +=\r\n\t\t\t\t\t\t\t\t\t\t\t\tthis.getjunction(data[i].condition[j].junction) +\r\n\t\t\t\t\t\t\t\t\t\t\t\tcurcondStr3\r\n\t\t\t\t\t\t\t\t\t\tcurcondDes2 +=\r\n\t\t\t\t\t\t\t\t\t\t\t\tthis.getjunction(data[i].condition[j].junction) +\r\n\t\t\t\t\t\t\t\t\t\t\t\tcurcondDes3\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tcurcondStr2 += ')'\r\n\t\t\t\t\t\t\tcurcondDes2 += ')'\r\n\t\t\t\t\t\t} else if (data[i].condition[j].property) {\r\n\t\t\t\t\t\t\t//第二节点没有分只\r\n\t\t\t\t\t\t\tcurcondStr2 = this.getConditionStrByObj(data[i].condition[j])\r\n\t\t\t\t\t\t\tcurcondDes2 = this.getConditionStrByObj(\r\n\t\t\t\t\t\t\t\t\tdata[i].condition[j],\r\n\t\t\t\t\t\t\t\t\t'des'\r\n\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (curcondStr2 != '') {\r\n\t\t\t\t\t\t\t//循环拼接第二节点的条件\r\n\t\t\t\t\t\t\tif (j == 0) {\r\n\t\t\t\t\t\t\t\t//第一个不拼接运算符\r\n\t\t\t\t\t\t\t\tcurcondStr1 += curcondStr2\r\n\t\t\t\t\t\t\t\tcurcondDes1 += curcondDes2\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tcurcondStr1 += this.getjunction(data[i].junction) + curcondStr2\r\n\t\t\t\t\t\t\t\tcurcondDes1 += this.getjunction(data[i].junction) + curcondDes2\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcurcondStr1 += ')'\r\n\t\t\t\t\tcurcondDes1 += ')'\r\n\t\t\t\t} else if (data[i].property) {\r\n\t\t\t\t\t//第一节点没有分只\r\n\t\t\t\t\tcurcondStr1 = this.getConditionStrByObj(data[i])\r\n\t\t\t\t\tcurcondDes1 = this.getConditionStrByObj(data[i], 'des')\r\n\t\t\t\t}\r\n\t\t\t\tif (curcondStr1 != '') {\r\n\t\t\t\t\t//循环拼接第一节点的条件\r\n\t\t\t\t\tif (i == 0) {\r\n\t\t\t\t\t\t//第一个不拼接运算符\r\n\t\t\t\t\t\tres += curcondStr1\r\n\t\t\t\t\t\tdesString += curcondDes1\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tres += this.getjunction(obj.junction) + curcondStr1\r\n\t\t\t\t\t\tdesString += this.getjunction(obj.junction) + curcondDes1\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturnData.conditionString = res\r\n\t\t\treturnData.conditionDes = desString\r\n\t\t\treturn returnData\r\n\t\t},\r\n\t\tgetjunction (str) {\r\n\t\t\tvar res = ''\r\n\t\t\tswitch (str) {\r\n\t\t\t\tcase 'and':\r\n\t\t\t\t\tres = ' && '\r\n\t\t\t\t\tbreak\r\n\t\t\t\tcase 'or':\r\n\t\t\t\t\tres = ' || '\r\n\t\t\t\t\tbreak\r\n\t\t\t}\r\n\t\t\treturn res\r\n\t\t},\r\n\t\tgetConditionStrByObj (obj, type) {\r\n\t\t\tvar res = ''\r\n\t\t\tswitch (obj.dataType) {\r\n\t\t\t\tcase 'varchar':\r\n\t\t\t\t\tres = this.buildStringCondition(obj, type)\r\n\t\t\t\t\tbreak\r\n\t\t\t\tcase 'date':\r\n\t\t\t\t\tres = this.buildDateCondition(obj, type)\r\n\t\t\t\t\tbreak\r\n\t\t\t\tcase 'number':\r\n\t\t\t\t\tres = this.buildIntCondition(obj, type)\r\n\t\t\t\t\tbreak\r\n\t\t\t}\r\n\t\t\treturn res\r\n\t\t},\r\n\t\tbuildDateCondition (obj, type) {\r\n\t\t\tvar value = obj.value\r\n\t\t\tvar valueDes = ''\r\n\t\t\tvar property = obj.property\r\n\t\t\tlet res = ''\r\n\t\t\tif (obj.compType == 1) {\r\n\t\t\t\tvalue = '\"' + obj.value + '\"'\r\n\t\t\t\tvalueDes = value\r\n\t\t\t} else {\r\n\t\t\t\tvalueDes = obj.changeDesc\r\n\t\t\t}\r\n\t\t\tif (type == 'des') {\r\n\t\t\t\tproperty = obj.chooseDesc\r\n\t\t\t\tvalue = valueDes\r\n\t\t\t\tswitch (obj.operator) {\r\n\t\t\t\t\tcase '1':\r\n\t\t\t\t\t\tres = property + '==' + value\r\n\t\t\t\t\t\tbreak\r\n\t\t\t\t\tcase '2':\r\n\t\t\t\t\t\tres = property + '!=' + value\r\n\t\t\t\t\t\tbreak\r\n\t\t\t\t\tcase '3':\r\n\t\t\t\t\t\tres = property + '>' + value\r\n\t\t\t\t\t\tbreak\r\n\t\t\t\t\tcase '4':\r\n\t\t\t\t\t\tres = property + '<' + value\r\n\t\t\t\t\t\tbreak\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tswitch (obj.operator) {\r\n\t\t\t\t\tcase '1':\r\n\t\t\t\t\t\tres = 'scriptImpl.isDateEquals(' + property + ',' + value + ')'\r\n\t\t\t\t\t\tbreak\r\n\t\t\t\t\tcase '2':\r\n\t\t\t\t\t\tres = '!scriptImpl.isDateEquals(' + property + ',' + value + ')'\r\n\t\t\t\t\t\tbreak\r\n\t\t\t\t\tcase '3':\r\n\t\t\t\t\t\tres = 'scriptImpl.isDateLarge(' + property + ',' + value + ')'\r\n\t\t\t\t\t\tbreak\r\n\t\t\t\t\tcase '4':\r\n\t\t\t\t\t\tres = 'scriptImpl.isDateLittle(' + property + ',' + value + ')'\r\n\t\t\t\t\t\tbreak\r\n\t\t\t\t\tcase '7':\r\n\t\t\t\t\t\tres = 'scriptImpl.isDateLargeEquals(' + property + ',' + value + ')'\r\n\t\t\t\t\t\tbreak\r\n\t\t\t\t\tcase '8':\r\n\t\t\t\t\t\tres = 'scriptImpl.isDateLittleEquals(' + property + ',' + value + ')'\r\n\t\t\t\t\t\tbreak\r\n\t\t\t\t\tcase '9':\r\n\t\t\t\t\t\tres = 'scriptImpl.isDateBelongTo(' + property + ',' + value + ')'\r\n\t\t\t\t\t\tbreak\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\treturn res\r\n\t\t},\r\n\t\tbuildStringCondition (obj, type) {\r\n\t\t\tvar value = obj.value\r\n\t\t\tvar valueDes = ''\r\n\t\t\tvar property = obj.property\r\n\t\t\tlet res = ''\r\n\t\t\tif (obj.compType == 1 && obj.type == 1) {\r\n\t\t\t\tvalue = '\"' + obj.value + '\"'\r\n\t\t\t\tvalueDes = value\r\n\t\t\t} else if(obj.type ==2){\r\n value = obj.value;\r\n valueDes = value;\r\n }else {\r\n\t\t\t\tvalueDes = obj.changeDesc\r\n\t\t\t}\r\n\t\t\tif (type == 'des') {\r\n\t\t\t\tproperty = obj.chooseDesc\r\n\t\t\t\tvalue = valueDes\r\n\t\t\t\tswitch (obj.operator) {\r\n\t\t\t\t\tcase '1':\r\n\t\t\t\t\t\tres = property + '==' + value\r\n\t\t\t\t\t\tbreak\r\n\t\t\t\t\tcase '2':\r\n\t\t\t\t\t\tres = property + '!=' + value\r\n\t\t\t\t\t\tbreak\r\n\t\t\t\t\tcase '3':\r\n\t\t\t\t\t\tres = property + '>' + value\r\n\t\t\t\t\t\tbreak\r\n\t\t\t\t\tcase '4':\r\n\t\t\t\t\t\tres = property + '<' + value\r\n\t\t\t\t\t\tbreak\r\n\t\t\t\t\tcase '5':\r\n\t\t\t\t\t\tres = property + 'contains' + value\r\n\t\t\t\t\t\tbreak\r\n\t\t\t\t\tcase '6':\r\n\t\t\t\t\t\tres = property + '! contains' + value\r\n\t\t\t\t\t\tbreak\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tswitch (obj.operator) {\r\n\t\t\t\t\tcase '1':\r\n\t\t\t\t\t\tres = 'StringUtil.equals(' + property + ',' + value + ')'\r\n\t\t\t\t\t\tbreak\r\n\t\t\t\t\tcase '2':\r\n\t\t\t\t\t\tres = '!StringUtil.equals(' + property + ',' + value + ')'\r\n\t\t\t\t\t\tbreak\r\n\t\t\t\t\tcase '3':\r\n\t\t\t\t\t\tres = 'StringUtil.LargeThen(' + property + ',' + value + ')'\r\n\t\t\t\t\t\tbreak\r\n\t\t\t\t\tcase '4':\r\n\t\t\t\t\t\tres = 'StringUtil.littleThen(' + property + ',' + value + ')'\r\n\t\t\t\t\t\tbreak\r\n\t\t\t\t\tcase '5':\r\n\t\t\t\t\t\tres = 'StringUtil.contains(' + property + ',' + value + ')'\r\n\t\t\t\t\t\tbreak\r\n\t\t\t\t\tcase '6':\r\n\t\t\t\t\t\tres = '!StringUtil.contains(' + property + ',' + value + ')'\r\n\t\t\t\t\t\tbreak\r\n\t\t\t\t\tcase '9':\r\n\t\t\t\t\t\tres = 'StringUtil.isStringBelongTo(' + property + ',' + value + ')'\r\n\t\t\t\t\t\tbreak\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\treturn res\r\n\t\t},\r\n\t\tbuildIntCondition (obj, type) {\r\n\t\t\tvar value = obj.value\r\n\t\t\tvar valueDes = ''\r\n\t\t\tvar property = obj.property\r\n\t\t\tif (obj.compType == 1) {\r\n\t\t\t\tvalue = obj.value\r\n\t\t\t\tvalueDes = value\r\n\t\t\t} else {\r\n\t\t\t\tvalueDes = obj.changeDesc\r\n\t\t\t}\r\n\t\t\tif (type == 'des') {\r\n\t\t\t\tproperty = obj.chooseDesc\r\n\t\t\t\tvalue = valueDes\r\n\t\t\t}\r\n\t\t\tvar res = ''\r\n\t\t\tswitch (obj.operator) {\r\n\t\t\t\tcase '1':\r\n\t\t\t\t\tres = property + '==' + value\r\n\t\t\t\t\tbreak\r\n\t\t\t\tcase '2':\r\n\t\t\t\t\tres = property + '!=' + value\r\n\t\t\t\t\tbreak\r\n\t\t\t\tcase '3':\r\n\t\t\t\t\tres = property + '>' + value\r\n\t\t\t\t\tbreak\r\n\t\t\t\tcase '4':\r\n\t\t\t\t\tres = property + '<' + value\r\n\t\t\t\t\tbreak\r\n\t\t\t\tcase '7':\r\n\t\t\t\t\tres = property + '>=' + value\r\n\t\t\t\t\tbreak\r\n\t\t\t\tcase '8':\r\n\t\t\t\t\tres = property + '<=' + value\r\n\t\t\t\t\tbreak\r\n\t\t\t\tcase '9':\r\n\t\t\t\t\t// res = \"scriptImpl.isNumberBelongTo(\" + property + \",\\\"\" + value + \"\\\")\";\r\n\t\t\t\t\tlet valueArr = value.split(',')\r\n\t\t\t\t\tres = `(${property}>=${valueArr[0]} && ${property}<=${valueArr[1]})`\r\n\t\t\t\t\tbreak\r\n\t\t\t}\r\n\t\t\treturn res\r\n\t\t},\r\n\t\tbuildDateCondition (obj, type) {\r\n\t\t\tvar value = obj.value\r\n\t\t\tvar valueDes = ''\r\n\t\t\tvar property = obj.property\r\n\t\t\tlet res = ''\r\n\t\t\tif (obj.compType == 1) {\r\n\t\t\t\tvalue = '\"' + obj.value + '\"'\r\n\t\t\t\tvalueDes = value\r\n\t\t\t} else {\r\n\t\t\t\tvalueDes = obj.changeDesc\r\n\t\t\t}\r\n\t\t\tif (type == 'des') {\r\n\t\t\t\tproperty = obj.chooseDesc\r\n\t\t\t\tvalue = valueDes\r\n\t\t\t\tswitch (obj.operator) {\r\n\t\t\t\t\tcase '1':\r\n\t\t\t\t\t\tres = property + '==' + value\r\n\t\t\t\t\t\tbreak\r\n\t\t\t\t\tcase '2':\r\n\t\t\t\t\t\tres = property + '!=' + value\r\n\t\t\t\t\t\tbreak\r\n\t\t\t\t\tcase '3':\r\n\t\t\t\t\t\tres = property + '>' + value\r\n\t\t\t\t\t\tbreak\r\n\t\t\t\t\tcase '4':\r\n\t\t\t\t\t\tres = property + '<' + value\r\n\t\t\t\t\t\tbreak\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tswitch (obj.operator) {\r\n\t\t\t\t\tcase '1':\r\n\t\t\t\t\t\tres = 'DateUtil.isDateEquals(' + property + ',' + value + ')'\r\n\t\t\t\t\t\tbreak\r\n\t\t\t\t\tcase '2':\r\n\t\t\t\t\t\tres = '!DateUtil.isDateEquals(' + property + ',' + value + ')'\r\n\t\t\t\t\t\tbreak\r\n\t\t\t\t\tcase '3':\r\n\t\t\t\t\t\tres = 'DateUtil.isDateLarge(' + property + ',' + value + ')'\r\n\t\t\t\t\t\tbreak\r\n\t\t\t\t\tcase '4':\r\n\t\t\t\t\t\tres = 'DateUtil.isDateLittle(' + property + ',' + value + ')'\r\n\t\t\t\t\t\tbreak\r\n\t\t\t\t\tcase '7':\r\n\t\t\t\t\t\tres = 'DateUtil.isDateLargeEquals(' + property + ',' + value + ')'\r\n\t\t\t\t\t\tbreak\r\n\t\t\t\t\tcase '8':\r\n\t\t\t\t\t\tres = 'DateUtil.isDateLittleEquals(' + property + ',' + value + ')'\r\n\t\t\t\t\t\tbreak\r\n\t\t\t\t\tcase '9':\r\n\t\t\t\t\t\tres = 'DateUtil.isDateBelongTo(' + property + ',' + value + ')'\r\n\t\t\t\t\t\tbreak\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\treturn res\r\n\t\t},\r\n\r\n\t\tsetRule (rule, index) {\r\n\t\t\tif (rule) {\r\n\t\t\t\tthis.conditionObj = JSON.parse(JSON.parse(rule).conditionObj)\r\n\t\t\t} else {\r\n\t\t\t\tthis.conditionObj = {junction: 'and', condition: []}\r\n\t\t\t}\r\n\t\t\tthis.dialogMethodVisible = true\r\n\t\t\tthis.buildConditionTree(this.conditionObj)\r\n\t\t\t/*if (rule != undefined) {\r\n\t\t\t\tthis.dialogRuleData = Base64.decode(rule)\r\n\t\t\t}*/\r\n\t\t\tthis.index = index\r\n\t\t},\r\n\t\tsetContent (row, index) {\r\n\t\t\tthis.dialogContentVisible = true\r\n\t\t\tlet dialogContentData = {content: row.content, subject: row.subject}\r\n\t\t\tthis.dialogContentData = dialogContentData\r\n\t\t\tthis.index = index\r\n\t\t},\r\n\t\tcontentOk () {\r\n\t\t\tutils.validateForm(this, 'contentForm').then(result => {\r\n\t\t\t\tthis.remindSettingList[this.index].content = this.dialogContentData.content\r\n\t\t\t\tthis.remindSettingList[this.index].subject = this.dialogContentData.subject\r\n\t\t\t\tthis.dialogContentVisible = false\r\n\t\t\t\tsetTimeout(() =>{\r\n\t\t\t\t\tthis.remindSettingList[this.index].mainHeight = document.getElementById('mainHeight'+this.index).offsetHeight;\r\n\t\t\t\t}, 200)\r\n\t\t\t}).catch(items => {\r\n\t\t\t\tthis.$message.error(`还有内容未填写。`)\r\n\t\t\t})\r\n\t\t},\r\n\t\tchangecondition (index) {\r\n\t\t\tvar oldVal = this.branchList[index].oldjunction\r\n\t\t\tvar newVal = this.branchList[index].newjunction\r\n\t\t\tif (newVal == '3' || newVal == '4' || newVal == '5') {\r\n\t\t\t\tthis.branchList[index].newjunction = this.branchList[index].oldjunction\r\n\t\t\t\tvar indexStr = this.branchList[index].indexStr\r\n\t\t\t\tif (newVal == '3') {\r\n\t\t\t\t\tthis.addCondition(indexStr)\r\n\t\t\t\t} else if (newVal == '4') {\r\n\t\t\t\t\tthis.addUnionCondition(indexStr)\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.$confirm(\r\n\t\t\t\t\t\t\t'确定要删除此联合条件及其下属的所有子条件吗?',\r\n\t\t\t\t\t\t\t'提示',\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tcancelButtonText: '取消',\r\n\t\t\t\t\t\t\t\tconfirmButtonText: '确定',\r\n\t\t\t\t\t\t\t\ttype: 'warning',\r\n\t\t\t\t\t\t\t\tcloseOnClickModal: false\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t).then(() => {\r\n\t\t\t\t\t\tthis.removeCondition(indexStr)\r\n\t\t\t\t\t})\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tthis.branchList[index].oldjunction = this.branchList[index].newjunction\r\n\t\t\t\tvar indexStr = this.branchList[index].indexStr\r\n\t\t\t\tvar indexArr = indexStr.split(',')\r\n\t\t\t\tif (indexStr == 'root') {\r\n\t\t\t\t\tthis.conditionObj.junction = newVal\r\n\t\t\t\t} else if (indexArr.length == 1) {\r\n\t\t\t\t\tthis.conditionObj.condition[indexStr].junction = newVal\r\n\t\t\t\t} else if (indexArr.length == 2) {\r\n\t\t\t\t\tthis.conditionObj.condition[indexArr[0]].condition[\r\n\t\t\t\t\t\t\tindexArr[1]\r\n\t\t\t\t\t\t\t].junction = newVal\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\t\tsetFieldOtherInfo (ele, tab, type) {\r\n\t\t\tlet selectFiled = this.filedsObj[tab.property]\r\n\t\t\tif (type == 1) {\r\n\t\t\t\ttab.dataType = selectFiled.type\r\n\t\t\t\ttab.format = selectFiled.format\r\n\t\t\t\ttab.chooseDesc = selectFiled.desc\r\n\t\t\t\ttab.value = ''\r\n\t\t\t} else {\r\n\t\t\t\ttab.changeDesc = selectFiled.desc\r\n\t\t\t}\r\n\t\t},\r\n\t\taddRemindSetting () {\r\n\t\t\tlet rule = JSON.stringify({\r\n\t\t\t\tscriptStr: Base64.encode('true'),\r\n\t\t\t\tconditionObj: JSON.stringify({junction: 'and', condition: []})\r\n\t\t\t})\r\n\t\t\tthis.remindSettingList.push({content: '', count: '1', objId: '', rule: rule, mainHeight: '133'})\r\n\t\t},\r\n\t\tsaveRemindSettingList () {\r\n\t\t\treturn new Promise((resolve, reject) => {\r\n\t\t\t\tutils.validateForm(this, 'form').then(result => {\r\n\t\t\t\t\tthis.dataTemplate.remindSettingList = this.remindSettingList ? JSON.stringify(this.remindSettingList) : null\r\n\t\t\t\t\tresolve(true)\r\n\t\t\t\t}).catch(errors => {\r\n\t\t\t\t\terrors.forEach(item => {\r\n\t\t\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\t\t\tthis.$notify.error({\r\n\t\t\t\t\t\t\t\ttitle: '错误',\r\n\t\t\t\t\t\t\t\tmessage: item.field + item.msg\r\n\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t}, 500)\r\n\t\t\t\t\t})\r\n\t\t\t\t\tresolve(false)\r\n\t\t\t\t})\r\n\t\t\t})\r\n\t\t},\r\n\r\n\t\tbuildData (conditionData, pathArr, tableArr, branchArr) {\r\n\t\t\tlet curYIndex = 0\r\n\t\t\tlet data = conditionData.condition\r\n\t\t\t//算三级节点总共分支个数\r\n\t\t\tlet yIncaseNum =\r\n\t\t\t\t\tthis.getyIncaseNum(conditionData.condition) > 1\r\n\t\t\t\t\t\t\t? this.getyIncaseNum(conditionData.condition)\r\n\t\t\t\t\t\t\t: 1\r\n\t\t\t//第一个节点 this.Mtop 最后一个节点Mtop+this.YIncase*(yIncaseNum-1)\r\n\t\t\tlet startY1 = (this.Mtop * 2 + this.YIncase * (yIncaseNum - 1)) / 2\r\n\r\n\t\t\tbranchArr.push({\r\n\t\t\t\tnewjunction: conditionData.junction,\r\n\t\t\t\toldjunction: conditionData.junction,\r\n\t\t\t\tstyle: 'left:' + (this.Mleft - 35) + 'px; top:' + (startY1 - 15) + 'px',\r\n\t\t\t\tindexStr: 'root',\r\n\t\t\t\tcondition: 'noDel'\r\n\t\t\t})\r\n\t\t\tfor (var i = 0; i < data.length; i++) {\r\n\t\t\t\tif (data[i].condition) {\r\n\t\t\t\t\tvar curchildNum = this.getyIncaseNum(data[i].condition)\r\n\t\t\t\t\t//如果该节点,没有分支条件,则保留节点\r\n\t\t\t\t\tvar isEmpty0 = false\r\n\t\t\t\t\tif (curchildNum < 1) {\r\n\t\t\t\t\t\tcurchildNum = 1\r\n\t\t\t\t\t\tisEmpty0 = true\r\n\t\t\t\t\t}\r\n\t\t\t\t\t//计算一级节点和该节点的连线\r\n\t\t\t\t\tvar startY2 =\r\n\t\t\t\t\t\t\t(this.Mtop * 2 + this.YIncase * (2 * curYIndex + curchildNum - 1)) /\r\n\t\t\t\t\t\t\t2\r\n\t\t\t\t\tvar path =\r\n\t\t\t\t\t\t\t'M' +\r\n\t\t\t\t\t\t\tthis.Mleft +\r\n\t\t\t\t\t\t\t',' +\r\n\t\t\t\t\t\t\tstartY1 +\r\n\t\t\t\t\t\t\t'C' +\r\n\t\t\t\t\t\t\tthis.Mleft +\r\n\t\t\t\t\t\t\t',' +\r\n\t\t\t\t\t\t\tstartY2 +\r\n\t\t\t\t\t\t\t',' +\r\n\t\t\t\t\t\t\tthis.Mleft +\r\n\t\t\t\t\t\t\t',' +\r\n\t\t\t\t\t\t\tstartY2 +\r\n\t\t\t\t\t\t\t',' +\r\n\t\t\t\t\t\t\t(this.Mleft + this.XIncase) +\r\n\t\t\t\t\t\t\t',' +\r\n\t\t\t\t\t\t\tstartY2\r\n\t\t\t\t\tpathArr.push(path)\r\n\t\t\t\t\tbranchArr.push({\r\n\t\t\t\t\t\tnewjunction: data[i].junction,\r\n\t\t\t\t\t\toldjunction: data[i].junction,\r\n\t\t\t\t\t\tstyle:\r\n\t\t\t\t\t\t\t\t'left:' +\r\n\t\t\t\t\t\t\t\t(this.Mleft + this.XIncase - 35) +\r\n\t\t\t\t\t\t\t\t'px; top:' +\r\n\t\t\t\t\t\t\t\t(startY2 - 15) +\r\n\t\t\t\t\t\t\t\t'px',\r\n\t\t\t\t\t\tindexStr: '' + i\r\n\t\t\t\t\t})\r\n\t\t\t\t\tif (isEmpty0) curYIndex++\r\n\r\n\t\t\t\t\tfor (var j = 0; j < data[i].condition.length; j++) {\r\n\t\t\t\t\t\t//如果第三级节点有分支,则计算分支\r\n\t\t\t\t\t\tif (data[i].condition[j].condition) {\r\n\t\t\t\t\t\t\t//计算改节点分支个数\r\n\t\t\t\t\t\t\tlet curchildNum2 = this.getyIncaseNum(\r\n\t\t\t\t\t\t\t\t\tdata[i].condition[j].condition\r\n\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t//如果该节点,没有分支条件,则保留节点,默认其占一行\r\n\t\t\t\t\t\t\tlet isEmpty = false\r\n\t\t\t\t\t\t\tif (curchildNum2 < 1) {\r\n\t\t\t\t\t\t\t\tcurchildNum2 = 1\r\n\t\t\t\t\t\t\t\tisEmpty = true\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t// 改分支第一个节点纵坐标= this.Mtop+this.YIncase*curYIndex 上一个节点纵坐标加上递增值\r\n\t\t\t\t\t\t\t// 改分支最后节点纵坐标=改分支第一个节点纵坐标 +计算改节点分支个数*y递增值 this.Mtop+this.YIncase*curYIndex+this.YIncase*(curchildNum2-1)\r\n\t\t\t\t\t\t\t// 计算改节点的纵坐标。(改分支第一个节点纵坐标+该分支的最后一个纵坐标)/2\r\n\t\t\t\t\t\t\t// 该节点起始点纵坐标= this.Mtop+this.YIncase*curYIndex+ this.Mtop+this.YIncase*curYIndex+this.YIncase*(curchildNum2-1)\r\n\t\t\t\t\t\t\tlet startY3 =\r\n\t\t\t\t\t\t\t\t\t(this.Mtop * 2 +\r\n\t\t\t\t\t\t\t\t\t\t\tthis.YIncase * (2 * curYIndex + curchildNum2 - 1)) /\r\n\t\t\t\t\t\t\t\t\t2\r\n\t\t\t\t\t\t\t//改分支指引线的终点的纵坐标等于startY2\r\n\t\t\t\t\t\t\tlet path =\r\n\t\t\t\t\t\t\t\t\t'M' +\r\n\t\t\t\t\t\t\t\t\t(this.Mleft + this.XIncase) +\r\n\t\t\t\t\t\t\t\t\t',' +\r\n\t\t\t\t\t\t\t\t\tstartY2 +\r\n\t\t\t\t\t\t\t\t\t'C' +\r\n\t\t\t\t\t\t\t\t\t(this.Mleft + this.XIncase) +\r\n\t\t\t\t\t\t\t\t\t',' +\r\n\t\t\t\t\t\t\t\t\tstartY3 +\r\n\t\t\t\t\t\t\t\t\t',' +\r\n\t\t\t\t\t\t\t\t\t(this.Mleft + this.XIncase) +\r\n\t\t\t\t\t\t\t\t\t',' +\r\n\t\t\t\t\t\t\t\t\tstartY3 +\r\n\t\t\t\t\t\t\t\t\t',' +\r\n\t\t\t\t\t\t\t\t\t(this.Mleft + this.XIncase * 2) +\r\n\t\t\t\t\t\t\t\t\t',' +\r\n\t\t\t\t\t\t\t\t\tstartY3\r\n\t\t\t\t\t\t\tpathArr.push(path)\r\n\t\t\t\t\t\t\tbranchArr.push({\r\n\t\t\t\t\t\t\t\tnewjunction: data[i].condition[j].junction,\r\n\t\t\t\t\t\t\t\toldjunction: data[i].condition[j].junction,\r\n\t\t\t\t\t\t\t\tstyle:\r\n\t\t\t\t\t\t\t\t\t\t'left:' +\r\n\t\t\t\t\t\t\t\t\t\t(this.Mleft + this.XIncase * 2 - 35) +\r\n\t\t\t\t\t\t\t\t\t\t'px; top:' +\r\n\t\t\t\t\t\t\t\t\t\t(startY3 - 15) +\r\n\t\t\t\t\t\t\t\t\t\t'px',\r\n\t\t\t\t\t\t\t\tindexStr: i + ',' + j,\r\n\t\t\t\t\t\t\t\tcondition: 'noAdd'\r\n\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\tif (isEmpty) {\r\n\t\t\t\t\t\t\t\tcurYIndex++\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tfor (let z = 0; z < data[i].condition[j].condition.length; z++) {\r\n\t\t\t\t\t\t\t\tlet obj = data[i].condition[j].condition[z]\r\n\t\t\t\t\t\t\t\tobj.style =\r\n\t\t\t\t\t\t\t\t\t\t'left:' +\r\n\t\t\t\t\t\t\t\t\t\t(this.Mleft + this.XIncase * 3) +\r\n\t\t\t\t\t\t\t\t\t\t'px; top:' +\r\n\t\t\t\t\t\t\t\t\t\t(this.Mtop + this.YIncase * curYIndex - 19) +\r\n\t\t\t\t\t\t\t\t\t\t'px'\r\n\t\t\t\t\t\t\t\tobj.indexStr = i + ',' + j + ',' + z\r\n\t\t\t\t\t\t\t\ttableArr.push(obj)\r\n\t\t\t\t\t\t\t\t//改分支下所有节点的起始纵坐标为startY3,终点纵坐标根据该节点位置决定\r\n\t\t\t\t\t\t\t\tlet path =\r\n\t\t\t\t\t\t\t\t\t\t'M' +\r\n\t\t\t\t\t\t\t\t\t\t(this.Mleft + this.XIncase * 2) +\r\n\t\t\t\t\t\t\t\t\t\t',' +\r\n\t\t\t\t\t\t\t\t\t\tstartY3 +\r\n\t\t\t\t\t\t\t\t\t\t'C' +\r\n\t\t\t\t\t\t\t\t\t\t(this.Mleft + this.XIncase * 2) +\r\n\t\t\t\t\t\t\t\t\t\t',' +\r\n\t\t\t\t\t\t\t\t\t\t(this.Mtop + this.YIncase * curYIndex) +\r\n\t\t\t\t\t\t\t\t\t\t',' +\r\n\t\t\t\t\t\t\t\t\t\t(this.Mleft + this.XIncase * 2) +\r\n\t\t\t\t\t\t\t\t\t\t',' +\r\n\t\t\t\t\t\t\t\t\t\t(this.Mtop + this.YIncase * curYIndex) +\r\n\t\t\t\t\t\t\t\t\t\t',' +\r\n\t\t\t\t\t\t\t\t\t\t(this.Mleft + this.XIncase * 3) +\r\n\t\t\t\t\t\t\t\t\t\t',' +\r\n\t\t\t\t\t\t\t\t\t\t(this.Mtop + this.YIncase * curYIndex)\r\n\t\t\t\t\t\t\t\tpathArr.push(path)\r\n\t\t\t\t\t\t\t\tcurYIndex++\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t//第二级节点没有分支\r\n\t\t\t\t\t\t\tlet obj = data[i].condition[j]\r\n\t\t\t\t\t\t\tobj.style =\r\n\t\t\t\t\t\t\t\t\t'left:' +\r\n\t\t\t\t\t\t\t\t\t(this.Mleft + this.XIncase * 2) +\r\n\t\t\t\t\t\t\t\t\t'px; top:' +\r\n\t\t\t\t\t\t\t\t\t(this.Mtop + this.YIncase * curYIndex - 19) +\r\n\t\t\t\t\t\t\t\t\t'px'\r\n\t\t\t\t\t\t\tobj.indexStr = i + ',' + j\r\n\t\t\t\t\t\t\ttableArr.push(obj)\r\n\t\t\t\t\t\t\t//计算改分支的路径。因为是第二节点。startY2\r\n\t\t\t\t\t\t\tlet path =\r\n\t\t\t\t\t\t\t\t\t'M' +\r\n\t\t\t\t\t\t\t\t\t(this.Mleft + this.XIncase) +\r\n\t\t\t\t\t\t\t\t\t',' +\r\n\t\t\t\t\t\t\t\t\tstartY2 +\r\n\t\t\t\t\t\t\t\t\t'C' +\r\n\t\t\t\t\t\t\t\t\t(this.Mleft + this.XIncase) +\r\n\t\t\t\t\t\t\t\t\t',' +\r\n\t\t\t\t\t\t\t\t\t(this.Mtop + this.YIncase * curYIndex) +\r\n\t\t\t\t\t\t\t\t\t',' +\r\n\t\t\t\t\t\t\t\t\t(this.Mleft + this.XIncase) +\r\n\t\t\t\t\t\t\t\t\t',' +\r\n\t\t\t\t\t\t\t\t\t(this.Mtop + this.YIncase * curYIndex) +\r\n\t\t\t\t\t\t\t\t\t',' +\r\n\t\t\t\t\t\t\t\t\t(this.Mleft + this.XIncase * 2) +\r\n\t\t\t\t\t\t\t\t\t',' +\r\n\t\t\t\t\t\t\t\t\t(this.Mtop + this.YIncase * curYIndex)\r\n\t\t\t\t\t\t\tpathArr.push(path)\r\n\t\t\t\t\t\t\tcurYIndex++\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tlet obj = data[i]\r\n\t\t\t\t\tobj.style =\r\n\t\t\t\t\t\t\t'left:' +\r\n\t\t\t\t\t\t\t(this.Mleft + this.XIncase) +\r\n\t\t\t\t\t\t\t'px; top:' +\r\n\t\t\t\t\t\t\t(this.Mtop + this.YIncase * curYIndex - 19) +\r\n\t\t\t\t\t\t\t'px'\r\n\t\t\t\t\tobj.indexStr = '' + i\r\n\t\t\t\t\ttableArr.push(obj)\r\n\t\t\t\t\tlet path =\r\n\t\t\t\t\t\t\t'M' +\r\n\t\t\t\t\t\t\tthis.Mleft +\r\n\t\t\t\t\t\t\t',' +\r\n\t\t\t\t\t\t\tstartY1 +\r\n\t\t\t\t\t\t\t'C' +\r\n\t\t\t\t\t\t\tthis.Mleft +\r\n\t\t\t\t\t\t\t',' +\r\n\t\t\t\t\t\t\t(this.Mtop + this.YIncase * curYIndex) +\r\n\t\t\t\t\t\t\t',' +\r\n\t\t\t\t\t\t\tthis.Mleft +\r\n\t\t\t\t\t\t\t',' +\r\n\t\t\t\t\t\t\t(this.Mtop + this.YIncase * curYIndex) +\r\n\t\t\t\t\t\t\t',' +\r\n\t\t\t\t\t\t\t(this.Mleft + this.XIncase) +\r\n\t\t\t\t\t\t\t',' +\r\n\t\t\t\t\t\t\t(this.Mtop + this.YIncase * curYIndex)\r\n\t\t\t\t\tpathArr.push(path)\r\n\t\t\t\t\tcurYIndex++\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\t\t//获取条件总数\r\n\t\tgetyIncaseNum (data) {\r\n\t\t\tvar sum = 0\r\n\t\t\tfor (var i = 0; i < data.length; i++) {\r\n\t\t\t\tif (data[i].condition && data[i].condition.length > 0) {\r\n\t\t\t\t\tfor (var j = 0; j < data[i].condition.length; j++) {\r\n\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\t\tdata[i].condition[j].condition &&\r\n\t\t\t\t\t\t\t\tdata[i].condition[j].condition.length > 0\r\n\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\tfor (var z = 0; z < data[i].condition[j].condition.length; z++) {\r\n\t\t\t\t\t\t\t\tsum++\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tsum++\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tsum++\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn sum\r\n\t\t},\r\n\t\t//根据条件数组构建条件分支界面\r\n\t\tbuildConditionTree (data) {\r\n\r\n\t\t\tlet pathArr = []\r\n\t\t\tlet tableArr = []\r\n\t\t\tlet branchArr = []\r\n\t\t\tthis.buildData(data, pathArr, tableArr, branchArr)\r\n\t\t\tthis.pathList = pathArr\r\n\t\t\tthis.branchList = branchArr\r\n\t\t\tthis.tabList = tableArr\r\n\t\t\t//取路径最后一条数据,因为该条数据的高度距离顶部最大\r\n\t\t\tlet lastPath = pathArr[pathArr.length - 1]\r\n\t\t\tlet lastIndexArr = []\r\n\t\t\tif (lastPath) lastIndexArr = lastPath.split(',')\r\n\t\t\t//取最后一个坐标点。终点纵坐标为整个svg中最大的纵坐标\r\n\t\t\tlet lastYIndex = lastIndexArr[lastIndexArr.length - 1]\r\n\t\t\t//设置svg的高度为最大纵坐标+100,从而实现svg页面高度自适应\r\n\t\t\tif (lastYIndex) {\r\n\t\t\t\tthis.svgHeight = parseInt(lastYIndex) + 50 + 'px'\r\n\t\t\t}\r\n\t\t\tthis.createSvgHtml(pathArr)\r\n\t\t},\r\n\t\t//构建svg图形页面\r\n\t\tcreateSvgHtml (pathArr) {\r\n\t\t\tthis.svgHtml = ''\r\n\t\t\tvar html =\r\n\t\t\t\t\t''\r\n\t\t\tfor (var i = 0; i < pathArr.length; i++) {\r\n\t\t\t\thtml +=\r\n\t\t\t\t\t\t''\r\n\t\t\t}\r\n\t\t\thtml += ''\r\n\t\t\tthis.svgHtml = html\r\n\t\t},\r\n\t\taddCondition (indexStr) {\r\n\t\t\tvar data = this.conditionObj.condition\r\n\t\t\tif (indexStr == 'root') {\r\n\t\t\t\tdata.push(JSON.parse(JSON.stringify(this.defaultCondition)))\r\n\t\t\t} else {\r\n\t\t\t\tvar indexArr = []\r\n\t\t\t\tif (indexStr) indexArr = indexStr.split(',')\r\n\t\t\t\tfor (var i = 0; i < data.length; i++) {\r\n\t\t\t\t\tif (indexArr.length > 0 && i == indexArr[0]) {\r\n\t\t\t\t\t\tif (indexArr.length > 1) {\r\n\t\t\t\t\t\t\tfor (var j = 0; j < data[i].condition.length; j++) {\r\n\t\t\t\t\t\t\t\tif (j == indexArr[1]) {\r\n\t\t\t\t\t\t\t\t\tdata[i].condition[j].condition.push(\r\n\t\t\t\t\t\t\t\t\t\t\tJSON.parse(JSON.stringify(this.defaultCondition))\r\n\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\tbreak\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tdata[i].condition.push(\r\n\t\t\t\t\t\t\t\t\tJSON.parse(JSON.stringify(this.defaultCondition))\r\n\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tbreak\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tthis.conditionObj.condition = data\r\n\t\t\tthis.buildConditionTree(this.conditionObj)\r\n\t\t},\r\n\t\tremoveCondition (indexStr) {\r\n\t\t\tvar indexArr = []\r\n\t\t\tif (indexStr) indexArr = indexStr.split(',')\r\n\t\t\tif (indexArr.length > 0) {\r\n\t\t\t\tvar data = this.conditionObj.condition\r\n\t\t\t\tfor (var i = 0; i < data.length; i++) {\r\n\t\t\t\t\tif (i == indexArr[0]) {\r\n\t\t\t\t\t\tif (indexArr.length > 1) {\r\n\t\t\t\t\t\t\tfor (var j = 0; j < data[i].condition.length; j++) {\r\n\t\t\t\t\t\t\t\tif (j == indexArr[1]) {\r\n\t\t\t\t\t\t\t\t\tif (indexArr.length > 2) {\r\n\t\t\t\t\t\t\t\t\t\tfor (\r\n\t\t\t\t\t\t\t\t\t\t\t\tvar z = 0;\r\n\t\t\t\t\t\t\t\t\t\t\t\tz < data[i].condition[j].condition.length;\r\n\t\t\t\t\t\t\t\t\t\t\t\tz++\r\n\t\t\t\t\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\t\t\t\t\tif (z == indexArr[2]) {\r\n\t\t\t\t\t\t\t\t\t\t\t\tdata[i].condition[j].condition.splice(z, 1)\r\n\t\t\t\t\t\t\t\t\t\t\t\tbreak\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\t\tdata[i].condition.splice(j, 1)\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\tbreak\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tdata.splice(i, 1)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tbreak\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tthis.conditionObj.condition = data\r\n\t\t\t\tthis.buildConditionTree(this.conditionObj)\r\n\t\t\t}\r\n\t\t},\r\n\t\t//添加一个联合条件条件\r\n\t\taddUnionCondition (indexStr) {\r\n\t\t\tvar data = this.conditionObj.condition\r\n\t\t\tif (indexStr == 'root') {\r\n\t\t\t\tdata.push({junction: 'or', condition: []})\r\n\t\t\t} else {\r\n\t\t\t\tvar indexArr = []\r\n\t\t\t\tif (indexStr) indexArr = indexStr.split(',')\r\n\t\t\t\tfor (var i = 0; i < data.length; i++) {\r\n\t\t\t\t\tif (indexArr.length > 0 && i == indexArr[0]) {\r\n\t\t\t\t\t\tif (indexArr.length > 1) {\r\n\t\t\t\t\t\t\tfor (var j = 0; j < data[i].condition.length; j++) {\r\n\t\t\t\t\t\t\t\tif (j == indexArr[1]) {\r\n\t\t\t\t\t\t\t\t\tdata[i].condition[j].condition.push({\r\n\t\t\t\t\t\t\t\t\t\tjunction: 'or',\r\n\t\t\t\t\t\t\t\t\t\tcondition: []\r\n\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t\tbreak\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tdata[i].condition.push({junction: 'or', condition: []})\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tbreak\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tthis.conditionObj.condition = data\r\n\t\t\tthis.buildConditionTree(this.conditionObj)\r\n\t\t}\r\n\r\n\t}\r\n\r\n}\r\n",null]}