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 @@
export default {
onLaunch: function () {
uni.hideTabBar()
}
},
onShow: function () {
uni.hideHomeButton()
},
}
</script>
......
......@@ -48,7 +48,7 @@
export default {
data() {
return {
checked: false,
checked: true,
code: "",
isCanUse: false, //默认为true
isCanUse2: false, //默认为true
......@@ -302,6 +302,7 @@ button::after {
opacity: 0.96;
letter-spacing: .5em;
margin-bottom: 32rpx;
margin-top: 200rpx;
}
.login__read {
......@@ -312,7 +313,11 @@ button::after {
font-weight: 500;
color: #666666;
line-height: 36rpx;
position: fixed;
bottom: 100rpx;
left: 0;
right: 0;
margin: 0 auto;
span {
color: rgb(0, 81, 255);
}
......
<template>
<view class="appCotent">
<view class="appCotent" v-if="show">
<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 class="indicator__dot" v-for="(item, index) in list5" :key="index" :class="[index === current && 'indicator__dot--active']">
</view>
......@@ -58,6 +58,7 @@
export default {
data() {
return {
show: false,
current: 0,
balance: "0.00",
list5: [],
......@@ -111,6 +112,11 @@ export default {
this.getMoveCode()
this.getRotationList()
},
mounted() {
setTimeout(() => {
this.show = true
}, 100);
},
onReady: function () {
uni.setNavigationBarTitle({
title: '首页'
......
<template>
<view class="main_content">
<index v-if="tab=='index'"></index>
<moveCar v-if="tab=='moveCar'"></moveCar>
<shop v-if="tab=='shop'"></shop>
<personal v-if="tab=='personal'"></personal>
<view class="main_content">
<index v-if="tab=='index'"></index>
<moveCar v-if="tab=='moveCar'"></moveCar>
<shop v-if="tab=='shop'"></shop>
<personal v-if="tab=='personal'"></personal>
<u-gap bgColor="transparent" height="055"></u-gap>
<view class="tabbar">
<v-tabbar :list="tabbar" style="position:fixed;bottom:0;width:100%;left:0;right:0;" @tabChange="tabChange"></v-tabbar>
<view class="tabbar">
<v-tabbar :list="tabbar" style="position:fixed;bottom:0;width:100%;left:0;right:0;" @tabChange="tabChange"></v-tabbar>
</view>
</view>
</view>
</template>
<script>
......@@ -31,6 +31,7 @@ export default {
},
data() {
return {
tab: "index",
}
},
......@@ -41,8 +42,11 @@ export default {
tabbar: "tabbar"
})
},
onShow: function () {},
onShow: function () {
uni.hideHomeButton()
},
methods: {
tabChange(index) {
let that = this
switch (index) {
......@@ -54,38 +58,43 @@ export default {
break;
case 2:
uni.scanCode({
success: function (res) {
let path = res.path
if(path) {
let xcxIndexPath = uni.getStorageSync('xcxIndexPath')
console.info(xcxIndexPath);
if(xcxIndexPath) {
xcxIndexPath = path.replace(xcxIndexPath, '').replace("?", '')
if(xcxIndexPath.indexOf('scene') >= 0 ) {
let scene = xcxIndexPath.replace('scene=', '')
let param = {code : scene}
let opts = { url: '/app/index/check/move/code', method: 'post' }
console.log(param);
that.http.httpTokenRequest(opts, param).then(res => {
console.info(res)
if (res.data.code == 200) {
if(res.data.data.bindFlag) {
that.gotoMoveCar(scene)
} else {
that.gotoBindMoveCar(scene)
}
}
})
success: function (res) {
let path = res.path
if (path) {
let xcxIndexPath = uni.getStorageSync('xcxIndexPath')
console.info(xcxIndexPath);
if (xcxIndexPath) {
xcxIndexPath = path.replace(xcxIndexPath, '').replace("?", '')
if (xcxIndexPath.indexOf('scene') >= 0) {
let scene = xcxIndexPath.replace('scene=', '')
let param = {
code: scene
}
let opts = {
url: '/app/index/check/move/code',
method: 'post'
}
console.log(param);
that.http.httpTokenRequest(opts, param).then(res => {
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;
case 3:
this.tab = 'shop'
......@@ -94,22 +103,22 @@ export default {
this.tab = 'personal'
break;
}
this.$forceUpdate();
that.$forceUpdate();
},
//跳转到挪车页面
gotoMoveCar(s) {
let that = this;
uni.navigateTo({
gotoMoveCar(s) {
let that = this;
uni.navigateTo({
url: '/pagesB/pages/move-car/oneMoveCar?scene=' + s
});
},
//跳转到绑定页面
gotoBindMoveCar(s) {
let that = this;
uni.navigateTo({
});
},
//跳转到绑定页面
gotoBindMoveCar(s) {
let that = this;
uni.navigateTo({
url: '/pagesB/pages/move-car/scan?moveCode=' + s
});
},
});
},
},
onLoad() {}
}
......
<template>
<view class="appCotent">
<view class="appCotent" v-if="show">
<view class="moveCar">
<div class="move_car__content">
<div class="menu__top" @click="goUrl({
......@@ -34,6 +34,7 @@ url: '/pagesB/pages/move-car/loveCar',
export default {
data() {
return {
show: false,
items: [{
icon: require("@/static/move-car/move-car6.png"),
url: "/pagesB/pages/move-car/oneMoveCar",
......@@ -126,7 +127,12 @@ export default {
uni.setNavigationBarTitle({
title: '我要挪车'
});
}
},
mounted() {
setTimeout(() => {
this.show = true
}, 100);
},
};
</script>
......
......@@ -3,7 +3,7 @@
* @Description: 个人中心
-->
<template>
<view class="appCotent">
<view class="appCotent" v-if="show">
<view class="content">
<view class="personal">
<div class="ps__bg">
......@@ -64,6 +64,7 @@
export default {
data() {
return {
show:false,
menu: [{
icon: require("@/static/my/my12.png"),
title: "我的地址",
......@@ -252,6 +253,9 @@ export default {
},
mounted() {
setTimeout(() => {
this.show=true
}, 100);
this.getUserInfo()
},
onReady: function () {
......
<template>
<view class="appCotent">
<view>
<view class="shop">
<div class="my__search" @click='goSearch'>
<u-search placeholder="搜搜你最想知道的" :showAction='false' bgColor='#ffffff' v-model="keyword"></u-search>
</div>
<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>
<scroll-view scroll-y="true" :scroll-top="scrollTop" @scroll="scroll">
<view class="appCotent" v-if="isShow">
<view>
<view class="shop">
<div class="my__search" @click='goSearch'>
<u-search placeholder="搜搜你最想知道的" :showAction='false' bgColor='#ffffff' v-model="keyword"></u-search>
</div>
</div>
<div class="shop__list__one">
<div class="view__title">车主精选 养车必备</div>
<scroll-list ref="list" :option="option" @load="load">
<div class="list__one__items">
<div class="one__item" v-for="(vo,inx) in boutiqueMallList" :key="inx" @click="goDetail(vo.id)">
<div class="one__item__img">
<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="one__item__title">
{{vo.title}}
</div>
<div class="one__item__price">
{{vo.currentPrice/100}}<span class="num__two">{{vo.originalPrice/100}}</span>
</div>
<div class="item2__title">{{vo.title}}</div>
<div class="item2__price">{{vo.currentPrice/100}}</div>
</div>
</div>
</scroll-list>
</div>
</div>
<div class="shop__list__one">
<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>
<u-gap bgColor="transparent" height="60"></u-gap>
</view>
</view>
</scroll-view>
</template>
<script>
export default {
data() {
return {
isShow:false,
scrollTop: 0,
old: {
scrollTop: 0
},
option: {
size: 10,
auto: true
......@@ -70,6 +74,16 @@ export default {
}
},
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) {
setTimeout(() => {
......@@ -158,7 +172,13 @@ export default {
title: '精选商城'
});
},
created() {
this.goTop()
},
mounted() {
setTimeout(() => {
this.isShow = true
}, 100);
this.getMallList()
this.getRotationList()
//this.getBoutiqueMallList()
......@@ -272,9 +292,12 @@ export default {
display: flex;
align-items: center;
justify-content: space-between;
overflow: hidden;
overflow-x: scroll;
.shop__item2 {
width: 25%;
width: 24%;
margin-right:30rpx;
.item2__img {
margin-bottom: 20rpx;
......
......@@ -6,30 +6,11 @@
<view class="appCotent">
<div class="getCarCode">
<div class="get__content">
<div class="address" v-if="addressShow" @click="goAddress">
<div class="address__left">
<div class="right__title">
{{addressInfo.address}}&emsp;{{addressInfo.detailInfo}}
</div>
<div class="right__phone">
<span>{{addressInfo.userName}}</span>
<span>{{addressInfo.telNumber}}</span>
<span v-if="addressInfo.defaultFlag">默认</span>
</div>
</div>
<div class="address__right" >
<image src="@/static/index/right.png" />
</div>
<u-gap bgColor="transparent" height="15"></u-gap>
</div>
<div v-else class="add__address" @click="addAddress">
<image src="@/static/index/get-car-code5.png"> 添加收货地址
</div>
<u-gap bgColor="transparent" height="15"></u-gap>
<div class="content__code">
<div class="code__img">
<image :src="freeCode.mainImgUrl" class="code__img"></image>
</div>
<image :src="freeCode.mainImgUrl" class="code__img"></image>
</div>
<div class="code__money">
<div class="money__title">
<text>{{freeCode.title}}</text>
......@@ -47,7 +28,7 @@
<div class="list__title">
超低价养车好物
</div>
<u-gap bgColor="transparent" height="40"></u-gap>
<u-gap bgColor="transparent" height="20"></u-gap>
<div class="list">
<div class="list__item" v-for="(vo,inx) in mallList" :key="inx">
<image :src="vo.mainImgUrl" class="list__img"></image>
......@@ -66,7 +47,7 @@
<text class="num__two">¥{{vo.originalPrice/100}}</text>
</div>
</div>
<u-number-box>
<view slot="minus" class="minus" @click="minusMall(vo)">
<u-icon name="minus" size="12"></u-icon>
......@@ -78,16 +59,36 @@
<u-icon name="plus" color="#FFFFFF" size="12"></u-icon>
</view>
</u-number-box>
<!-- <u-number-box v-model="mallSelectMap[vo.id]" :min="0" @change="selectMall">
<!-- <u-number-box v-model="mallSelectMap[vo.id]" :min="0" @change="selectMall">
</u-number-box> -->
<!-- <div class="list__add" @click="add">
<image src="@/static/index/get-car-code2.png" />
</div> -->
</div>
</div>
<u-gap bgColor="transparent" height="100"></u-gap>
<div class="address" v-if="addressShow" @click="goAddress">
<div class="address__left">
<div class="right__title">
{{addressInfo.address}}&emsp;{{addressInfo.detailInfo}}
</div>
<div class="right__phone">
<span v-if="addressInfo.defaultFlag">默认</span>
<span>{{addressInfo.userName}}</span>
<span>{{addressInfo.telNumber}}</span>
</div>
</div>
<div class="address__right">
<image src="@/static/index/right.png" />
</div>
<u-gap bgColor="transparent" height="15"></u-gap>
</div>
<div v-else class="add__address" @click="addAddress">
<image src="@/static/index/get-car-code5.png"> 添加收货地址
</div>
</div>
</div>
<u-modal :show="show" :content='content' @confirm='show = false'></u-modal>
......@@ -113,7 +114,7 @@
export default {
data() {
return {
nums:0,
nums: 0,
show: false,
addressShow: false,
content: "地址不能为空",
......@@ -139,24 +140,24 @@ export default {
img: require('@/static/index/get-car-code1.png')
}
],
//收货地址列表
addressList: [],
//选择收货地址id
addressId: '',
//选择的收货地址
addressInfo: {},
//免费挪车码
freeCode: {},
//普通商品列表
mallList: [],
value: 0,
//
selectMallList: [],
//收货地址列表
addressList: [],
//选择收货地址id
addressId: '',
//选择的收货地址
addressInfo: {},
//免费挪车码
freeCode: {},
//普通商品列表
mallList: [],
value: 0,
//
selectMallList: [],
//选择商品的数量
countNum: 1,
//商品变更为零或者1
quantityChange: false,
countMoney: 0,
countMoney: 0,
mallMoney: 0,
mallSelectMap: {},
carNo: '',
......@@ -164,78 +165,87 @@ export default {
},
methods: {
pay() {
if(!this.addressId) {
uni.showToast({
title:'请添加一个收货地址',
icon:'none',
})
if (!this.addressId) {
uni.showToast({
title: '请添加一个收货地址',
icon: 'none',
})
} else {
let list = [{
id: this.freeCode.id,
nums: 1,
}]
let idMap = this.mallSelectMap
for(let id in idMap){
if(idMap[id] > 0){
let commodity = { id: id, nums: idMap[id] }
list.push(commodity)
let list = [{
id: this.freeCode.id,
nums: 1,
}]
let idMap = this.mallSelectMap
for (let id in idMap) {
if (idMap[id] > 0) {
let commodity = {
id: id,
nums: idMap[id]
}
list.push(commodity)
}
}
}
this.createOrder = {
addressId: this.addressId,
commodityList: list,
}
let that = this
let opts = { url: '/app/mall/create/order', method: 'post' };
this.http.httpTokenRequest(opts, this.createOrder).then(res => {
if (res.data.code == 200) {
let orderIds = res.data.data
if(orderIds && orderIds.length > 0) {
that.orderSubmit = {
appId: 6,
ids: orderIds,
channelCode: 'wx_lite',
}
let opts = { url: '/app/pay/order/submit/more', method: 'post' }
this.http.httpTokenRequest(opts, that.orderSubmit).then(res => {
if (res.data.code == 200) {
let paymentData = res.data.data.invokeResponse;
uni.requestPayment({
provider: 'wxpay', // 服务提提供商
timeStamp: paymentData.timeStamp,
nonceStr: paymentData.nonceStr,
package: paymentData.packageValue,
signType: paymentData.signType,
paySign: paymentData.paySign,
success: function (res) {
uni.navigateTo({
url: '/pagesC/pages/shop/payOk'
})
},
fail: function (err) {
//console.log('支付失败',err);
},
});
this.createOrder = {
addressId: this.addressId,
commodityList: list,
}
let that = this
let opts = {
url: '/app/mall/create/order',
method: 'post'
};
this.http.httpTokenRequest(opts, this.createOrder).then(res => {
if (res.data.code == 200) {
let orderIds = res.data.data
if (orderIds && orderIds.length > 0) {
that.orderSubmit = {
appId: 6,
ids: orderIds,
channelCode: 'wx_lite',
}
let opts = {
url: '/app/pay/order/submit/more',
method: 'post'
}
this.http.httpTokenRequest(opts, that.orderSubmit).then(res => {
if (res.data.code == 200) {
let paymentData = res.data.data.invokeResponse;
uni.requestPayment({
provider: 'wxpay', // 服务提提供商
timeStamp: paymentData.timeStamp,
nonceStr: paymentData.nonceStr,
package: paymentData.packageValue,
signType: paymentData.signType,
paySign: paymentData.paySign,
success: function (res) {
uni.navigateTo({
url: '/pagesC/pages/shop/payOk'
})
},
fail: function (err) {
//console.log('支付失败',err);
},
});
} else {
}
})
} else {
uni.navigateTo({
url: '/pagesC/pages/shop/payOk'
})
}
})
} else {
uni.navigateTo({
url: '/pagesC/pages/shop/payOk'
})
}
} else {
uni.showToast({
title: res.data.msg,
icon:'none',
})
}
})
} else {
uni.showToast({
title: res.data.msg,
icon: 'none',
})
}
})
}
},
add(){
add() {
this.nums++
},
addAddress() {
......@@ -243,98 +253,105 @@ export default {
url: '/pagesD/pages/personal/addAddress'
});
},
getAddressList(){
let opts = { url: '/app/user/address/list', method: 'get' };
this.http.httpTokenRequest(opts, {}).then(res => {
if (res.data.code == 200) {
this.addressList = res.data.data
if(this.addressList !== undefined && this.addressList != null && this.addressList.length > 0){
let defaultFlagExist = false
this.addressList.forEach(element => {
if(this.addressId){
if(element.id == this.addressId){
this.addressInfo = element
this.addressShow = true
defaultFlagExist = true
}
}else if(element.defaultFlag){
this.addressInfo = element
this.addressId = element.id
this.addressShow = true
defaultFlagExist = true
}
});
if(!defaultFlagExist){
this.addressInfo = this.addressList[0]
this.addressShow = true
}
}
}
})
},
goAddress(){
uni.navigateTo({
url: '/pagesD/pages/personal/myAddress?pay=1'
})
},
getMoveCode(){
let opts = { url: '/app/mall/free/code', method: 'get' };
this.http.httpTokenRequest(opts, {}).then(res => {
if (res.data.code == 200) {
this.freeCode = res.data.data
}
})
},
getMallList(){
let opts = { url: '/app/mall/add/purchase', method: 'get' };
this.http.httpTokenRequest(opts, {}).then(res => {
if (res.data.code == 200) {
this.mallList = res.data.data
this.mallList.forEach(element=>{
getAddressList() {
let opts = {
url: '/app/user/address/list',
method: 'get'
};
this.http.httpTokenRequest(opts, {}).then(res => {
if (res.data.code == 200) {
this.addressList = res.data.data
if (this.addressList !== undefined && this.addressList != null && this.addressList.length > 0) {
let defaultFlagExist = false
this.addressList.forEach(element => {
if (this.addressId) {
if (element.id == this.addressId) {
this.addressInfo = element
this.addressShow = true
defaultFlagExist = true
}
} else if (element.defaultFlag) {
this.addressInfo = element
this.addressId = element.id
this.addressShow = true
defaultFlagExist = true
}
});
if (!defaultFlagExist) {
this.addressInfo = this.addressList[0]
this.addressShow = true
}
}
}
})
},
goAddress() {
uni.navigateTo({
url: '/pagesD/pages/personal/myAddress?pay=1'
})
},
getMoveCode() {
let opts = {
url: '/app/mall/free/code',
method: 'get'
};
this.http.httpTokenRequest(opts, {}).then(res => {
if (res.data.code == 200) {
this.freeCode = res.data.data
}
})
},
getMallList() {
let opts = {
url: '/app/mall/add/purchase',
method: 'get'
};
this.http.httpTokenRequest(opts, {}).then(res => {
if (res.data.code == 200) {
this.mallList = res.data.data
this.mallList.forEach(element => {
element.selectNum = 0
})
}
})
},
selectMoney(value){
}
})
},
selectMoney(value) {
this.mallMoney = value
},
selectMall(num){
selectMall(num) {
//当添加数量且数量为1就加总共商品数量
this.quantityChange = (num.value == 0 || num.value == 1)
},
plusMall(vo){
// if(!this.mallSelectMap[vo.id] || this.mallSelectMap[vo.id] == 0){
// this.countNum = this.countNum + 1
// this.mallSelectMap[vo.id] = 1
// }else{
// this.mallSelectMap[vo.id] += 1
// }
if(!this.mallSelectMap[vo.id]){
this.mallSelectMap[vo.id] = 0
}
this.mallSelectMap[vo.id] += 1
},
plusMall(vo) {
this.countNum = this.countNum + 1
if (!this.mallSelectMap[vo.id] || this.mallSelectMap[vo.id] == 0) {
this.mallSelectMap[vo.id] = 1
} else {
this.mallSelectMap[vo.id] += 1
}
this.countMoney += vo.currentPrice
//console.log(this.mallSelectMap)
},
minusMall(vo){
if(this.mallSelectMap[vo.id] && this.mallSelectMap[vo.id] > 0){
// if(this.mallSelectMap[vo.id] == 1){
// this.countNum -= 1
// }
this.countNum -= 1
minusMall(vo) {
if (this.countNum == 0) {
return
}
this.countNum = this.countNum - 1
if (this.mallSelectMap[vo.id] && this.mallSelectMap[vo.id] > 0) {
if (this.mallSelectMap[vo.id] == 1) {}
this.mallSelectMap[vo.id] -= 1
this.countMoney -= vo.currentPrice
}
},
},
onShow() {
this.getAddressList()
this.getMoveCode()
this.getMallList()
},
onShow() {
this.getAddressList()
this.getMoveCode()
this.getMallList()
},
onLoad(option) {
this.carNo = option.carNo
this.carNo = option.carNo
},
};
</script>
......@@ -344,9 +361,11 @@ export default {
/deep/ .u-modal__content__text {
text-align: center !important;
}
/deep/ .u-input__content__field-wrapper__field {
/deep/ .u-input__content__field-wrapper__field {
text-align: right !important;
}
.price__bottom {
width: 100%;
height: 156rpx;
......@@ -422,9 +441,15 @@ export default {
display: flex;
align-items: center;
padding: 30rpx 40rpx;
position: fixed;
bottom: 200rpx;
left: 0;
right: 0;
margin: 0 auto;
.address__left {
width: 600rpx;
width: 600rpx;
.right__title {
font-size: 32rpx;
font-family: PingFang SC;
......@@ -437,29 +462,31 @@ export default {
.right__phone {
display: flex;
align-items: center;
span{
padding-left: 20rpx;
}
span:nth-of-type(1) {
font-size: 28rpx;
font-size: 24rpx;
font-family: PingFang SC;
font-weight: 500;
color: #666666;
padding: 0 14rpx;
font-weight: bold;
color: #F88D28;
padding: 2rpx 4rpx;
border: 1rpx solid #F88D28;
}
span:nth-of-type(2) {
font-size: 28rpx;
font-family: DIN;
font-weight: 500;
color: #666666;
}
span:nth-of-type(3) {
font-size: 24rpx;
font-size: 28rpx;
font-family: PingFang SC;
font-weight: bold;
color: #F88D28;
margin-left: 20rpx;
padding: 2rpx 4rpx;
border: 1rpx solid #F88D28;
font-weight: 500;
color: #666666;
}
}
}
......@@ -473,6 +500,11 @@ export default {
}
.add__address {
position: fixed;
left: 0;
right: 0;
margin: 0 auto;
bottom: 200rpx;
width: 670rpx;
height: 90rpx;
background: #ffffff;
......@@ -603,7 +635,8 @@ export default {
.list__money {
margin: 0 20rpx;
margin-left: 100rpx;
width: 400rpx;
width: 400rpx;
.money__title {
font-size: 32rpx;
font-family: PingFang SC;
......@@ -658,33 +691,31 @@ export default {
}
}
}
.minus {
width: 22px;
height: 22px;
border-width: 1px;
border-color: #E6E6E6;
border-top-left-radius: 100px;
border-top-right-radius: 100px;
border-bottom-left-radius: 100px;
border-bottom-right-radius: 100px;
@include flex;
justify-content: center;
align-items: center;
}
.input {
padding: 0 10px;
}
.plus {
width: 22px;
height: 22px;
background-color: #FF0000;
border-radius: 50%;
/* #ifndef APP-NVUE */
display: flex;
/* #endif */
justify-content: center;
align-items: center;
}
.minus {
width: 22px;
height: 22px;
background: #e6e6e6;
border-radius: 50%;
display: flex;
color: #fff;
justify-content: center;
align-items: center;
}
.input {
padding: 0 10px;
}
.plus {
width: 22px;
height: 22px;
background-color: #FF0000;
border-radius: 50%;
/* #ifndef APP-NVUE */
display: flex;
/* #endif */
justify-content: center;
align-items: center;
}
</style>
......@@ -73,17 +73,17 @@
import CarNumber from "@/common/codecook-carnumber/codecook-carnumber.vue";
export default {
components: {
CarNumber,
CarNumber,
},
data() {
return {
model1: {
carInfo: {
carNo: '',
brand: '',
carModel: '',
mileage: '',
},
carInfo: {
carNo: '',
brand: '',
carModel: '',
mileage: '',
},
},
rules: {
"carInfo.brand": {
......@@ -98,17 +98,23 @@ export default {
message: "请填写车型",
trigger: ["blur", "change"],
},
"carInfo.carNo": [{
min: 7,
max: 8,
message: '车牌长度在7-8个字符之间'
},
{
type: "string",
required: true,
message: "请填写车牌号",
"carInfo.mileage": {
type: "number",
required: false,
message: "请填写正确的里程数",
trigger: ["blur", "change"],
},
},
"carInfo.carNo": [{
min: 7,
max: 8,
message: '车牌长度在7-8个字符之间'
},
{
type: "string",
required: true,
message: "请填写车牌号",
trigger: ["blur", "change"],
},
]
},
carId: '',
......@@ -152,13 +158,13 @@ export default {
method: 'get'
};
that.http.httpTokenRequest(opts, {}).then(res => {
if (res.data.code == 200) {
that.$nextTick(() => {
that.model1.carInfo = res.data.data;
that.model1.carInfo.carNo = res.data.data.carNo;
that.$set(that.model1.carInfo, 'carNo', res.data.data.carNo);
})
}
if (res.data.code == 200) {
that.$nextTick(() => {
that.model1.carInfo = res.data.data;
that.model1.carInfo.carNo = res.data.data.carNo;
that.$set(that.model1.carInfo, 'carNo', res.data.data.carNo);
})
}
})
}
......@@ -180,11 +186,10 @@ export default {
this.$refs.form1.setRules(this.rules)
},
onShow() {
this.$nextTick(() => {
this.getCarInfo()
this.getMoveCode()
})
this.$nextTick(() => {
this.getCarInfo()
this.getMoveCode()
})
},
onLoad(e) {
......
......@@ -157,7 +157,6 @@ export default {
/deep/.u-input__content__field-wrapper__field {
text-align: right !important;
padding-right: 30rpx;
}
.u-checkbox-group {
......
......@@ -71,6 +71,12 @@ export default {
message: "请填写车型",
trigger: ["blur", "change"],
},
"carInfo.mileage": {
type: "number",
required: false,
message: "请填写正确的里程数",
trigger: ["blur", "change"],
},
"carInfo.carNo": [{
min: 7,
max: 8,
......@@ -194,7 +200,6 @@ export default {
/deep/ .u-input__content__field-wrapper__field {
text-align: right !important;
padding-right: 30rpx;
justify-content: space-evenly;
}
......
......@@ -50,7 +50,7 @@ export default {
carNumber: "",
model1: {
addressInfo: {
address : ''
address: ''
},
value: false,
},
......@@ -61,134 +61,150 @@ export default {
message: "收货人不能为空",
trigger: ["blur", "change"],
},
"addressInfo.telNumber": {
type: "string",
required: true,
message: "手机号不能为空",
trigger: ["blur", "change"],
},
"addressInfo.address": {
type: "string",
required: true,
message: "收货地址不能为空",
trigger: ["blur", "change"],
},
"addressInfo.detailInfo": {
type: "string",
required: true,
message: "门牌号不能为空",
trigger: ["blur", "change"],
},
"addressInfo.telNumber": [{
type: "string",
required: true,
message: "手机号不能为空",
trigger: ["blur", "change"],
},
{
// 自定义验证函数,见上说明
validator: (rule, value, callback) => {
// 上面有说,返回true表示校验通过,返回false表示不通过
// uni.$u.test.mobile()就是返回true或者false的
return uni.$u.test.mobile(value);
},
message: '手机格式错误,请输入11位手机号',
// 触发器可以同时用blur和change
trigger: ['change', 'blur'],
}
],
"addressInfo.address": {
type: "string",
required: true,
message: "收货地址不能为空",
trigger: ["blur", "change"],
},
"addressInfo.detailInfo": {
type: "string",
required: true,
message: "门牌号不能为空",
trigger: ["blur", "change"],
},
},
};
},
methods: {
goBack() {
uni.navigateBack({
delta: 1
})
},
addAddress(){
this.$refs.form1.validate().then(res => {
this.model1.addressInfo.defaultFlag = false
if(this.model1.value){
this.model1.addressInfo.defaultFlag = true
}
let opts = { url: '/app/user/address', method: 'post' };
this.http.httpTokenRequest(opts, this.model1.addressInfo).then(res => {
if (res.data.code == 200) {
//添加成功
uni.$u.toast('新增成功')
this.goBack()
}
})
}).catch(errors => {
uni.$u.toast('请正确填写信息')
})
},
goBack() {
uni.navigateBack({
delta: 1
})
},
addAddress() {
this.$refs.form1.validate().then(res => {
this.model1.addressInfo.defaultFlag = false
if (this.model1.value) {
this.model1.addressInfo.defaultFlag = true
}
let opts = {
url: '/app/user/address',
method: 'post'
};
this.http.httpTokenRequest(opts, this.model1.addressInfo).then(res => {
if (res.data.code == 200) {
//添加成功
uni.$u.toast('新增成功')
this.goBack()
}
})
}).catch(errors => {
uni.$u.toast('请正确填写信息')
})
},
// 用户授权
getAuthorize() {
const _this = this
uni.authorize({
scope: 'scope.userLocation', // 获取地理信息必填的参数,其它参数见文档
success(res) {
_this.getLocation()
},
// 授权失败
fail(err) {
uni.showModal({
title: '温馨提示',
content: '无法获取当前位置,请手动开启授权',
success: function (res) {
if (res.confirm) {
//console.log('用户点击确定')
uni.openSetting({
success(res) {
if (res.authSetting['scope.userLocation']) {
//console.log('打开授权设置定位')
_this.getLocation()
}
},
const _this = this
uni.authorize({
scope: 'scope.userLocation', // 获取地理信息必填的参数,其它参数见文档
success(res) {
_this.getLocation()
},
// 授权失败
fail(err) {
uni.showModal({
title: '温馨提示',
content: '无法获取当前位置,请手动开启授权',
success: function (res) {
if (res.confirm) {
//console.log('用户点击确定')
uni.openSetting({
success(res) {
if (res.authSetting['scope.userLocation']) {
//console.log('打开授权设置定位')
_this.getLocation()
}
},
})
} else if (res.cancel) {
//console.log('用户点击取消')
}
},
})
} else if (res.cancel) {
//console.log('用户点击取消')
}
},
})
},
})
})
},
// 获取用户的地理位置,
getLocation() {
const _this = this
uni.getLocation({
type: 'wgs84',
altitude: true,
success(res) {
//小程序只能获取到位置经纬度,需要借助高德地图的逆解析地址,显示出中文具体城市名字
_this.loadCity(res.longitude, res.latitude)
},
fail() {
//console.log('拒绝获取地理位置')
}
})
const _this = this
uni.getLocation({
type: 'wgs84',
altitude: true,
success(res) {
//小程序只能获取到位置经纬度,需要借助高德地图的逆解析地址,显示出中文具体城市名字
_this.loadCity(res.longitude, res.latitude)
},
fail() {
//console.log('拒绝获取地理位置')
}
})
},
// 经纬度转具体城市
// 1)需要用到高德地图的逆地理编码
// 2)需要当前地理位置的经纬度
// 3)小程序的key值
loadCity(longitude, latitude) {
const that = this
uni.request({
header: {
'Content-Type': 'application/text',
},
//注意:这里的key值需要高德地图的 web服务生成的key 只有web服务才有逆地理编码
url: 'https://restapi.amap.com/v3/geocode/regeo?output=JSON&location=' +
longitude +
',' +
latitude +
'&key=1bba2ab2de600f8b5fafe167e09cd2af&radius=1000&extensions=all',
success(res) {
//console.log(res);
if (res.statusCode === 200) {
if (res.data.status === '1') {
let addressInfo = res.data
//详细地址
let detailInfo = addressInfo.regeocode.formatted_address
that.model1.addressInfo.address = detailInfo
}
} else {
//console.log('获取信息失败,请重试!')
}
},
})
const that = this
uni.request({
header: {
'Content-Type': 'application/text',
},
//注意:这里的key值需要高德地图的 web服务生成的key 只有web服务才有逆地理编码
url: 'https://restapi.amap.com/v3/geocode/regeo?output=JSON&location=' +
longitude +
',' +
latitude +
'&key=1bba2ab2de600f8b5fafe167e09cd2af&radius=1000&extensions=all',
success(res) {
//console.log(res);
if (res.statusCode === 200) {
if (res.data.status === '1') {
let addressInfo = res.data
//详细地址
let detailInfo = addressInfo.regeocode.formatted_address
that.model1.addressInfo.address = detailInfo
}
} else {
//console.log('获取信息失败,请重试!')
}
},
})
},
},
onReady() {
// 如果需要兼容微信小程序,并且校验规则中含有方法等,只能通过setRules方法设置规则
this.$refs.form1.setRules(this.rules)
},
onReady() {
// 如果需要兼容微信小程序,并且校验规则中含有方法等,只能通过setRules方法设置规则
this.$refs.form1.setRules(this.rules)
},
};
</script>
......@@ -198,6 +214,7 @@ export default {
image {
width: 34rpx;
height: 36rpx;
padding-left: 20rpx;
}
}
......
......@@ -4,27 +4,27 @@
-->
<template>
<view class="appCotent">
<div class="pull">
<div class="view__content">
<div class="view__title">
问题/意见描述
<div class="pull">
<div class="view__content">
<div class="view__title">
问题/意见描述
</div>
<div class="why">
<u--textarea maxlength='500' count v-model="feedback.fbContent" placeholder="请填写10字以上的问题描述,以便我们更好地帮 您解决问题"></u--textarea>
</div>
</div>
<div class="why">
<u--textarea maxlength='500' count v-model="feedback.fbContent" placeholder="请填写10字以上的问题描述,以便我们更好地帮 您解决问题"></u--textarea>
<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 class="view__content">
<div class="view__title">
联系方式
</div>
<div class="why">
<u--textarea height='20' v-model="feedback.contact" placeholder="请填写您的手机号或邮箱,便于我们联系 您解决问题"></u--textarea>
<div class="view__btn view__no__bind" @click="addFeedback()">
提交
</div>
</div>
<div class="view__btn view__no__bind" @click="addFeedback()">
提交
</div>
</div>
</view>
</template>
......@@ -32,31 +32,43 @@
export default {
data() {
return {
feedback: {
//反馈内容
fbContent: '',
//联系方式
contact: '',
},
feedback: {
//反馈内容
fbContent: '',
//联系方式
contact: '',
},
};
},
methods: {
addFeedback(){
let opts = { 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',
})
}
})
}
addFeedback() {
let regChinese = /^[^\u4e00-\u9fa5]{0,}$/;
let checkChinese = regChinese.test(this.feedback.contact);
if(!checkChinese){
uni.showToast({
title: '请填写正确的联系方式',
icon: 'none',
})
return;
}
let opts = {
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>
......@@ -80,6 +92,7 @@ export default {
border-radius: 20rpx;
padding: 30rpx;
margin-bottom: 30rpx;
.view__title {
font-size: 32rpx;
font-family: PingFang SC;
......
......@@ -4,45 +4,45 @@
-->
<template>
<view class="appCotent">
<div class="editAddress">
<u-gap bgColor="transparent" height="20"></u-gap>
<div class="editAddress">
<u-gap bgColor="transparent" height="20"></u-gap>
<div class="car_info">
<u--form labelPosition="left" :model="model1" :rules="rules" ref="form1" labelWidth="100">
<u-form-item label="收货人:" prop="addressInfo.userName" borderBottom ref="item1">
<u--input v-model="model1.addressInfo.userName" placeholder="请填写收货人姓名" border="none"></u--input>
</u-form-item>
<u-form-item label="手机号码:" prop="addressInfo.telNumber" borderBottom ref="item1">
<u--input v-model="model1.addressInfo.telNumber" placeholder="请填写收货人手机号码" border="none"></u--input>
</u-form-item>
<u-form-item label="收货地址:" prop="addressInfo.address" borderBottom ref="item1">
<u--input v-model="model1.addressInfo.address" placeholder="点击选择收货地址" border="none"></u--input>
<span @click.stop="getAuthorize">
<span class="app__gps">
<image src="@/static/my/gps.png" >
</span>
<span class="app__right">
<image src="@/static/my/my6.png" >
</span>
</span>
</u-form-item>
<u-form-item label="楼号门牌:" prop="addressInfo.detailInfo" borderBottom ref="item1">
<u--input v-model="model1.addressInfo.detailInfo" placeholder="例如 2栋3单元101室" border="none"></u--input>
</u-form-item>
<u-form-item label="设置默认地址:" prop="addressInfo.defaultFlag" ref="item1">
<u-switch class="del__address" v-model="model1.addressInfo.defaultFlag" activeColor="#5ac725"></u-switch>
</u-form-item>
<div class="car_info">
<u--form labelPosition="left" :model="model1" :rules="rules" ref="form1" labelWidth="100">
<u-form-item label="收货人:" prop="addressInfo.userName" borderBottom ref="item1">
<u--input v-model="model1.addressInfo.userName" placeholder="请填写收货人姓名" border="none"></u--input>
</u-form-item>
<u-form-item label="手机号码:" prop="addressInfo.telNumber" borderBottom ref="item1">
<u--input v-model="model1.addressInfo.telNumber" placeholder="请填写收货人手机号码" border="none"></u--input>
</u-form-item>
<u-form-item label="收货地址:" prop="addressInfo.address" borderBottom ref="item1">
<u--input v-model="model1.addressInfo.address" placeholder="点击选择收货地址" border="none"></u--input>
<span @click.stop="getAuthorize">
<span class="app__gps">
<image src="@/static/my/gps.png">
</span>
<span class="app__right">
<image src="@/static/my/my6.png">
</span>
</span>
</u-form-item>
<u-form-item label="楼号门牌:" prop="addressInfo.detailInfo" borderBottom ref="item1">
<u--input v-model="model1.addressInfo.detailInfo" placeholder="例如 2栋3单元101室" border="none"></u--input>
</u-form-item>
<u-form-item label="设置默认地址:" prop="addressInfo.defaultFlag" ref="item1">
<u-switch class="del__address" v-model="model1.addressInfo.defaultFlag" activeColor="#5ac725"></u-switch>
</u-form-item>
</u--form>
</u--form>
</div>
<div class="add__tips">为保证您的商品准确送达,请填写正确的地址!</div>
<div class="love__btn" @click="editAddress">
保存地址
</div>
<div class="view__btn view__back" @click="del">
删除该地址
</div>
</div>
<div class="add__tips">为保证您的商品准确送达,请填写正确的地址!</div>
<div class="love__btn" @click="editAddress">
保存地址
</div>
<div class="view__btn view__back" @click="del">
删除该地址
</div>
</div>
</view>
</template>
......@@ -62,188 +62,213 @@ export default {
message: "收货人不能为空",
trigger: ["blur", "change"],
},
"addressInfo.telNumber": {
type: "string",
required: true,
message: "手机号不能为空",
trigger: ["blur", "change"],
},
"addressInfo.address": {
type: "string",
required: true,
message: "收货地址不能为空",
trigger: ["blur", "change"],
},
"addressInfo.detailInfo": {
type: "string",
required: true,
message: "门牌号不能为空",
trigger: ["blur", "change"],
},
"addressInfo.telNumber": [{
type: "string",
required: true,
message: "手机号不能为空",
trigger: ["blur", "change"],
},
{
// 自定义验证函数,见上说明
validator: (rule, value, callback) => {
// 上面有说,返回true表示校验通过,返回false表示不通过
// uni.$u.test.mobile()就是返回true或者false的
return uni.$u.test.mobile(value);
},
message: '手机格式错误,请输入11位手机号',
// 触发器可以同时用blur和change
trigger: ['change', 'blur'],
}
],
"addressInfo.address": {
type: "string",
required: true,
message: "收货地址不能为空",
trigger: ["blur", "change"],
},
"addressInfo.detailInfo": {
type: "string",
required: true,
message: "门牌号不能为空",
trigger: ["blur", "change"],
},
},
//收货地址id
id: '',
//收货地址id
id: '',
};
},
methods: {
goBack() {
uni.navigateBack({
delta: 1
})
},
del(){
goBack() {
uni.navigateBack({
delta: 1
})
},
del() {
uni.showModal({
title: '提示',
content: '确定删除该地址吗?',
success: (res) => {
if (res.confirm) {
//提示删除成功
let opts = { url: '/app/user/address/' + this.id, method: 'delete' };
this.http.httpTokenRequest(opts, {}).then(res => {
if (res.data.code == 200) {
uni.showToast({
title: '删除成功',
icon: 'success',
duration: 2000
});
this.goBack()
}
})
let opts = {
url: '/app/user/address/' + this.id,
method: 'delete'
};
this.http.httpTokenRequest(opts, {}).then(res => {
if (res.data.code == 200) {
uni.showToast({
title: '删除成功',
icon: 'success',
duration: 2000
});
this.goBack()
}
})
} else if (res.cancel) {
//console.log('用户点击取消');
}
}
});
},
getAddress(){
let opts = { url: '/app/user/address/info/' + this.id, method: 'get' };
this.http.httpTokenRequest(opts, {}).then(res => {
if (res.data.code == 200) {
this.model1.addressInfo = res.data.data
}
})
},
editAddress(){
this.$refs.form1.validate().then(res => {
let opts = { url: '/app/user/address', method: 'put' };
this.http.httpTokenRequest(opts, this.model1.addressInfo).then(res => {
if (res.data.code == 200) {
//添加成功
uni.$u.toast('修改成功')
this.goBack()
}
})
}).catch(errors => {
uni.$u.toast('请正确填写信息')
})
},
getAddress() {
let opts = {
url: '/app/user/address/info/' + this.id,
method: 'get'
};
this.http.httpTokenRequest(opts, {}).then(res => {
if (res.data.code == 200) {
this.model1.addressInfo = res.data.data
}
})
},
editAddress() {
this.$refs.form1.validate().then(res => {
let opts = {
url: '/app/user/address',
method: 'put'
};
this.http.httpTokenRequest(opts, this.model1.addressInfo).then(res => {
if (res.data.code == 200) {
//添加成功
uni.$u.toast('修改成功')
this.goBack()
}
})
}).catch(errors => {
uni.$u.toast('请正确填写信息')
})
},
// 用户授权
getAuthorize() {
const _this = this
uni.authorize({
scope: 'scope.userLocation', // 获取地理信息必填的参数,其它参数见文档
success(res) {
_this.getLocation()
},
// 授权失败
fail(err) {
uni.showModal({
title: '温馨提示',
content: '无法获取当前位置,请手动开启授权',
success: function (res) {
if (res.confirm) {
//console.log('用户点击确定')
uni.openSetting({
success(res) {
if (res.authSetting['scope.userLocation']) {
//console.log('打开授权设置定位')
_this.getLocation()
}
},
const _this = this
uni.authorize({
scope: 'scope.userLocation', // 获取地理信息必填的参数,其它参数见文档
success(res) {
_this.getLocation()
},
// 授权失败
fail(err) {
uni.showModal({
title: '温馨提示',
content: '无法获取当前位置,请手动开启授权',
success: function (res) {
if (res.confirm) {
//console.log('用户点击确定')
uni.openSetting({
success(res) {
if (res.authSetting['scope.userLocation']) {
//console.log('打开授权设置定位')
_this.getLocation()
}
},
})
} else if (res.cancel) {
//console.log('用户点击取消')
}
},
})
} else if (res.cancel) {
//console.log('用户点击取消')
}
},
})
},
})
})
},
// 获取用户的地理位置,
getLocation() {
const _this = this
uni.getLocation({
type: 'wgs84',
altitude: true,
success(res) {
//小程序只能获取到位置经纬度,需要借助高德地图的逆解析地址,显示出中文具体城市名字
_this.loadCity(res.longitude, res.latitude)
},
fail() {
//console.log('拒绝获取地理位置')
}
})
const _this = this
uni.getLocation({
type: 'wgs84',
altitude: true,
success(res) {
//小程序只能获取到位置经纬度,需要借助高德地图的逆解析地址,显示出中文具体城市名字
_this.loadCity(res.longitude, res.latitude)
},
fail() {
//console.log('拒绝获取地理位置')
}
})
},
// 经纬度转具体城市
// 1)需要用到高德地图的逆地理编码
// 2)需要当前地理位置的经纬度
// 3)小程序的key值
loadCity(longitude, latitude) {
const that = this
uni.request({
header: {
'Content-Type': 'application/text',
},
//注意:这里的key值需要高德地图的 web服务生成的key 只有web服务才有逆地理编码
url: 'https://restapi.amap.com/v3/geocode/regeo?output=JSON&location=' +
longitude +
',' +
latitude +
'&key=1bba2ab2de600f8b5fafe167e09cd2af&radius=1000&extensions=all',
success(res) {
//console.log(res);
if (res.statusCode === 200) {
if (res.data.status === '1') {
let addressInfo = res.data
//详细地址
let detailInfo = addressInfo.regeocode.formatted_address
that.model1.addressInfo.address = detailInfo
}
} else {
//console.log('获取信息失败,请重试!')
}
},
})
const that = this
uni.request({
header: {
'Content-Type': 'application/text',
},
//注意:这里的key值需要高德地图的 web服务生成的key 只有web服务才有逆地理编码
url: 'https://restapi.amap.com/v3/geocode/regeo?output=JSON&location=' +
longitude +
',' +
latitude +
'&key=1bba2ab2de600f8b5fafe167e09cd2af&radius=1000&extensions=all',
success(res) {
//console.log(res);
if (res.statusCode === 200) {
if (res.data.status === '1') {
let addressInfo = res.data
//详细地址
let detailInfo = addressInfo.regeocode.formatted_address
that.model1.addressInfo.address = detailInfo
}
} else {
//console.log('获取信息失败,请重试!')
}
},
})
},
},
onLoad(option) {
this.id = option.id
},
onShow(){
this.getAddress()
},
onLoad(option) {
this.id = option.id
},
onShow() {
this.getAddress()
},
};
</script>
<style lang="scss" scoped>
.editAddress {
.app__gps{
.app__gps {
display: inline-block;
image{
image {
width: 34rpx;
height: 36rpx;
}
}
.app__right{
.app__right {
display: inline-block;
padding-left: 20rpx;
padding-bottom: 10rpx;
image{
image {
width: 11rpx;
height: 18rpx;
}
}
.love__btn {
height: 76rpx;
background: url('@/static/move-car/love-car4.png') no-repeat;
......@@ -258,6 +283,7 @@ export default {
margin: 0 auto;
margin-top: 40rpx;
margin-bottom: 30rpx;
image {
width: 30rpx;
height: 30rpx;
......
......@@ -5,9 +5,9 @@
<template>
<view class="appCotent">
<div class="myOrder">
<u-tabs :current='current' :list="list4" lineWidth="30" @change="changeVal" lineColor="#f56c6c" :activeStyle="{
color: '#303133',
fontWeight: 'bold',
<u-tabs :current='current' :list="list4" lineWidth="30" @change="changeVal" lineColor="#f56c6c" :activeStyle="{
color: 'rgba(241, 37, 27, 1)',
fontSize: '32rpx',
transform: 'scale(1.05)'
}" :inactiveStyle="{
color: '#606266',
......
......@@ -65,7 +65,7 @@ export default {
this.http.httpTokenRequest(opts, orderRefund).then(res => {
if (res.data.code == 200) {
uni.showToast({
title: '退款成功',
title: '退款申请成功',
icon: 'success',
})
}
......
No preview for this file type
......@@ -32,7 +32,7 @@ const store = new Vuex.Store({
{
pagePath: '/pagesC/pages/releaseBtn/releaseBtn',
iconPath: '',
selectedIconPath: '/static/tarbar/index31.png'
selectedIconPath: ''
},
{
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