{"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]}