|
@@ -1,16 +1,12 @@
|
|
<template>
|
|
<template>
|
|
<view class="content">
|
|
<view class="content">
|
|
- <!-- loading -->
|
|
|
|
- <view class="load" v-if="isLoading">
|
|
|
|
- <van-loading type="spinner" color="#1989fa">加载中...</van-loading>
|
|
|
|
- </view>
|
|
|
|
<scroll-view scroll-y>
|
|
<scroll-view scroll-y>
|
|
<van-collapse :value="activeNames" @change="onChange">
|
|
<van-collapse :value="activeNames" @change="onChange">
|
|
- <van-collapse-item v-for="(item,index) in dataList" :key="index" :title="item.bundleName" :name="index">
|
|
|
|
|
|
+ <van-collapse-item style="margin-bottom: 10px;" v-for="(item,index) in dataList" :key="index" :title="item.bundleName" :name="index">
|
|
<template v-if="item.customerBundleItemList">
|
|
<template v-if="item.customerBundleItemList">
|
|
<view class="item-title">
|
|
<view class="item-title">
|
|
<view class="list-item-left ">
|
|
<view class="list-item-left ">
|
|
- <text style="font-size: 30rpx;font-weight: 600;">服务</text>
|
|
|
|
|
|
+ <text style="font-size: 30rpx;">服务</text>
|
|
</view>
|
|
</view>
|
|
|
|
|
|
</view>
|
|
</view>
|
|
@@ -23,12 +19,10 @@
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</template>
|
|
</template>
|
|
-
|
|
|
|
-
|
|
|
|
<template v-if="item.customerBundlePartList">
|
|
<template v-if="item.customerBundlePartList">
|
|
<view class="item-title ">
|
|
<view class="item-title ">
|
|
<view class="list-item-left">
|
|
<view class="list-item-left">
|
|
- <text style="font-size: 30rpx;font-weight: 600;">配件</text>
|
|
|
|
|
|
+ <text style="font-size: 30rpx;">配件</text>
|
|
</view>
|
|
</view>
|
|
|
|
|
|
</view>
|
|
</view>
|
|
@@ -50,64 +44,73 @@
|
|
</view>
|
|
</view>
|
|
</van-collapse-item>
|
|
</van-collapse-item>
|
|
</van-collapse>
|
|
</van-collapse>
|
|
|
|
+ <no-data :options="dataList" name="暂无套餐"/>
|
|
</scroll-view>
|
|
</scroll-view>
|
|
- <view v-if="isLoading && dataList.length ==0 " class="no-data">
|
|
|
|
- 暂无数据
|
|
|
|
- </view>
|
|
|
|
-
|
|
|
|
</view>
|
|
</view>
|
|
</template>
|
|
</template>
|
|
|
|
|
|
<script>
|
|
<script>
|
|
|
|
+ import {getQbcgjLogin,getPackageList} from '@/api/packageRequest.js'
|
|
|
|
+ import NoData from '@/components/NoData';
|
|
export default {
|
|
export default {
|
|
components: {
|
|
components: {
|
|
|
|
+ 'no-data': NoData
|
|
},
|
|
},
|
|
data() {
|
|
data() {
|
|
return {
|
|
return {
|
|
activeNames: [],
|
|
activeNames: [],
|
|
- dataList:[{
|
|
|
|
- bundleName: 'ceshijh',
|
|
|
|
- id: 1,
|
|
|
|
- customerBundleItemList: [
|
|
|
|
- {
|
|
|
|
- itemName: '111',
|
|
|
|
- itemTimes: 1
|
|
|
|
- },
|
|
|
|
- ],
|
|
|
|
- customerBundlePartList: [
|
|
|
|
- {
|
|
|
|
- partName: '111',
|
|
|
|
- quantity: 1
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- partName: '111',
|
|
|
|
- quantity: 1
|
|
|
|
- },
|
|
|
|
- ]
|
|
|
|
- },{
|
|
|
|
- bundleName: 'ceshijh',
|
|
|
|
- id: 1,
|
|
|
|
- customerBundleItemList: [
|
|
|
|
- {
|
|
|
|
- itemName: '111',
|
|
|
|
- itemTimes: 1
|
|
|
|
- },
|
|
|
|
- ],
|
|
|
|
- customerBundlePartList: [
|
|
|
|
- {
|
|
|
|
- partName: '111',
|
|
|
|
- quantity: 1
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- partName: '111',
|
|
|
|
- quantity: 1
|
|
|
|
- },
|
|
|
|
- ]
|
|
|
|
- }],
|
|
|
|
|
|
+ dataList:[],
|
|
isLoading:false , //判断页面数据是否请求完全
|
|
isLoading:false , //判断页面数据是否请求完全
|
|
}
|
|
}
|
|
},
|
|
},
|
|
methods: {
|
|
methods: {
|
|
|
|
+ RondomPass(number){
|
|
|
|
+ var arr = new Array;
|
|
|
|
+ var arr1 = new Array("0","1","2","3","4","5","6","7","8","9");
|
|
|
|
+ var nonceStr=''
|
|
|
|
+ for(var i=0;i<number;i++){
|
|
|
|
+ var n = Math.floor(Math.random()*10);
|
|
|
|
+ arr[i] =arr1[n] ;
|
|
|
|
+ nonceStr+=arr1[n];
|
|
|
|
+ }
|
|
|
|
+ return nonceStr
|
|
|
|
+ },
|
|
|
|
+ // 丘比养车登录车管家,获取接口凭证
|
|
|
|
+ getCgjLogin() {
|
|
|
|
+ let mobile = wx.getStorageSync('phone')
|
|
|
|
+ let randCode = this.RondomPass(10)
|
|
|
|
+ console.log(randCode,'randCode')
|
|
|
|
+ getQbcgjLogin({mobile:mobile,randCode:randCode}).then(res=>{
|
|
|
|
+ console.log(res,'rrrrrrr')
|
|
|
|
+ if (res.status === '200') {
|
|
|
|
+ mpvue.setStorage('token_cgj',res.data.token)
|
|
|
|
+ this.getPackageData()
|
|
|
|
+ } else {
|
|
|
|
+ wx.showToast({
|
|
|
|
+ title: res.message,
|
|
|
|
+ icon: 'none',
|
|
|
|
+ duration: 2500
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ },
|
|
|
|
+ // 获取套餐列表
|
|
|
|
+ getPackageData() {
|
|
|
|
+ getPackageList({}).then(res => {
|
|
|
|
+ wx.hideLoading()
|
|
|
|
+ if (res.status === '200') {
|
|
|
|
+ this.dataList = res.data
|
|
|
|
+ } else {
|
|
|
|
+ wx.showToast({
|
|
|
|
+ title: res.message,
|
|
|
|
+ icon: 'none',
|
|
|
|
+ duration: 2500
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+ this.isLoading = true
|
|
|
|
+ wx.hideLoading();
|
|
|
|
+ });
|
|
|
|
+ },
|
|
// 进入套餐详情
|
|
// 进入套餐详情
|
|
intoDetail(item) {
|
|
intoDetail(item) {
|
|
wx.navigateTo({
|
|
wx.navigateTo({
|
|
@@ -121,7 +124,13 @@
|
|
}
|
|
}
|
|
},
|
|
},
|
|
onLoad() {
|
|
onLoad() {
|
|
-
|
|
|
|
|
|
+ wx.showLoading({
|
|
|
|
+ mask: true,
|
|
|
|
+ title: '加载中'
|
|
|
|
+ })
|
|
|
|
+ this.isLoading = false
|
|
|
|
+ this.activeNames = []
|
|
|
|
+ this.getCgjLogin()
|
|
},
|
|
},
|
|
onReady() {
|
|
onReady() {
|
|
|
|
|
|
@@ -129,7 +138,7 @@
|
|
}
|
|
}
|
|
</script>
|
|
</script>
|
|
|
|
|
|
-<style lang="stylus" scoped>
|
|
|
|
|
|
+<style lang="stylus" >
|
|
.content{
|
|
.content{
|
|
padding: 15rpx 40rpx;
|
|
padding: 15rpx 40rpx;
|
|
font-size : 14px;
|
|
font-size : 14px;
|
|
@@ -166,6 +175,9 @@
|
|
-webkit-transform: scaleY(0.5);
|
|
-webkit-transform: scaleY(0.5);
|
|
transform: scaleY(0.5);
|
|
transform: scaleY(0.5);
|
|
}
|
|
}
|
|
|
|
+ van-collapse-item{
|
|
|
|
+ margin-bottom: 10px !important;
|
|
|
|
+ }
|
|
.van-collapse-cell--open{
|
|
.van-collapse-cell--open{
|
|
background: #FFFFFF;
|
|
background: #FFFFFF;
|
|
}
|
|
}
|
|
@@ -199,7 +211,7 @@
|
|
align-items: center;
|
|
align-items: center;
|
|
justify-content: center;
|
|
justify-content: center;
|
|
font-size: 28rpx;
|
|
font-size: 28rpx;
|
|
- color: grb(74,74,74);
|
|
|
|
|
|
+ color: rgb(40,40,40);
|
|
}
|
|
}
|
|
.show-detail image{
|
|
.show-detail image{
|
|
width: 18rpx;
|
|
width: 18rpx;
|
|
@@ -219,7 +231,6 @@
|
|
width: 100%;
|
|
width: 100%;
|
|
height: 60rpx;
|
|
height: 60rpx;
|
|
line-height: 60rpx;
|
|
line-height: 60rpx;
|
|
- font-weight:600;
|
|
|
|
color: rgb(40,40,40);
|
|
color: rgb(40,40,40);
|
|
}
|
|
}
|
|
.border-bottom-solid{
|
|
.border-bottom-solid{
|