recordDetails.vue 4.9 KB

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