processList.vue 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. <template>
  2. <view class="content">
  3. <view @click="handleToDetail(process)" v-for="(process,index) in processes" :key="index">
  4. <uni-card :isFull="true" padding="10px 0">
  5. <uni-row>
  6. <uni-col :xs="4" :sm="2">
  7. <view class="icon_container">
  8. <text class="ygoa-icon" :class="process.type"></text>
  9. </view>
  10. </uni-col>
  11. <uni-col :xs="20" :sm="22">
  12. <uni-card padding="0 10px 10px" :isFull="true" :border="false" :is-shadow="true">
  13. <template v-slot:title>
  14. <uni-row>
  15. <uni-col :xs="18" :sm="22">
  16. <view class="process_title">
  17. <text>{{ process.title }}</text>
  18. </view>
  19. </uni-col>
  20. <uni-col :xs="6" :sm="2">
  21. <uni-tag :text="process.step == 0?'审批中':''" :type="process.step == 0?'primary':''"></uni-tag>
  22. </uni-col>
  23. </uni-row>
  24. </template>
  25. <view class="process_contant">
  26. <uni-row>
  27. <uni-col :xs="8" :sm="7">{{ 'icon-apply-overtime'==process.type?'加班时间':'请假天数' }}:</uni-col>
  28. <uni-col :xs="15" :sm="16">{{ process.totalTime }}</uni-col>
  29. </uni-row>
  30. <uni-row>
  31. <uni-col :xs="8" :sm="7">开始时间:</uni-col>
  32. <uni-col :xs="15" :sm="16">{{ process.startTime }}</uni-col>
  33. </uni-row>
  34. <uni-row>
  35. <uni-col :xs="8" :sm="7">结束时间:</uni-col>
  36. <uni-col :xs="15" :sm="16">{{ process.endTime }}</uni-col>
  37. </uni-row>
  38. </view>
  39. </uni-card>
  40. </uni-col>
  41. </uni-row>
  42. </uni-card>
  43. </view>
  44. </view>
  45. </template>
  46. <script setup lang="ts">
  47. import $tab from '@/plugins/tab.js'
  48. // TODO: 根据接口返回的数据动态生成process表单
  49. const props = defineProps(['processes'])
  50. function handleToDetail({ id, title }) { // 跳转流程详情页
  51. $tab.navigateTo('/pages/process/detail/index?id=' + id + '&title=' + title)
  52. }
  53. </script>
  54. <style lang="scss">
  55. @import url("@/static/font/ygoa/iconfont.css");
  56. .ygoa-icon {
  57. font-size: 3rem;
  58. }
  59. .content {
  60. .icon_container {
  61. margin: 50% 0;
  62. }
  63. .process_title {
  64. font-weight: bold;
  65. font-size: 1.2rem;
  66. margin-top: 10px;
  67. }
  68. }
  69. </style>