{"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\\FlowEditBoSetting.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\src\\components\\flow\\FlowEditBoSetting.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/web.dom.iterable\";\nimport \"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//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\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 { Message } from 'element-ui';\nimport req from '@/request.js';\n\nvar eipScriptDialog = function eipScriptDialog() {\n  return import('@/components/dialog/EipScriptDialog.vue');\n};\n\nvar FlowVarSelector = function FlowVarSelector() {\n  return import('@/components/flow/FlowVarSelector.vue');\n};\n\nvar FlowConditionBuildDialog = function FlowConditionBuildDialog() {\n  return import('@/components/flow/FlowConditionBuildDialog.vue');\n};\n\nexport default {\n  name: 'FlowEditBoSetting',\n  components: {\n    FlowVarSelector: FlowVarSelector,\n    FlowConditionBuildDialog: FlowConditionBuildDialog,\n    eipScriptDialog: eipScriptDialog\n  },\n  props: {\n    defId: {\n      type: String,\n      required: true\n    }\n  },\n  data: function data() {\n    return {\n      tabType: 'beforeShow',\n      treeData: [],\n      //树数据\n      defaultProps: {\n        children: 'children',\n        label: 'desc'\n      },\n      dialogVisibleSetting: false,\n      //是否显示Bo任务节点设置\n      selectedNode: '',\n      //选择的节点\n      nodeDefList: [],\n      //可选择的节点\n      nodeSetMap: {},\n      //节点设置的数据\n      isClearForm: false,\n      //是否清空已配置的表单\n      data: {\n        bodef: {\n          boSaveMode: 'database',\n          boDefs: []\n        }\n      },\n      dataDialog: {\n        beforeShow: '',\n        whenSave: '',\n        defKey: '',\n        description: ''\n      },\n      //Bo任务节点设置对话框返回的值\n      isEdit: false,\n      //是否是点击修改按钮进入的Bo任务节点设置对话框,\n      curEditIndex: null,\n      curEditNodeId: ''\n    };\n  },\n  methods: {\n    //Bo任务节点设置对话框确认事件\n    saveDataDialog: function saveDataDialog() {\n      if (!this.dataDialog.description) {\n        this.$message.warning('请输入描述');\n        return;\n      } //判断是否是修改\n\n\n      if (!this.isEdit) {\n        //不是修改\n        var list = this.nodeSetMap[this.selectedNode];\n\n        if (!list) {\n          this.nodeSetMap[this.selectedNode] = [];\n          list = this.nodeSetMap[this.selectedNode];\n        }\n\n        list.push(this.dataDialog);\n        this.isEdit = false;\n      } else {\n        this.nodeSetMap[this.curEditNodeId].splice(this.curEditIndex, 1, this.dataDialog);\n      }\n\n      this.dialogVisibleSetting = false;\n    },\n    //监督可选变量的返回值(显示前)\n    varTreeBeforeShow: function varTreeBeforeShow(data) {\n      this.dataDialog.beforeShow = this.dataDialog.beforeShow + data.pathValue;\n    },\n    //监督可选变量的返回值(保存时)\n    varTreeWhenSave: function varTreeWhenSave(data) {\n      this.dataDialog.whenSave = this.dataDialog.whenSave + data.pathValue;\n    },\n    //显示常用脚本\n    showDialog: function showDialog(action) {\n      this.$refs[action].showDialog();\n    },\n    //树鼠标左击事件(treeNode:当前节点对象，node：可以拿到父节点对象)\n    handleNodeClick: function handleNodeClick(treeNode, node, nodeCompent) {\n      var def;\n      var pDef; //父定义\n\n      if (!treeNode.nodeType || treeNode.nodeType == 'main') {\n        return;\n      }\n\n      if (treeNode.nodeType == 'field') {\n        def = node.parent;\n      } else {\n        def = node;\n      }\n\n      if (def.data.nodeType == 'sub') {\n        pDef = def.parent;\n      }\n\n      if (!this.dataDialog.description) {\n        this.dataDialog.description = treeNode.desc;\n      }\n\n      var txt = '';\n\n      if (treeNode.nodeType == 'field') {\n        //字段\n        if (!pDef) {\n          //主表字段\n          pDef = def;\n          txt = pDef.data.boDefAlias + '.get(\"data\").put(\"' + treeNode.name + '\",\"\");';\n        } else {\n          //子表字段\n          if (this.tabType == 'beforeShow') {\n            if (pDef.data.nodeType == 'sub') {\n              //孙表\n              var rootDef = pDef.parent;\n              txt += '//设置新增孙表的默认值\\n\\r';\n              txt += rootDef.data.boDefAlias + '.get(\"initDataMap\").get(\"' + pDef.data.name + '\").get(\"initData\").get(\"' + def.data.name + '\").put(\"' + treeNode.name + '\",\"\");';\n            } else {\n              txt += '//设置新增子表的默认值\\n\\r';\n              txt += pDef.data.boDefAlias + '.get(\"initDataMap\").get(\"' + def.data.name + '\").put(\"' + treeNode.name + '\",\"\");';\n            }\n          } else {\n            if (pDef.data.nodeType == 'sub') {\n              //孙表\n              var _rootDef = pDef.parent;\n              txt += '//设置已有子表某个字段的值,参数为(子表名，孙表名，孙表字段名，字段值，子表下标，孙表下标)或(子表名，孙表名，孙表字段名，字段值，子表下标)或(子表名，孙表名，孙表字段名，字段值)无下标每条数据都会修改\\n\\r';\n              txt += _rootDef.data.boDefAlias + '.setSunFiledVal(\"' + pDef.data.name + '\",\"' + def.data.name + '\",\"' + treeNode.name + '\",\"\",0,0);';\n            } else {\n              txt += '//设置已有子表某个字段的值,参数为(子表名，字段名，字段值，下标)或者(子表名，字段名，字段值)，无下标每条数据都会修改\\n\\r';\n              txt += pDef.data.boDefAlias + '.setSubFiledVal(\"' + def.data.name + '\",\"' + treeNode.name + '\",\"\",0);';\n            }\n          }\n        }\n      } else {\n        //子表\n        txt = 'ArrayNode list = ' + pDef.data.boDefAlias + '.getSubTableData(\"' + def.data.name + '\");';\n      }\n\n      if (this.tabType == 'beforeShow') {\n        //如果是显示前\n        this.dataDialog.beforeShow = this.dataDialog.beforeShow + txt;\n      } else if (this.tabType == 'whenSave') {\n        //如果是保存时\n        this.dataDialog.whenSave = this.dataDialog.whenSave + txt;\n      }\n\n      this.dataDialog.defKey = pDef.data.boDefAlias;\n    },\n    //根据任务节点ID获取任务节点名称\n    getDesc: function getDesc(nodeId) {\n      for (var i = 0; i < this.nodeDefList.length; i++) {\n        var tmp = this.nodeDefList[i];\n\n        if (tmp.nodeId == nodeId) {\n          return tmp.name + '(' + nodeId + ')';\n        }\n      }\n\n      return nodeId;\n    },\n    //添加\n    editNodeSet: function editNodeSet(editNodeId, index, nodeSet) {\n      var passConf = {};\n      passConf.node = this.selectedNode;\n      passConf.ids = '';\n      this.data.bodef.boDefs.forEach(function (item) {\n        if (passConf.ids != '') {\n          passConf.ids += ',';\n        }\n\n        passConf.ids += item.id;\n      }); //判断是否从编辑进来的\n\n      if (nodeSet) {\n        passConf.data = nodeSet;\n\n        for (var i = 0; i < this.nodeDefList.length; i++) {\n          var tmp = this.nodeDefList[i];\n\n          if (tmp.nodeId == nodeId) {\n            passConf.node = tmp;\n            break;\n          }\n        }\n\n        this.dataDialog = JSON.parse(JSON.stringify(nodeSet)); //给显示前和保存时的脚本内容赋值\n\n        this.curEditIndex = index;\n        this.curEditNodeId = editNodeId;\n        this.isEdit = true;\n      } else if (!nodeSet) {\n        this.isEdit = false;\n        this.dataDialog = {\n          beforeShow: '',\n          whenSave: '',\n          defKey: '',\n          description: ''\n        }; //初始化显示前和保存时的脚本内容\n      }\n\n      if (!passConf.ids) {\n        Message.warning('请在流程配置中先绑定表单');\n        return;\n      }\n\n      var nodeId = passConf.node.nodeId;\n      var this_ = this; //显示BO数据树\n\n      req.post('${form}/bo/def/v1/getBOTree', passConf.ids).then(function (res) {\n        this_.treeData = [];\n        this_.treeData.push(res.data);\n        this_.tabType = 'beforeShow';\n        this_.dialogVisibleSetting = true;\n      });\n    },\n    //保存\n    save: function save(isRest) {\n      var _this = this;\n\n      var data = this.data; //判断是否绑定表单\n\n      if (data.bodef.boDefs.length == 0) {\n        Message.warning('请在流程配置中先绑定表单');\n        return;\n      } // 拼装提交的数据\n\n\n      data.bodef.boDefs.forEach(function (item) {\n        item.key = item.alias;\n      });\n      data.formInitItems = [];\n\n      if (this.nodeSetMap.length != 0) {\n        var _loop = function _loop(key) {\n          var temp = {};\n          temp.nodeId = key;\n          temp.parentDefKey = '';\n          temp.saveFieldsSetting = [];\n          temp.showFieldsSetting = [];\n\n          _this.nodeSetMap[key].forEach(function (item) {\n            // 都为空就不保存\n            if (!item.beforeShow && !item.whenSave) {\n              return;\n            }\n\n            item.beforeShow = item.beforeShow ? item.beforeShow : '';\n            item.whenSave = item.whenSave ? item.whenSave : '';\n            var tmp = {};\n            tmp.boDefCode = item.defKey;\n            tmp.description = item.description;\n            tmp.setting = item.whenSave;\n            temp.saveFieldsSetting.push(tmp);\n            temp = JSON.parse(JSON.stringify(temp));\n            tmp.setting = item.beforeShow;\n            temp.showFieldsSetting.push(tmp);\n          });\n\n          data.formInitItems.push(temp);\n        };\n\n        for (var key in this.nodeSetMap) {\n          _loop(key);\n        }\n      }\n\n      var param = {};\n      param.json = JSON.stringify(data);\n      param.topDefKey = '';\n      param.flowId = this.defId;\n      param.isClearForm = this.isClearForm;\n      req.post('${bpmModel}/flow/def/v1/saveSetBos', param).then(function (r) {\n        r = r.data;\n        var opName = '保存';\n\n        if (isRest) {\n          opName = '重置';\n        }\n\n        if (r.state) {\n          Message.success(opName + '成功');\n        } else {\n          Message.error(opName + '失败');\n        }\n      });\n    },\n    //重置\n    reset: function reset() {\n      var _this2 = this;\n\n      this.$confirm('此操作将清除所有数据, 是否继续?', '提示', {\n        confirmButtonText: '确定',\n        cancelButtonText: '取消',\n        type: 'warning'\n      }).then(function () {\n        _this2.nodeSetMap = {};\n\n        _this2.save(true);\n      }).catch(function () {});\n    },\n    //关闭侧边栏\n    close: function close() {\n      this.dialogVisibleSetting = false;\n      this.isEdit = false;\n    },\n    //删除\n    deleteSetting: function deleteSetting(list, index) {\n      list.splice(index, 1);\n    }\n  },\n  mounted: function mounted() {\n    this.$loading();\n    this.$validator = this.$root.$validator;\n    var this_ = this;\n    var url = '${bpmModel}/flow/def/v1/nodeBos?defId=' + this.defId + '&topDefKey=';\n    req.get(url).then(function (data) {\n      data = data.data;\n\n      if (data.nodeDefList && data.nodeDefList.length > 0) {\n        data.nodeDefList.forEach(function (n) {\n          n.name += '（' + n.nodeId + '）';\n        });\n        this_.nodeDefList = data.nodeDefList;\n        this_.selectedNode = data.nodeDefList[0].nodeId; // 默认选一个\n      } // 初始化json的数据\n\n\n      if (data.json.bodef.boSaveMode) {\n        this_.data.bodef.boSaveMode = data.json.bodef.boSaveMode;\n      }\n\n      if (data.json.bodef) {\n        var _loop2 = function _loop2(x) {\n          var item = data.json.bodef.boDefs[x];\n          var temp = {};\n          temp.alias = item.key;\n          temp.name = item.name;\n          temp.scope = item.scope;\n          req.get('${form}/bo/def/v1/getObject?key=' + item.key).then(function (req) {\n            req = req.data;\n            temp.id = req.id;\n            this_.data.bodef.boDefs.push(temp); //最后一个索引的元素时关系加载框\n\n            if (x == data.json.bodef.boDefs.length - 1) {\n              this_.$loading().close();\n            }\n          });\n        };\n\n        for (var x = 0; x < data.json.bodef.boDefs.length; x++) {\n          _loop2(x);\n        }\n      }\n\n      if (data.json.formInitItems) {\n        data.json.formInitItems.forEach(function (item) {\n          for (var i = 0; i < item.saveFieldsSetting.length; i++) {\n            var temp = {};\n            var savet = item.saveFieldsSetting[i];\n            var showt = item.showFieldsSetting[i];\n            temp.description = savet.description;\n            temp.defKey = savet.boDefCode;\n            temp.beforeShow = showt.setting;\n            temp.whenSave = savet.setting;\n            var list = this_.nodeSetMap[item.nodeId];\n\n            if (!list) {\n              this_.nodeSetMap[item.nodeId] = [];\n              list = this_.nodeSetMap[item.nodeId];\n            }\n\n            list.push(temp);\n          }\n        });\n      }\n\n      this_.$loading().close();\n    });\n  }\n};",null]}