ApprovalProgress.vue 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. <template>
  2. <m-dialog ref="dialog" title="审批明细">
  3. <el-steps align-center finish-status="success" v-loading="loading" :space="800 / items.length">
  4. <el-step
  5. v-for="(item) in items"
  6. :key="item.id"
  7. :title="item.title"
  8. :status="statusMap[item.status]"
  9. >
  10. <template #description>
  11. <div>{{ item.date }}</div>
  12. <div v-if="item.status === 2">拒绝理由: {{ item.msg }}</div>
  13. </template>
  14. </el-step>
  15. </el-steps>
  16. </m-dialog>
  17. </template>
  18. <script>
  19. import {
  20. getApprovalProgress
  21. } from '@/api/approval'
  22. export default {
  23. name: 'approvalProgress',
  24. data () {
  25. return {
  26. loading: false,
  27. items: [],
  28. statusMap: ['wait', 'success', 'error']
  29. }
  30. },
  31. methods: {
  32. async open (workFlowInstanceId) {
  33. this.$refs.dialog.open()
  34. this.items = []
  35. this.loading = true
  36. try {
  37. const { data } = await getApprovalProgress({ workFlowInstanceId })
  38. this.items = data
  39. } catch (error) {
  40. this.$message.error(error)
  41. } finally {
  42. this.loading = false
  43. }
  44. }
  45. }
  46. }
  47. </script>
  48. <style lang="scss" scoped>
  49. </style>