{"remainingRequest":"D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\thread-loader\\dist\\cjs.js!D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\babel-loader\\lib\\index.js!D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!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":["import \"core-js/modules/es6.function.name\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nimport req from \"@/request.js\";\nimport { mapState, mapActions } from \"vuex\";\nimport { Message } from 'element-ui';\nexport default {\n  name: \"FlowNodeBtns\",\n  components: {},\n  props: {\n    //任务节点信息\n    node: {\n      type: Object,\n      required: true\n    },\n    //流程配置信息\n    defConfigData: {\n      type: Object,\n      required: true\n    }\n  },\n  data: function data() {\n    return {\n      titleSetting: \"设置按钮\",\n      //某个节点按钮的标题\n      nodeBtns: [],\n      //单个节点按钮的配置信息\n      dialogVisibleSetting: false,\n      //是否显示设置节点按钮侧边栏\n      buttonList: [],\n      //节点按钮已有的按钮\n      buttonNoInitList: [],\n      //节点按钮可新增的按钮\n      btn: {},\n      //单个节点按钮的配置信息\n      cmOptions1: {\n        value: \"\",\n        mode: \"vue\",\n        readOnly: false,\n        smartIndent: true,\n        tabSize: 1,\n        theme: 'base16-light',\n        lineNumbers: true,\n        line: true\n      },\n      cmOptions2: {\n        value: \"\",\n        mode: \"groovy\",\n        readOnly: false,\n        smartIndent: true,\n        tabSize: 1,\n        theme: 'base16-light',\n        lineNumbers: true,\n        line: true\n      },\n      showCodeEdie: true,\n      codemirrorStyle: 'width:' + ((document.body.clientWidth * 0.7 - 40) * 0.63 - 180) + 'px'\n    };\n  },\n  methods: {\n    //判断按钮是否已经存在。\n    isAliasExist: function isAliasExist(nBtn) {\n      for (var i = 0, btn; btn = this.buttonList[i++];) {\n        if (btn.alias == nBtn.alias && this.btn !== btn) {\n          return true;\n        }\n      }\n\n      return false;\n    },\n    //选择节点按钮可新增的按钮时\n    changeButtonType: function changeButtonType(obj) {\n      if (obj.alias) {\n        var rtn = this.isAliasExist(obj);\n\n        if (rtn) {\n          obj.alias = \"\";\n          Message.warning(\"新增的按钮已存在\");\n          return;\n        }\n\n        obj.status = 1;\n        obj.name = this.getName(obj.alias);\n      } else {\n        obj.status = 2;\n      }\n    },\n    //根据按钮别名获取按钮名称\n    getName: function getName(alias) {\n      for (var i = 0; i < this.buttonNoInitList.length; i++) {\n        var obj = this.buttonNoInitList[i];\n\n        if (alias == obj.alias) {\n          return obj.name;\n        }\n      }\n\n      return \"\";\n    },\n    //点击列表某一条数据时触发  groovyScript beforeScript\n    orgRowClick: function orgRowClick(row, column, event) {\n      if (column.label != \"操作\") {\n        row.groovyScript = row.groovyScript || '';\n        row.beforeScript = row.beforeScript || '';\n        var this_ = this;\n        this.showCodeEdie = false;\n        setTimeout(function () {\n          this_.$set(this_, 'btn', row);\n          this_.showCodeEdie = true;\n        }, 50);\n      }\n    },\n    //保存按钮\n    saveButton: function saveButton() {\n      var this_ = this;\n      this_.$validator.validateAll(\"settingSave\").then(function (result) {\n        if (result) {\n          var param = {\n            nodeId: this_.node.nodeId,\n            defId: this_.defConfigData.initData.bpmDefLayout.defId //流程定义ID\n\n          };\n          param.btns = this_.buttonList; //任务的节点按钮\n\n          var btnArr = [];\n\n          for (var i = 0, b; b = param.btns[i++];) {\n            if (b.alias && b.name) {\n              if (b.alias == 'reject' && !b.rejectMode) {\n                Message.warning(\"驳回按钮中的驳回模式至少选择一种\");\n                return;\n              }\n\n              delete b.status;\n              btnArr.push(b);\n            }\n          }\n\n          param.btns = btnArr; //保存节点按钮\n\n          req.post(\"${bpmModel}/flow/def/v1/saveNodeBtns\", param).then(function (res) {\n            if (res.data.state) {\n              Message.success(res.data.message);\n              this_.dialogVisibleSetting = false; //关闭侧边栏\n\n              this_.nodeBtns = [].concat(btnArr);\n            }\n          });\n        } else {\n          var arr = this_.$validator.errors.items.filter(function (item) {\n            return item.scope == \"settingSave\";\n          });\n          var errorLength = arr.length;\n          this_.$message({\n            showClose: true,\n            message: \"\\u6709\".concat(errorLength, \"\\u4E2A\\u5B57\\u6BB5\\u672A\\u901A\\u8FC7\\u6821\\u9A8C\\uFF0C\\u8BF7\\u6B63\\u786E\\u586B\\u5199\\u8868\\u5355\\u5185\\u5BB9\\u3002\"),\n            type: \"warning\"\n          });\n        }\n      });\n    },\n    //新增按钮\n    addButton: function addButton() {\n      var btn = {\n        name: \"\",\n        alias: \"\",\n        status: 2,\n        supportScript: true\n      };\n      this.buttonList.push(btn);\n      this.btn = btn;\n    },\n    //编辑任务节点按钮\n    editBtns: function editBtns(nodeId) {\n      this.dialogVisibleSetting = true; //显示设置节点按钮侧边栏\n\n      this.titleSetting = \"设置按钮-\" + this.node.name + \"(\" + this.node.nodeId + \")\"; //设置某个节点按钮的标题\n\n      this.getButtons(1); //获取已有的按钮\n\n      this.getButtons(2); //获取节点按钮可新增的按钮\n    },\n    //获取节点按钮  type：0-初始化的按钮，1-已有的按钮，2-可新增的按钮\n    getButtons: function getButtons(action) {\n      var this_ = this;\n      var defId = this_.defConfigData.initData.bpmDefLayout.defId; //流程定义ID\n\n      req.post(\"${bpmModel}/flow/def/v1/getNodeSet?defId=\" + defId + \"&nodeId=\" + this_.node.nodeId + \"&action=\" + action).then(function (data) {\n        data = data.data; //屏蔽一些多余的按钮配置\n\n        for (var i = data.length - 1; i >= 0; i--) {\n          if (data[i].alias == \"commu\" || data[i].alias == \"startCommu\" || data[i].alias == \"instanceTrans\" || data[i].alias == \"backToStart\") {\n            data.splice(i, 1);\n          }\n        }\n\n        if (action == 2) {\n          this_.setStatus(data, 2);\n          this_.buttonNoInitList = data;\n        } else if (action == 1) {\n          this_.setStatus(data, 1);\n          this_.buttonList = data;\n        } else if (action == 0) {\n          this_.setStatus(data, 0);\n          this_.buttonList = data;\n          this_.btn = {}; //清空单个节点按钮的配置信息\n\n          Message.success(\"初始化成功\");\n        }\n      });\n    },\n    //按钮状态 0-初始化的按钮，1-已有的按钮，2-可新增的按钮\n    setStatus: function setStatus(data, status) {\n      for (var i = 0; i < data.length; i++) {\n        data[i].status = status;\n      }\n    },\n    //关闭设置节点按钮列弹框\n    close: function close() {\n      this.dialogVisibleSetting = false;\n    },\n    //删除按钮\n    deleteSetting: function deleteSetting(list, index) {\n      list.splice(index, 1);\n      this.btn = {}; //清空单个节点按钮的配置信息\n    }\n  },\n  mounted: function mounted() {\n    this.$validator = this.$root.$validator;\n    this.nodeBtns = this.defConfigData.nodeSetData.nodeBtnMap[this.node.nodeId]; //获取单个节点按钮的配置信息\n  }\n};",null]}