Info.vue 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  1. <template>
  2. <div>
  3. <common @asynCallBack="asynCallBack" :doLoading="true"></common>
  4. <top-header :pageTitle="pageTitle"></top-header>
  5. <div v-if="detail.personName" class="mui-content vongi-qingjiadt">
  6. <div class="vongi-qingjiadt-head flew-sp">
  7. <div class="flew-items">
  8. <div class="flew"><img :src="detail.faceImageUrl" width="50" v-viewer /></div>
  9. <h4>{{detail.personName}} 申请 <span class="color4fc5f7" v-text="detail.typeN"></span></h4>
  10. </div>
  11. <button class="mui-btn mui-btn-primary mui-btn-outlined" :style="getColor(detail.status)" v-text="detail.statusN"></button>
  12. </div>
  13. <form class="mui-input-group margin10">
  14. <div class="mui-input-row">
  15. <label>所属部门</label>
  16. <span v-text="detail.companyName"></span>
  17. </div>
  18. <div class="mui-input-row">
  19. <label>外出地点</label>
  20. <span v-text="detail.destination"></span>
  21. </div>
  22. <div class="mui-input-row">
  23. <label>外出日期</label>
  24. <span v-text="detail.startTime"></span>
  25. </div>
  26. <div class="mui-input-row">
  27. <label>预估时长</label>
  28. <span v-text="detail.estimatedTime+'小时'"></span>
  29. </div>
  30. <div class="mui-input-row">
  31. <label>外出事由</label>
  32. <span v-text="detail.content"></span>
  33. </div>
  34. <div class="mui-input-row">
  35. <label>申请单编号</label>
  36. <span v-text="detail.approvalNo"></span>
  37. </div>
  38. <div class="mui-input-row">
  39. <label>申请时间</label>
  40. <span v-text="detail.createTime"></span>
  41. </div>
  42. </form>
  43. <div class="mui-content-padded">
  44. <h5>审核记录</h5>
  45. </div>
  46. <form class="mui-input-group margin10">
  47. <template v-for="(item,index) in detail.list">
  48. <div class="mui-input-row">
  49. <label>审批人</label>
  50. <span v-text="item.name"></span>
  51. </div>
  52. <div class="mui-input-row">
  53. <label>审核意见</label>
  54. <span v-text="item.approvalContent"></span>
  55. </div>
  56. <div v-if="item.time" class="mui-input-row">
  57. <label>审核时间</label>
  58. <span v-text="item.time"></span>
  59. </div>
  60. </template>
  61. </form>
  62. </div>
  63. <loading :visible="isLoading"></loading>
  64. </div>
  65. </template>
  66. <script>
  67. import * as API_BusinessTravel from '@/apis/Master/business_travel'
  68. import Common from '$project/components/Common.vue'
  69. import Loading from '$project/components/Loading.vue'
  70. import TopHeader from '$project/components/TopHeader.vue'
  71. import {
  72. mapGetters,
  73. mapMutations
  74. } from 'vuex'
  75. export default {
  76. name: 'MasterEgressInfo',
  77. components: {
  78. Common,
  79. Loading,
  80. TopHeader,
  81. },
  82. data() {
  83. return {
  84. pageTitle: '外出申请详情',
  85. isLoading: false,
  86. id: this.$route.query.id,
  87. detail: {
  88. list: [],
  89. },
  90. }
  91. },
  92. created() {},
  93. methods: {
  94. //获取详情
  95. getInfo() {
  96. this.isLoading = true;
  97. API_BusinessTravel.businessOutDetail(this.id).then(response => {
  98. this.isLoading = false;
  99. this.detail = response;
  100. }).catch(error => {
  101. this.isLoading = false;
  102. mui.toast(error);
  103. })
  104. },
  105. //获取状态颜色
  106. getColor(status) {
  107. var color = '';
  108. if (status == '0') {
  109. color = '#4fc5f7';
  110. } else if (status == '1') {
  111. color = '#55f868';
  112. } else if (status == '2') {
  113. color = '#fe616c';
  114. }
  115. return 'color:' + color + ';border-color:' + color + ';';
  116. },
  117. asynCallBack() {
  118. //获取详情
  119. this.getInfo();
  120. },
  121. },
  122. mounted() {
  123. },
  124. destroyed() {},
  125. computed: {
  126. ...mapGetters({
  127. openId: 'wx_openid',
  128. token: 'token',
  129. })
  130. },
  131. }
  132. </script>
  133. <style scoped src="$project/assets/css/xpwyfyy.css"></style>
  134. <style src="$project/assets/css/iconfont.css"></style>
  135. <style>
  136. </style>