details.vue 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267
  1. <template>
  2. <view class="page-container">
  3. <view class="page-body">
  4. <view class="box-container">
  5. <view class="box-head">
  6. {{renderItem(item,'deptName','--')}} - {{renderItem(item,'applyName','--')}}
  7. </view>
  8. <view class="box-body">
  9. <u-row>
  10. <u-col :span="12">
  11. <view class="item">
  12. <view class="label">申请时间:</view>
  13. <view class="value">{{renderItem(item,'applyTime','--')}}</view>
  14. </view>
  15. <view class="item">
  16. <view class="label">申请单号:</view>
  17. <view class="value">{{renderItem(item,'id','--')}}</view>
  18. </view>
  19. <view class="item">
  20. <view class="label">联系电话:</view>
  21. <view class="value">{{renderItem(item,'applyTel','--')}}</view>
  22. </view>
  23. <view class="item">
  24. <view class="label">用车人数:</view>
  25. <view class="value">{{renderItem(item,'totalNum','--')}}</view>
  26. </view>
  27. <view class="item">
  28. <view class="label">用车事由:</view>
  29. <view class="value">{{renderItem(item,'reason','--')}}</view>
  30. </view>
  31. <view class="item">
  32. <view class="label">用车范围:</view>
  33. <view class="value">{{renderItem(item,'applyTypeName','--')}}</view>
  34. </view>
  35. <view class="item">
  36. <view class="label">计划用车时间:</view>
  37. <view class="value">{{renderItem(item,'planStartTime','--')}}~{{renderItem(item,'planEndTime','--')}}</view>
  38. </view>
  39. <view class="item">
  40. <view class="label">计划出发地:</view>
  41. <view class="value">{{renderItem(item,'startAddr','--')}}</view>
  42. </view>
  43. <view class="item">
  44. <view class="label">计划目的地:</view>
  45. <view class="value">{{renderItem(item,'endAddr','--')}}</view>
  46. </view>
  47. </u-col>
  48. </u-row>
  49. </view>
  50. </view>
  51. <view class="box-container">
  52. <view class="box-body">
  53. <u-row>
  54. <u-col :span="12">
  55. <view class="item">
  56. <view class="label">审核状态:</view>
  57. <view class="value">{{renderItem(item,'revStsName','--')}}</view>
  58. </view>
  59. <view class="item">
  60. <view class="label">安排车辆:</view>
  61. <view class="value">{{renderItem(item,'plate','--')}}</view>
  62. </view>
  63. <view class="item">
  64. <view class="label">安排司机:</view>
  65. <view class="value">{{renderItem(item,'driverName','--')}}</view>
  66. </view>
  67. <view class="item">
  68. <view class="label">任务状态:</view>
  69. <view class="value">{{renderItem(item,'exStsName','--')}}</view>
  70. </view>
  71. <view class="item">
  72. <view class="label">实际出发时间:</view>
  73. <view class="value">{{renderItem(item,'startTime','--')}}</view>
  74. </view>
  75. <view class="item">
  76. <view class="label">实际结束时间:</view>
  77. <view class="value">{{renderItem(item,'endTime','--')}}</view>
  78. </view>
  79. <view class="item">
  80. <view class="label">实际出发地:</view>
  81. <view class="value">{{renderItem(item,'realStartAddr','--')}}</view>
  82. </view>
  83. <view class="item">
  84. <view class="label">实际目的地:</view>
  85. <view class="value">{{renderItem(item,'realEndAddr','--')}}</view>
  86. </view>
  87. <view class="item">
  88. <view class="label">行驶里程(公里):</view>
  89. <view class="value">{{renderItem(item,'realMile','--')}}</view>
  90. </view>
  91. </u-col>
  92. </u-row>
  93. </view>
  94. </view>
  95. </view>
  96. <view class="page-footer">
  97. <u-row style="justify-content: flex-end;">
  98. <u-col :span="12" v-if="item.revSts==1">
  99. <u-button type="error" :custom-style="{
  100. width: '100%',
  101. }" @click="handleCancel(item)">取消申请
  102. </u-button>
  103. </u-col>
  104. <u-col :span="12" v-if="item.revSts==3 || item.revSts==4">
  105. <u-button type="primary" :custom-style="{
  106. width: '100%',
  107. }" @click="handleRe(item)">重新申请
  108. </u-button>
  109. </u-col>
  110. </u-row>
  111. </view>
  112. </view>
  113. </template>
  114. <script>
  115. import { renderItem } from '@/utils/gdtq'
  116. import {cancel,detail} from '@/api/vehDispatch/vehDisApplication.js'
  117. export default {
  118. props: {
  119. },
  120. data() {
  121. return {
  122. item: {}
  123. }
  124. },
  125. onLoad({id}) {
  126. if(id) {
  127. this.getInfo(id)
  128. }
  129. },
  130. onShow() {
  131. },
  132. onUnload() {
  133. },
  134. methods: {
  135. async getInfo(id) {
  136. let {code,data} = await detail({id})
  137. if(code == 0) {
  138. this.item = data
  139. }
  140. },
  141. handleCancel(item) {
  142. uni.showModal({
  143. title: '提示',
  144. content: `确认取消申请?`,
  145. showCancel:true,
  146. confirmText: '确定',
  147. success: async (res) => {
  148. if (res.confirm) {
  149. const {id} = item
  150. let {code} = await cancel({id})
  151. if(code == 0) {
  152. // this.getInfo(id)
  153. let pages = getCurrentPages(); // 当前页面
  154. let beforePage = pages[pages.length - 2]; //上一个页面
  155. uni.navigateBack({
  156. success: () => {
  157. if (beforePage.handleQuery) {
  158. this.$nextTick(() => {
  159. beforePage.handleQuery()
  160. })
  161. }
  162. }
  163. })
  164. }
  165. }
  166. }
  167. })
  168. },
  169. handleRe(item) {
  170. const {id} = item
  171. uni.navigateTo({
  172. url: `/pagesVehDispatch/vehDisApplication/index?id=${id}`
  173. })
  174. },
  175. },
  176. }
  177. </script>
  178. <style lang="scss" scoped>
  179. .page-container {
  180. font-size: 28rpx;
  181. min-height: 100%;
  182. height: 100%;
  183. position: relative;
  184. overflow: hidden;
  185. .page-head {
  186. background: #fff;
  187. }
  188. .page-body {
  189. width: 100%;
  190. height: calc(100%);
  191. overflow: hidden;
  192. .box-container {
  193. background: #fff;
  194. margin: 20rpx 10rpx;
  195. border-radius: 10rpx;
  196. font-size: 24rpx;
  197. .box-head {
  198. border-bottom: 1px solid #ddd;
  199. padding: 20rpx;
  200. font-weight: 700;
  201. }
  202. .box-body {
  203. padding: 20rpx;
  204. .item {
  205. margin: 4rpx;
  206. display: flex;
  207. .label {
  208. }
  209. .value {
  210. flex: 1;
  211. }
  212. }
  213. }
  214. .box-footer {
  215. border-top: 1px solid #ddd;
  216. padding: 20rpx;
  217. }
  218. }
  219. }
  220. .page-footer {
  221. // border-top: 1px solid #ddd;
  222. // padding: 10rpx 0;
  223. position: fixed;
  224. width: 100%;
  225. left: 0;
  226. bottom: 0;
  227. }
  228. }
  229. ::v-deep {
  230. }
  231. .primary {
  232. color: $uni-color-primary;
  233. }
  234. </style>