recordDetails.vue 4.8 KB

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