carGroup.vue 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186
  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{
  59. this.optdata.value=e.value
  60. uni.navigateTo({
  61. url:'/pages/index/goodsList?nLevelID='+this.optdata.nLevelID+'&logo='+this.optdata.logo+'&value='+this.optdata.value+'&id='+e.id+'&isVin='+this.optdata.isVin+'&vin='+this.optdata.vin+'&type='+this.type
  62. })
  63. }
  64. /* else if(this.type==2){
  65. uni.navigateTo({
  66. 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
  67. })
  68. }
  69. else if(this.type==3){
  70. uni.navigateTo({
  71. 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
  72. })
  73. }
  74. else if(this.type==4){
  75. uni.navigateTo({
  76. 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
  77. })
  78. }
  79. else{
  80. uni.navigateTo({
  81. 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
  82. })
  83. } */
  84. },
  85. queryEnginemodel(e){
  86. this.$http('matchingByOpen/queryEnginemodel', {
  87. ids:this.optdata.id,
  88. },'POST').then(res => {
  89. this.engineList=res.data
  90. if(this.engineList.length>1){
  91. his.$refs.popup.open()
  92. }else{
  93. uni.navigateTo({
  94. url:'/pages/index/goodsList?nLevelID='+this.optdata.nLevelID+'&logo='+this.optdata.logo+'&value='+this.optdata.value+'&id='+e.id+'&isVin='+this.optdata.isVin+'&vin='+this.optdata.vin+'&type=1'
  95. })
  96. }
  97. })
  98. },
  99. ckengin(item){
  100. console.log(item)
  101. uni.navigateTo({
  102. url:'/pages/index/goodsList?nLevelID='+this.optdata.nLevelID+'&logo='+this.optdata.logo+'&value='+this.optdata.value+'&id='+item.ids+'&isVin='+this.optdata.isVin+'&vin='+this.optdata.vin
  103. })
  104. },
  105. getmodelList(){
  106. uni.showLoading({ title: '加载中'});
  107. this.$http('matchingByOpen/queryCarModelGroupPackage', {
  108. brand:this.optdata.brand,
  109. manufactor:this.optdata.manufactor,
  110. carSeries:this.optdata.carSeries,
  111. displacement:this.optdata.displacement
  112. },'post').then(res => {
  113. uni.hideLoading();
  114. this.carGroupList=res.data.carGroupList
  115. })
  116. },
  117. }
  118. }
  119. </script>
  120. <style scoped>
  121. .content{
  122. background: #F4F5F7;min-height: 100vh;
  123. }
  124. .top{
  125. display: flex;background: #ffffff;
  126. padding: 34rpx 24rpx;
  127. }
  128. .logoImg{
  129. width: 46rpx;
  130. height: 46rpx;
  131. }
  132. .topname{
  133. font-weight: 500;font-size: 28rpx;line-height: 46rpx;
  134. color: #1A1A1A;padding-left: 20rpx;
  135. }
  136. .tsImg{
  137. width: 27rpx;height: 28rpx;
  138. }
  139. .tsTxt{
  140. font-weight: 500;padding-left: 16rpx;
  141. color: #FFBF35;
  142. font-size: 28rpx;line-height: 28rpx;
  143. }
  144. .ts{
  145. padding: 36rpx 24rpx;display: flex;
  146. }
  147. .linebox{
  148. background: #ffffff;
  149. padding: 0 24rpx;
  150. }
  151. .line{
  152. border-bottom: 1rpx solid #EEEEEE;
  153. font-weight: 400;
  154. color: #333333;font-size: 26rpx;
  155. padding: 30rpx 0;
  156. }
  157. .picker-view {
  158. width: 750rpx;
  159. height: 600rpx;
  160. margin-top: 20rpx;
  161. }
  162. .popupLine {
  163. line-height: 100rpx;
  164. text-align: center;
  165. font-size: 28rpx;
  166. display: block;
  167. }
  168. .popupLineBox{
  169. padding-bottom: env(safe-area-inset-bottom);
  170. }
  171. .popupTitle{
  172. line-height: 100rpx;
  173. text-align: center;
  174. font-size: 30rpx;
  175. color: #999999;
  176. }
  177. </style>