{"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\\flow\\FlowNodeBtns.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\src\\components\\flow\\FlowNodeBtns.vue","mtime":1675071991803},{"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\r\nimport req from \"@/request.js\";\r\nimport { mapState, mapActions } from \"vuex\";\r\nimport { Message } from 'element-ui';\r\nexport default {\r\n name:\"FlowNodeBtns\",\r\n components: {},\r\n props: {\r\n //任务节点信息\r\n node:{\r\n type: Object,\r\n required: true\r\n },\r\n //流程配置信息\r\n defConfigData:{\r\n type: Object,\r\n required: true\r\n },\r\n },\r\n data() {\r\n return {\r\n titleSetting:\"设置按钮\",//某个节点按钮的标题\r\n nodeBtns:[],//单个节点按钮的配置信息\r\n dialogVisibleSetting:false,//是否显示设置节点按钮侧边栏\r\n buttonList:[],//节点按钮已有的按钮\r\n buttonNoInitList:[],//节点按钮可新增的按钮\r\n btn:{},//单个节点按钮的配置信息\r\n cmOptions1: {\r\n value: \"\",\r\n mode: \"vue\",\r\n readOnly: false,\r\n smartIndent:true,\r\n tabSize: 1,\r\n theme: 'base16-light',\r\n lineNumbers: true,\r\n line: true,\r\n },\r\n cmOptions2: {\r\n value: \"\",\r\n mode: \"groovy\",\r\n readOnly: false,\r\n smartIndent:true,\r\n tabSize: 1,\r\n theme: 'base16-light',\r\n lineNumbers: true,\r\n line: true,\r\n },\r\n showCodeEdie:true,\r\n codemirrorStyle:'width:'+((document.body.clientWidth*0.7-40)*0.63-180)+'px',\r\n };\r\n },\r\n methods: {\r\n //判断按钮是否已经存在。\r\n isAliasExist(nBtn){\r\n for(let i=0,btn;btn=this.buttonList[i++];){\r\n if(btn.alias==nBtn.alias && this.btn !== btn){\r\n return true;\r\n }\r\n }\r\n return false;\r\n },\r\n //选择节点按钮可新增的按钮时\r\n changeButtonType(obj){\r\n if(obj.alias){\r\n let rtn=this.isAliasExist(obj);\r\n if(rtn){\r\n obj.alias=\"\";\r\n Message.warning(\"新增的按钮已存在\");\r\n return;\r\n }\r\n obj.status=1;\r\n obj.name=this.getName(obj.alias);\r\n }\r\n else{\r\n obj.status=2;\r\n }\r\n },\r\n //根据按钮别名获取按钮名称\r\n getName(alias){\r\n for(let i=0;i {\r\n if (result) {\r\n let param = {\r\n nodeId:this_.node.nodeId,\r\n defId:this_.defConfigData.initData.bpmDefLayout.defId//流程定义ID\r\n };\r\n param.btns = this_.buttonList;//任务的节点按钮\r\n let btnArr=[]\r\n for(let i=0,b;b=param.btns[i++];){\r\n if(b.alias && b.name){\r\n if(b.alias == 'reject' && !b.rejectMode ){\r\n Message.warning(\"驳回按钮中的驳回模式至少选择一种\");\r\n return ;\r\n }\r\n delete b.status;\r\n btnArr.push(b);\r\n }\r\n }\r\n param.btns=btnArr;\r\n //保存节点按钮\r\n req.post(\"${bpmModel}/flow/def/v1/saveNodeBtns\",param).then(res=>{\r\n if(res.data.state){\r\n Message.success(res.data.message);\r\n this_.dialogVisibleSetting = false;//关闭侧边栏\r\n this_.nodeBtns = [...btnArr];\r\n }\r\n });\r\n } else {\r\n let arr = this_.$validator.errors.items.filter(item=>item.scope==\"settingSave\");\r\n let errorLength = arr.length;\r\n this_.$message({\r\n showClose: true,\r\n message: `有${errorLength}个字段未通过校验,请正确填写表单内容。`,\r\n type: \"warning\"\r\n });\r\n }\r\n });\r\n },\r\n //新增按钮\r\n addButton(){\r\n let btn = {name:\"\",alias:\"\",status:2,supportScript:true};\r\n this.buttonList.push(btn);\r\n this.btn =btn;\r\n },\r\n //编辑任务节点按钮\r\n editBtns(nodeId){\r\n this.dialogVisibleSetting = true;//显示设置节点按钮侧边栏\r\n this.titleSetting = \"设置按钮-\"+this.node.name+\"(\"+this.node.nodeId+\")\";//设置某个节点按钮的标题\r\n this.getButtons(1);//获取已有的按钮\r\n this.getButtons(2);//获取节点按钮可新增的按钮\r\n },\r\n //获取节点按钮 type:0-初始化的按钮,1-已有的按钮,2-可新增的按钮\r\n getButtons(action){\r\n const this_ = this;\r\n let defId = this_.defConfigData.initData.bpmDefLayout.defId;//流程定义ID\r\n req.post(\"${bpmModel}/flow/def/v1/getNodeSet?defId=\"+defId+\"&nodeId=\"+this_.node.nodeId+\"&action=\"+action).then(function(data){\r\n data = data.data\r\n //屏蔽一些多余的按钮配置\r\n for(let i=data.length-1;i>=0;i--){\r\n if(data[i].alias==\"commu\" || data[i].alias==\"startCommu\"\r\n || data[i].alias==\"instanceTrans\" || data[i].alias==\"backToStart\"){\r\n data.splice(i,1);\r\n }\r\n }\r\n if(action==2){\r\n this_.setStatus(data,2);\r\n this_.buttonNoInitList=data;\r\n }else if(action==1){\r\n this_.setStatus(data,1);\r\n this_.buttonList=data;\r\n }else if(action==0){\r\n this_.setStatus(data,0);\r\n this_.buttonList=data;\r\n this_.btn={};//清空单个节点按钮的配置信息\r\n Message.success(\"初始化成功\");\r\n }\r\n });\r\n },\r\n //按钮状态 0-初始化的按钮,1-已有的按钮,2-可新增的按钮\r\n setStatus(data,status){\r\n for(let i=0;i