carGroup.vue 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179
  1. <template>
  2. <view class="content">
  3. <homenav :iStatusBarHeight="iStatusBarHeight" :title="'车型选择'"></homenav>
  4. <view class="top">
  5. <image :src="optdata.logo" mode="" class="logoImg"></image>
  6. <view class="topname">
  7. {{optdata.brand}}-{{optdata.manufactor}}-{{optdata.carSeries}}-{{optdata.displacement}}
  8. </view>
  9. </view>
  10. <view class="ts">
  11. <image src="../../static/img/icon_xuanze.png" mode="" class="tsImg"></image>
  12. <view class="tsTxt">请选择车型</view>
  13. </view>
  14. <view class="linebox">
  15. <view class="line" v-for="(item,index) in carGroupList" @click="goItem(item)">
  16. {{item.title}}
  17. </view>
  18. </view>
  19. <uni-popup ref="popup" type="bottom" background-color="#fff">
  20. <view class="popupTitle">请选择发动机</view>
  21. <view style="popupLineBox">
  22. <view @click="ckengin(item)" class="popupLine" v-for="(item,index) in engineList">{{item.engineModel}}</view>
  23. </view>
  24. </uni-popup>
  25. </view>
  26. </template>
  27. <script>
  28. import homenav from "../../components/homenav/nav.vue"
  29. export default {
  30. components: {
  31. homenav
  32. },
  33. data() {
  34. return {
  35. brand:'',
  36. manufactor:'',
  37. carSeries:'',
  38. logo:'',
  39. optdata:'',
  40. carGroupList:[],
  41. iStatusBarHeight:'',
  42. type:'',
  43. engineList:'',
  44. }
  45. },
  46. onLoad(opt) {
  47. this.iStatusBarHeight = uni.getSystemInfoSync().statusBarHeight;
  48. this.optdata=opt;
  49. this.type=opt.type
  50. this.getmodelList();
  51. },
  52. methods: {
  53. goItem(e){
  54. this.optdata.nLevelID=e.carModelInfo.nLevelID
  55. if(this.type==1){
  56. this.optdata.value=e.value
  57. this.queryEnginemodel(e)
  58. }else if(this.type==2){
  59. uni.navigateTo({
  60. url:'/pages/index/gearboxOil?nLevelID='+this.optdata.nLevelID+'&logo='+this.optdata.logo+'&value='+e.value+'&id='+e.id+'&isVin='+this.optdata.isVin+'&vin='+this.optdata.vin
  61. })
  62. }
  63. else if(this.type==3){
  64. uni.navigateTo({
  65. url:'/pages/index/transmissionOil?nLevelID='+this.optdata.nLevelID+'&logo='+this.optdata.logo+'&value='+e.value+'&id='+e.id+'&isVin='+this.optdata.isVin+'&vin='+this.optdata.vin
  66. })
  67. }
  68. else if(this.type==4){
  69. uni.navigateTo({
  70. url:'/pages/index/wiper?nLevelID='+this.optdata.nLevelID+'&logo='+this.optdata.logo+'&value='+e.value+'&id='+e.id+'&isVin='+this.optdata.isVin+'&vin='+this.optdata.vin
  71. })
  72. }
  73. else{
  74. uni.navigateTo({
  75. url:'/pages/index/byItem?nLevelID='+e.carModelInfo.nLevelID+'&logo='+this.optdata.logo+'&manufactor='+this.optdata.manufactor+'&carSeries='+this.optdata.carSeries+'&brand='+this.optdata.brand+'&value='+e.value+'&id='+e.id
  76. })
  77. }
  78. },
  79. queryEnginemodel(e){
  80. this.$http('matchingByOpen/queryEnginemodel', {
  81. ids:this.optdata.id,
  82. },'POST').then(res => {
  83. this.engineList=res.data
  84. if(this.engineList.length>1){
  85. his.$refs.popup.open()
  86. }else{
  87. uni.navigateTo({
  88. url:'/pages/index/engineOil?nLevelID='+this.optdata.nLevelID+'&logo='+this.optdata.logo+'&value='+this.optdata.value+'&id='+e.id+'&isVin='+this.optdata.isVin+'&vin='+this.optdata.vin
  89. })
  90. }
  91. })
  92. },
  93. ckengin(item){
  94. console.log(item)
  95. uni.navigateTo({
  96. url:'/pages/index/engineOil?nLevelID='+this.optdata.nLevelID+'&logo='+this.optdata.logo+'&value='+this.optdata.value+'&id='+item.ids+'&isVin='+this.optdata.isVin+'&vin='+this.optdata.vin
  97. })
  98. },
  99. getmodelList(){
  100. uni.showLoading({ title: '加载中'});
  101. this.$http('matchingByOpen/queryCarModelGroupPackage', {
  102. brand:this.optdata.brand,
  103. manufactor:this.optdata.manufactor,
  104. carSeries:this.optdata.carSeries,
  105. displacement:this.optdata.displacement
  106. },'post').then(res => {
  107. uni.hideLoading();
  108. this.carGroupList=res.data.carGroupList
  109. })
  110. },
  111. }
  112. }
  113. </script>
  114. <style scoped>
  115. .content{
  116. background: #F4F5F7;min-height: 100vh;
  117. }
  118. .top{
  119. display: flex;background: #ffffff;
  120. padding: 34rpx 24rpx;
  121. }
  122. .logoImg{
  123. width: 46rpx;
  124. height: 46rpx;
  125. }
  126. .topname{
  127. font-weight: 500;font-size: 28rpx;line-height: 46rpx;
  128. color: #1A1A1A;padding-left: 20rpx;
  129. }
  130. .tsImg{
  131. width: 27rpx;height: 28rpx;
  132. }
  133. .tsTxt{
  134. font-weight: 500;padding-left: 16rpx;
  135. color: #FFBF35;
  136. font-size: 28rpx;line-height: 28rpx;
  137. }
  138. .ts{
  139. padding: 36rpx 24rpx;display: flex;
  140. }
  141. .linebox{
  142. background: #ffffff;
  143. padding: 0 24rpx;
  144. }
  145. .line{
  146. border-bottom: 1rpx solid #EEEEEE;
  147. font-weight: 400;
  148. color: #333333;font-size: 26rpx;
  149. padding: 30rpx 0;
  150. }
  151. .picker-view {
  152. width: 750rpx;
  153. height: 600rpx;
  154. margin-top: 20rpx;
  155. }
  156. .popupLine {
  157. line-height: 100rpx;
  158. text-align: center;
  159. font-size: 28rpx;
  160. display: block;
  161. }
  162. .popupLineBox{
  163. padding-bottom: env(safe-area-inset-bottom);
  164. }
  165. .popupTitle{
  166. line-height: 100rpx;
  167. text-align: center;
  168. font-size: 30rpx;
  169. color: #999999;
  170. }
  171. </style>