Commit b508c001 authored by fwz's avatar fwz

Merge remote-tracking branch 'origin/dev_cd' into dev_cd

# Conflicts:
#	pagesA/pages/index/getCarCode.vue
parents 33ac9a73 c418433f
...@@ -2,9 +2,10 @@ ...@@ -2,9 +2,10 @@
export default { export default {
onLaunch: function () { onLaunch: function () {
uni.hideTabBar() uni.hideTabBar()
},
} onShow: function () {
uni.hideHomeButton()
},
} }
</script> </script>
......
...@@ -48,7 +48,7 @@ ...@@ -48,7 +48,7 @@
export default { export default {
data() { data() {
return { return {
checked: false, checked: true,
code: "", code: "",
isCanUse: false, //默认为true isCanUse: false, //默认为true
isCanUse2: false, //默认为true isCanUse2: false, //默认为true
...@@ -302,6 +302,7 @@ button::after { ...@@ -302,6 +302,7 @@ button::after {
opacity: 0.96; opacity: 0.96;
letter-spacing: .5em; letter-spacing: .5em;
margin-bottom: 32rpx; margin-bottom: 32rpx;
margin-top: 200rpx;
} }
.login__read { .login__read {
...@@ -312,7 +313,11 @@ button::after { ...@@ -312,7 +313,11 @@ button::after {
font-weight: 500; font-weight: 500;
color: #666666; color: #666666;
line-height: 36rpx; line-height: 36rpx;
position: fixed;
bottom: 100rpx;
left: 0;
right: 0;
margin: 0 auto;
span { span {
color: rgb(0, 81, 255); color: rgb(0, 81, 255);
} }
......
<template> <template>
<view class="appCotent"> <view class="appCotent" v-if="show">
<view class="index-content"> <view class="index-content">
<u-swiper :radius="0" :height="210" :list="list5" circular :autoplay="false"> <u-swiper :radius="0" :height="210" :list="list5" circular @change="e => current = e.current" :autoplay="false">
<view slot="indicator" class="indicator"> <view slot="indicator" class="indicator">
<view class="indicator__dot" v-for="(item, index) in list5" :key="index" :class="[index === current && 'indicator__dot--active']"> <view class="indicator__dot" v-for="(item, index) in list5" :key="index" :class="[index === current && 'indicator__dot--active']">
</view> </view>
...@@ -58,6 +58,7 @@ ...@@ -58,6 +58,7 @@
export default { export default {
data() { data() {
return { return {
show: false,
current: 0, current: 0,
balance: "0.00", balance: "0.00",
list5: [], list5: [],
...@@ -111,6 +112,11 @@ export default { ...@@ -111,6 +112,11 @@ export default {
this.getMoveCode() this.getMoveCode()
this.getRotationList() this.getRotationList()
}, },
mounted() {
setTimeout(() => {
this.show = true
}, 100);
},
onReady: function () { onReady: function () {
uni.setNavigationBarTitle({ uni.setNavigationBarTitle({
title: '首页' title: '首页'
......
<template> <template>
<view class="main_content"> <view class="main_content">
<index v-if="tab=='index'"></index> <index v-if="tab=='index'"></index>
<moveCar v-if="tab=='moveCar'"></moveCar> <moveCar v-if="tab=='moveCar'"></moveCar>
<shop v-if="tab=='shop'"></shop> <shop v-if="tab=='shop'"></shop>
<personal v-if="tab=='personal'"></personal> <personal v-if="tab=='personal'"></personal>
<u-gap bgColor="transparent" height="055"></u-gap> <u-gap bgColor="transparent" height="055"></u-gap>
<view class="tabbar"> <view class="tabbar">
<v-tabbar :list="tabbar" style="position:fixed;bottom:0;width:100%;left:0;right:0;" @tabChange="tabChange"></v-tabbar> <v-tabbar :list="tabbar" style="position:fixed;bottom:0;width:100%;left:0;right:0;" @tabChange="tabChange"></v-tabbar>
</view>
</view> </view>
</view>
</template> </template>
<script> <script>
...@@ -31,6 +31,7 @@ export default { ...@@ -31,6 +31,7 @@ export default {
}, },
data() { data() {
return { return {
tab: "index", tab: "index",
} }
}, },
...@@ -41,8 +42,11 @@ export default { ...@@ -41,8 +42,11 @@ export default {
tabbar: "tabbar" tabbar: "tabbar"
}) })
}, },
onShow: function () {}, onShow: function () {
uni.hideHomeButton()
},
methods: { methods: {
tabChange(index) { tabChange(index) {
let that = this let that = this
switch (index) { switch (index) {
...@@ -54,38 +58,43 @@ export default { ...@@ -54,38 +58,43 @@ export default {
break; break;
case 2: case 2:
uni.scanCode({ uni.scanCode({
success: function (res) { success: function (res) {
let path = res.path let path = res.path
if(path) { if (path) {
let xcxIndexPath = uni.getStorageSync('xcxIndexPath') let xcxIndexPath = uni.getStorageSync('xcxIndexPath')
console.info(xcxIndexPath); console.info(xcxIndexPath);
if(xcxIndexPath) { if (xcxIndexPath) {
xcxIndexPath = path.replace(xcxIndexPath, '').replace("?", '') xcxIndexPath = path.replace(xcxIndexPath, '').replace("?", '')
if(xcxIndexPath.indexOf('scene') >= 0 ) { if (xcxIndexPath.indexOf('scene') >= 0) {
let scene = xcxIndexPath.replace('scene=', '') let scene = xcxIndexPath.replace('scene=', '')
let param = {code : scene} let param = {
let opts = { url: '/app/index/check/move/code', method: 'post' } code: scene
console.log(param); }
that.http.httpTokenRequest(opts, param).then(res => { let opts = {
console.info(res) url: '/app/index/check/move/code',
if (res.data.code == 200) { method: 'post'
if(res.data.data.bindFlag) { }
that.gotoMoveCar(scene) console.log(param);
} else { that.http.httpTokenRequest(opts, param).then(res => {
that.gotoBindMoveCar(scene) console.info(res)
} if (res.data.code == 200) {
} if (res.data.data.bindFlag) {
}) that.gotoMoveCar(scene)
} else {
that.gotoBindMoveCar(scene)
}
}
})
}
} }
} else {
uni.showToast({
title: '扫码失败',
icon: 'none',
})
} }
} else {
uni.showToast({
title:'扫码失败',
icon:'none',
})
} }
} });
});
break; break;
case 3: case 3:
this.tab = 'shop' this.tab = 'shop'
...@@ -94,22 +103,22 @@ export default { ...@@ -94,22 +103,22 @@ export default {
this.tab = 'personal' this.tab = 'personal'
break; break;
} }
this.$forceUpdate(); that.$forceUpdate();
}, },
//跳转到挪车页面 //跳转到挪车页面
gotoMoveCar(s) { gotoMoveCar(s) {
let that = this; let that = this;
uni.navigateTo({ uni.navigateTo({
url: '/pagesB/pages/move-car/oneMoveCar?scene=' + s url: '/pagesB/pages/move-car/oneMoveCar?scene=' + s
}); });
}, },
//跳转到绑定页面 //跳转到绑定页面
gotoBindMoveCar(s) { gotoBindMoveCar(s) {
let that = this; let that = this;
uni.navigateTo({ uni.navigateTo({
url: '/pagesB/pages/move-car/scan?moveCode=' + s url: '/pagesB/pages/move-car/scan?moveCode=' + s
}); });
}, },
}, },
onLoad() {} onLoad() {}
} }
......
<template> <template>
<view class="appCotent"> <view class="appCotent" v-if="show">
<view class="moveCar"> <view class="moveCar">
<div class="move_car__content"> <div class="move_car__content">
<div class="menu__top" @click="goUrl({ <div class="menu__top" @click="goUrl({
...@@ -34,6 +34,7 @@ url: '/pagesB/pages/move-car/loveCar', ...@@ -34,6 +34,7 @@ url: '/pagesB/pages/move-car/loveCar',
export default { export default {
data() { data() {
return { return {
show: false,
items: [{ items: [{
icon: require("@/static/move-car/move-car6.png"), icon: require("@/static/move-car/move-car6.png"),
url: "/pagesB/pages/move-car/oneMoveCar", url: "/pagesB/pages/move-car/oneMoveCar",
...@@ -126,7 +127,12 @@ export default { ...@@ -126,7 +127,12 @@ export default {
uni.setNavigationBarTitle({ uni.setNavigationBarTitle({
title: '我要挪车' title: '我要挪车'
}); });
} },
mounted() {
setTimeout(() => {
this.show = true
}, 100);
},
}; };
</script> </script>
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
* @Description: 个人中心 * @Description: 个人中心
--> -->
<template> <template>
<view class="appCotent"> <view class="appCotent" v-if="show">
<view class="content"> <view class="content">
<view class="personal"> <view class="personal">
<div class="ps__bg"> <div class="ps__bg">
...@@ -64,6 +64,7 @@ ...@@ -64,6 +64,7 @@
export default { export default {
data() { data() {
return { return {
show:false,
menu: [{ menu: [{
icon: require("@/static/my/my12.png"), icon: require("@/static/my/my12.png"),
title: "我的地址", title: "我的地址",
...@@ -252,6 +253,9 @@ export default { ...@@ -252,6 +253,9 @@ export default {
}, },
mounted() { mounted() {
setTimeout(() => {
this.show=true
}, 100);
this.getUserInfo() this.getUserInfo()
}, },
onReady: function () { onReady: function () {
......
<template> <template>
<view class="appCotent"> <scroll-view scroll-y="true" :scroll-top="scrollTop" @scroll="scroll">
<view> <view class="appCotent" v-if="isShow">
<view class="shop"> <view>
<div class="my__search" @click='goSearch'> <view class="shop">
<u-search placeholder="搜搜你最想知道的" :showAction='false' bgColor='#ffffff' v-model="keyword"></u-search> <div class="my__search" @click='goSearch'>
</div> <u-search placeholder="搜搜你最想知道的" :showAction='false' bgColor='#ffffff' v-model="keyword"></u-search>
<div class="shop__swiper">
<view class="u-demo-block">
<u-swiper :list="list3" previousMargin="30" nextMargin="30" circular :autoplay="false" height='150' radius="5" bgColor="#ffffff"></u-swiper>
</view>
</div>
<div class="view__content">
<div class="view__title">超低价养车好物</div>
<div class="shop__list2">
<div class="shop__item2" v-for="(vo,inx) in mallList" :key="inx" @click="goDetail(vo.id)">
<div class="item2__img">
<image :src="getImage(vo.mainImgUrl)" />
</div>
<div class="item2__title">{{vo.title}}</div>
<div class="item2__price">{{vo.currentPrice/100}}</div>
</div>
</div> </div>
</div> <div class="shop__swiper">
<div class="shop__list__one"> <view class="u-demo-block">
<div class="view__title">车主精选 养车必备</div> <u-swiper :list="list3" previousMargin="30" nextMargin="30" circular :autoplay="false" height='150' radius="5" bgColor="#ffffff"></u-swiper>
<scroll-list ref="list" :option="option" @load="load"> </view>
<div class="list__one__items"> </div>
<div class="view__content">
<div class="one__item" v-for="(vo,inx) in boutiqueMallList" :key="inx" @click="goDetail(vo.id)"> <div class="view__title">超低价养车好物</div>
<div class="one__item__img"> <div class="shop__list2">
<div class="shop__item2" v-for="(vo,inx) in mallList" :key="inx" @click="goDetail(vo.id)">
<div class="item2__img">
<image :src="getImage(vo.mainImgUrl)" /> <image :src="getImage(vo.mainImgUrl)" />
</div> </div>
<div class="one__item__title"> <div class="item2__title">{{vo.title}}</div>
{{vo.title}} <div class="item2__price">{{vo.currentPrice/100}}</div>
</div>
<div class="one__item__price">
{{vo.currentPrice/100}}<span class="num__two">{{vo.originalPrice/100}}</span>
</div>
</div> </div>
</div> </div>
</scroll-list> </div>
<div class="shop__list__one">
</div> <div class="view__title">车主精选 养车必备</div>
<scroll-list ref="list" :option="option" @load="load">
<div class="list__one__items" v-if="boutiqueMallList.length>0">
<div class="one__item" v-for="(vo,inx) in boutiqueMallList" :key="inx" @click="goDetail(vo.id)">
<div class="one__item__img">
<image :src="getImage(vo.mainImgUrl)" />
</div>
<div class="one__item__title">
{{vo.title}}
</div>
<div class="one__item__price">
{{vo.currentPrice/100}}<span class="num__two">{{vo.originalPrice/100}}</span>
</div>
</div>
</div>
</scroll-list>
</div>
</view>
<u-gap bgColor="transparent" height="60"></u-gap>
</view> </view>
<u-gap bgColor="transparent" height="60"></u-gap>
</view> </view>
</view> </scroll-view>
</template> </template>
<script> <script>
export default { export default {
data() { data() {
return { return {
isShow:false,
scrollTop: 0,
old: {
scrollTop: 0
},
option: { option: {
size: 10, size: 10,
auto: true auto: true
...@@ -70,6 +74,16 @@ export default { ...@@ -70,6 +74,16 @@ export default {
} }
}, },
methods: { methods: {
scroll: function (e) {
this.old.scrollTop = e.detail.scrollTop
console.log(this.old.scrollTop);
},
goTop() {
this.scrollTop = this.old.scrollTop
this.$nextTick(function () {
this.scrollTop = 0
});
},
// 加载数据 // 加载数据
load(paging) { load(paging) {
setTimeout(() => { setTimeout(() => {
...@@ -158,7 +172,13 @@ export default { ...@@ -158,7 +172,13 @@ export default {
title: '精选商城' title: '精选商城'
}); });
}, },
created() {
this.goTop()
},
mounted() { mounted() {
setTimeout(() => {
this.isShow = true
}, 100);
this.getMallList() this.getMallList()
this.getRotationList() this.getRotationList()
//this.getBoutiqueMallList() //this.getBoutiqueMallList()
...@@ -272,9 +292,12 @@ export default { ...@@ -272,9 +292,12 @@ export default {
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: space-between; justify-content: space-between;
overflow: hidden;
overflow-x: scroll;
.shop__item2 { .shop__item2 {
width: 25%; width: 24%;
margin-right:30rpx;
.item2__img { .item2__img {
margin-bottom: 20rpx; margin-bottom: 20rpx;
......
This diff is collapsed.
...@@ -73,17 +73,17 @@ ...@@ -73,17 +73,17 @@
import CarNumber from "@/common/codecook-carnumber/codecook-carnumber.vue"; import CarNumber from "@/common/codecook-carnumber/codecook-carnumber.vue";
export default { export default {
components: { components: {
CarNumber, CarNumber,
}, },
data() { data() {
return { return {
model1: { model1: {
carInfo: { carInfo: {
carNo: '', carNo: '',
brand: '', brand: '',
carModel: '', carModel: '',
mileage: '', mileage: '',
}, },
}, },
rules: { rules: {
"carInfo.brand": { "carInfo.brand": {
...@@ -98,17 +98,23 @@ export default { ...@@ -98,17 +98,23 @@ export default {
message: "请填写车型", message: "请填写车型",
trigger: ["blur", "change"], trigger: ["blur", "change"],
}, },
"carInfo.carNo": [{ "carInfo.mileage": {
min: 7, type: "number",
max: 8, required: false,
message: '车牌长度在7-8个字符之间' message: "请填写正确的里程数",
},
{
type: "string",
required: true,
message: "请填写车牌号",
trigger: ["blur", "change"], trigger: ["blur", "change"],
}, },
"carInfo.carNo": [{
min: 7,
max: 8,
message: '车牌长度在7-8个字符之间'
},
{
type: "string",
required: true,
message: "请填写车牌号",
trigger: ["blur", "change"],
},
] ]
}, },
carId: '', carId: '',
...@@ -152,13 +158,13 @@ export default { ...@@ -152,13 +158,13 @@ export default {
method: 'get' method: 'get'
}; };
that.http.httpTokenRequest(opts, {}).then(res => { that.http.httpTokenRequest(opts, {}).then(res => {
if (res.data.code == 200) { if (res.data.code == 200) {
that.$nextTick(() => { that.$nextTick(() => {
that.model1.carInfo = res.data.data; that.model1.carInfo = res.data.data;
that.model1.carInfo.carNo = res.data.data.carNo; that.model1.carInfo.carNo = res.data.data.carNo;
that.$set(that.model1.carInfo, 'carNo', res.data.data.carNo); that.$set(that.model1.carInfo, 'carNo', res.data.data.carNo);
}) })
} }
}) })
} }
...@@ -180,11 +186,10 @@ export default { ...@@ -180,11 +186,10 @@ export default {
this.$refs.form1.setRules(this.rules) this.$refs.form1.setRules(this.rules)
}, },
onShow() { onShow() {
this.$nextTick(() => { this.$nextTick(() => {
this.getCarInfo() this.getCarInfo()
this.getMoveCode() this.getMoveCode()
}) })
}, },
onLoad(e) { onLoad(e) {
......
...@@ -157,7 +157,6 @@ export default { ...@@ -157,7 +157,6 @@ export default {
/deep/.u-input__content__field-wrapper__field { /deep/.u-input__content__field-wrapper__field {
text-align: right !important; text-align: right !important;
padding-right: 30rpx;
} }
.u-checkbox-group { .u-checkbox-group {
......
...@@ -71,6 +71,12 @@ export default { ...@@ -71,6 +71,12 @@ export default {
message: "请填写车型", message: "请填写车型",
trigger: ["blur", "change"], trigger: ["blur", "change"],
}, },
"carInfo.mileage": {
type: "number",
required: false,
message: "请填写正确的里程数",
trigger: ["blur", "change"],
},
"carInfo.carNo": [{ "carInfo.carNo": [{
min: 7, min: 7,
max: 8, max: 8,
...@@ -194,7 +200,6 @@ export default { ...@@ -194,7 +200,6 @@ export default {
/deep/ .u-input__content__field-wrapper__field { /deep/ .u-input__content__field-wrapper__field {
text-align: right !important; text-align: right !important;
padding-right: 30rpx;
justify-content: space-evenly; justify-content: space-evenly;
} }
......
This diff is collapsed.
...@@ -4,27 +4,27 @@ ...@@ -4,27 +4,27 @@
--> -->
<template> <template>
<view class="appCotent"> <view class="appCotent">
<div class="pull"> <div class="pull">
<div class="view__content"> <div class="view__content">
<div class="view__title"> <div class="view__title">
问题/意见描述 问题/意见描述
</div>
<div class="why">
<u--textarea maxlength='500' count v-model="feedback.fbContent" placeholder="请填写10字以上的问题描述,以便我们更好地帮 您解决问题"></u--textarea>
</div>
</div> </div>
<div class="why"> <div class="view__content">
<u--textarea maxlength='500' count v-model="feedback.fbContent" placeholder="请填写10字以上的问题描述,以便我们更好地帮 您解决问题"></u--textarea> <div class="view__title">
联系方式
</div>
<div class="why">
<u--textarea height='20' v-model="feedback.contact" placeholder="请填写您的手机号或邮箱,便于我们联系 您解决问题"></u--textarea>
</div>
</div> </div>
</div> <div class="view__btn view__no__bind" @click="addFeedback()">
<div class="view__content"> 提交
<div class="view__title">
联系方式
</div>
<div class="why">
<u--textarea height='20' v-model="feedback.contact" placeholder="请填写您的手机号或邮箱,便于我们联系 您解决问题"></u--textarea>
</div> </div>
</div> </div>
<div class="view__btn view__no__bind" @click="addFeedback()">
提交
</div>
</div>
</view> </view>
</template> </template>
...@@ -32,31 +32,43 @@ ...@@ -32,31 +32,43 @@
export default { export default {
data() { data() {
return { return {
feedback: { feedback: {
//反馈内容 //反馈内容
fbContent: '', fbContent: '',
//联系方式 //联系方式
contact: '', contact: '',
}, },
}; };
}, },
methods: { methods: {
addFeedback(){ addFeedback() {
let opts = { url: '/app/user/feedback', method: 'post' }; let regChinese = /^[^\u4e00-\u9fa5]{0,}$/;
this.http.httpTokenRequest(opts, this.feedback).then(res => { let checkChinese = regChinese.test(this.feedback.contact);
if (res.data.code == 200) { if(!checkChinese){
uni.showToast({ uni.showToast({
title: '提交成功', title: '请填写正确的联系方式',
icon: 'success', icon: 'none',
}) })
}else{ return;
uni.showToast({ }
title: '提交失败', let opts = {
icon: 'error', url: '/app/user/feedback',
}) method: 'post'
} };
}) this.http.httpTokenRequest(opts, this.feedback).then(res => {
} if (res.data.code == 200) {
uni.showToast({
title: '提交成功',
icon: 'success',
})
} else {
uni.showToast({
title: '提交失败',
icon: 'error',
})
}
})
}
}, },
} }
</script> </script>
...@@ -80,6 +92,7 @@ export default { ...@@ -80,6 +92,7 @@ export default {
border-radius: 20rpx; border-radius: 20rpx;
padding: 30rpx; padding: 30rpx;
margin-bottom: 30rpx; margin-bottom: 30rpx;
.view__title { .view__title {
font-size: 32rpx; font-size: 32rpx;
font-family: PingFang SC; font-family: PingFang SC;
......
This diff is collapsed.
...@@ -5,9 +5,9 @@ ...@@ -5,9 +5,9 @@
<template> <template>
<view class="appCotent"> <view class="appCotent">
<div class="myOrder"> <div class="myOrder">
<u-tabs :current='current' :list="list4" lineWidth="30" @change="changeVal" lineColor="#f56c6c" :activeStyle="{ <u-tabs :current='current' :list="list4" lineWidth="30" @change="changeVal" lineColor="#f56c6c" :activeStyle="{
color: '#303133', color: 'rgba(241, 37, 27, 1)',
fontWeight: 'bold', fontSize: '32rpx',
transform: 'scale(1.05)' transform: 'scale(1.05)'
}" :inactiveStyle="{ }" :inactiveStyle="{
color: '#606266', color: '#606266',
......
...@@ -65,7 +65,7 @@ export default { ...@@ -65,7 +65,7 @@ export default {
this.http.httpTokenRequest(opts, orderRefund).then(res => { this.http.httpTokenRequest(opts, orderRefund).then(res => {
if (res.data.code == 200) { if (res.data.code == 200) {
uni.showToast({ uni.showToast({
title: '退款成功', title: '退款申请成功',
icon: 'success', icon: 'success',
}) })
} }
......
No preview for this file type
...@@ -32,7 +32,7 @@ const store = new Vuex.Store({ ...@@ -32,7 +32,7 @@ const store = new Vuex.Store({
{ {
pagePath: '/pagesC/pages/releaseBtn/releaseBtn', pagePath: '/pagesC/pages/releaseBtn/releaseBtn',
iconPath: '', iconPath: '',
selectedIconPath: '/static/tarbar/index31.png' selectedIconPath: ''
}, },
{ {
pagePath: '/pagesC/pages/shop/index', pagePath: '/pagesC/pages/shop/index',
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment