Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in / Register
Toggle navigation
U
uni-pdtravel
Project
Project
Details
Activity
Releases
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
panyongping
uni-pdtravel
Commits
ac4d03ff
Commit
ac4d03ff
authored
Sep 06, 2023
by
潘永坪
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
个人中心分包
parent
650acd9c
Changes
11
Show whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
1101 additions
and
793 deletions
+1101
-793
pages.json
pages.json
+374
-363
icon01.png
pages/my/static/icon01.png
+0
-0
iconcanyin.png
pages/my/static/iconcanyin.png
+0
-0
iconchuzuche.png
pages/my/static/iconchuzuche.png
+0
-0
iconjingqumenpiao.png
pages/my/static/iconjingqumenpiao.png
+0
-0
iconjiudian.png
pages/my/static/iconjiudian.png
+0
-0
iconliwu1.png
pages/my/static/iconliwu1.png
+0
-0
iconqita.png
pages/my/static/iconqita.png
+0
-0
iconzuhe.png
pages/my/static/iconzuhe.png
+0
-0
changeNumPayment.vue
pages/payment/changeNumPayment/changeNumPayment.vue
+129
-0
ourPayment.vue
pages/payment/ourPayment/ourPayment.vue
+598
-430
No files found.
pages.json
View file @
ac4d03ff
...
...
@@ -42,20 +42,7 @@
"enablePullDownRefresh"
:
false
}
},
{
"path"
:
"pages/my/order/electronicTicket/electronicTicket"
,
"style"
:
{
"navigationBarTitleText"
:
"电子门票"
,
"enablePullDownRefresh"
:
false
}
},
{
"path"
:
"pages/my/order/productList/productList"
,
"style"
:
{
"navigationBarTitleText"
:
"我的订单"
,
"enablePullDownRefresh"
:
false
}
},
{
"path"
:
"pages/combination/sourceCombiChoose/sourceCombiChoose"
,
"style"
:
{
...
...
@@ -70,15 +57,6 @@
"enablePullDownRefresh"
:
false
}
},
{
"path"
:
"pages/my/order/intelTicket/intelTicket"
,
"style"
:
{
"navigationBarTitleText"
:
""
,
"enablePullDownRefresh"
:
false
}
},
{
"path"
:
"pages/combination/combiOrder/combiOrder"
,
"style"
:
{
...
...
@@ -86,13 +64,7 @@
"enablePullDownRefresh"
:
false
}
},
{
"path"
:
"pages/my/order/orderList/orderList"
,
"style"
:
{
"navigationBarTitleText"
:
"订单列表"
,
"enablePullDownRefresh"
:
false
}
},
{
"path"
:
"pages/common/coupon/coupon"
,
"style"
:
{
...
...
@@ -122,13 +94,7 @@
"enablePullDownRefresh"
:
false
}
},
{
"path"
:
"pages/my/order/afterSale/applyAfterSale/applyAfterSale"
,
"style"
:
{
"navigationBarTitleText"
:
"售后"
,
"enablePullDownRefresh"
:
false
}
},
{
"path"
:
"pages/indexs/hghgIndex/hghgIndex"
,
"style"
:
{
...
...
@@ -136,13 +102,7 @@
"enablePullDownRefresh"
:
false
}
},
{
"path"
:
"pages/my/exchangeCode/exchangeIndex/exchangeIndex"
,
"style"
:
{
"navigationBarTitleText"
:
"兑换"
,
"enablePullDownRefresh"
:
false
}
},
{
"path"
:
"pages/common/simpleProduct/simpleProduct"
,
"style"
:
{
...
...
@@ -180,76 +140,127 @@
}
},
{
"path"
:
"pages/payment/changeNumPayment/changeNumPayment"
,
"style"
:
{
"navigationBarTitleText"
:
"支付"
,
"enablePullDownRefresh"
:
false
}
},
{
"path"
:
"pages/my/center/center"
,
"style"
:
{
"navigationBarTitleText"
:
"个人中心"
,
"enablePullDownRefresh"
:
false
}
}
],
//分包加载配置,此配置为小程序的分包加载机制。
"subPackages"
:
[{
"root"
:
"pages/my"
,
//个人中心分包
"pages"
:
[
{
"path"
:
"order/electronicTicket/electronicTicket"
,
"style"
:
{
"navigationBarTitleText"
:
"电子门票"
,
"enablePullDownRefresh"
:
false
}
},
{
"path"
:
"order/productList/productList"
,
"style"
:
{
"navigationBarTitleText"
:
"我的订单"
,
"enablePullDownRefresh"
:
false
}
},
{
"path"
:
"order/intelTicket/intelTicket"
,
"style"
:
{
"navigationBarTitleText"
:
""
,
"enablePullDownRefresh"
:
false
}
},
{
"path"
:
"order/orderList/orderList"
,
"style"
:
{
"navigationBarTitleText"
:
"订单列表"
,
"enablePullDownRefresh"
:
false
}
},
{
"path"
:
"order/afterSale/applyAfterSale/applyAfterSale"
,
"style"
:
{
"navigationBarTitleText"
:
"售后"
,
"enablePullDownRefresh"
:
false
}
},
{
"path"
:
"exchangeCode/exchangeIndex/exchangeIndex"
,
"style"
:
{
"navigationBarTitleText"
:
"兑换"
,
"enablePullDownRefresh"
:
false
}
},
{
"path"
:
"pages/my/
shopCart/shopCart"
,
"path"
:
"
shopCart/shopCart"
,
"style"
:
{
"navigationBarTitleText"
:
"购物车"
,
"enablePullDownRefresh"
:
false
}
},
{
"path"
:
"pages/my/
commonInfo/commonInfo"
,
"path"
:
"
commonInfo/commonInfo"
,
"style"
:
{
"navigationBarTitleText"
:
"常用信息"
,
"enablePullDownRefresh"
:
false
}
},
{
"path"
:
"pages/my/
passCode/codeResult/codeResult"
,
"path"
:
"
passCode/codeResult/codeResult"
,
"style"
:
{
"navigationBarTitleText"
:
"通行码"
,
"enablePullDownRefresh"
:
false
}
},
{
"path"
:
"pages/my/
customerService/enterpriseWechat/enterpriseWechat"
,
"path"
:
"
customerService/enterpriseWechat/enterpriseWechat"
,
"style"
:
{
"navigationBarTitleText"
:
""
,
"enablePullDownRefresh"
:
false
}
},
{
"path"
:
"pages/my/
couponCenter/myCouponList/myCouponList"
,
"path"
:
"
couponCenter/myCouponList/myCouponList"
,
"style"
:
{
"navigationBarTitleText"
:
"我的券列表"
,
"enablePullDownRefresh"
:
false
}
},
{
"path"
:
"pages/my/
travelList/travelList/travelList"
,
"path"
:
"
travelList/travelList/travelList"
,
"style"
:
{
"navigationBarTitleText"
:
"行程单"
,
"enablePullDownRefresh"
:
false
}
},
{
"path"
:
"pages/my/
travelNotes/myTravelogue/myTravelogue"
,
"path"
:
"
travelNotes/myTravelogue/myTravelogue"
,
"style"
:
{
"navigationBarTitleText"
:
"我的行记"
,
"enablePullDownRefresh"
:
false
}
},
{
"path"
:
"pages/my/
order/afterSale/afterSaleList/afterSaleList"
,
"path"
:
"
order/afterSale/afterSaleList/afterSaleList"
,
"style"
:
{
"navigationBarTitleText"
:
"售后列表"
,
"enablePullDownRefresh"
:
false
}
}
],
//分包加载配置,此配置为小程序的分包加载机制。
"subPackages"
:
[
{
"root"
:
"pages/scenic"
,
//子包的根目录
"pages"
:
[
]
},
{
"root"
:
"pages/scenic"
,
//景区分包
"pages"
:
[{
"path"
:
"scenicJointOrder/scenicJointOrder"
,
"style"
:
{
"navigationBarTitleText"
:
"订单填写"
,
...
...
@@ -286,7 +297,7 @@
]
},
{
"root"
:
"pages/vlog"
,
"root"
:
"pages/vlog"
,
//vlogo分包
"pages"
:
[{
"path"
:
"vlogIndex/vlogIndex"
,
"style"
:
{
...
...
@@ -409,7 +420,7 @@
]
},
{
"root"
:
"pages/album"
,
"root"
:
"pages/album"
,
//影集分包
"pages"
:
[{
"path"
:
"albumIndex"
,
"style"
:
{
...
...
@@ -513,6 +524,6 @@
//
下载安装方式
"^u-(.*)"
:
"@/uview-ui/components/u-$1/u-$1.vue"
}
}
//
npm安装方式
//
"^u-(.*)"
:
"uview-ui/components/u-$1/u-$1.vue"
\ No newline at end of file
}
//
npm安装方式
//
"^u-(.*)"
:
"uview-ui/components/u-$1/u-$1.vue"
\ No newline at end of file
static/img/my
/icon01.png
→
pages/my/static
/icon01.png
View file @
ac4d03ff
File moved
static/img/my
/iconcanyin.png
→
pages/my/static
/iconcanyin.png
View file @
ac4d03ff
File moved
static/img/my
/iconchuzuche.png
→
pages/my/static
/iconchuzuche.png
View file @
ac4d03ff
File moved
static/img/my
/iconjingqumenpiao.png
→
pages/my/static
/iconjingqumenpiao.png
View file @
ac4d03ff
File moved
static/img/my
/iconjiudian.png
→
pages/my/static
/iconjiudian.png
View file @
ac4d03ff
File moved
static/img/my
/iconliwu1.png
→
pages/my/static
/iconliwu1.png
View file @
ac4d03ff
File moved
static/img/my
/iconqita.png
→
pages/my/static
/iconqita.png
View file @
ac4d03ff
File moved
static/img/my
/iconzuhe.png
→
pages/my/static
/iconzuhe.png
View file @
ac4d03ff
File moved
pages/payment/changeNumPayment/changeNumPayment.vue
0 → 100644
View file @
ac4d03ff
<
template
>
<!-- 传入价格,通过改变数量改变价格的支付页面 -->
<view
class=
"wrap"
>
<view
class=
"top"
>
<view
class=
"name"
>
皇冠大扶梯
</view>
<view
class=
"number"
>
<text>
购买数量
</text>
<u-number-box
v-model=
"buyNumber"
bg-color=
'#3688FF'
color=
'#ffffff'
:input-height=
"60"
size=
'28'
>
</u-number-box>
</view>
<view
class=
"price"
>
<text>
总价
</text>
<text>
¥6.00
</text>
</view>
<view
class=
"remark"
>
<input
placeholder=
"添加备注(20字以内)"
maxlength=
"20"
v-model
.
trim=
"remark"
style=
"margin-bottom:20rpx;"
/>
</view>
<view
class=
"tips"
>
温馨提示:请核对以上付款金额、付款对象等信息与交易匹配。
</view>
</view>
<view
class=
"bottom"
>
<text
class=
"btn"
>
立即支付
</text>
</view>
</view>
</
template
>
<
script
>
export
default
{
data
()
{
return
{
remark
:
''
,
//备注
payType
:
''
,
//支付方式
buyNumber
:
''
,
//购买数量
}
},
onLoad
(
option
)
{
//#ifdef MP-WEIXIN
this
.
payType
=
42
//#endif
//#ifdef MP-ALIPAY
this
.
payType
=
33
//#endif
},
methods
:
{
}
}
</
script
>
<
style
lang=
"scss"
scoped
>
.wrap
{
height
:
100%
;
background
:
#ffffff
;
}
.top
{
padding
:
40rpx
24rpx
;
}
.name
{
font-size
:
32rpx
;
font-weight
:
bold
;
color
:
#191919
;
text-align
:
center
;
}
.number
{
display
:
flex
;
justify-content
:
space-between
;
font-weight
:
bold
;
margin-top
:
80rpx
;
align-items
:
center
;
}
.price
{
display
:
flex
;
justify-content
:
space-between
;
font-weight
:
bold
;
margin-top
:
48rpx
;
text
:nth-child
(
2
)
{
font-size
:
40rpx
;
color
:
$red
;
}
}
.remark
{
margin-top
:
48rpx
;
color
:
$grey
;
}
.tips
{
margin-top
:
24rpx
;
color
:
$grey
;
font-size
:
24rpx
;
}
.bottom
{
position
:
fixed
;
width
:
100%
;
height
:
100rpx
;
display
:
flex
;
align-items
:
center
;
justify-content
:
center
;
bottom
:
0
;
box-shadow
:
0px
-4px
12px
2px
rgba
(
0
,
0
,
0
,
0
.08
);
background
:
#ffffff
;
}
.btn
{
display
:
flex
;
align-items
:
center
;
justify-content
:
center
;
width
:
90%
;
height
:
80rpx
;
background
:
#3688FF
;
border-radius
:
8rpx
;
font-size
:
32rpx
;
font-weight
:
bold
;
}
</
style
>
pages/payment/ourPayment/ourPayment.vue
View file @
ac4d03ff
...
...
@@ -2,74 +2,85 @@
<view
class=
"bigBox"
>
<view
class=
"top"
>
<view
class=
"topName"
>
<text
class=
"topIcon"
>
<text
class=
"iconfont icon-tubiaolunkuo-"
></text>
</text>
<text>
{{
name
}}
</text>
<text>
{{
name
}}
</text>
</view>
<view
class=
"topMoney"
>
<text
class=
"moneyText"
>
金额
</text>
<view
class=
"moneyText"
>
付款金额
</view>
<view
class=
"moneyNumber"
>
<text
class=
"iconfont icon-fl-renminbi"
style=
"font-size: 56rpx
;
"
></text>
<text>
{{
buyMoney
}}
</text>
<text
class=
"iconfont icon-fl-renminbi"
style=
"font-size: 56rpx"
></text>
<text>
{{
buyMoney
}}
</text>
<text></text>
</view>
</view>
<!-- -----------------------------有可用优惠券,并且未选中----------------------------------------------------- -->
<view
class=
"topCoupon"
v-if=
"couponData.masterSlaveCouponList&&couponData.masterSlaveCouponList.length>0&&chooseCouponObj==''"
@
click=
"showCoupon()"
>
<view
class=
"topCoupon"
v-if=
"couponData.masterSlaveCouponList && couponData.masterSlaveCouponList.length > 0 && chooseCouponObj == ''"
@
click=
"showCoupon()"
>
<view
class=
"couponLeft"
>
<text>
券
</text>
<text>
{{
couponData
.
masterSlaveCouponList
[
0
].
couponName
}}
</text>
<text>
{{
couponData
.
masterSlaveCouponList
[
0
].
couponName
}}
</text>
</view>
<view
class=
"couponRight"
>
<text>
未选优惠券
</text>
<text
class=
"iconfont icon-you"
style=
"font-size:
32rpx;
"
></text>
<text
class=
"iconfont icon-you"
style=
"font-size:
32rpx
"
></text>
</view>
</view>
<!-- -----------------------------有可用优惠券----------------------------------------------------- -->
<view
class=
"topCoupon"
v-if=
"chooseCouponObj
!=''&&savedMoney>
0"
@
click=
"showCoupon()"
>
<view
class=
"topCoupon"
v-if=
"chooseCouponObj
!= '' && savedMoney >
0"
@
click=
"showCoupon()"
>
<view
class=
"couponLeft"
>
<text>
券
</text>
<text>
{{
chooseCouponObj
.
couponName
}}
</text>
<text>
{{
chooseCouponObj
.
couponName
}}
</text>
</view>
<view
class=
"couponRight"
>
<text>
-
</text>
<text>
{{
parseFloat
(
savedMoney
.
toFixed
(
2
))
}}
</text>
<text
class=
"iconfont icon-you"
style=
"font-size:
32rpx;
"
></text>
<text>
{{
parseFloat
(
savedMoney
.
toFixed
(
2
))
}}
</text>
<text
class=
"iconfont icon-you"
style=
"font-size:
32rpx
"
></text>
</view>
</view>
<!-- -----------------------------------------------可用优惠券条件--------------------------------------- -->
<view
class=
"topCoupon"
v-if=
"ableConpon
!=
''"
@
click=
"showCoupon()"
>
<view
class=
"topCoupon"
v-if=
"ableConpon
!=
''"
@
click=
"showCoupon()"
>
<view
class=
"couponLeft"
>
<text>
券
</text>
<text>
{{
ableConpon
.
couponName
}}
</text>
<text>
{{
ableConpon
.
couponName
}}
</text>
</view>
<view
class=
"couponRight"
>
<text>
{{
ableConpon
.
couponRule
}}
</text>
<text
class=
"iconfont icon-you"
style=
"font-size:
32rpx;
"
></text>
<text>
{{
ableConpon
.
couponRule
}}
</text>
<text
class=
"iconfont icon-you"
style=
"font-size:
32rpx
"
></text>
</view>
</view>
</view>
<view
class=
"middle"
>
友情提示:请核对以上付款金额、付款商户等信息与交易一致。经您确认支付的金额,商家不会退回亦无赔偿义务。
<view>
<input
placeholder=
"添加备注(20字以内)"
maxlength=
"20"
v-model
.
trim=
"remark"
style=
"margin-bottom:20rpx;"
/>
</view>
<view
style=
"font-size:24rpx;"
>
温馨提示:请核对以上付款金额、付款对象等信息与交易匹配。
</view>
</view>
<view
class=
"bottom"
>
<view
class=
"botLeft"
>
<view
v-for=
"(item,index) of leftList"
:key=
"index"
>
<text
@
click=
"clickNum(items.text,index,a)"
v-for=
"(items,a) of item.child"
:key=
"a"
:style=
"
{'background':items.background}">
{{
items
.
text
}}
</text>
<view
v-for=
"(item, index) of leftList"
:key=
"index"
>
<text
@
click=
"clickNum(items.text, index, a)"
v-for=
"(items, a) of item.child"
:key=
"a"
:style=
"
{ background: items.background }">
{{
items
.
text
}}
</text>
</view>
</view>
<view
class=
"botRight"
>
<view
class=
"rightOne"
@
click=
"clickEnter()"
:style=
"
{
'background':spaceBackground
}">
<text
class=
"iconfont icon-im_huige"
style=
"font-size:
70rpx;
"
></text>
<view
class=
"rightOne"
@
click=
"clickEnter()"
:style=
"
{
background: spaceBackground
}">
<text
class=
"iconfont icon-im_huige"
style=
"font-size:
70rpx
"
></text>
</view>
<view
class=
"rightTwo"
ref=
"pay"
@
click=
"clickPay()"
:style=
"
{
'background':payBackground
}">
<view
class=
"rightTwo"
ref=
"pay"
@
click=
"clickPay()"
:style=
"
{
background: payBackground
}">
<view>
立即
</view>
<view>
支付
</view>
</view>
...
...
@@ -77,202 +88,198 @@
</view>
<!-------------------------------------------券弹窗------------------------------>
<orderCoupon
:couponData=
"couponData"
ref=
"orderCoupon"
@
couponChoose=
"couponChoose"
:chooseCouponObj=
"chooseCouponObj"
></orderCoupon>
</view>
</
template
>
<
script
>
import
orderCoupon
from
'@/components/orderCoupon.vue'
export
default
{
components
:{
components
:
{
orderCoupon
},
data
()
{
return
{
enterUrl
:
''
,
//进入页面路由
buyMoney
:
''
,
//输入金额
remark
:
''
,
//备注
enterUrl
:
''
,
//进入页面路由
buyMoney
:
''
,
//输入金额
companyId
:
''
,
//公司Id
merchantId
:
''
,
//商户Id
name
:
''
,
//商家名称
payType
:
''
,
//支付类型,微信小程序42,支付宝小程序33
payType
:
''
,
//支付类型,微信小程序42,支付宝小程序33
paySign
:
''
,
//签名
signType
:
''
,
//签名方式
timeStamp
:
''
,
//时间戳
nonceStr
:
''
,
//随机字符串
package
:
''
,
//订单详情扩展字符串
orderInfo
:
''
,
//支付宝订单号
orderInfo
:
''
,
//支付宝订单号
flag
:
''
,
//setTimeout函数
couponData
:
''
,
//所有劵数据
chooseCouponObj
:
''
,
//默认选中最优价格优惠券
savedMoney
:
0
,
//优惠金额
savedMoney
:
0
,
//优惠金额
ableConpon
:
''
,
//没有可用优惠券时,达到一定条件可用,显示达到的条件
orderSource
:
8
,
//1公众号平台、2公众号组合页面1、3公众号组合页面2、4胖丁伙伴app、5第三方自助机、6第三方票房窗口、7平台快捷买单、8扫码支付
background
:
''
,
//普通按钮背景颜色
spaceBackground
:
''
,
//回格按钮背景颜色
payBackground
:
'#1dce2e'
,
//支付背景颜色
leftList
:[
//左侧按钮数据
orderSource
:
8
,
//1公众号平台、2公众号组合页面1、3公众号组合页面2、4胖丁伙伴app、5第三方自助机、6第三方票房窗口、7平台快捷买单、8扫码支付
background
:
''
,
//普通按钮背景颜色
spaceBackground
:
''
,
//回格按钮背景颜色
payBackground
:
'#3688FF'
,
//支付背景颜色
leftList
:
[
//左侧按钮数据
{
child
:[
{
text
:
1
,
background
:
''
},
{
text
:
2
,
background
:
''
},
{
text
:
3
,
background
:
''
}
child
:
[
{
text
:
1
,
background
:
''
},
{
text
:
2
,
background
:
''
},
{
text
:
3
,
background
:
''
}
]
},
{
child
:[
{
text
:
4
,
background
:
''
},
{
text
:
5
,
background
:
''
},
{
text
:
6
,
background
:
''
},
child
:
[
{
text
:
4
,
background
:
''
},
{
text
:
5
,
background
:
''
},
{
text
:
6
,
background
:
''
}
]
},
{
child
:[
{
text
:
7
,
background
:
''
},
{
text
:
8
,
background
:
''
},
{
text
:
9
,
background
:
''
},
child
:
[
{
text
:
7
,
background
:
''
},
{
text
:
8
,
background
:
''
},
{
text
:
9
,
background
:
''
}
]
},
{
child
:[
{
text
:
0
,
background
:
''
},
{
text
:
'.'
,
background
:
''
},
child
:
[
{
text
:
0
,
background
:
''
},
{
text
:
'.'
,
background
:
''
}
]
}
],
orderId
:
''
,
//订单Id
paydJumpUrl
:
''
,
//页面跳转路径
companyAttribute
:
''
,
//等于5时为出租车
timer
:
null
,
//定时器
extendInfo
:
''
//额外信息
orderId
:
''
,
//订单Id
paydJumpUrl
:
''
,
//页面跳转路径
companyAttribute
:
''
,
//等于5时为出租车
timer
:
null
,
//定时器
extendInfo
:
''
//额外信息
}
},
onLoad
(
option
)
{
//#ifdef MP-WEIXIN
this
.
enterUrl
=
option
.
q
this
.
enterUrl
=
option
.
q
this
.
payType
=
42
//#endif
//#ifdef MP-ALIPAY
this
.
enterUrl
=
uni
.
getStorageSync
(
'alipayQrCode'
)
uni
.
removeStorageSync
(
'alipayQrCode'
)
//临时解决出租车扫码之后跳转到组合票时,参数会有问题,有时间再根本解决
this
.
enterUrl
=
uni
.
getStorageSync
(
'alipayQrCode'
)
uni
.
removeStorageSync
(
'alipayQrCode'
)
//临时解决出租车扫码之后跳转到组合票时,参数会有问题,有时间再根本解决
this
.
payType
=
33
//#endif
if
(
this
.
enterUrl
){
//扫普通二维码进入
this
.
merchantId
=
this
.
getUrlKey
(
'merchantId'
)
this
.
companyId
=
this
.
getUrlKey
(
'companyId'
)
this
.
extendInfo
=
this
.
getUrlKey
(
'extendInfo'
)
}
else
{
//扫小程序二维码进入
this
.
merchantId
=
option
.
merchantId
this
.
companyId
=
option
.
companyId
this
.
extendInfo
=
option
.
extendInfo
}
if
(
uni
.
getStorageSync
(
'openid'
)){
this
.
openid
=
uni
.
getStorageSync
(
'openid'
)
this
.
getUserBrowse
()
if
(
this
.
merchantId
)
{
//大商家的有merchantId
if
(
this
.
enterUrl
)
{
//扫普通二维码进入
this
.
merchantId
=
this
.
getUrlKey
(
'merchantId'
)
this
.
companyId
=
this
.
getUrlKey
(
'companyId'
)
this
.
extendInfo
=
this
.
getUrlKey
(
'extendInfo'
)
}
else
{
//扫小程序二维码进入
this
.
merchantId
=
option
.
merchantId
this
.
companyId
=
option
.
companyId
this
.
extendInfo
=
option
.
extendInfo
}
if
(
uni
.
getStorageSync
(
'openid'
))
{
this
.
openid
=
uni
.
getStorageSync
(
'openid'
)
if
(
this
.
merchantId
)
{
//大商家的有merchantId
this
.
init
()
}
else
{
//小商家没有merchantId
}
else
{
//小商家没有merchantId
this
.
initTwo
()
}
this
.
initCoupon
()
}
else
{
}
else
{
this
.
login
()
}
},
// 一般页面用onUnload
// tabbar页面用onHide
onUnload
()
{
if
(
this
.
timer
)
{
if
(
this
.
timer
)
{
clearTimeout
(
this
.
timer
)
this
.
timer
=
null
}
},
methods
:
{
getUserBrowse
(){
//---获取浏览记录
let
queryUrl
=
this
.
$commonjs
.
getCurrentPageUrl
()
let
data
=
{
openid
:
uni
.
getStorageSync
(
'openid'
)
,
//用户Id
userName
:
''
,
//用户昵称
pageType
:
4
,
//页面类型(0首页,1商户页,2产品页,3售票页,4付款页,5付款完成页,6行记页,7评论页,8咨询页,9劵中心页,11订单页,12订单详情页,13IC卡出行页,14电子门票页,15常用信息页,16其他页)
queryUrl
,
//页面全地址
merchantType
:
''
//商户类型1景区,2酒店,3餐饮,4特产
}
this
.
$request
(
'wechatUser/wxUser/saveUserBrowse'
,
data
).
then
((
res
)
=>
{
})
},
login
(){
//---登录
let
_this
=
this
login
()
{
//---登录
let
_this
=
this
uni
.
getProvider
({
service
:
'oauth'
,
success
(
proRes
){
success
(
proRes
)
{
uni
.
login
({
provider
:
proRes
.
provider
[
0
],
provider
:
proRes
.
provider
[
0
],
success
:
function
(
res
)
{
if
(
res
.
code
)
{
let
source
=
''
if
(
proRes
.
provider
[
0
]
==
'weixin'
)
{
source
=
3
}
else
if
(
proRes
.
provider
[
0
]
==
'alipay'
)
{
source
=
4
}
let
data
=
{
code
:
res
.
code
,
source
,
//微信小程序3,支付宝小程序4
appid
:
uni
.
getStorageSync
(
'appid'
)
||
''
}
if
(
uni
.
getStorageSync
(
'enterOptions'
).
query
)
{
data
.
companyId
=
uni
.
getStorageSync
(
'enterOptions'
).
query
.
companyId
||
''
}
_this
.
$request
(
'wechat/wx/getUserInfoByCode'
,
data
).
then
(
res
=>
{
if
(
res
.
code
==
'00'
)
{
_this
.
openid
=
res
.
data
.
openid
uni
.
setStorageSync
(
'openid'
,
_this
.
openid
)
_this
.
getUserBrowse
()
if
(
_this
.
merchantId
)
{
//大商家的有merchantId
if
(
res
.
code
)
{
let
source
=
''
if
(
proRes
.
provider
[
0
]
==
'weixin'
)
{
source
=
3
}
else
if
(
proRes
.
provider
[
0
]
==
'alipay'
)
{
source
=
4
}
let
data
=
{
code
:
res
.
code
,
source
,
//微信小程序3,支付宝小程序4
appid
:
uni
.
getStorageSync
(
'appid'
)
||
''
}
if
(
uni
.
getStorageSync
(
'enterOptions'
).
query
)
{
data
.
companyId
=
uni
.
getStorageSync
(
'enterOptions'
).
query
.
companyId
||
''
}
_this
.
$request
(
'wechat/wx/getUserInfoByCode'
,
data
).
then
(
res
=>
{
if
(
res
.
code
==
'00'
)
{
_this
.
openid
=
res
.
data
.
openid
uni
.
setStorageSync
(
'openid'
,
_this
.
openid
)
if
(
_this
.
merchantId
)
{
//大商家的有merchantId
_this
.
init
()
}
else
{
//小商家没有merchantId
}
else
{
//小商家没有merchantId
_this
.
initTwo
()
}
_this
.
initCoupon
()
//用于获取token等信息
let
userId
=
res
.
data
.
userId
||
''
let
openid
=
res
.
data
.
openid
||
''
let
datas
=
{
openid
,
source
,
userId
}
_this
.
$request
(
'wechatUser/login/findWxUserAndLogin'
,
datas
).
then
((
res
)
=>
{
if
(
res
.
code
==
'00'
){
let
token
=
res
.
data
.
token
||
''
uni
.
setStorageSync
(
'token'
,
token
)
let
createUserId
=
res
.
data
.
personId
||
''
uni
.
setStorageSync
(
'createUserId'
,
createUserId
)
let
userId
=
res
.
data
.
userId
||
''
uni
.
setStorageSync
(
'userId'
,
userId
)
}
else
{
let
userId
=
res
.
data
.
userId
||
''
let
openid
=
res
.
data
.
openid
||
''
let
datas
=
{
openid
,
source
,
userId
}
_this
.
$request
(
'wechatUser/login/findWxUserAndLogin'
,
datas
)
.
then
(
res
=>
{
if
(
res
.
code
==
'00'
)
{
let
token
=
res
.
data
.
token
||
''
uni
.
setStorageSync
(
'token'
,
token
)
let
createUserId
=
res
.
data
.
personId
||
''
uni
.
setStorageSync
(
'createUserId'
,
createUserId
)
let
userId
=
res
.
data
.
userId
||
''
uni
.
setStorageSync
(
'userId'
,
userId
)
}
else
{
uni
.
showToast
({
title
:
res
.
message
,
icon
:
'none'
title
:
res
.
message
,
icon
:
'none'
})
}
}).
catch
((
err
)
=>
{
})
.
catch
(
err
=>
{
uni
.
showToast
({
title
:
'登录失败'
,
icon
:
'none'
title
:
'登录失败'
,
icon
:
'none'
})
_this
.
timer
=
setTimeout
(()
=>
{
_this
.
login
()
},
2000
)
})
}
else
{
}
else
{
uni
.
showToast
({
title
:
res
.
message
,
icon
:
'none'
title
:
res
.
message
,
icon
:
'none'
})
}
}).
catch
((
err
)
=>
{
})
.
catch
(
err
=>
{
uni
.
showToast
({
title
:
'登录失败'
,
icon
:
'none'
title
:
'登录失败'
,
icon
:
'none'
})
_this
.
timer
=
setTimeout
(()
=>
{
_this
.
login
()
...
...
@@ -284,133 +291,151 @@ export default {
}
})
},
getUrlKey
(
name
){
//---获取url
return
(
new
RegExp
(
'[?|&]'
+
name
+
'='
+
'([^&;]+?)(&|#|;|$)'
).
exec
(
decodeURIComponent
(
this
.
enterUrl
))
||
[,
''
])[
1
].
replace
(
/
\+
/g
,
'%20'
)
||
''
getUrlKey
(
name
)
{
//---获取url
return
(
(
new
RegExp
(
'[?|&]'
+
name
+
'='
+
'([^&;]+?)(&|#|;|$)'
).
exec
(
decodeURIComponent
(
this
.
enterUrl
))
||
[,
''
])[
1
].
replace
(
/
\+
/g
,
'%20'
)
||
''
)
},
clickNum
(
i
,
index
,
a
)
{
//---输入数字
clickNum
(
i
,
index
,
a
)
{
//---输入数字
//不超过14位数
if
(
this
.
buyMoney
.
length
>
13
)
{
if
(
this
.
buyMoney
.
length
>
13
)
{
return
}
this
.
buyMoney
+=
i
this
.
leftList
[
index
].
child
[
a
].
background
=
'#dddddd'
setTimeout
(()
=>
{
this
.
leftList
[
index
].
child
[
a
].
background
=
''
},
200
)
this
.
leftList
[
index
].
child
[
a
].
background
=
'#dddddd'
setTimeout
(()
=>
{
this
.
leftList
[
index
].
child
[
a
].
background
=
''
},
200
)
clearTimeout
(
this
.
flag
)
this
.
flag
=
setTimeout
(()
=>
{
this
.
flag
=
setTimeout
(()
=>
{
this
.
initCoupon
()
},
1500
)
},
clickEnter
(){
//---退格
clickEnter
()
{
//---退格
this
.
buyMoney
=
this
.
buyMoney
.
substr
(
0
,
this
.
buyMoney
.
length
-
1
)
this
.
spaceBackground
=
'#dddddd'
setTimeout
(()
=>
{
this
.
spaceBackground
=
''
},
200
)
this
.
spaceBackground
=
'#dddddd'
setTimeout
(()
=>
{
this
.
spaceBackground
=
''
},
200
)
clearTimeout
(
this
.
flag
)
this
.
flag
=
setTimeout
(()
=>
{
this
.
flag
=
setTimeout
(()
=>
{
this
.
initCoupon
()
},
1500
)
},
couponChoose
(
data
)
{
//---子组件券选择之后触发的事件
if
(
data
){
couponChoose
(
data
)
{
//---子组件券选择之后触发的事件
if
(
data
)
{
this
.
chooseCouponObj
=
data
this
.
savedMoney
=
this
.
chooseCouponObj
.
savedMoney
||
0
}
else
{
this
.
savedMoney
=
this
.
chooseCouponObj
.
savedMoney
||
0
}
else
{
this
.
chooseCouponObj
=
''
this
.
savedMoney
=
0
this
.
savedMoney
=
0
}
},
showCoupon
()
{
//---展示券列表
showCoupon
()
{
//---展示券列表
this
.
$refs
.
orderCoupon
.
showCoupon
()
},
init
()
{
//---初始化获取商家名称,大商家
init
()
{
//---初始化获取商家名称,大商家
let
data
=
{
'merchantId'
:
this
.
merchantId
,
'companyId'
:
this
.
companyId
,
merchantId
:
this
.
merchantId
,
companyId
:
this
.
companyId
}
uni
.
showLoading
({
title
:
'加载中'
,
mask
:
true
})
this
.
$request
(
'scenic/order/findCodePayInfo'
,
data
).
then
((
res
)
=>
{
uni
.
showLoading
({
title
:
'加载中'
,
mask
:
true
})
this
.
$request
(
'scenic/order/findCodePayInfo'
,
data
)
.
then
(
res
=>
{
uni
.
hideLoading
()
if
(
res
.
code
==
'00'
)
{
if
(
res
.
code
==
'00'
)
{
this
.
name
=
res
.
data
.
name
}
else
{
uni
.
showToast
({
title
:
res
.
message
,
icon
:
'none'
title
:
res
.
message
,
icon
:
'none'
})
}
}).
catch
((
err
)
=>
{
})
.
catch
(
err
=>
{
uni
.
hideLoading
()
})
},
initTwo
()
{
//---初始化获取商家名称,没有merchantId的小商家
initTwo
()
{
//---初始化获取商家名称,没有merchantId的小商家
let
data
=
{
'id'
:
this
.
companyId
,
id
:
this
.
companyId
}
uni
.
showLoading
({
title
:
'加载中'
,
mask
:
true
})
this
.
$request
(
'user/company/detail'
,
data
).
then
((
res
)
=>
{
uni
.
showLoading
({
title
:
'加载中'
,
mask
:
true
})
this
.
$request
(
'user/company/detail'
,
data
)
.
then
(
res
=>
{
uni
.
hideLoading
()
if
(
res
.
code
==
'00'
){
this
.
companyAttribute
=
res
.
data
.
companyVo
.
companyAttribute
this
.
paydJumpUrl
=
res
.
data
.
paydJumpUrl
if
(
this
.
companyAttribute
==
5
){
//出租车显示联系人姓名,其他显示公司名称
if
(
res
.
code
==
'00'
)
{
this
.
companyAttribute
=
res
.
data
.
companyVo
.
companyAttribute
this
.
paydJumpUrl
=
res
.
data
.
paydJumpUrl
if
(
this
.
companyAttribute
==
5
)
{
//出租车显示联系人姓名,其他显示公司名称
this
.
name
=
res
.
data
.
companyVo
.
contactName
}
else
{
}
else
{
this
.
name
=
res
.
data
.
companyVo
.
companyName
}
}
else
{
uni
.
showToast
({
title
:
res
.
message
,
icon
:
'none'
title
:
res
.
message
,
icon
:
'none'
})
}
}).
catch
((
err
)
=>
{
})
.
catch
(
err
=>
{
uni
.
hideLoading
()
})
},
initCoupon
()
{
//---加载优惠券
initCoupon
()
{
//---加载优惠券
let
savedMoneyList
=
[]
this
.
chooseCouponObj
=
''
this
.
ableConpon
=
''
let
data
=
{
money
:
parseFloat
(
this
.
buyMoney
)
||
0
,
//订单总价,不算券,和现金红包
merchantId
:
this
.
merchantId
,
//商户Id
companyId
:
this
.
companyId
,
//公司Id
orderSource
:
this
.
orderSource
,
//订单来源 8扫码支付
openid
:
this
.
openid
money
:
parseFloat
(
this
.
buyMoney
)
||
0
,
//订单总价,不算券,和现金红包
merchantId
:
this
.
merchantId
,
//商户Id
companyId
:
this
.
companyId
,
//公司Id
orderSource
:
this
.
orderSource
,
//订单来源 8扫码支付
openid
:
this
.
openid
}
this
.
$request
(
'wechatUser/myPage/usableCouponList'
,
data
).
then
((
res
)
=>
{
this
.
$request
(
'wechatUser/myPage/usableCouponList'
,
data
).
then
(
res
=>
{
if
(
res
.
code
==
'00'
)
{
this
.
couponData
=
res
.
data
let
masterSlaveCouponList
=
res
.
data
.
masterSlaveCouponList
if
(
masterSlaveCouponList
&&
masterSlaveCouponList
.
length
>
0
)
{
masterSlaveCouponList
.
forEach
((
item
)
=>
{
//获取最优券
let
masterSlaveCouponList
=
res
.
data
.
masterSlaveCouponList
if
(
masterSlaveCouponList
&&
masterSlaveCouponList
.
length
>
0
)
{
masterSlaveCouponList
.
forEach
(
item
=>
{
//获取最优券
savedMoneyList
.
push
(
item
.
savedMoney
)
})
let
maxMoney
=
Math
.
max
.
apply
(
null
,
savedMoneyList
)
let
arr
=
masterSlaveCouponList
.
filter
((
item
)
=>
{
//找到最大值的数组
return
item
.
savedMoney
==
maxMoney
let
arr
=
masterSlaveCouponList
.
filter
(
item
=>
{
//找到最大值的数组
return
item
.
savedMoney
==
maxMoney
})
if
(
arr
.
length
==
1
)
{
this
.
chooseCouponObj
=
arr
[
0
]
}
else
{
if
(
arr
.
length
==
1
)
{
this
.
chooseCouponObj
=
arr
[
0
]
}
else
{
//如果数组有多个时
let
index
=
arr
.
findIndex
((
item
)
=>
{
//如果有多个,找到是否有平台券,平台劵优先
return
item
.
createSource
==
1
let
index
=
arr
.
findIndex
(
item
=>
{
//如果有多个,找到是否有平台券,平台劵优先
return
item
.
createSource
==
1
})
if
(
index
>-
1
)
{
this
.
chooseCouponObj
=
arr
[
index
]
}
else
{
this
.
chooseCouponObj
=
arr
[
0
]
if
(
index
>
-
1
)
{
this
.
chooseCouponObj
=
arr
[
index
]
}
else
{
this
.
chooseCouponObj
=
arr
[
0
]
}
}
this
.
savedMoney
=
this
.
chooseCouponObj
.
savedMoney
this
.
savedMoney
=
this
.
chooseCouponObj
.
savedMoney
}
else
{
if
(
res
.
data
.
unusableCouponList
.
length
>
0
)
{
res
.
data
.
unusableCouponList
.
forEach
((
item
,
i
)
=>
{
//没有可用优惠券,有达到条件可以用的优惠券,先显示条件,达到条件时显示可用优惠券
res
.
data
.
unusableCouponList
.
forEach
((
item
,
i
)
=>
{
//没有可用优惠券,有达到条件可以用的优惠券,先显示条件,达到条件时显示可用优惠券
if
(
item
.
isProduct
==
1
)
{
this
.
ableConpon
=
item
}
...
...
@@ -420,36 +445,39 @@ export default {
}
})
},
clickPay
(){
//---点击立即支付,获取支付需要的参数
clickPay
()
{
//---点击立即支付,获取支付需要的参数
if
(
!
parseFloat
(
this
.
buyMoney
))
{
uni
.
showToast
({
title
:
'请输入正确金额'
,
icon
:
'none'
title
:
'请输入正确金额'
,
icon
:
'none'
})
return
}
let
couponList
=
[]
if
(
this
.
chooseCouponObj
!=
''
)
{
if
(
this
.
chooseCouponObj
.
slaveList
.
length
>
0
){
//有从卷取值从卷,没有从卷取值主劵
couponList
=
[
//券列表
if
(
this
.
chooseCouponObj
.
slaveList
.
length
>
0
)
{
//有从卷取值从卷,没有从卷取值主劵
couponList
=
[
//券列表
{
couponId
:
this
.
chooseCouponObj
.
slaveCouponId
,
//券id
isMerchant
:
this
.
chooseCouponObj
.
slaveCreateSource
,
//是否是商户的券
myCouponId
:
this
.
chooseCouponObj
.
slaveId
,
//领取人编号
couponType
:
this
.
chooseCouponObj
.
couponType
,
//券类型
couponPrice
:
this
.
chooseCouponObj
.
savedMoney
,
//券价格
couponCompanyId
:
this
.
chooseCouponObj
.
companyId
,
//公司Id
couponId
:
this
.
chooseCouponObj
.
slaveCouponId
,
//券id
isMerchant
:
this
.
chooseCouponObj
.
slaveCreateSource
,
//是否是商户的券
myCouponId
:
this
.
chooseCouponObj
.
slaveId
,
//领取人编号
couponType
:
this
.
chooseCouponObj
.
couponType
,
//券类型
couponPrice
:
this
.
chooseCouponObj
.
savedMoney
,
//券价格
couponCompanyId
:
this
.
chooseCouponObj
.
companyId
//公司Id
}
]
}
else
{
couponList
=
[
}
else
{
couponList
=
[
{
couponId
:
this
.
chooseCouponObj
.
couponId
,
//券id
isMerchant
:
this
.
chooseCouponObj
.
createSource
,
//是否是商户的券
myCouponId
:
this
.
chooseCouponObj
.
id
,
//领取人编号
couponType
:
this
.
chooseCouponObj
.
couponType
,
//券类型
couponPrice
:
this
.
chooseCouponObj
.
savedMoney
,
//券价格
couponCompanyId
:
this
.
chooseCouponObj
.
companyId
,
//公司Id
couponId
:
this
.
chooseCouponObj
.
couponId
,
//券id
isMerchant
:
this
.
chooseCouponObj
.
createSource
,
//是否是商户的券
myCouponId
:
this
.
chooseCouponObj
.
id
,
//领取人编号
couponType
:
this
.
chooseCouponObj
.
couponType
,
//券类型
couponPrice
:
this
.
chooseCouponObj
.
savedMoney
,
//券价格
couponCompanyId
:
this
.
chooseCouponObj
.
companyId
//公司Id
}
]
}
...
...
@@ -457,29 +485,32 @@ export default {
let
data
=
{
companyId
:
this
.
companyId
,
merchantId
:
this
.
merchantId
,
userId
:
this
.
openid
,
userId
:
this
.
openid
,
orderMoney
:
parseFloat
(
this
.
buyMoney
),
payType
:
this
.
payType
,
//支付类型,
orderSource
:
this
.
orderSource
,
//订单来源 8扫码支付
couponList
,
//券列表
extendInfo
:
this
.
extendInfo
,
//额外信息
orderSource
:
this
.
orderSource
,
//订单来源 8扫码支付
couponList
,
//券列表
extendInfo
:
this
.
extendInfo
,
//额外信息
remark
:
this
.
remark
,
//备注信息
}
this
.
payBackground
=
'#cccccc'
this
.
payBackground
=
'#cccccc'
//重新加载优惠券
this
.
initCoupon
()
this
.
$request
(
'orderc/order/codePay'
,
data
).
then
((
res
)
=>
{
this
.
$request
(
'orderc/order/codePay'
,
data
)
.
then
(
res
=>
{
setTimeout
(()
=>
{
this
.
payBackground
=
'#1dce2e
'
},
1000
)
if
(
res
.
code
==
'00'
)
{
this
.
payBackground
=
'#3688FF
'
},
1000
)
if
(
res
.
code
==
'00'
)
{
if
(
res
.
data
.
errorMessage
)
{
uni
.
showToast
({
title
:
res
.
data
.
errorMessage
,
icon
:
'none'
title
:
res
.
data
.
errorMessage
,
icon
:
'none'
})
return
}
this
.
orderId
=
res
.
data
.
id
this
.
orderId
=
res
.
data
.
id
//微信入参
this
.
signType
=
res
.
data
.
signType
this
.
paySign
=
res
.
data
.
sign
...
...
@@ -491,39 +522,42 @@ export default {
this
.
goPay
()
}
else
{
uni
.
showToast
({
title
:
res
.
message
,
icon
:
'none'
title
:
res
.
message
,
icon
:
'none'
})
}
}).
catch
((
err
)
=>
{
this
.
payBackground
=
'#1dce2e'
})
.
catch
(
err
=>
{
this
.
payBackground
=
'#3688FF'
})
},
goPay
(){
//---去支付
let
_this
=
this
goPay
()
{
//---去支付
let
_this
=
this
// #ifdef MP-WEIXIN
uni
.
requestPayment
({
provider
:
'wxpay'
,
timeStamp
:
this
.
timeStamp
,
nonceStr
:
this
.
nonceStr
,
package
:
this
.
package
,
signType
:
this
.
signType
,
paySign
:
this
.
paySign
,
timeStamp
:
this
.
timeStamp
,
nonceStr
:
this
.
nonceStr
,
package
:
this
.
package
,
signType
:
this
.
signType
,
paySign
:
this
.
paySign
,
success
:
function
(
res
)
{
if
(
_this
.
companyAttribute
==
5
){
//出租车跳转分销组合票页面
if
(
_this
.
companyAttribute
==
5
)
{
//出租车跳转分销组合票页面
uni
.
navigateTo
({
url
:
_this
.
paydJumpUrl
url
:
_this
.
paydJumpUrl
})
}
else
{
}
else
{
uni
.
navigateTo
({
url
:
'/pages/payment/paySuccess/paySuccess?orderId='
+
_this
.
orderId
url
:
'/pages/payment/paySuccess/paySuccess?orderId='
+
_this
.
orderId
})
}
},
fail
:
function
(
err
)
{
uni
.
showToast
({
title
:
err
.
errMsg
,
icon
:
'none'
title
:
err
.
errMsg
,
icon
:
'none'
})
}
})
...
...
@@ -534,20 +568,21 @@ export default {
provider
:
'alipay'
,
// 服务提供商 支付宝支付: alipay 微信支付: wxpay
orderInfo
:
this
.
orderInfo
,
// 支付宝订单号
success
:
function
(
res
)
{
if
(
_this
.
companyAttribute
==
5
){
//出租车跳转分销组合票页面
if
(
_this
.
companyAttribute
==
5
)
{
//出租车跳转分销组合票页面
uni
.
navigateTo
({
url
:
_this
.
paydJumpUrl
url
:
_this
.
paydJumpUrl
})
}
else
{
}
else
{
uni
.
navigateTo
({
url
:
'/pages/payment/paySuccess/paySuccess?orderId='
+
_this
.
orderId
url
:
'/pages/payment/paySuccess/paySuccess?orderId='
+
_this
.
orderId
})
}
},
fail
:
function
(
err
)
{
uni
.
showToast
({
title
:
err
.
errMsg
,
icon
:
'none'
title
:
err
.
errMsg
,
icon
:
'none'
})
}
})
...
...
@@ -556,18 +591,22 @@ export default {
},
watch
:
{
buyMoney
(
val
,
oldVal
)
{
if
(
val
==
'.'
&&
oldVal
==
''
)
{
//首位数是小数点自动加上0
if
(
val
==
'.'
&&
oldVal
==
''
)
{
//首位数是小数点自动加上0
this
.
buyMoney
=
0
+
'.'
}
if
(
val
==
'0'
&&
oldVal
==
''
)
{
//首位数是0自动加上小数点
if
(
val
==
'0'
&&
oldVal
==
''
)
{
//首位数是0自动加上小数点
this
.
buyMoney
=
0
+
'.'
}
if
(
val
.
length
==
2
)
{
//防止回退之后出现01,02等状况
if
(
val
.
length
==
2
)
{
//防止回退之后出现01,02等状况
if
(
val
.
substr
(
0
,
1
)
==
0
&&
val
.
substr
(
1
,
2
)
!=
'.'
)
{
this
.
buyMoney
=
val
.
substr
(
1
,
2
)
}
}
if
(
isNaN
(
val
)
&&
val
!=
'.'
)
{
//出现非数字,输入无效
if
(
isNaN
(
val
)
&&
val
!=
'.'
)
{
//出现非数字,输入无效
this
.
buyMoney
=
oldVal
}
var
x
=
String
(
this
.
buyMoney
).
indexOf
(
'.'
)
+
1
//小数点的位置
...
...
@@ -576,9 +615,9 @@ export default {
this
.
buyMoney
=
oldVal
}
if
(
parseFloat
(
this
.
buyMoney
))
{
this
.
payBackground
=
'#1dce2e
'
this
.
payBackground
=
'#3688FF
'
}
else
{
this
.
payBackground
=
'#cccccc'
this
.
payBackground
=
'#cccccc'
}
}
}
...
...
@@ -586,42 +625,171 @@ export default {
</
script
>
<
style
lang=
"scss"
>
.bigBox
{
background
:
#f5f5f5
;
height
:
100%
;}
/*上部分*/
.top
{
background
:
#FFFFFF
;}
.topName
{
font-size
:
30rpx
;
font-weight
:
bold
;
padding
:
50rpx
24rpx
0
24rpx
;
display
:
flex
;
align-items
:
center
;
justify-content
:
center
;}
.topIcon
{
display
:inline-flex
;
margin-right
:
10rpx
;
width
:
50rpx
;
height
:
50rpx
;
border-radius
:
50%
;
background
:
#FF8B57
;
align-items
:center
;
justify-content
:center
;}
.icon-tubiaolunkuo-
{
font-size
:
36rpx
;
color
:
#FFFFFF
;
font-weight
:
400
;}
.topMoney
{
padding
:
80rpx
24rpx
24rpx
24rpx
;
display
:
flex
;
justify-content
:space-between
;
align-items
:
center
;}
.moneyText
{
color
:
#FF3C00
;
font-size
:
32rpx
;
font-weight
:
bold
;}
.moneyNumber
text
:nth-child
(
2
)
{
font-size
:
62rpx
;
font-weight
:
bold
;
position
:
relative
;
left
:
-6rpx
;}
.moneyNumber
text
:last-child
{
animation
:
dis
1
.5s
infinite
;
transition
:
1s
;
width
:
1px
;
height
:
56rpx
;
display
:
inline-block
;
background
:
#333333
;
position
:
relative
;
top
:
8rpx
;}
.topCoupon
{
display
:
flex
;
height
:
90rpx
;
border-top
:
1px
solid
$divider
;
align-items
:center
;
padding
:
0
24rpx
;
justify-content
:
space-between
;}
.couponLeft
{
font-size
:
24rpx
;}
.couponLeft
text
:first-child
{
margin-right
:
10rpx
;
display
:
inline-block
;
width
:
30rpx
;
height
:
30rpx
;
background
:
#f9690e
;
color
:
#FFFFFF
;
text-align
:
center
;
line-height
:
28rpx
;
border-radius
:
4rpx
;}
.couponRight
{
position
:relative
;
left
:
8rpx
;}
.couponRight
text
:first-child
{
font-size
:
32rpx
;
color
:
#f9690e
;}
.couponRight
text
:nth-child
(
2
)
{
font-size
:
32rpx
;
color
:
#F9690E
;
font-weight
:bold
;}
/*中间部分*/
.middle
{
padding
:
50rpx
24rpx
0
24rpx
;
font-size
:
24rpx
;
color
:
#999999
;
line-height
:
40rpx
;}
/*下部分*/
.bottom
{
position
:absolute
;
bottom
:
0
;
height
:
40%
;
background
:
#FFFFFF
;
width
:
100%
;
display
:
flex
;
border-top
:
1px
solid
#dddddd
;
font-size
:
50rpx
;}
.botLeft
{
width
:
75%
;}
.botLeft
view
{
height
:
25%
;
display
:
flex
;
border-bottom
:
1px
solid
#dddddd
;}
.botLeft
view
:last-child
{
border
:none
;}
.botLeft
view
:last-child
text
:first-child
{
width
:
66
.7%
;}
.botLeft
view
:last-child
text
:last-child
{
width
:
33
.3%
;}
.botLeft
view
text
{
flex
:
1
;
height
:
100%
;
display
:inline-flex
;
align-items
:
center
;
justify-content
:
center
;
border-right
:
1px
solid
#dddddd
;}
.botLeft
view
:last-child
text
{
flex
:initial
;}
.botRight
{
width
:
25%
;}
.rightOne
{
height
:
25%
;
display
:
flex
;
align-items
:center
;
justify-content
:
center
;
border-bottom
:
1px
solid
#dddddd
;}
.rightTwo
{
height
:
75%
;
border
:none
;
color
:
#FFFFFF
;
display
:
flex
;
flex-direction
:column
;
align-items
:center
;
justify-content
:
center
;}
@keyframes
dis
{
from
{
.bigBox
{
background
:
#f5f5f5
;
height
:
100%
;
}
/*上部分*/
.top
{
background
:
#ffffff
;
border-bottom
:
1px
solid
#ececec
;
}
.topName
{
font-size
:
30rpx
;
font-weight
:
bold
;
padding
:
50rpx
24rpx
0
24rpx
;
display
:
flex
;
align-items
:
center
;
justify-content
:
center
;
}
.topIcon
{
display
:
inline-flex
;
margin-right
:
10rpx
;
width
:
50rpx
;
height
:
50rpx
;
border-radius
:
50%
;
background
:
#ff8b57
;
align-items
:
center
;
justify-content
:
center
;
}
.icon-tubiaolunkuo-
{
font-size
:
36rpx
;
color
:
#ffffff
;
font-weight
:
400
;
}
.topMoney
{
padding
:
80rpx
24rpx
24rpx
24rpx
;
}
.moneyText
{
color
:
#ff3c00
;
font-size
:
32rpx
;
font-weight
:
bold
;
}
.moneyNumber
{
margin-top
:
30rpx
;
}
.moneyNumber
text
:nth-child
(
2
)
{
font-size
:
62rpx
;
font-weight
:
bold
;
position
:
relative
;
left
:
-6rpx
;
}
.moneyNumber
text
:last-child
{
animation
:
dis
1
.5s
infinite
;
transition
:
1s
;
width
:
1px
;
height
:
56rpx
;
display
:
inline-block
;
background
:
#333333
;
position
:
relative
;
top
:
8rpx
;
}
.topCoupon
{
display
:
flex
;
height
:
90rpx
;
border-top
:
1px
solid
$divider
;
align-items
:
center
;
padding
:
0
24rpx
;
justify-content
:
space-between
;
}
.couponLeft
{
font-size
:
24rpx
;
}
.couponLeft
text
:first-child
{
margin-right
:
10rpx
;
display
:
inline-block
;
width
:
30rpx
;
height
:
30rpx
;
background
:
#f9690e
;
color
:
#ffffff
;
text-align
:
center
;
line-height
:
28rpx
;
border-radius
:
4rpx
;
}
.couponRight
{
position
:
relative
;
left
:
8rpx
;
}
.couponRight
text
:first-child
{
font-size
:
32rpx
;
color
:
#f9690e
;
}
.couponRight
text
:nth-child
(
2
)
{
font-size
:
32rpx
;
color
:
#f9690e
;
font-weight
:
bold
;
}
/*中间部分*/
.middle
{
padding
:
30rpx
24rpx
50rpx
24rpx
;
color
:
#999999
;
line-height
:
40rpx
;
background
:
#ffffff
;
}
/*下部分*/
.bottom
{
position
:
absolute
;
bottom
:
0
;
height
:
40%
;
background
:
#ffffff
;
width
:
100%
;
display
:
flex
;
border-top
:
1px
solid
#dddddd
;
font-size
:
50rpx
;
}
.botLeft
{
width
:
75%
;
}
.botLeft
view
{
height
:
25%
;
display
:
flex
;
border-bottom
:
1px
solid
#dddddd
;
}
.botLeft
view
:last-child
{
border
:
none
;
}
.botLeft
view
:last-child
text
:first-child
{
width
:
66
.7%
;
}
.botLeft
view
:last-child
text
:last-child
{
width
:
33
.3%
;
}
.botLeft
view
text
{
flex
:
1
;
height
:
100%
;
display
:
inline-flex
;
align-items
:
center
;
justify-content
:
center
;
border-right
:
1px
solid
#dddddd
;
}
.botLeft
view
:last-child
text
{
flex
:
initial
;
}
.botRight
{
width
:
25%
;
}
.rightOne
{
height
:
25%
;
display
:
flex
;
align-items
:
center
;
justify-content
:
center
;
border-bottom
:
1px
solid
#dddddd
;
}
.rightTwo
{
height
:
75%
;
border
:
none
;
color
:
#ffffff
;
display
:
flex
;
flex-direction
:
column
;
align-items
:
center
;
justify-content
:
center
;
}
@keyframes
dis
{
from
{
opacity
:
0
;
}
to
{
to
{
opacity
:
1
;
}
}
}
</
style
>
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