index.vue 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. <template>
  2. <ContentWrap>
  3. <XTable @register="registerTable">
  4. <template #suspensionState_default="{ row }">
  5. <el-tag type="success" v-if="row.suspensionState === 1">激活</el-tag>
  6. <el-tag type="warning" v-if="row.suspensionState === 2">挂起</el-tag>
  7. </template>
  8. <template #actionbtns_default="{ row }">
  9. <!-- 操作: 审批进度 -->
  10. <XTextButton preIcon="ep:edit-pen" title="审批进度" @click="handleAudit(row)" />
  11. <XTextButton title="抄送" @click="handleCC(row)" />
  12. </template>
  13. </XTable>
  14. <TaskCCDialogForm ref="taskCCDialogForm"/>
  15. </ContentWrap>
  16. </template>
  17. <script lang="ts" setup>
  18. // 业务相关的 import
  19. import { allSchemas } from './todo.data'
  20. import * as TaskApi from '@/api/bpm/task'
  21. import TaskCCDialogForm from '../../processInstance/detail/TaskCCDialogForm.vue'
  22. defineOptions({ name: 'BpmTodoTask' })
  23. const { push } = useRouter() // 路由
  24. const [registerTable] = useXTable({
  25. allSchemas: allSchemas,
  26. topActionSlots: false,
  27. getListApi: TaskApi.getTodoTaskPage
  28. })
  29. // 处理审批按钮
  30. const handleAudit = (row) => {
  31. push({
  32. name: 'BpmProcessInstanceDetail',
  33. query: {
  34. id: row.processInstance.id
  35. }
  36. })
  37. }
  38. const taskCCDialogForm = ref()
  39. /** 处理抄送按钮 */
  40. const handleCC = (row) => {
  41. taskCCDialogForm.value.open(row)
  42. }
  43. </script>