{"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\\todo.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\xq-web-fvue\\src\\components\\flow\\todo.vue","mtime":1667327529512},{"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//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\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 process from \"@/api/process\";\r\nimport FlowTree from \"@/components/flow/flowTree.vue\";\r\nimport utils from \"@/utils.js\";\r\nimport { Message } from \"element-ui\";\r\nimport TaskImage from \"@/components/flow/task/taskImage.vue\";\r\nimport TaskToCopyTo from \"@/components/flow/task/taskToCopyTo.vue\";\r\nimport eipOrgSelector from \"@/components/eipControl/selector/EipOrgSelector.vue\";\r\nimport req from \"@/request.js\";\r\nconst STATUS = {\r\n NORMAL: \"待办\",\r\n TRANSFORMED: \"流转\",\r\n TRANSFORMEDINQU: \"征询\",\r\n DELIVERTO: \"转办\",\r\n FOLLOW: \"跟踪\",\r\n COMMU: \"沟通\",\r\n BACK: \"驳回\",\r\n ADDSIGN: \"会签加签\",\r\n AGENT: \"委托\",\r\n SHARE: \"共享\",\r\n BACKSHARE: \"驳回共享\",\r\n APPROVELINEED: \"并行审批\",\r\n SIGNSEQUENCEED: \"顺序签署\",\r\n SIGNLINEED: \"并行签署\",\r\n USERADDSIGN:\"用户加签\",\r\n};\r\nexport default {\r\n name: \"todo\",\r\n components: {\r\n FlowTree,\r\n TaskToCopyTo,\r\n eipOrgSelector,\r\n TaskImage,\r\n },\r\n props: {\r\n defKey: {\r\n type: String,\r\n default: \"\",\r\n },\r\n orgName: { type: String, default: \"\" },\r\n orgId: { type: String, default: \"\" },\r\n },\r\n data() {\r\n return {\r\n isAsideShow:false,\r\n batchHandleIds: [],\r\n asideShow: false,\r\n form: { tableData: \"\", date: \"\", orgName: \"\", orgId: \"\" },\r\n status: STATUS,\r\n currentTree: \"\",\r\n fullscreenLoading: true,\r\n sorter: [],\r\n urgentStateConf: {},\r\n urgentStateConfList: [],\r\n urgentStateVal: \"\",\r\n ids: \"\", //待办任务id集合\r\n defaultFiledShowConf: \"\",\r\n defaultFiledShowConfList: [\r\n { name: \"subject\", desc: \"标题\", frontShow: true },\r\n { name: \"procInstId\", desc: \"流程编号\", frontShow: true },\r\n { name: \"procDefName\", desc: \"流程名称\", frontShow: true },\r\n { name: \"name\", desc: \"任务名称\", frontShow: true },\r\n { name: \"status\", desc: \"类型\", frontShow: true },\r\n { name: \"createTime\", desc: \"创建时间\", frontShow: true },\r\n { name: \"creator\", desc: \"创建人\", frontShow: true },\r\n { name: \"urgentStateValue\", desc: \"紧急状态\", frontShow: true },\r\n { name: \"dueExpDate\", desc: \"到期时间\", frontShow: false },\r\n { name: \"ownerName\", desc: \"所属人\", frontShow: false },\r\n { name: \"assigneeName\", desc: \"待审批人\", frontShow: false },\r\n { name: \"prop1\", desc: \"扩展1\", frontShow: false },\r\n { name: \"prop2\", desc: \"扩展2\", frontShow: false },\r\n { name: \"prop3\", desc: \"扩展3\", frontShow: false },\r\n { name: \"prop4\", desc: \"扩展4\", frontShow: false },\r\n { name: \"prop5\", desc: \"扩展5\", frontShow: false },\r\n { name: \"prop6\", desc: \"扩展6\", frontShow: false },\r\n ],\r\n selectInstanceId: \"\",\r\n selectBpmnInstId: \"\",\r\n selectDefId: \"\",\r\n batchDialogVisible: false,\r\n batchHandleSetting: {},\r\n batchResultDialog: false,\r\n batchCompleteList: [],\r\n batchFailedList: [],\r\n batchUnBatchableList: [],\r\n batchNotAuthList: [],\r\n failedMsgMap: {},\r\n batchSubmitBtnLoad: false,\r\n skipMsg:\"\",\r\n unBatchMsg:\"\"\r\n };\r\n },\r\n watch: {\r\n \"form.orgId\": {\r\n handler(newName, oldName) {\r\n this.search(\"find\");\r\n },\r\n immediate: true,\r\n },\r\n },\r\n computed: {\r\n ...mapState('storeProcess',['rows','pagination','total']),\r\n currentSwitchValue(){\r\n return localStorage.todoAsideShow === 'true' || localStorage.todoAsideShow === true\r\n }\r\n },\r\n created() {\r\n this.getTaskList();\r\n this.asideShow = this.currentSwitchValue\r\n this.isAsideShow = this.currentSwitchValue\r\n },\r\n methods: {\r\n //将当前展开或者收起的值存在localStorage中\r\n handleSwitch(val){\r\n localStorage.todoAsideShow = val\r\n },\r\n getTaskList() {\r\n this.$http\r\n .get(\r\n \"${portal}/sys/sysProperties/v1/getDecryptByAlias?alias=taskListFiledConf\"\r\n )\r\n .then((resp) => {\r\n let tempConf = {};\r\n if (resp.data) {\r\n tempConf = JSON.parse(resp.data.value);\r\n } else {\r\n tempConf = this.defaultFiledShowConfList;\r\n }\r\n this.formatConfListToObj(tempConf);\r\n });\r\n\r\n let querys = [];\r\n if (this.defKey) {\r\n querys.push({\r\n property: \"bt.proc_def_key_\",\r\n value: this.defKey,\r\n operation: \"EQUAL\",\r\n relation: \"AND\",\r\n });\r\n }\r\n //判断是否有URL传参\r\n if (this.orgName && this.orgId) {\r\n this.form.orgName = this.orgName;\r\n this.form.orgId = this.orgId;\r\n querys.push({\r\n group: \"orgId\",\r\n property: \"inst.CREATE_ORG_PATH_\",\r\n value: this.orgId,\r\n operation: \"LIKE\",\r\n relation: \"AND\",\r\n });\r\n }\r\n let pageBean = {\r\n pageBean: { page: \"1\", pageSize: \"10\", showTotal: \"true\" },\r\n querys: querys,\r\n }; //初次加载默认pageBean\r\n // this.$store\r\n // .dispatch(\"storeProcess/getUrgentStateConf\", { getConf: true })\r\n // .then(data => {\r\n this.$store\r\n .dispatch(\"storeProcess/getTodoByPagination\", pageBean)\r\n .then(() => {\r\n //页面加载调用tudo.js里面的分页方法\r\n this.fullscreenLoading = false;\r\n });\r\n // if (data.conf) {\r\n // try {\r\n // data.conf = JSON.parse(data.conf);\r\n // } catch (error) {\r\n // data.conf = eval(\"(\" + data.conf + \")\");\r\n // }\r\n // this.urgentStateConfList = data.conf;\r\n // let conf = {};\r\n // for (let index = 0, c; (c = data.conf[index++]); ) {\r\n // if (c.default) {\r\n // this.urgentStateConf.defaultValue = c.state;\r\n // }\r\n // conf[c.state] = c;\r\n // }\r\n // this.urgentStateConf.conf = conf;\r\n // }\r\n // });\r\n },\r\n rowClick(row, column, event) {\r\n //操作列不触发多选按钮\r\n if (column && column.label == \"流程图\") {\r\n return;\r\n }\r\n this.$refs.htTable.toggleRowSelection(row);\r\n },\r\n //流程传阅\r\n taskToCopyTo() {\r\n if (this.ids == \"\") {\r\n Message.warning(\"请选择要传阅的流程\");\r\n return;\r\n }\r\n this.$refs.taskToCopyTo.handleClose(); //父组件调用子组件方法\r\n },\r\n //批量勾选待办流程获取\r\n handleSelectionChange(val) {\r\n this.ids = \"\";\r\n if (val.length > 0) {\r\n for (let i = 0; i < val.length; i++) {\r\n this.ids = this.ids + val[i].id + \",\";\r\n }\r\n this.ids = this.ids.substring(0, this.ids.length - 1);\r\n }\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 handleSortChange: function (m) {\r\n this.sorter.splice(\r\n this.sorter.findIndex((s) => s.property == m.prop),\r\n 1\r\n );\r\n if (m.order) {\r\n this.sorter.push({\r\n property: m.prop,\r\n direction: m.order == \"ascending\" ? \"ASC\" : \"DESC\",\r\n });\r\n }\r\n this.search();\r\n },\r\n // 查询\r\n search(str) {\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 (this.form.tableData) {\r\n querys = [\r\n {\r\n property: \"bt.subject_\",\r\n value: this.form.tableData,\r\n group: \"main\",\r\n operation: \"LIKE\",\r\n relation: \"OR\",\r\n },\r\n {\r\n property: \"bt.proc_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 property: \"bt.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 {\r\n property: \"bt.name_\",\r\n value: this.form.tableData,\r\n group: \"main\",\r\n operation: \"LIKE\",\r\n relation: \"OR\",\r\n },\r\n ];\r\n let temp = querys[0];\r\n for (let index = 1; index < 7; index++) {\r\n let query = JSON.parse(JSON.stringify(temp));\r\n query.property = \"prop\" + index;\r\n querys.push(query);\r\n }\r\n }\r\n if (this.form.orgId) {\r\n querys.push({\r\n property: \"inst.CREATE_ORG_PATH_\",\r\n value: this.form.orgId,\r\n group: \"orgId\",\r\n operation: \"LIKE\",\r\n relation: \"AND\",\r\n });\r\n }\r\n if (this.currentTree) {\r\n querys.push({\r\n property: \"bt.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 if (this.defKey) {\r\n querys.push({\r\n property: \"bt.proc_def_key_\",\r\n value: this.defKey,\r\n operation: \"EQUAL\",\r\n relation: \"AND\",\r\n });\r\n }\r\n if (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 querys.push({\r\n property: \"bt.create_time_\",\r\n value: [beginDate, endDate],\r\n group: \"time\",\r\n operation: \"BETWEEN\",\r\n relation: \"AND\",\r\n });\r\n }\r\n queryFilter = { pageBean: this.pagination, querys, sorter: this.sorter };\r\n this.openFullScreen();\r\n this.$store\r\n .dispatch(\"storeProcess/getTodoByPagination\", queryFilter)\r\n .then(() => {\r\n this.fullscreenLoading = false;\r\n });\r\n },\r\n //重置\r\n reset() {\r\n this.form = { tableData: \"\", date: \"\", orgName: \"\", orgId: \"\" };\r\n this.search(\"find\");\r\n },\r\n handleRowClick(row,newWin) {\r\n if (row.status == \"SHARE\" || row.status == \"BACKSHARE\") {\r\n if (row.identityList && row.identityList.length == 1) {\r\n let url = \"/task/\" + row.id + \"/\" + row.identityList[0].id;\r\n this.handleOpenUrl(url,newWin);\r\n } else {\r\n let html =\r\n \"\";\r\n let this_ = this;\r\n this.$alert(html, \"请选择一个领导代为审批\", {\r\n dangerouslyUseHTMLString: true,\r\n beforeClose: function (action, instance, done) {\r\n if (action == \"confirm\") {\r\n let se = document.getElementById(\"approvalLeaderSelect\");\r\n if (se.selectedIndex == 0) {\r\n this.$message.warning(\"请选择代为审批的领导\");\r\n } else {\r\n instance.close();\r\n this_.handleOpenUrl(\r\n \"/task/\" + row.id + \"/\" + se[se.selectedIndex].value\r\n ,newWin\r\n );\r\n }\r\n } else {\r\n instance.close();\r\n }\r\n },\r\n });\r\n }\r\n } else if (\r\n row.status == \"AGENT\" &&\r\n row.ownerId != row.assigneeId &&\r\n row.ownerId == this.$store.state.login.currentUser.userId\r\n ) {\r\n //委托任务\r\n this.handleOpenUrl(\"/instRead/\" + row.procInstId + \"/agent\",newWin);\r\n } else if (row.status == \"FOLLOW\") {\r\n //跟踪任务\r\n this.handleOpenUrl(\"/taskRead/\" + row.id + \"/FOLLOW\",newWin);\r\n } else {\r\n let url = \"/task/\" + row.id + \"/0\";\r\n if (this.defKey) {\r\n url = \"/sysModuleInst/\" + row.id + \"/0\"+\"/\"+this.defKey+\"/true\";\r\n }\r\n this.handleOpenUrl(url,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.currentTree = \"\";\r\n this.openFullScreen();\r\n let pageBean = { pageBean: this.pagination };\r\n this.$store\r\n .dispatch(\"storeProcess/getTodoByPagination\", pageBean)\r\n .then(() => {\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 formatConfListToObj(tempList) {\r\n let editConfObj = {};\r\n tempList.forEach((c) => {\r\n let key = c.name;\r\n editConfObj[key] = c;\r\n });\r\n this.$set(this, \"defaultFiledShowConf\", editConfObj);\r\n },\r\n loadCount() {\r\n return process.getCountByUserId(this.pagination);\r\n },\r\n computeTime(deadline) {\r\n if (deadline) {\r\n let time = new Date(deadline).getTime();\r\n let nowTime = new Date().getTime();\r\n let duration = time - nowTime;\r\n if (duration > 0)\r\n return deadline;\r\n else {\r\n let hour = Math.floor((Math.abs(duration/3600000)));\r\n let minute = Math.ceil(Math.abs((duration%3600000)/60000));\r\n return \"已到期\" + hour + \"时\" + minute + \"分\";\r\n }\r\n\r\n }\r\n return \"\";\r\n },\r\n computeColor(deadline) {\r\n if (deadline) {\r\n let time = new Date(deadline).getTime();\r\n let nowTime = new Date().getTime();\r\n let day = (time - nowTime) / 86400000;\r\n if (day > 0)\r\n //绿色\r\n return { color: \"#22870D\" };\r\n else {\r\n if (Math.ceil(Math.abs(day)) >= 3)\r\n //红色\r\n return { color: \"#F1300A\" };\r\n //黄色\r\n else return { color: \"#E1A306\" };\r\n }\r\n }\r\n return {};\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.procInstId;\r\n this.selectBpmnInstId = row.bpmnInstId;\r\n },\r\n batchHandle() {\r\n let selectTasks = this.$refs.htTable.selection;\r\n if (!selectTasks || selectTasks.length == 0) {\r\n this.$message({ type: \"warning\", message: \"请至少选择一条任务\" });\r\n return;\r\n }\r\n //忽略掉非待办类型的任务\r\n let ids = [];\r\n this.skipMsg = \"\";\r\n for (let i = selectTasks.length - 1; i >= 0; i--) {\r\n if (selectTasks[i].status == \"NORMAL\") {\r\n ids.push(selectTasks[i].id);\r\n } else {\r\n this.skipMsg += selectTasks[i].subject + \"\";\r\n selectTasks.splice(i,1); \r\n }\r\n }\r\n if (ids.length > 0) {\r\n req.get(\"${bpmRunTime}/runtime/task/v1/filterUnBatchable?taskIds=\"+ids.join(\",\")).then(resp=>{\r\n if(resp.data.state && resp.data.value){\r\n if(resp.data.value.length != ids.length){\r\n ids = resp.data.value;\r\n let unBatchMsg = \"以下任务未配置批量处理
\";\r\n for(let i = selectTasks.length - 1 ; i >= 0 ; i--){\r\n if(!resp.data.value.includes(selectTasks[i].id)){\r\n unBatchMsg += selectTasks[i].subject + \"
\";\r\n selectTasks.splice(i,1);\r\n }\r\n }\r\n //this.$message({type:\"warning\",dangerouslyUseHTMLString:true,message:unBatchMsg});\r\n this.unBatchMsg = unBatchMsg;\r\n }\r\n if(ids && ids.length > 0){\r\n this.batchHandleIds = ids;\r\n this.batchDialogVisible = true;\r\n }else{\r\n this.showMsg();\r\n }\r\n }\r\n })\r\n }else{\r\n if(this.skipMsg){\r\n this.showMsg();\r\n }\r\n }\r\n this.batchHandleCheck();\r\n },\r\n batchHandleCheck(){\r\n \r\n },\r\n batchHandleSubmit() {\r\n let errMsg = \"\";\r\n this.batchSubmitBtnLoad = true;\r\n if (!this.batchHandleSetting.opinion || !this.batchHandleSetting.action) {\r\n errMsg = \"完善表单信息\";\r\n }\r\n if (\r\n this.batchHandleSetting.action == \"reject\" &&\r\n (!this.batchHandleSetting.backHandMode ||\r\n !this.batchHandleSetting.rejectType)\r\n ) {\r\n errMsg = \"请完善驳回设置\";\r\n }\r\n if (errMsg) {\r\n this.$message({ type: \"warning\", message: errMsg });\r\n this.batchSubmitBtnLoad = false;\r\n return;\r\n }\r\n let action;\r\n if (this.batchHandleSetting.action == \"agree\") {\r\n action = \"agree\";\r\n } else {\r\n action =\r\n this.batchHandleSetting.rejectType || this.batchHandleSetting.action;\r\n }\r\n this.$http\r\n .post(window.context.bpmRunTime + \"/runtime/task/v1/batchHandle\", {\r\n taskIds: this.batchHandleIds.join(\",\"),\r\n action: action,\r\n opinion: this.batchHandleSetting.opinion,\r\n })\r\n .then((resp) => {\r\n if (resp.data && resp.data.state) {\r\n this.batchDialogVisible = false;\r\n this.batchSubmitBtnLoad=false;\r\n this.showBatchResult(resp.data.value);\r\n }\r\n });\r\n },\r\n showBatchResult(taskMaps) {\r\n this.batchCompleteList = taskMaps[\"complete\"];\r\n this.batchFailedList = taskMaps[\"failedList\"];\r\n this.batchUnBatchableList = taskMaps[\"unHandleList\"];\r\n this.batchNotAuthList = taskMaps[\"notAuth\"];\r\n this.failedMsgMap = taskMaps[\"failedMsg\"];\r\n this.batchResultDialog = true;\r\n },\r\n afterBatchClose() {\r\n this.batchDialogVisible = false;\r\n this.batchHandleSetting = {};\r\n },\r\n afterResultClose() {\r\n this.batchCompleteList = [];\r\n this.batchFailedList = [];\r\n this.batchUnBatchableList = [];\r\n this.batchNotAuthList = [];\r\n this.failedMsgMap = [];\r\n this.batchResultDialog = false;\r\n this.search(\"find\");\r\n },\r\n open(row) {\r\n let token = this.$store.state.login.currentUser.token;\r\n if (row.status == \"SHARE\" || row.status == \"BACKSHARE\") {\r\n if (row.identityList && row.identityList.length == 1) {\r\n let url =\r\n \"/task/\" +\r\n row.id +\r\n \"/\" +\r\n row.identityList[0].id +\r\n \"?token=\" +\r\n token;\r\n //this.$router.push(url);\r\n window.open(window.context.front + url, \"_blank\");\r\n } else {\r\n let html =\r\n \"\";\r\n let this_ = this;\r\n this.$alert(html, \"请选择一个领导代为审批\", {\r\n dangerouslyUseHTMLString: true,\r\n beforeClose: function (action, instance, done) {\r\n if (action == \"confirm\") {\r\n let se = document.getElementById(\"approvalLeaderSelect\");\r\n if (se.selectedIndex == 0) {\r\n this.$message.warning(\"请选择代为审批的领导\");\r\n } else {\r\n instance.close();\r\n /*this_.$router.push(\r\n \"/task/\" + row.id + \"/\" + se[se.selectedIndex].value\r\n );*/\r\n let url =\r\n window.context.front +\r\n \"/task/\" +\r\n row.id +\r\n \"/\" +\r\n se[se.selectedIndex].value +\r\n \"?token=\" +\r\n token;\r\n window.open(url, \"_blank\");\r\n }\r\n } else {\r\n instance.close();\r\n }\r\n },\r\n });\r\n }\r\n } else if (\r\n row.status == \"AGENT\" &&\r\n row.ownerId != row.assigneeId &&\r\n row.ownerId == this.$store.state.login.currentUser.userId\r\n ) {\r\n //委托任务\r\n //this.$router.push(\"/instRead/\" + row.procInstId + \"/agent\");\r\n window.open(\r\n window.context.front +\r\n \"/instRead/\" +\r\n row.procInstId +\r\n \"/agent\" +\r\n \"?token=\" +\r\n token,\r\n \"_blank\"\r\n );\r\n } else if (row.status == \"FOLLOW\") {\r\n //跟踪任务\r\n //this.$router.push(\"/taskRead/\" + row.id + \"/FOLLOW\");\r\n window.open(\r\n window.context.front +\r\n \"/taskRead/\" +\r\n row.id +\r\n \"/FOLLOW\" +\r\n \"?token=\" +\r\n token,\r\n \"_blank\"\r\n );\r\n } else {\r\n let url = \"/task/\" + row.id + \"/0\";\r\n if (this.defKey) {\r\n url += \"/noSingle\" + \"?token=\" + token;\r\n }\r\n //this.$router.push(url);\r\n window.open(window.context.front + url, \"_blank\");\r\n }\r\n },\r\n doneView(procId) {\r\n let token = this.$store.state.login.currentUser.token;\r\n let url =\r\n window.context.front + \"/inst/\" + procId + \"/doneList?token=\" + token;\r\n window.open(url, \"_blank\");\r\n },\r\n afterOpen(){\r\n this.showMsg();\r\n },\r\n showMsg(){\r\n let message=\"\";\r\n if(this.skipMsg){\r\n message = \"以下任务不是待办任务,不支持批量处理:\" + this.skipMsg + \"
\";\r\n }\r\n if(this.unBatchMsg){\r\n message += this.unBatchMsg;\r\n }\r\n if (message) {\r\n this.$message({\r\n dangerouslyUseHTMLString:true,\r\n message,\r\n type: \"warning\",\r\n });\r\n }\r\n },\r\n },\r\n};\r\n",null]}