Commit 28abc381 authored by lijiongliang's avatar lijiongliang

流程修改

parent 37156ead
const baseUrl = 'https://jduniapp.uzosp.com/test-api';
// const baseUrl = 'http://64qycp.natappfree.cc';
const baseUrl = 'https://jduniapp.uzosp.com//test-api';
// const baseUrl = 'http://nrucci.natappfree.cc';
const httpRequest = (opts, data) => {
let httpDefaultOpts = {
url: baseUrl + opts.url,
......@@ -64,7 +64,7 @@ const httpTokenRequest = (opts, data) => {
if(res[1].data.code == 401){
uni.removeStorageSync('userToken')
uni.navigateTo({
url:"/pages/binding/index?failure=401"
url:"/pages/login/index/index?failure=401"
})
return;
}
......
......@@ -69,6 +69,12 @@
"style": {
"navigationBarTitleText": "获取挪车码"
}
},
{
"path": "pages/index/getCoupon",
"style": {
"navigationBarTitleText": "领取优惠券"
}
}
]
},
......@@ -199,6 +205,12 @@
"navigationBarTitleText": "我的订单"
}
},
{
"path": "pages/personal/myJdOrder",
"style": {
"navigationBarTitleText": "我的订单"
}
},
{
"path": "pages/personal/orderDetail",
"style": {
......
......@@ -66,6 +66,7 @@
list5: [],
//免费挪车码
freeCode: {},
carList:[], // 爱车列表
};
},
methods: {
......@@ -79,11 +80,21 @@
let that = this
let token = uni.getStorageSync('userToken');
if (!token) {
uni.navigateTo({
url: '/pages/binding/index?url=/pages/main&index=0'
})
uni.showModal({
title: "未绑定账号",
content: "您没有绑定京东账号,请绑定后再领取",
success:function(res){
if (res.confirm) {
that.goJdLogin()
}
}
});
// uni.navigateTo({
// url: '/pages/binding/index?url=/pages/main&index=0'
// })
return;
}
let opts = {
url: '/app/user/info',
method: 'get'
......@@ -91,33 +102,25 @@
that.http.httpTokenRequest(opts, {}).then(res => {
if (res.data.code == 200) {
let freeMoveFlag = res.data.data.freeMoveFlag
let bindPin = res.data.data.bindPin
if(!bindPin) {
uni.showModal({
title: "未绑定账号",
content: "您没有绑定京东账号,请绑定后再领取",
success:function(res){
if (res.confirm) {
that.goJdLogin()
}
if (freeMoveFlag) {
uni.showToast({
title: "您的免费领取次数已用完",
icon: 'none',
duration: 2000,
success:function(){
}
});
// if (freeMoveFlag) {
// uni.showToast({
// title: "您的免费领取次数已用完",
// icon: 'none',
// duration: 2000,
// success:function(){
// }
// });
// } else {
// //跳转到领取优惠卷页面
// uni.navigateTo({
// url: '/pagesA/pages/index/getPrice?orderId=' + this.freeCode.id
// });
// }
} else {
//跳转到领取优惠卷页面
// uni.navigateTo({
// url: '/pagesA/pages/index/getPrice?orderId=' + this.freeCode.id
// });
uni.showLoading({
title: '加载中'
});
this.getCarList()
}
}
})
......@@ -165,7 +168,25 @@
uni.navigateTo({
url: link
})
}
},
// 获取爱车列表
getCarList(){
let opts = { url: '/app/vehicleAdmin/list', method: 'get' };
this.http.httpTokenRequest(opts, {}).then(res => {
if (res.statusCode == 200) {
this.carList = res.data
uni.hideLoading()
if(res.data.length == 0){
let url = "car.m.jd.com/h5/list.html?source=managerprocedure"
util.redirectToH5({page:url})
}else{
uni.navigateTo({
url: '/pagesA/pages/index/getPrice?orderId=' + this.freeCode.id
});
}
}
})
},
},
created() {
this.getMoveCode()
......
......@@ -17,9 +17,7 @@ export default {
onLoad: function (options = {}) {
let { h5_url = '' } = options;
util.h5Init(options);
this.setData({
h5_url
});
this.h5_url = h5_url
util.setCustomNavigation();
this._genToken();
......@@ -42,9 +40,7 @@ export default {
let { isSuccess, err_code, url, tokenkey, err_msg } = res;
if (isSuccess && !err_code) {
this.setData({
url: `${url}?to=${h5_url}&tokenkey=${tokenkey}`
});
this.url = `${url}?to=${h5_url}&tokenkey=${tokenkey}`
} else {
uni.showModal({
title: '提示',
......
<template>
<view class="main_content">
<index v-if="tab=='index'"></index>
<moveCar v-if="tab=='moveCar'"></moveCar>
<shop v-if="tab=='shop'" ref="shop" :page="page"></shop>
<personal v-if="tab=='personal'" ref="personal"></personal>
<u-gap bgColor="transparent" height="055"></u-gap>
<view class="tabbar">
<v-tabbar ref="myTab" :list="tabbar" style="position:fixed;bottom:0;width:100%;left:0;right:0;" @tabChange="tabChange"></v-tabbar>
</view>
</view>
<view class="main_content">
<index v-if="tab=='index'"></index>
<moveCar v-if="tab=='moveCar'"></moveCar>
<shop v-if="tab=='shop'" ref="shop" :page="page"></shop>
<personal v-if="tab=='personal'" ref="personal"></personal>
<u-gap bgColor="transparent" height="055"></u-gap>
<view class="tabbar">
<v-tabbar ref="myTab" :list="tabbar" style="position:fixed;bottom:0;width:100%;left:0;right:0;"
@tabChange="tabChange"></v-tabbar>
</view>
</view>
</template>
<script>
import {
mapState
} from 'vuex';
import tabbar from '@/common/hans-tabbar/hans-tabbar'
import index from './home'
import moveCar from './moveCar'
import shop from './shop'
import personal from './personal'
let plugin = requirePlugin('loginPlugin');
import {
mapState
} from 'vuex';
import tabbar from '@/common/hans-tabbar/hans-tabbar'
import index from './home'
import moveCar from './moveCar'
import shop from './shop'
import personal from './personal'
let plugin = requirePlugin('loginPlugin');
export default {
components: {
index,
moveCar,
personal,
shop,
'v-tabbar': tabbar
},
data() {
return {
tab: "index",
page:1
}
},
computed: {
...mapState({
tabbarTextColor: "tabbarTextColor",
tabbarTextActiveColor: "tabbarTextActiveColor",
tabbar: "tabbar"
})
},
onShow: function () {
uni.hideHomeButton()
if(this.tab == 'personal'){
this.$refs.personal.getUserInfo();
}
},
onReachBottom(){
let refresh = uni.getStorageSync("refresh")
if(refresh == 0){
if(this.tab == 'shop'){
this.page++;
export default {
components: {
index,
moveCar,
personal,
shop,
'v-tabbar': tabbar
},
data() {
return {
tab: "index",
page: 1
}
}
},
methods: {
tabChange(index) {
let that = this
switch (index) {
case 0:
this.tab = 'index'
break;
case 1:
this.tab = 'moveCar'
break;
case 2:
let token = uni.getStorageSync('userToken');
if(token) {
uni.scanCode({
success: function (res) {
let path = res.path
let opts = { url: '/app/user/info', method: 'get' }
that.http.httpTokenRequest(opts, {}).then(res => {
if (res.data.code == 200) {
let xcxIndexPath = res.data.data.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/user/check/move/code',
method: 'post'
}
that.http.httpTokenRequest(opts, param).then(res => {
if (res.data.code == 200) {
if (res.data.data.bindFlag) {
that.gotoMoveCar(scene)
} else {
that.gotoBindMoveCar(scene)
}
}
})
} else {
},
computed: {
...mapState({
tabbarTextColor: "tabbarTextColor",
tabbarTextActiveColor: "tabbarTextActiveColor",
tabbar: "tabbar"
})
},
onShow: function() {
uni.hideHomeButton()
if (this.tab == 'personal') {
this.$refs.personal.getUserInfo();
}
},
onReachBottom() {
let refresh = uni.getStorageSync("refresh")
if (refresh == 0) {
if (this.tab == 'shop') {
this.page++;
}
}
},
methods: {
tabChange(index) {
let that = this
switch (index) {
case 0:
this.tab = 'index'
break;
case 1:
this.tab = 'moveCar'
break;
case 2:
let token = uni.getStorageSync('userToken');
if (token) {
uni.scanCode({
success: function(res) {
let path = res.path
let opts = {
url: '/app/user/info',
method: 'get'
}
that.http.httpTokenRequest(opts, {}).then(res => {
if (res.data.code == 200) {
let xcxIndexPath = res.data.data.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/user/check/move/code',
method: 'post'
}
that.http.httpTokenRequest(opts, param).then(
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',
})
}
} else {
uni.showToast({
title: '扫码失败',
icon: 'none',
})
}
}
})
}
});
} else {
uni.navigateTo({
url: '/pages/binding/index'
})
})
}
});
} else {
uni.navigateTo({
url: '/pages/login/index/index'
})
}
break;
case 3:
this.tab = 'shop'
break;
case 4:
this.tab = 'personal'
break;
}
that.$forceUpdate();
},
//跳转到挪车页面
gotoMoveCar(s) {
let that = this;
uni.navigateTo({
url: '/pagesB/pages/move-car/oneMoveCar?scene=' + s
});
},
//跳转到绑定页面
gotoBindMoveCar(s) {
let that = this;
uni.navigateTo({
url: '/pagesB/pages/move-car/scan?moveCode=' + s
});
},
wechatLogin() {
wx.login({
success: (res) => {
this.wechatSession(res.code)
}
})
},
//获取session_key
async wechatSession(code) {
let that = this
let param = {
code: code,
}
let opts = { url: '/xcx/code/session', method: 'post' }
await that.http.httpRequest(opts, param).then(res => {
if (res.data.code == 200) {
that.openid = res.data.data.openid
uni.setStorageSync('openid', that.openid);
}
})
},
},
onLoad(option) {
// 静默授权获取openid
let openid = uni.getStorageSync('openid');
if(!openid) {
this.wechatLogin()
}
let that = this
if (option && option.index) {
that.$nextTick(() => {
let i = parseInt(option.index);
if (!i) {
i = 0;
}
break;
case 3:
this.tab = 'shop'
break;
case 4:
this.tab = 'personal'
break;
}
that.$forceUpdate();
},
//跳转到挪车页面
gotoMoveCar(s) {
let that = this;
uni.navigateTo({
url: '/pagesB/pages/move-car/oneMoveCar?scene=' + s
});
},
//跳转到绑定页面
gotoBindMoveCar(s) {
let that = this;
uni.navigateTo({
url: '/pagesB/pages/move-car/scan?moveCode=' + s
});
}
},
onLoad(option) {
let that = this
if(option && option.index){
that.$nextTick(() => {
let i = parseInt(option.index);
if(!i){
i= 0;
}
that.tabChange(i)
that.$refs.myTab.current = i;
});
}
let ptKey = plugin.getPtKey();
if(ptKey) {
plugin.isvObfuscator({url:'https://wxapplogin2.m.jd.com/cgi-bin/login/isv/isvObfuscator'}).then(res=>{
let { token, message } = res;
if(!token) {
uni.showToast({
title: `京东登录失败:${message}`,
icon: 'none',
duration: 2000
});
} else {
let opts = {
url: '/app/user/bind/jd',
method: 'post'
}
that.http.httpTokenRequest(opts, {'token' : token}).then(res => {
if (res.data.code == 200) {
that.tabChange(i)
that.$refs.myTab.current = i;
});
}
let token = uni.getStorageSync('userToken')
if(!token){
let ptKey = plugin.getPtKey();
if (ptKey) {
uni.showLoading({
title: '登录中'
});
plugin.isvObfuscator({
url: 'https://wxapplogin2.m.jd.com/cgi-bin/login/isv/isvObfuscator'
}).then(res => {
let {
token,
message
} = res;
if (!token) {
uni.hideLoading()
uni.showToast({
title: "京东账号绑定成功",
title: `京东登录失败:${message}`,
icon: 'none',
duration: 1000
duration: 2000
});
} else {
let opts = {
url: '/xcx/login',
method: 'post'
}
let openid = uni.getStorageSync('openid')
that.http.httpTokenRequest(opts, {
token: token,
openid:openid
}).then(res => {
if (res.data.code == 200) {
let token = res.data.data.token
uni.setStorageSync('userToken',token)
uni.hideLoading()
uni.showToast({
title: "登录成功",
icon: 'none',
duration: 2000
});
}
})
}
}).catch(err => {
console.log('err', err)
})
}
}).catch(err=>{
console.log('err',err)
})
}
},
}
}
}
},
}
</script>
<style lang="scss" scoped>
.main_content {
height: 100%;
overflow: hidden;
}
.main_content {
height: 100%;
overflow: hidden;
}
</style>
......@@ -60,9 +60,12 @@ export default {
goUrl(vo) {
let token = uni.getStorageSync('userToken');
if(!token){
uni.navigateTo({
url: '/pages/binding/index?url=/pages/main&index=1'
})
// uni.navigateTo({
// url: '/pages/binding/index?url=/pages/main&index=1'
// })
uni.navigateTo({
url: '/pages/login/index/index'
})
return;
}
const that = this
......
......@@ -23,7 +23,7 @@
</div>
</div>
</div>
<div class="ps__shop">
<!-- <div class="ps__shop">
<div class="shop__tab">
<div class="tab__top">
<span>商品订单</span>
......@@ -41,7 +41,7 @@
</div>
</div>
</div>
</div>
</div> -->
</div>
<div class="ps__list">
<div class="list__item" v-for="(vo,inx) in menu" :key="inx" @click="goUrl(vo)">
......@@ -68,6 +68,10 @@ export default {
show:false,
logoutFlag : true,
menu: [{
icon: require("@/static/my/my01.png"),
title: "我的订单",
url: "/pagesD/pages/personal/myJdOrder"
},{
icon: require("@/static/my/my12.png"),
title: "我的地址",
url: "/pagesD/pages/personal/myAddress"
......@@ -140,9 +144,12 @@ export default {
goOrder(current) {
let token = uni.getStorageSync('userToken');
if(!token){
uni.navigateTo({
url: '/pages/binding/index?url=/pages/main&index=4'
})
// uni.navigateTo({
// url: '/pages/binding/index?url=/pages/main&index=4'
// })
uni.navigateTo({
url: '/pages/login/index/index'
})
return;
}
uni.navigateTo({
......@@ -152,9 +159,12 @@ export default {
goUrl(vo) {
let token = uni.getStorageSync('userToken');
if(!token){
uni.navigateTo({
url: '/pages/binding/index?url=/pages/main&index=4'
})
// uni.navigateTo({
// url: '/pages/binding/index?url=/pages/main&index=4'
// })
uni.navigateTo({
url: '/pages/login/index/index'
})
return;
}
if (vo.title != '微信通知设置') {
......@@ -169,9 +179,12 @@ export default {
editInfo() {
let token = uni.getStorageSync('userToken');
if(!token){
uni.navigateTo({
url: '/pages/binding/index?url=/pages/main&index=4'
})
// uni.navigateTo({
// url: '/pages/binding/index?url=/pages/main&index=4'
// })
uni.navigateTo({
url: '/pages/login/index/index'
})
return;
}
uni.navigateTo({
......@@ -304,6 +317,7 @@ export default {
background: url('http://euzhi.com/my15.png') no-repeat;
background-size: cover;
z-index: 999;
padding-bottom:50rpx;
.ps__title {
font-size: 40rpx;
......@@ -429,7 +443,9 @@ export default {
background: #FFFFFF;
box-shadow: 0rpx 0rpx 28rpx 1rpx rgba(232, 232, 232, 0.16);
border-radius: 20rpx;
margin-top: 20rpx;
// margin-top: 20rpx;
position: relative;
top: -20rpx;
.list__item {
position: relative;
......@@ -472,7 +488,7 @@ export default {
background: rgba(0, 0, 0, .1);
}
.list__item:nth-of-type(2) {
.list__item:nth-of-type(3) {
.list__left {
image {
width: 29rpx;
......@@ -482,7 +498,7 @@ export default {
}
}
.list__item:nth-of-type(3) {
.list__item:nth-of-type(4) {
.list__left {
image {
width: 28rpx;
......@@ -492,7 +508,7 @@ export default {
}
}
.list__item:nth-of-type(4) {
.list__item:nth-of-type(5) {
.list__left {
image {
width: 28rpx;
......@@ -501,6 +517,16 @@ export default {
}
}
}
.list__item:last-child {
.list__left {
image {
width: 28rpx;
height: 28rpx;
margin-right: 33rpx;
}
}
}
.list__item:nth-last-of-type(1)::before {
content: '';
......
<template>
<!-- 我的订单 -->
<view class="get-coupon">
<view class="box">
<view class="title">订单信息请前往京东查看</view>
<image src="../../../static/index/box.png"></image>
<view class="btn" @click="getCoupon">
点击领取优惠券
</view>
</view>
</view>
</template>
<script>
export default {
data(){
return{
}
},
methods:{
getCoupon(){
uni.showToast({
title: "领取成功!",
icon: 'none',
});
}
}
}
</script>
<style lang="scss" scoped>
.get-coupon{
width:100%;height:100vh;
display: flex;
align-items: center;
justify-content: center;
.box{
position: relative;
top:-120rpx;
text-align: center;
.title{
font-size:36rpx;
font-weight: bold;
}
image{
width:400rpx;height:300rpx;
margin-top:80rpx;
}
.btn{
width:660rpx;
line-height:80rpx;
margin:50rpx auto 0;
text-align: center;
color:#fff;
font-size: 32rpx;
border-radius:50rpx;
background: linear-gradient(to right, #E2241B , #E14A1B);
}
}
}
</style>
\ No newline at end of file
......@@ -4,173 +4,184 @@
-->
<template>
<view class="appCotent">
<div class="getPrice">
<u-gap bgColor="transparent" height="30"></u-gap>
<div class="content__code">
<div class="code__img">
<image :src="freeCode.mainImgUrl" class="code__img"></image>
</div>
<div class="code__money">
<div class="money__title">
<text>{{freeCode.title}}</text>
</div>
<div class="code__tips">
<text>{{freeCode.spec}}</text>
</div>
<div class="money__num">
<text class="num__one">¥0.00</text>
</div>
</div>
</div>
<u-gap bgColor="transparent" height="30"></u-gap>
<div class="car_info">
<div class="car_info__title">填写车辆信息</div>
<u--form labelPosition="left" :model="model1" ref="form1" labelWidth="100">
<u-form-item label="品牌" prop="carInfo.brand" borderBottom ref="item1">
<u--input v-model="model1.carInfo.brand" placeholder="请输入" border="none"></u--input>
</u-form-item>
<u-form-item label="车型" prop="carInfo.carModel" borderBottom ref="item2">
<u--input v-model="model1.carInfo.carModel" placeholder="请输入" border="none"></u--input>
</u-form-item>
<u-form-item label="行驶里程" prop="carInfo.mileage" borderBottom ref="item3">
<div class="self__input__km">
<u--input v-model="model1.carInfo.mileage" placeholder="请输入" border="none"></u--input><span>KM</span>
</div>
</u-form-item>
<u-form-item label="车牌号" prop="carInfo.carNo" ref="item1"> </u-form-item>
<car-number v-model="model1.carInfo.carNo"></car-number>
</u--form>
<div class="select__car" @click="goLoveCar">
从爱车选择 <image src="@/static/index/zhankai.png" alt="">
</div>
<div class="add__user">
<u-checkbox-group placement="row">
<u-checkbox :checked='checked' @change="changeBtn"></u-checkbox>
</u-checkbox-group>
请先阅读并同意<span @click="goArticle">《京东挪车牌隐私权政策》</span>
</div>
</div>
<view class="get_price">
<view class="content__code">
<view class="code__img">
<image :src="freeCode.mainImgUrl" class="code__img"></image>
</view>
<view class="code__money">
<view class="money__title">
<text>{{freeCode.title}}</text>
</view>
<view class="code__tips" style="margin:6rpx 0 20rpx;">
<text>{{freeCode.spec}}</text>
</view>
<view class="money__num">
<text class="num__one">¥0.00</text>
</view>
</view>
</view>
<!-- 未绑定车辆信息 -->
<view class="no_car_info" v-if="!carInfoState">
<view class="no_title">
添加绑定车辆信息
</view>
<view class="no_content">
暂无任何车辆信息
</view>
<view class="no_btn" @click="selectCar = true">
从爱车选择
</view>
</view>
<!-- 已绑定车辆信息 -->
<view class="car_info" v-else>
<view class="info_list">
<view class="left">
品牌
</view>
<view class="right">
{{carInfo.brand}}
</view>
</view>
<view class="info_list">
<view class="left">
车型
</view>
<view class="right">
{{carInfo.carModel}}
</view>
</view>
<view class="info_list">
<view class="left">
车牌号
</view>
<view class="right">
{{carInfo.carNo}}
</view>
</view>
<view class="info_list">
<view class="left">
行驶里程
</view>
<view class="right">
{{carInfo.mileage}}KM
</view>
</view>
<view class="car_btn" @click="selectCar = true">
从爱车选择
</view>
</view>
<view class="bind_car_btn" @click="getCarCode">
绑定车辆
</view>
<div class="price__bottom">
<div class="price">
<div class="price__num">
<span>1</span>
</div>
<div class="price__all">
合计<span>¥00.00</span>
</div>
</div>
<div class="price__next" @click="getCarCode">
下一步
</div>
</div>
<div class="price__bottom">
<div class="price">
¥0.00
</div>
<div class="price__next" @click="getCarCode">
免费领取
</div>
</div>
</div>
<!-- 爱车选择弹框 -->
<u-popup :show="selectCar" mode="bottom" round="10" @close="selectCar = false">
<view class="love_car_list">
<view class="love_title">
选择车辆
<text @click.stop="selectCar = false">x</text>
</view>
<view class="love_list">
<radio-group @change="radioChange">
<view class="love_item" v-for="(item,i) in carList" :key="i">
<image src="@/static/move-car/love-car6.png"></image>
<view class="love_info">
<view>
{{item.brand}}
</view>
<view>
{{item.carModel}}
</view>
</view>
<view class="radio">
<radio :value="i" :checked="i === radioValue " color="#3A86F7"/>
</view>
</view>
</radio-group>
</view>
<view class="love_btn">
<u-button type="primary" icon="plus" text="添加车辆" @click="addCar"></u-button>
</view>
</view>
</u-popup>
</view>
</view>
</template>
<script>
import CarNumber from "@/common/codecook-carnumber/codecook-carnumber.vue";
import util from '@/pages/login/util.js';
export default {
components: {
CarNumber,
},
data() {
return {
model1: {
carInfo: {
carNo: '',
brand: '',
carModel: '',
mileage: '',
},
},
rules: {
"carInfo.brand": {
type: "string",
required: false,
message: "请填写品牌",
trigger: ["blur", "change"],
},
"carInfo.carModel": {
type: "string",
required: false,
message: "请填写车型",
trigger: ["blur", "change"],
},
"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"],
},
]
},
carInfoState:false,
carId: '',
//免费挪车码
freeCode: {},
checked:false
selectCar:false, //爱车选择弹框
carList:[] ,// 爱车列表
carInfo:{}, // 车辆信息
radioValue:null
};
},
methods: {
changeBtn() {
this.checked = !this.checked;
radioChange(e) {
let index = e.detail.value
this.radioValue = index
this.carInfo = this.carList[index];
this.selectCar = false
this.carInfoState = true
},
goLoveCar() {
uni.navigateTo({
url: '/pagesB/pages/move-car/loveCar?price=1'
});
// 获取爱车列表
getCarList(){
uni.showLoading({
title: '加载中'
});
let opts = { url: '/app/vehicleAdmin/list', method: 'get' };
this.http.httpTokenRequest(opts, {}).then(res => {
if (res.statusCode == 200) {
uni.hideLoading()
this.carList = res.data
}
})
},
// 调到领取优惠券页面
getCarCode() {
//跳转到获取挪车码页面
this.$refs.form1.validate().then(res => {
if (!this.checked) {
uni.showToast({
title: "请同意京东挪车牌隐私权政策",
icon: 'none',
duration: 2000,
});
return
}
if (!this.model1.carInfo.id) {
let opts = {
url: '/app/vehicleAdmin/add',
method: 'post'
};
this.http.httpTokenRequest(opts, this.model1.carInfo).then(res => {
if (res.data.code == 200) {
}
})
}
uni.navigateTo({
url: '/pagesA/pages/index/getCarCode?carNo=' + this.model1.carInfo.carNo
});
}).catch(errors => {
uni.$u.toast('校验失败')
})
if (!this.carInfoState) {
uni.showToast({
title: "请选择车辆信息!",
icon: 'none',
duration: 2000,
});
return
}
// let opts = {
// url: '/app/vehicleAdmin/add',
// method: 'post'
// };
// this.http.httpTokenRequest(opts, this.model1.carInfo).then(res => {
// if (res.data.code == 200) {
// }
// })
uni.showToast({
title: "绑定成功!!",
icon: 'none',
});
setTimeout(()=>{
uni.navigateTo({
url: '/pagesA/pages/index/getCoupon'
});
},500)
},
getCarInfo() {
const that = this
......@@ -202,28 +213,21 @@ export default {
}
})
},
// 跳转协议政策页面
goArticle(){
let opts = { url: '/app/user/ofPrivacy', method: 'get' };
this.http.httpTokenRequest(opts, {}).then(res => {
if (res.data.code == 200) {
let data = res.data.msg
uni.setStorageSync("articelContent",data)
uni.navigateTo({
url: '/pages/binding/article'
});
}
})
}
addCar() {
this.selectCar = false
let url = "car.m.jd.com/h5/list.html?source=managerprocedure"
util.redirectToH5({page:url})
},
},
onReady() {
// 如果需要兼容微信小程序,并且校验规则中含有方法等,只能通过setRules方法设置规则
this.$refs.form1.setRules(this.rules)
// this.$refs.form1.setRules(this.rules)
},
onShow() {
this.$nextTick(() => {
this.getCarInfo()
// this.getCarInfo()
this.getMoveCode()
this.getCarList()
})
},
......@@ -234,187 +238,221 @@ export default {
</script>
<style lang="scss" scoped>
.getPrice {
width: 100%;
/deep/.uni-input-input,
.uni-input-placeholder {
text-align: right;
}
/deep/ .u-input__content__field-wrapper__field {
text-align: right !important;
}
.self__input__km {
display: flex;
align-items: center;
justify-content: space-between;
span {
text-align: right;
display: inline-block;
width: 100rpx;
}
}
.content__code {
padding: 28rpx;
box-sizing: border-box;
width: 670rpx;
height: 216rpx;
background: #ffffff;
box-shadow: 0rpx 0rpx 28rpx 1rpx rgba(232, 232, 232, 0.16);
border-radius: 20rpx;
display: flex;
align-items: center;
margin: 0 auto;
position: relative;
.code__img {
width: 160rpx;
height: 160rpx;
background: #3699ff;
border-radius: 10rpx;
}
.code__money {
margin: 0 20rpx;
.money__title {
font-size: 32rpx;
font-family: PingFang SC;
font-weight: bold;
color: #333333;
line-height: 42rpx;
.code__tips {
font-size: 26rpx;
font-family: PingFang SC;
font-weight: 500;
color: #666666;
line-height: 42rpx;
}
}
.money__num {
.num__one {
font-size: 26rpx;
font-family: PingFang SC;
font-weight: 500;
color: #e1251b;
line-height: 42rpx;
}
.num__two {
font-size: 22rpx;
font-family: PingFang SC;
font-weight: 500;
color: #999999;
line-height: 42rpx;
}
}
}
.code__get {
position: absolute;
right: -45rpx;
width: 90rpx;
height: 90rpx;
font-size: 28rpx;
font-family: PingFang SC;
font-weight: 500;
color: #ffffff;
padding-top: 10rpx;
box-sizing: border-box;
text-align: center;
background: url("@/static/index/index26.png") no-repeat;
background-size: contain;
}
}
.car_info {
padding: 40rpx 40rpx 220rpx;
background: #fff;
.car_info__title {
font-size: 32rpx;
font-family: PingFang SC;
font-weight: bold;
color: #333333;
line-height: 42rpx;
}
}
.select__car {
font-size: 26rpx;
font-family: PingFang SC;
font-weight: 500;
color: #f1251b;
text-align: right;
margin-top: 40rpx;
margin-bottom: 20rpx;
image {
width: 10rpx;
height: 20rpx;
margin-left: 10rpx;
}
}
.get_price{
padding:40rpx;
.content__code {
padding: 28rpx;
box-sizing: border-box;
width: 100%;
height: 216rpx;
background: #fff;
box-shadow: 0rpx 0rpx 28rpx 2rpx rgba(232, 232, 232, 0.16);
border-radius: 20rpx;
display: flex;
align-items: center;
position: relative;
.code__img {
width: 160rpx;
height: 160rpx;
background: #3699ff;
border-radius: 10rpx;
}
.code__money {
margin: 0 20rpx;
.add__user {
display: flex;
font-size: 28rpx;
font-family: PingFang SC;
font-weight: 500;
color: #999999;
// padding-left: 20rpx;
margin-top: 40rpx;
margin-bottom: 60rpx;
.money__title {
font-size: 32rpx;
font-family: PingFang SC;
font-weight: bold;
color: #333333;
line-height: 42rpx;
}
.code__tips {
font-size: 26rpx;
font-family: PingFang SC;
font-weight: 500;
color: #666666;
line-height: 42rpx;
}
span {
color: rgba(58, 134, 247, 1);
padding: 0 5rpx;
.money__num {
.num__one {
font-size: 26rpx;
font-family: PingFang SC;
font-weight: 500;
color: #e1251b;
line-height: 42rpx;
}
.num__two {
font-size: 22rpx;
font-family: PingFang SC;
font-weight: 500;
color: #999999;
line-height: 42rpx;
}
}
}
.code__get {
position: absolute;
right: -45rpx;
width: 90rpx;
height: 90rpx;
font-size: 28rpx;
font-family: PingFang SC;
font-weight: 500;
color: #ffffff;
padding-top: 10rpx;
box-sizing: border-box;
text-align: center;
background: url("@/static/index/index26.png") no-repeat;
background-size: contain;
}
}
.price__bottom {
width: 100%;
height: 156rpx;
background: #FFFFFF;
box-shadow: 0rpx 8rpx 19rpx 2rpx rgba(215, 215, 215, 0.21);
border-radius: 20rpx 20rpx 0rpx 0rpx;
position: fixed;
bottom: 0;
padding: 32rpx 40rpx;
box-sizing: border-box;
clear: both;
.price {
font-size: 26rpx;
font-family: PingFang SC;
font-weight: 500;
color: #E1251B;
}
.price__next {
width: 240rpx;
height: 98rpx;
background: url('@/static/index/border-btn.png') no-repeat;
background-size: contain;
font-size: 32rpx;
font-family: PingFang SC;
font-weight: bold;
color: #FFFFFF;
opacity: 0.96;
display: flex;
align-items: center;
justify-content: center;
position: absolute;
right: 0;
top: -10rpx;
}
}
// 未绑定车辆信息
.no_car_info{
width:100%;height: 358rpx;
background: #FFFFFF;
box-shadow: 0 0 28rpx 2rpx rgba(232, 232, 232, 0.16);
border-radius: 20rpx;
background-color: #fff;
text-align: center;
margin-top:30rpx;
padding:30rpx 0;
.no_title{
font-size: 36rpx;
}
.no_content{
font-size: 30rpx;
color:#666;
margin:80rpx 0 100rpx;
}
.no_btn{
width: 400rpx;height: 76rpx;
line-height:72rpx;
background: linear-gradient(180deg, #E1251B, #E15C1B);
box-shadow: 0 6rpx 13rpx 2rpx rgba(225, 50, 27, 0.17), 2rpx -5rpx 8rpx 0 rgba(225, 41, 27, 0.46);
border-radius: 10rpx;
margin:0 auto;
color: #fff;
}
}
// 已绑定车辆信息
.car_info{
background: #FFFFFF;
box-shadow: 0 0 28rpx 2rpx rgba(232, 232, 232, 0.16);
border-radius: 20rpx;
background-color: #fff;
margin-top:30rpx;
padding:0 30rpx 30rpx;
.info_list{
line-height:90rpx;
display: flex;
justify-content: space-between;
align-items: center;
border-bottom:2rpx solid #ccc;
&:nth-child(4){
border:none;
}
.left{
font-size: 32rpx;
}
.right{
font-size: 28rpx;
color: #666;
}
}
.car_btn{
width: 400rpx;
line-height: 76rpx;
background: #FFFFFF;
border: 2rpx solid #DDDDDD;
border-radius: 10rpx;
text-align: center;
margin:30rpx auto 0;
font-size: 32rpx;
color: #666;
}
}
.bind_car_btn{
width:100%;
line-height:80rpx;
margin:60rpx auto 0;
text-align: center;
color:#fff;
font-size: 32rpx;
border-radius:50rpx;
background: linear-gradient(to right, #E2241B , #E14A1B);
}
// 爱车列表
.love_car_list{
padding:30rpx 40rpx;
.love_title{
text-align: center;
font-size: 36rpx;
font-weight: bold;
margin-bottom:30rpx;
position: relative;
text{
position: absolute;
right:20rpx;
top:-4rpx;
font-size:40rpx;
font-weight:500;
color: #666;
}
}
.love_list{
height:400rpx;
overflow: auto;
.love_item{
padding:20rpx 0;
display: flex;
align-items: center;
justify-content: space-between;
border-top: 2rpx solid #E8E8E8;
&:first-child{
border:none;
}
image{
width:100rpx;height:100rpx;
}
.love_info{
width:450rpx;
>view{
&:first-child{
font-size:34rpx;
font-weight: bold;
margin-bottom:10rpx;
}
&:last-child{
font-size: 28rpx;
color:#666;
}
}
}
.radio{
width:60rpx;
}
}
}
.love_btn{
padding:50rpx;
/deep/ .u-button {
border-radius:50rpx;
background: linear-gradient(150deg, #E1251B, #E14A1B);
box-shadow: 0 6rpx 13rpx 2rpx rgba(225, 50, 27, 0.17);
border:0;
}
/deep/ .u-button__text{
font-size:32rpx !important;
}
}
}
}
</style>
......@@ -14,14 +14,22 @@
<image src="@/static/move-car/love-car6.png" />
</div>
<div class="item__title" @click="goGetPrice(vo.id)">
{{vo.carNo}}
<view class="title">
{{vo.brand}}
</view>
<view class="type">
{{vo.carModel}}
</view>
<view class="route">
行驶里程 {{vo.mileage}}KM
</view>
</div>
<div class="item__edit" @click="editCar(vo.id)">
<!-- <div class="item__edit" @click="editCar(vo.id)">
<image src="@/static/move-car/love-car2.png" />
</div>
<div class="item__del" @click="deleteModal(vo.id)">
<image src="@/static/move-car/love-car3.png" />
</div>
</div> -->
</div>
</div>
<div>
......@@ -37,6 +45,7 @@
</template>
<script>
import util from '@/pages/login/util.js';
export default {
data() {
return {
......@@ -57,9 +66,11 @@ export default {
});
},
addCar() {
uni.navigateTo({
url: '/pagesB/pages/move-car/addCar'
})
// uni.navigateTo({
// url: '/pagesB/pages/move-car/addCar'
// })
let url = "car.m.jd.com/h5/list.html?source=managerprocedure"
util.redirectToH5({page:url})
},
editCar(id) {
uni.navigateTo({
......@@ -94,10 +105,14 @@ export default {
this.deleteShow = false
},
getCarList(){
uni.showLoading({
title: '加载中'
});
let opts = { url: '/app/vehicleAdmin/list', method: 'get' };
this.http.httpTokenRequest(opts, {}).then(res => {
if (res.data.code == 200) {
this.carList = res.data.rows
if (res.statusCode == 200) {
uni.hideLoading()
this.carList = res.data
}
})
},
......@@ -155,14 +170,14 @@ export default {
.love__item {
display: flex;
align-items: center;
justify-content: space-between;
background: #FFFFFF;
box-shadow: 0rpx 0rpx 28rpx 1rpx rgba(232, 232, 232, 0.2);
border-radius: 20rpx;
padding: 30rpx;
padding:20rpx 30rpx;
margin-bottom: 30rpx;
.itme__img {
margin-right:30rpx;
image {
width: 100rpx;
height: 100rpx;
......@@ -170,12 +185,22 @@ export default {
}
.item__title {
font-size: 32rpx;
font-family: PingFang SC;
font-weight: 500;
color: #333333;
line-height: 48rpx;
width: 350rpx;
// width: 350rpx;
.title{
font-size: 34rpx;
font-weight: bold;
}
.type{
color: #666666;
font-size: 28rpx;
}
.route{
font-size: 30rpx;
}
}
.item__edit {
......
......@@ -45,9 +45,12 @@ export default {
pay(){
let token = uni.getStorageSync('userToken');
if(!token){
uni.navigateTo({
url: '/pages/binding/index?url=/pagesC/pages/shop/detail&id=' + this.id
})
// uni.navigateTo({
// url: '/pages/binding/index?url=/pagesC/pages/shop/detail&id=' + this.id
// })
uni.navigateTo({
url: '/pages/login/index/index'
})
return;
}
uni.navigateTo({
......
<template>
<!-- 我的订单 -->
<view class="my-jd-order">
<view class="box">
<text>订单信息请前往京东查看</text>
<view class="btn">
前往京东查看
</view>
</view>
</view>
</template>
<script>
</script>
<style lang="scss" scoped>
.my-jd-order{
width:100%;height:100vh;
display: flex;
align-items: center;
justify-content: center;
.box{
position: relative;
top:-120rpx;
text-align: center;
text{
font-size:36rpx;
font-weight: bold;
}
.btn{
width:660rpx;
line-height:80rpx;
margin:50rpx auto 0;
text-align: center;
color:#fff;
font-size: 32rpx;
border-radius:50rpx;
background: linear-gradient(to right, #E2241B , #E14A1B);
}
}
}
</style>
\ No newline at end of file
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