{"remainingRequest":"D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\xq-web-bpm\\src\\views\\flow\\TaskManager.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\src\\views\\flow\\TaskManager.vue","mtime":1675071992835},{"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":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\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 form from '@/api/form.js'\r\nimport req from '@/request.js'\r\nimport utils from '@/hotent-ui-util.js'\r\n\r\nimport {mapState, mapActions} from 'vuex'\r\nimport {Base64} from 'js-base64'\r\nconst MessageTypeSelector = () =>\r\n import('@/components/flow/MessageTypeSelector.vue')\r\nconst eipUserSelector = () =>\r\n import('@/components/selector/EipUserSelector.vue')\r\nconst InstanceUrgent = () => import('@/views/flow/InstanceUrgent.vue')\r\n\r\nexport default {\r\n components: {\r\n MessageTypeSelector,\r\n eipUserSelector,\r\n InstanceUrgent,\r\n },\r\n data() {\r\n return {\r\n treeData: [],\r\n defaultProps: {\r\n children: 'children',\r\n label: 'name',\r\n },\r\n data: [],\r\n pageResult: {\r\n page: 1,\r\n pageSize: 50,\r\n total: 0,\r\n },\r\n curSlectTaskId: '',\r\n statusArray: [\r\n {text: '待办', value: 'NORMAL', type: 'success'},\r\n {text: '委托', value: 'AGENT', type: 'info'},\r\n {text: '征询', value: 'TRANSFORMEDINQU', type: 'info'},\r\n {text: '转办', value: 'DELIVERTO', type: 'success'},\r\n {text: '接收流转', value: 'TRANSFORMED'},\r\n {text: '沟通', value: 'COMMU'},\r\n {text: '流转源', value: 'TRANSFORMING', type: 'warning'},\r\n {text: '被驳回', value: 'BACK', type: 'danger'},\r\n {text: '跟踪', value: 'FOLLOW', type: 'info'},\r\n {text: '并行审批源', value: 'APPROVELINEING', type: 'success'},\r\n {text: '接收并行审批', value: 'APPROVELINEED', type: 'success'},\r\n {text: '顺序签署源', value: 'SIGNSEQUENCEING', type: 'info'},\r\n {text: '接收顺序签署', value: 'SIGNSEQUENCEED', type: 'info'},\r\n {text: '并行签署源', value: 'SIGNLINEING', type: 'info'},\r\n {text: '接收并行签署', value: 'SIGNLINEED', type: 'info'},\r\n {text: '传阅', value: 'COPYTO', type: 'info'},\r\n {text: '用户加签', value: 'USERADDSIGN', type: 'info'},\r\n {text: '会签加签', value: 'ADDSIGN'},\r\n ],\r\n dialogVisible: false,\r\n filedConfDialogVisible: false,\r\n modifyparam: {type: 'sms'},\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: '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 filedShowConfList: [],\r\n editFiledConf: {\r\n name: '待办列表字段显示配置',\r\n alias: 'taskListFiledConf',\r\n encrypt: '1',\r\n description: '应用端待办列表字段显示配置',\r\n value: '',\r\n },\r\n typeNameConf: {\r\n org: '组织',\r\n job: '职务',\r\n position: '岗位',\r\n role: '角色',\r\n user: '用户',\r\n },\r\n }\r\n },\r\n computed: mapState({\r\n account: (state) => state.login.currentUser.account,\r\n token: (state) => state.login.currentUser.token,\r\n frontUrl: function (state) {\r\n return (\r\n window.context.front +\r\n '/task/' +\r\n this.curSlectTaskId +\r\n '/0?token=' +\r\n this.token +\r\n '&showMenu=true'\r\n // Base64.encode(this.account)\r\n )\r\n },\r\n }),\r\n methods: {\r\n rowClick(row, column, event) {\r\n this.$refs.htTable.$refs.htTable.toggleRowSelection(row)\r\n },\r\n //查看候选人详情\r\n candidateDetail(row) {\r\n let this_ = this\r\n this.$http\r\n .get(\r\n '${bpmRunTime}/runtime/task/v1/getCandidatesListByTaskId?taskId=' +\r\n row.id\r\n )\r\n .then(function (resp) {\r\n if (resp.data) {\r\n let temp = {}\r\n let tempList = []\r\n resp.data.forEach((c) => {\r\n c.groupType = c.groupType ? c.groupType : c.type\r\n if (!temp[c.groupType]) {\r\n temp[c.groupType] = []\r\n }\r\n temp[c.groupType].push({type: c.name, users: c.userNames})\r\n })\r\n for (const type in temp) {\r\n tempList.push({\r\n type: type,\r\n typeName: this_.typeNameConf[type],\r\n list: temp[type],\r\n })\r\n }\r\n this_.$set(row, 'cList', tempList)\r\n }\r\n })\r\n },\r\n //流程催办\r\n handleUrgent(row) {\r\n this.$refs.instanceUrgent.handleOpen(\r\n row.procInstId,\r\n row.procDefId,\r\n row.subject,\r\n row.nodeId\r\n ) //父组件调用子组件方法\r\n },\r\n openSetDialog() {\r\n let this_ = this\r\n this.$http\r\n .get('${portal}/sys/sysProperties/v1/getJson?id=taskListFiledConf')\r\n .then(function (resp) {\r\n if (resp.data) {\r\n this_.editFiledConf = resp.data\r\n this_.filedShowConfList = JSON.parse(this_.editFiledConf.value)\r\n } else {\r\n this_.filedShowConfList = JSON.parse(\r\n JSON.stringify(this_.defaultFiledShowConfList)\r\n )\r\n }\r\n this_.filedConfDialogVisible = true\r\n })\r\n },\r\n saveConf() {\r\n let this_ = this\r\n utils\r\n .validateForm(this, 'conf-form')\r\n .then((r) => {\r\n this.editFiledConf.value = JSON.stringify(this.filedShowConfList)\r\n this.$http\r\n .post('${portal}/sys/sysProperties/v1/save', this.editFiledConf)\r\n .then(function (resp) {\r\n if (resp.data && resp.data.state) {\r\n this_.editFiledConf = resp.data\r\n this_.formatConfListToObj()\r\n this_.$message({\r\n type: 'success',\r\n message: '保存成功',\r\n onClose: function () {\r\n window.location.reload()\r\n this_.filedConfDialogVisible = false\r\n },\r\n })\r\n }\r\n })\r\n })\r\n .catch((items) => {\r\n this.$message.error(`还有内容未填写,无法保存。`)\r\n })\r\n },\r\n closeDialog() {\r\n this.dialogVisible = false\r\n },\r\n confirm() {\r\n let this_ = this\r\n let param = JSON.parse(JSON.stringify(this.modifyparam))\r\n if (!param.userIds) {\r\n this.$message.warning('执行人不能为空!')\r\n return\r\n }\r\n\r\n if (!param.messageType) {\r\n this.$message.warning('通知类型不能为空!')\r\n return\r\n }\r\n\r\n if (!param.cause) {\r\n this.$message.warning('通知内容不能为空!')\r\n return\r\n }\r\n param.userIds = param.userIds.split(',')\r\n req\r\n .post(\r\n window.context.bpmRunTime + '/runtime/task/v1/setTaskExecutors',\r\n param\r\n )\r\n .then((response) => {\r\n let data = response.data\r\n if (data.state) {\r\n this_.$message.success(data.message)\r\n this_.$refs.htTable.load()\r\n this_.dialogVisible = false\r\n } else {\r\n this_.$message.fail(data.message)\r\n }\r\n })\r\n },\r\n completeTask(id) {\r\n this.curSlectTaskId = id\r\n window.open(this.frontUrl, '_blank')\r\n },\r\n modifyExcutor(id) {\r\n this.modifyparam = {taskId: id}\r\n this.dialogVisible = true\r\n },\r\n loadData(param, cb) {\r\n if (this.$refs.htTable && this.$refs.htTable.quickSearchWord) {\r\n if (param.querys && param.querys.length > 0) {\r\n let temp = param.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 query.relation = 'OR'\r\n param.querys.push(query)\r\n }\r\n }\r\n }\r\n req\r\n .post(window.context.bpmRunTime + '/runtime/task/v1/list', param)\r\n .then((data) => {\r\n let response = data.data\r\n this.data = response.rows\r\n this.pageResult = {\r\n page: response.page,\r\n pageSize: response.pageSize || 50,\r\n total: response.total,\r\n }\r\n })\r\n .finally(() => cb())\r\n },\r\n handleCommand(params) {\r\n switch (params.command) {\r\n case 'modifyExcutor':\r\n this.modifyExcutor(params.row.id)\r\n break\r\n case 'handleUrgent':\r\n this.handleUrgent(params.row)\r\n break\r\n case 'completeTask':\r\n this.completeTask(params.row.id)\r\n break\r\n case 'jump':\r\n this.openJumpDialog(params.row.id)\r\n break\r\n }\r\n },\r\n formatConfListToObj() {\r\n let editConfObj = {}\r\n let tempList = JSON.parse(JSON.stringify(this.filedShowConfList))\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 openJumpDialog(id) {\r\n this.curSlectTaskId = id\r\n window.open(this.frontUrl + '&type=free&showMenu=true', '_blank')\r\n },\r\n },\r\n created() {\r\n let this_ = this\r\n this.$http\r\n .get(\r\n '${portal}/sys/sysProperties/v1/getDecryptByAlias?alias=taskListFiledConf'\r\n )\r\n .then(function (resp) {\r\n if (resp.data) {\r\n this_.filedShowConfList = JSON.parse(resp.data.value)\r\n } else {\r\n this_.filedShowConfList = JSON.parse(\r\n JSON.stringify(this_.defaultFiledShowConfList)\r\n )\r\n }\r\n this_.formatConfListToObj()\r\n })\r\n },\r\n}\r\n",null]}