recordDetails.vue 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193
  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" v-if="itemorderEntity">
  5. <view class="hx_title">
  6. 发船信息:{{itemorderEntity.playDate}} {{itemorderEntity.playTime}}/{{orderType[itemorderEntity.orderType]}}/{{itemorderEntity.boatNo}}
  7. </view>
  8. <view class="st_info">
  9. <text>订单编号:{{itemorderEntity.orderCode}}</text>
  10. <view class="sti_xq" @tap="toOrderDetails(itemorderEntity.orderCode)">详情</view>
  11. </view>
  12. <view class="st_info">
  13. <text>出游时间:{{itemorderEntity.playLength}}小时</text>
  14. </view>
  15. <view class="st_info">
  16. <text>联系号码:{{itemorderEntity.linkPhone}}</text>
  17. </view>
  18. <view class="st_info">
  19. <text>渔船号:{{itemorderEntity.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. itemorderEntity:''
  58. }
  59. },
  60. onLoad(option) {
  61. this.orderCode = option.orderCode;
  62. this.getDetails();
  63. },
  64. methods: {
  65. getDetails(){
  66. this.$api.get('/scenic/api/order/writeOffRecordInfo/'+this.orderCode).then(res=>{
  67. if(res.data.code===0){
  68. this.item = res.data.data;
  69. this.itemorderEntity = this.item.orderEntity;
  70. this.item.bookList.forEach(l=>{
  71. l.touristCode = l.touristCode.replace(/^(.{6})(?:\d+)(.{4})$/, '\$1******\$2');
  72. })
  73. this.item.boardingList.forEach(l=>{
  74. l.touristCode = l.touristCode.replace(/^(.{6})(?:\d+)(.{4})$/, '\$1******\$2');
  75. })
  76. }else this.$showToast(res.data.msg);
  77. })
  78. },
  79. toOrderDetails(id){
  80. uni.navigateTo({
  81. url:'/pagesHouse/Mine/ordersList/details/details?orderCode='+id
  82. })
  83. }
  84. }
  85. }
  86. </script>
  87. <style scoped lang="less">
  88. .page{
  89. width: 100%;
  90. padding: 0 24rpx 40rpx;
  91. box-sizing: border-box;
  92. background: #F5F8FA;
  93. .box{
  94. width: 100%;
  95. background: #ffffff;
  96. padding: 30rpx 24rpx;
  97. box-sizing: border-box;
  98. margin-top: 20rpx;
  99. border-radius: 16rpx;
  100. }
  101. .hx_title{
  102. font-family: PingFang-SC, PingFang-SC;
  103. font-weight: bold;
  104. font-size: 32rpx;
  105. color: #111111;
  106. line-height: 32rpx;
  107. }
  108. .ship_time{
  109. .st_info{
  110. margin-top: 25rpx;
  111. display: flex;
  112. align-items: center;
  113. justify-content: space-between;
  114. text{
  115. font-family: PingFangSC, PingFang SC;
  116. font-weight: 400;
  117. font-size: 28rpx;
  118. color: #777777;
  119. line-height: 32rpx;
  120. }
  121. .sti_xq{
  122. width: 64rpx;
  123. height: 36rpx;
  124. border-radius: 18rpx;
  125. border: 1rpx solid #007A69;
  126. text-align: center;
  127. line-height: 36rpx;
  128. font-family: PingFangSC, PingFang SC;
  129. font-weight: 400;
  130. font-size: 22rpx;
  131. color: #007A69;
  132. }
  133. }
  134. }
  135. .person_info{
  136. width: 100%;
  137. padding: 36rpx 24rpx 0;
  138. box-sizing: border-box;
  139. .hx_title{
  140. margin-bottom: 7rpx;
  141. }
  142. .hx_item{
  143. width: 100%;
  144. display: flex;
  145. align-items: center;
  146. padding: 45rpx 0;
  147. box-shadow: inset 0rpx -1rpx 0rpx 0rpx #EFEFEF;
  148. &:last-child{
  149. box-shadow: none;
  150. }
  151. .hi_name{
  152. width: calc(100% - 510rpx);
  153. font-family: PingFang-SC, PingFang-SC;
  154. font-weight: bold;
  155. font-size: 30rpx;
  156. color: #111111;
  157. }
  158. .hi_idcard{
  159. width: 400rpx;
  160. font-family: PingFangSC, PingFang SC;
  161. font-weight: 400;
  162. font-size: 28rpx;
  163. color: #666666;
  164. text-align: left;
  165. }
  166. .hi_btn{
  167. width: 110rpx;
  168. height: 48rpx;
  169. border-radius: 11rpx;
  170. font-family: PingFangSC, PingFang SC;
  171. font-weight: 400;
  172. font-size: 26rpx;
  173. text-align: center;
  174. line-height: 48rpx;
  175. }
  176. }
  177. }
  178. .yd_btn{
  179. background: #F0F8F6;
  180. color: #007A69;
  181. }
  182. .xz_btn{
  183. background: #E8EFFD;
  184. color: #326EE0;
  185. }
  186. }
  187. </style>