exaLeave.vue 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. <template>
  2. <div>
  3. <van-nav-bar
  4. title="请假审批"
  5. left-text="返回"
  6. @click-left="back"
  7. fixed
  8. left-arrow
  9. />
  10. <div class="content">
  11. <div class="item" v-for="item in list" :key="item.id">
  12. <div class="item_text">
  13. <div class="text_list">
  14. <div class="text_left">申请人</div>
  15. <div class="text_right">{{item.name}}</div>
  16. </div>
  17. <div class="text_list">
  18. <div class="text_left">所在部门</div>
  19. <div class="text_right">{{item.dept}}</div>
  20. </div>
  21. <div class="text_list">
  22. <div class="text_left">请假类型</div>
  23. <div class="text_right">{{item.type}}</div>
  24. </div>
  25. <div class="text_list">
  26. <div class="text_left">请假时间</div>
  27. <div class="text_right">{{item.date}}</div>
  28. </div>
  29. <div class="text_list">
  30. <div class="text_left">请假时长</div>
  31. <div class="text_right">{{item.time}}天</div>
  32. </div>
  33. </div>
  34. <div class="item_ope" v-if="item.result == null">
  35. <van-button type="info" size="small" @click="opeExa(item,1)">同意</van-button>
  36. <van-button type="danger" size="small" @click="opeExa(item,0)">驳回</van-button>
  37. </div>
  38. <div class="item_ope" v-if="item.result != null">
  39. <span :class="item.result ? 'ope_agree' : 'ope_reject'">{{item.result ? "已同意" : "已驳回"}}</span>
  40. </div>
  41. </div>
  42. </div>
  43. </div>
  44. </template>
  45. <script>
  46. export default {
  47. data() {
  48. return {
  49. list:[
  50. { name:"张辉",dept:'质量部', date:"2022-3-25", time:"1", id:0, result:null, type:'事假' },
  51. ]
  52. }
  53. },
  54. methods: {
  55. back() {
  56. history.back();
  57. },
  58. opeExa(item,r){
  59. item.result = r
  60. }
  61. },
  62. }
  63. </script>
  64. <style lang="less" scoped>
  65. .content{
  66. margin-top: 46px;
  67. .item{
  68. margin-bottom: 0.35rem;
  69. background-color: #fff;
  70. padding: 0.26667rem 0.58667rem 0.21333rem;
  71. .item_text{
  72. font-size: 0.37333rem;
  73. border-bottom: 1px solid #ebedf0;
  74. padding-bottom: 0.21333rem;
  75. .text_list{
  76. line-height: 0.8rem;
  77. }
  78. }
  79. .item_ope{
  80. padding-top: 0.21333rem;
  81. text-align: right;
  82. font-size: 0.37333rem;
  83. width: 100%;
  84. height: 1.2rem;
  85. display: flex;
  86. justify-content: right;
  87. align-items: center;
  88. .van-button{
  89. margin-left: 0.26667rem;
  90. }
  91. .ope_agree{
  92. color: #1989fa;
  93. margin-right: 0.4rem;
  94. }
  95. .ope_reject{
  96. color: #c03131;
  97. margin-right: 0.4rem;
  98. }
  99. }
  100. .text_left{
  101. float: left;
  102. width: 33%;
  103. }
  104. }
  105. }
  106. </style>