exaLeave.vue 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  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.date}}</div>
  20. </div>
  21. <div class="text_list">
  22. <div class="text_left">请假时长</div>
  23. <div class="text_right">{{item.time}}天</div>
  24. </div>
  25. </div>
  26. <div class="item_ope" v-if="item.result == null">
  27. <van-button type="info" size="small" @click="opeExa(item,1)">同意</van-button>
  28. <van-button type="danger" size="small" @click="opeExa(item,0)">驳回</van-button>
  29. </div>
  30. <div class="item_ope" v-if="item.result != null">
  31. <span :class="item.result ? 'ope_agree' : 'ope_reject'">{{item.result ? "已同意" : "已驳回"}}</span>
  32. </div>
  33. </div>
  34. </div>
  35. </div>
  36. </template>
  37. <script>
  38. export default {
  39. data() {
  40. return {
  41. list:[
  42. { name:"张三", date:"2022-3-25", time:"1", id:0, result:null },
  43. { name:"赵四", date:"2022-3-28", time:"2", id:1, result:1 },
  44. { name:"刘能", date:"2022-3-29", time:"4", id:2, result:0 },
  45. { name:"李", date:"2022-3-27", time:"1", id:3, result:null }
  46. ]
  47. }
  48. },
  49. methods: {
  50. back() {
  51. history.back();
  52. },
  53. opeExa(item,r){
  54. item.result = r
  55. }
  56. },
  57. }
  58. </script>
  59. <style lang="less" scoped>
  60. .content{
  61. margin-top: 46px;
  62. .item{
  63. margin-bottom: 0.35rem;
  64. background-color: #fff;
  65. padding: 0.26667rem 0.58667rem 0.21333rem;
  66. .item_text{
  67. font-size: 0.37333rem;
  68. border-bottom: 1px solid #ebedf0;
  69. padding-bottom: 0.21333rem;
  70. .text_list{
  71. line-height: 0.8rem;
  72. }
  73. }
  74. .item_ope{
  75. padding-top: 0.21333rem;
  76. text-align: right;
  77. font-size: 0.37333rem;
  78. width: 100%;
  79. height: 1.2rem;
  80. display: flex;
  81. justify-content: right;
  82. align-items: center;
  83. .van-button{
  84. margin-left: 0.26667rem;
  85. }
  86. .ope_agree{
  87. color: #1989fa;
  88. margin-right: 0.4rem;
  89. }
  90. .ope_reject{
  91. color: #c03131;
  92. margin-right: 0.4rem;
  93. }
  94. }
  95. .text_left{
  96. float: left;
  97. width: 33%;
  98. }
  99. }
  100. }
  101. </style>