recordDetails.vue 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185
  1. <template>
  2. <view class="page" :style="{'min-height':h+'px','padding-top':mt+'px'}">
  3. <c-nav-bar title="核销记录"></c-nav-bar>
  4. <view class="box ship_time">
  5. <view class="hx_title">
  6. 发船时间:{{item.orderEntity.playDate}} {{item.orderEntity.playTime}}/{{orderType[item.orderEntity.orderType]}}/{{item.orderEntity.boatNo}}
  7. </view>
  8. <view class="st_info">
  9. <text>订单编号:{{item.orderEntity.orderCode}}</text>
  10. <view class="sti_xq" @tap="toOrderDetails(item.orderEntity.orderCode)">详情</view>
  11. </view>
  12. <view class="st_info">
  13. <text>出游时间:{{item.orderEntity.playLength}}小时</text>
  14. </view>
  15. </view>
  16. <view class="box person_info">
  17. <view class="hx_title">预约人员信息(<span v-if="item&&item.bookList">{{item.bookList.length}}</span>)</view>
  18. <block v-if="item&&item.bookList.length>0">
  19. <view class="hx_item" v-for="(book,index) in item.bookList" :key="index">
  20. <view class="hi_name">{{book.touristName}}</view>
  21. <view class="hi_idcard">身份证 {{book.touristCode}}</view>
  22. <view class="hi_btn" :class="classCfg[book.remark]">{{typeCfg[book.remark]}}</view>
  23. </view>
  24. </block>
  25. </view>
  26. <view class="box person_info">
  27. <view class="hx_title">实际上船人员信息(<span v-if="item&&item.boardingList">{{item.boardingList.length}}</span>)</view>
  28. <block v-if="item&&item.boardingList.length>0">
  29. <view class="hx_item" v-for="(board,index) in item.boardingList" :key="index">
  30. <view class="hi_name">{{board.touristName}}</view>
  31. <view class="hi_idcard">身份证 {{board.touristCode}}</view>
  32. <view class="hi_btn" :class="classCfg[board.remark]">{{typeCfg[board.remark]}}</view>
  33. </view>
  34. </block>
  35. </view>
  36. </view>
  37. </template>
  38. <script>
  39. export default {
  40. data() {
  41. return {
  42. classCfg:{'book':'yd_btn','scene':'xz_btn'},
  43. typeCfg:{'book':'预订单','scene':'现场单'},
  44. orderType:{
  45. 1:'特价',
  46. 2:'包船',
  47. 3:'拼船'
  48. },
  49. orderCode:'',
  50. item:null
  51. }
  52. },
  53. onLoad(option) {
  54. this.orderCode = option.orderCode;
  55. this.getDetails();
  56. },
  57. methods: {
  58. getDetails(){
  59. this.$api.get('/scenic/order/writeOffRecordInfo/'+this.orderCode).then(res=>{
  60. if(res.data.code===0){
  61. this.item = res.data.data;
  62. this.item.bookList.forEach(l=>{
  63. l.touristCode = l.touristCode.replace(/^(.{6})(?:\d+)(.{4})$/, '\$1******\$2');
  64. })
  65. this.item.boardingList.forEach(l=>{
  66. l.touristCode = l.touristCode.replace(/^(.{6})(?:\d+)(.{4})$/, '\$1******\$2');
  67. })
  68. }else this.$showToast(res.data.msg);
  69. })
  70. },
  71. toOrderDetails(id){
  72. uni.navigateTo({
  73. url:'/pagesHouse/Mine/ordersList/details/details?orderCode='+id
  74. })
  75. }
  76. }
  77. }
  78. </script>
  79. <style scoped lang="less">
  80. .page{
  81. width: 100%;
  82. padding: 0 24rpx 40rpx;
  83. box-sizing: border-box;
  84. background: #F5F8FA;
  85. .box{
  86. width: 100%;
  87. background: #ffffff;
  88. padding: 30rpx 24rpx;
  89. box-sizing: border-box;
  90. margin-top: 20rpx;
  91. border-radius: 16rpx;
  92. }
  93. .hx_title{
  94. font-family: PingFang-SC, PingFang-SC;
  95. font-weight: bold;
  96. font-size: 32rpx;
  97. color: #111111;
  98. line-height: 32rpx;
  99. }
  100. .ship_time{
  101. .st_info{
  102. margin-top: 25rpx;
  103. display: flex;
  104. align-items: center;
  105. justify-content: space-between;
  106. text{
  107. font-family: PingFangSC, PingFang SC;
  108. font-weight: 400;
  109. font-size: 28rpx;
  110. color: #777777;
  111. line-height: 32rpx;
  112. }
  113. .sti_xq{
  114. width: 64rpx;
  115. height: 36rpx;
  116. border-radius: 18rpx;
  117. border: 1rpx solid #007A69;
  118. text-align: center;
  119. line-height: 36rpx;
  120. font-family: PingFangSC, PingFang SC;
  121. font-weight: 400;
  122. font-size: 22rpx;
  123. color: #007A69;
  124. }
  125. }
  126. }
  127. .person_info{
  128. width: 100%;
  129. padding: 36rpx 24rpx 0;
  130. box-sizing: border-box;
  131. .hx_title{
  132. margin-bottom: 7rpx;
  133. }
  134. .hx_item{
  135. width: 100%;
  136. display: flex;
  137. align-items: center;
  138. padding: 45rpx 0;
  139. box-shadow: inset 0rpx -1rpx 0rpx 0rpx #EFEFEF;
  140. &:last-child{
  141. box-shadow: none;
  142. }
  143. .hi_name{
  144. width: calc(100% - 510rpx);
  145. font-family: PingFang-SC, PingFang-SC;
  146. font-weight: bold;
  147. font-size: 30rpx;
  148. color: #111111;
  149. }
  150. .hi_idcard{
  151. width: 400rpx;
  152. font-family: PingFangSC, PingFang SC;
  153. font-weight: 400;
  154. font-size: 28rpx;
  155. color: #666666;
  156. text-align: left;
  157. }
  158. .hi_btn{
  159. width: 110rpx;
  160. height: 48rpx;
  161. border-radius: 11rpx;
  162. font-family: PingFangSC, PingFang SC;
  163. font-weight: 400;
  164. font-size: 26rpx;
  165. text-align: center;
  166. line-height: 48rpx;
  167. }
  168. }
  169. }
  170. .yd_btn{
  171. background: #F0F8F6;
  172. color: #007A69;
  173. }
  174. .xz_btn{
  175. background: #E8EFFD;
  176. color: #326EE0;
  177. }
  178. }
  179. </style>