{"remainingRequest":"D:\\jenkins\\workspace\\xq-web-fvue\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\xq-web-fvue\\src\\components\\flow\\myRequest.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\xq-web-fvue\\src\\components\\flow\\myRequest.vue","mtime":1667327529403},{"path":"D:\\jenkins\\workspace\\xq-web-fvue\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"D:\\jenkins\\workspace\\xq-web-fvue\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\xq-web-fvue\\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\r\nimport {mapState, mapActions} from 'vuex'\r\nimport FlowTree from '@/components/flow/flowTree.vue'\r\nimport utils from '@/utils.js'\r\nimport process from '@/api/process.js'\r\nimport TaskImage from \"@/components/flow/task/taskImage.vue\";\r\nconst MY_REQUEST_STATUS = {\r\n  revoke: '撤回',\r\n  revokeToStart: '撤回到发起人',\r\n  draft: '草稿',\r\n  running: '运行中',\r\n  end: '结束',\r\n  manualend: '人工结束',\r\n  back: '驳回',\r\n  backToStart: '驳回到发起人'\r\n}\r\n\r\nexport default {\r\n  name: 'myRequest',\r\n  components: {\r\n    FlowTree,\r\n    TaskImage\r\n  },\r\n  props: {\r\n    defKey: {\r\n      type: String,\r\n      default: ''\r\n    }\r\n  },\r\n  data() {\r\n    return {\r\n      myRequestStatus:MY_REQUEST_STATUS,\r\n      isAsideShow: false,\r\n      asideShow: false,\r\n      form: {tableData: '', date: '', statusData: ''},\r\n      fullscreenLoading: true,\r\n      dialogFormVisible: false,\r\n      opinion: '',\r\n      currentTree: '',\r\n      id: '',\r\n      statusData: '',\r\n      options: [\r\n        {\r\n          value: '',\r\n          label: '请选择状态'\r\n        },\r\n        {\r\n          value: 'revoke',\r\n          label: '撤回'\r\n        },\r\n        {\r\n          value: 'draft',\r\n          label: '草稿'\r\n        },\r\n        {\r\n          value: 'back',\r\n          label: '驳回'\r\n        },\r\n        {\r\n          value: 'end',\r\n          label: '结束'\r\n        },\r\n        {\r\n          value: 'running',\r\n          label: '运行中'\r\n        }\r\n      ],\r\n      showOperation:false,\r\n      selectInstanceId:\"\",\r\n      selectDefId:\"\",\r\n      selectBpmnInstId:\"\",\r\n\r\n    }\r\n  },\r\n  computed: {\r\n    ...mapState('storeProcess', ['rows', 'pagination', 'total']),\r\n    currentSwitchValue() {\r\n      return (\r\n        localStorage.myRequestAsideShow === 'true' ||\r\n        localStorage.myRequestAsideShow === true\r\n      )\r\n    }\r\n  },\r\n  methods: {\r\n    //将当前展开或者收起的值存在localStorage中\r\n    handleSwitch(val) {\r\n      localStorage.myRequestAsideShow = val\r\n    },\r\n    //选择状态查询\r\n    statusChange(value) {\r\n      this.form.statusData = value\r\n      this.search('find')\r\n    },\r\n    handleClose(done) {\r\n      this.dialogFormVisible = true\r\n    },\r\n    //逻辑删除流程实例\r\n    deleteBpm(id) {\r\n      this.$confirm('确认删除此流程?', '提示', {\r\n        cancelButtonText: '取消',\r\n        confirmButtonText: '确定',\r\n        type: 'warning',\r\n        closeOnClickModal: false\r\n      }).then(() => {\r\n        this.$store.dispatch('storeProcess/restore', id).then(() => {\r\n          this.search('find')\r\n        })\r\n      })\r\n    },\r\n    //终止流程\r\n    doEndProcessById(id) {\r\n      this.$confirm('确认终止此流程?', '提示', {\r\n        cancelButtonText: '取消',\r\n        confirmButtonText: '确定',\r\n        type: 'warning',\r\n        closeOnClickModal: false\r\n      }).then(() => {\r\n        this.$store.dispatch('storeProcess/doEndProcessById', id).then(() => {\r\n          this.search('find')\r\n        })\r\n      })\r\n    },\r\n    //删除草稿\r\n    deleteDraft(id) {\r\n      this.$store.dispatch('storeProcess/removeDraftById', id).then(() => {\r\n        this.search('find')\r\n      })\r\n    },\r\n    //撤回到发起人\r\n    handleRevoke(id, status) {\r\n      if (status == 'revokeToStart') {\r\n        this.$message.warning('已撤回，不能再撤回')\r\n        return false\r\n      }\r\n      this.dialogFormVisible = true\r\n      this.id = id\r\n    },\r\n    saveRevoke() {\r\n      if (this.opinion == '') {\r\n        this.$message.warning('请填写撤回意见')\r\n        return false\r\n      }\r\n      let data = {\r\n        instanceId: this.id,\r\n        isHandRevoke: false,\r\n        cause: this.opinion\r\n      }\r\n      this.$store.dispatch('storeProcess/revokeInstance', data).then(() => {\r\n        this.dialogFormVisible = false\r\n        this.opinion = ''\r\n        this.search()\r\n      })\r\n    },\r\n    exitRevoke() {\r\n      this.dialogFormVisible = false\r\n      this.opinion = ''\r\n    },\r\n    //Loading 加载中\r\n    openFullScreen() {\r\n      this.fullscreenLoading = true\r\n    },\r\n    handleSizeChange: function(size) {\r\n      //每页下拉显示数据\r\n      this.$store.dispatch('storeProcess/setPaginationSize', size)\r\n      this.search()\r\n    },\r\n    handleCurrentChange: function(currentPage) {\r\n      //点击第几页\r\n      this.$store.dispatch('storeProcess/setPaginationPageNum', currentPage)\r\n      this.search()\r\n    },\r\n    //回车查询\r\n    searchEnterFun: function(e) {\r\n      var keyCode = window.event ? e.keyCode : e.which\r\n      if (keyCode == 13) {\r\n        this.search('find')\r\n      }\r\n    },\r\n    // 查询\r\n    search(str) {\r\n      this.openFullScreen()\r\n      if (str == 'find') {\r\n        this.$store.dispatch('storeProcess/setPaginationPageNum', 1)\r\n      }\r\n      let querys = [] //查询条件\r\n      let queryFilter = {}\r\n      let pageBean = {pageBean: this.pagination}\r\n      let beginDate = '' //开始时间\r\n      let endDate = '' //结束时间\r\n      let group = 'main' //判断条件\r\n      if (\r\n        this.form.tableData == '' &&\r\n        this.form.statusData == '' &&\r\n        (this.form.date == '' || this.form.date == null)\r\n      ) {\r\n        if (this.currentTree != '') {\r\n          querys = [\r\n            {\r\n              property: 'type_id_',\r\n              value: this.currentTree,\r\n              group: 'typeId',\r\n              operation: 'IN',\r\n              relation: 'AND'\r\n            }\r\n          ]\r\n        }\r\n      } else {\r\n        if (\r\n          this.form.tableData != '' &&\r\n          this.form.statusData != '' &&\r\n          this.form.date != '' &&\r\n          this.form.date != null\r\n        ) {\r\n          group = 'time'\r\n        }\r\n        if (this.form.date != null && this.form.date != '') {\r\n          beginDate = utils.formatDate(this.form.date[0].getTime())\r\n          endDate = utils.formatDate(this.form.date[1].getTime())\r\n        }\r\n        if (this.form.tableData) {\r\n          querys.push({\r\n            property: 'proc_def_name_',\r\n            value: this.form.tableData,\r\n            group: 'main',\r\n            operation: 'LIKE',\r\n            relation: 'OR'\r\n          })\r\n          querys.push({\r\n            property: 'subject_',\r\n            value: this.form.tableData,\r\n            group: 'main',\r\n            operation: 'LIKE',\r\n            relation: 'OR'\r\n          })\r\n          querys.push({\r\n            property: 'bpm_pro_inst.id_',\r\n            value: this.form.tableData,\r\n            group: 'main',\r\n            operation: 'LIKE',\r\n            relation: 'OR'\r\n          })\r\n        }\r\n        if (beginDate && endDate) {\r\n          querys.push({\r\n            property: 'create_time_',\r\n            value: [beginDate, endDate],\r\n            group: group,\r\n            operation: 'BETWEEN',\r\n            relation: 'AND'\r\n          })\r\n        }\r\n\r\n        if (this.form.statusData) {\r\n          querys.push({\r\n            property: 'status_',\r\n            value: this.form.statusData,\r\n            group: 'status',\r\n            operation: 'LIKE',\r\n            relation: 'AND'\r\n          })\r\n        }\r\n\r\n        if (this.currentTree) {\r\n          querys.push({\r\n            property: 'type_id_',\r\n            value: this.currentTree,\r\n            group: 'typeId',\r\n            operation: 'IN',\r\n            relation: 'AND'\r\n          })\r\n        }\r\n      }\r\n      if (this.defKey) {\r\n        querys.push({\r\n          property: 'proc_def_key_',\r\n          value: this.defKey,\r\n          operation: 'EQUAL',\r\n          relation: 'AND'\r\n        })\r\n      }\r\n      queryFilter = {pageBean: this.pagination, querys}\r\n      this.$store\r\n        .dispatch('storeProcess/getMyRequestByPagination', queryFilter)\r\n        .then(() => {\r\n          this.fullscreenLoading = false\r\n        })\r\n    },\r\n    //重置\r\n    reset() {\r\n      this.form = {tableData: '', date: '', statusData: ''}\r\n      this.search('find')\r\n    },\r\n    handleRowClick(row,newWin) {\r\n      if (this.defKey){\r\n        this.handleOpenUrl('/sysModuleInst/' + row.id+ '/request/'+this.defKey,newWin);\r\n      }\r\n      if (row.status == 'draft') {\r\n        this.handleOpenUrl('/start/' + row.procDefId + '/' + row.id,newWin)\r\n      } else if (row.status == 'end' || row.status == 'manualend') {\r\n        this.handleOpenUrl('/instRead/' + row.id + '/myRequest',newWin)\r\n      } else {\r\n        this.handleOpenUrl('/inst/' + row.id + '/request',newWin)\r\n      }\r\n    },\r\n    handleOpenUrl(url,newWin){\r\n      if(!newWin){\r\n        this.$router.push(url);\r\n        return ;\r\n      }\r\n      if(!url){\r\n        return ;\r\n      }\r\n      let token = this.$store.state.login.currentUser.token;\r\n      if(!url.toLowerCase().startsWith(\"http\")){\r\n        url = window.context.front + url;\r\n      }\r\n      if(url.indexOf('?') == -1){\r\n        url = url + \"?token=\" + token;\r\n      }else{\r\n        url = url + \"&token=\" + token;\r\n      }\r\n      window.open(url,\"_blank\");\r\n    },\r\n    //子组件传值父组件(我的请求分类查询)\r\n    getCurrent(data) {\r\n      if (data.id == 6) {\r\n        this.openFullScreen()\r\n        this.currentTree = ''\r\n        let pageBean = {pageBean: this.pagination}\r\n        this.$store\r\n          .dispatch('storeProcess/getMyRequestByPagination', pageBean)\r\n          .then(() => {\r\n            //页面加载调用myRequest.js里面的分页方法\r\n            this.fullscreenLoading = false\r\n          })\r\n      } else {\r\n        let ids = []\r\n        this.getFlowTrees(data, ids)\r\n        this.currentTree = ids.join(',')\r\n        this.search('find')\r\n      }\r\n    },\r\n    getFlowTrees(data, ids) {\r\n      ids.push(data.id)\r\n      let arr = data.children\r\n      for (var i = 0; i < arr.length; i++) {\r\n        this.getFlowTrees(arr[i], ids)\r\n      }\r\n    },\r\n    loadCount() {\r\n      let pageBean = {}\r\n      return process.getMyRequestCount(pageBean)\r\n    },\r\n    checkOperationShow(data){\r\n      //draft manualend revokeToStart backToStart back revokeToStart backToStart back(&&backToStart==true)\r\n      //是否显示操作列\r\n      if(!data || data.length == 0){\r\n        this.showOperation = false;\r\n        return;\r\n      }\r\n      let arr = [\"draft\",\"manualend\",\"revokeToStart\",\"backToStart\",\"revokeToStart\"];\r\n      for(let i = 0 ; i < data.length;i++ ){\r\n        let row = data[i];\r\n        if((row.status == 'back' && row.backToStart == true) || arr.includes(row.status)){\r\n          this.showOperation = true;\r\n          return ;\r\n        }\r\n      }\r\n      this.showOperation = false;\r\n\r\n    },\r\n    async handleShowTaskImage(row) {\r\n      await this.changeSeletion(row);\r\n      this.$refs.taskImage.handleOpen();\r\n    },\r\n    changeSeletion(row) {\r\n      this.selectInstanceId = row.id;\r\n      this.selectBpmnInstId = row.bpmnInstId;\r\n    },\r\n  },\r\n  created() {\r\n    this.asideShow = this.currentSwitchValue\r\n    this.isAsideShow = this.currentSwitchValue\r\n    let querys = []\r\n    if (this.defKey) {\r\n      querys.push({\r\n        property: 'proc_def_key_',\r\n        value: this.defKey,\r\n        operation: 'EQUAL',\r\n        relation: 'AND'\r\n      })\r\n    }\r\n    let pageBean = {\r\n      pageBean: {page: '1', pageSize: '10', showTotal: 'true'},\r\n      querys\r\n    } //初次加载默认pageBean\r\n    this.$store\r\n      .dispatch('storeProcess/getMyRequestByPagination', pageBean)\r\n      .then(() => {\r\n        //页面加载调用myRequest.js里面的分页方法\r\n        this.fullscreenLoading = false\r\n      })\r\n  },\r\n  watch: {\r\n    rows(newValue, oldValue) {\r\n      this.checkOperationShow(newValue);\r\n    }\r\n  },\r\n}\r\n",null]}