Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
J
jd-vx-app
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Administrator
jd-vx-app
Commits
28abc381
Commit
28abc381
authored
May 23, 2022
by
lijiongliang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
流程修改
parent
37156ead
Hide whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
867 additions
and
583 deletions
+867
-583
api.js
common/api/api.js
+3
-3
pages.json
pages.json
+12
-0
home.vue
pages/home.vue
+49
-28
wv-common.vue
pages/login/wv-common/wv-common.vue
+2
-6
main.vue
pages/main.vue
+232
-178
moveCar.vue
pages/moveCar.vue
+6
-3
personal.vue
pages/personal.vue
+41
-15
getCoupon.vue
pagesA/pages/index/getCoupon.vue
+64
-0
getPrice.vue
pagesA/pages/index/getPrice.vue
+373
-335
loveCar.vue
pagesB/pages/move-car/loveCar.vue
+37
-12
detail.vue
pagesC/pages/shop/detail.vue
+6
-3
myJdOrder.vue
pagesD/pages/personal/myJdOrder.vue
+42
-0
box.png
static/index/box.png
+0
-0
my01.png
static/my/my01.png
+0
-0
No files found.
common/api/api.js
View file @
28abc381
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
;
}
...
...
pages.json
View file @
28abc381
...
...
@@ -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"
:
{
...
...
pages/home.vue
View file @
28abc381
...
...
@@ -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
()
...
...
pages/login/wv-common/wv-common.vue
View file @
28abc381
...
...
@@ -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
:
'提示'
,
...
...
pages/main.vue
View file @
28abc381
<
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
:
1
000
duration
:
2
000
});
}
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
>
pages/moveCar.vue
View file @
28abc381
...
...
@@ -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
...
...
pages/personal.vue
View file @
28abc381
...
...
@@ -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
:
''
;
...
...
pagesA/pages/index/getCoupon.vue
0 → 100644
View file @
28abc381
<
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
pagesA/pages/index/getPrice.vue
View file @
28abc381
...
...
@@ -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
>
pagesB/pages/move-car/loveCar.vue
View file @
28abc381
...
...
@@ -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
{
...
...
pagesC/pages/shop/detail.vue
View file @
28abc381
...
...
@@ -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
({
...
...
pagesD/pages/personal/myJdOrder.vue
0 → 100644
View file @
28abc381
<
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
static/index/box.png
0 → 100644
View file @
28abc381
62 KB
static/my/my01.png
0 → 100644
View file @
28abc381
723 Bytes
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment