detail.vue 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. <template>
  2. <div class="app-container">
  3. <!-- 对话框(添加 / 修改) -->
  4. <el-form ref="form" :model="form" label-width="100px">
  5. <el-form-item label="开始时间:" prop="startTime">
  6. {{ formatDate(form.startTime, '{y}-{m}-{d}') }}
  7. </el-form-item>
  8. <el-form-item label="结束时间:" prop="endTime">
  9. {{ formatDate(form.endTime, '{y}-{m}-{d}') }}
  10. </el-form-item>
  11. <el-form-item label="请假类型:" prop="type">
  12. <dict-tag :type="DICT_TYPE.BPM_OA_LEAVE_TYPE" :value="form.type" />
  13. </el-form-item>
  14. <el-form-item label="原因:" prop="reason"> {{ form.reason }}</el-form-item>
  15. </el-form>
  16. </div>
  17. </template>
  18. <script lang="ts" setup>
  19. import { onMounted, ref } from 'vue'
  20. import { ElMessage } from 'element-plus'
  21. import { getLeaveApi } from '@/api/bpm/leave'
  22. import { DICT_TYPE } from '@/utils/dict'
  23. import { formatDate } from '@/utils/formatTime'
  24. import { useRouter } from 'vue-router'
  25. const router = useRouter()
  26. // 请假编号
  27. const id = ref()
  28. // 表单参数
  29. const form = ref({
  30. startTime: undefined,
  31. endTime: undefined,
  32. type: undefined,
  33. reason: undefined
  34. })
  35. /** 获得请假信息 */
  36. const getDetail = () => {
  37. getLeaveApi(id.value).then((response) => {
  38. form.value = response.data
  39. })
  40. }
  41. onMounted(() => {
  42. id.value = router.currentRoute.value.query.id
  43. if (!id.value) {
  44. ElMessage({
  45. type: 'error',
  46. message: '未传递 id 参数,无法查看 OA 请假信息'
  47. })
  48. return
  49. }
  50. getDetail()
  51. })
  52. </script>