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