Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
D
doublescreen-back
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
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
pengguangpu
doublescreen-back
Commits
712b33e1
Commit
712b33e1
authored
Feb 11, 2020
by
jiangjiantao
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
加减删商品,清空列表,优惠券
parent
ca5baf71
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
279 additions
and
56 deletions
+279
-56
app.js
app.js
+6
-0
scan_guide.png
images/scan_guide.png
+0
-0
landscan.acss
pages/landscan/landscan.acss
+104
-6
landscan.axml
pages/landscan/landscan.axml
+25
-10
landscan.js
pages/landscan/landscan.js
+144
-40
No files found.
app.js
View file @
712b33e1
App
({
App
({
globalData
:
{
TEST_URL
:
"https://cashier.test.miyahub.net/"
,
RELEASE_URL
:
"https://cashier.miyahub.com/"
,
},
onLaunch
(
options
)
{
onLaunch
(
options
)
{
// 第一次打开
// 第一次打开
// options.query == {number:1}
// options.query == {number:1}
...
...
images/scan_guide.png
0 → 100755
View file @
712b33e1
23.7 KB
pages/landscan/landscan.acss
View file @
712b33e1
...
@@ -9,6 +9,7 @@
...
@@ -9,6 +9,7 @@
}
}
/* 带有高斯模糊的效果 */
/* 带有高斯模糊的效果 */
.pfilter {
.pfilter {
display: flex;
display: flex;
flex-direction: column;
flex-direction: column;
...
@@ -70,6 +71,7 @@
...
@@ -70,6 +71,7 @@
}
}
/* 下部分 */
/* 下部分 */
.land-scan-boottom {
.land-scan-boottom {
height: 100%;
height: 100%;
width: 100%;
width: 100%;
...
@@ -86,7 +88,8 @@
...
@@ -86,7 +88,8 @@
}
}
/* 顶部空白 */
/* 顶部空白 */
.shopcart-cart-top-blank{
.shopcart-cart-top-blank {
height: 7rpx;
height: 7rpx;
width: 100%
width: 100%
}
}
...
@@ -116,6 +119,7 @@
...
@@ -116,6 +119,7 @@
}
}
/* 空购物车 */
/* 空购物车 */
.shopcart-list-empty {
.shopcart-list-empty {
height: 100%;
height: 100%;
width: 68%;
width: 68%;
...
@@ -125,7 +129,6 @@
...
@@ -125,7 +129,6 @@
align-items: center;
align-items: center;
}
}
/* 提示文字 */
/* 提示文字 */
.empty-remind-text {
.empty-remind-text {
...
@@ -188,8 +191,6 @@
...
@@ -188,8 +191,6 @@
height: 60rpx;
height: 60rpx;
}
}
/* 商品条目上半部分 */
/* 商品条目上半部分 */
.good-top {
.good-top {
...
@@ -278,3 +279,100 @@
...
@@ -278,3 +279,100 @@
width: 28rpx;
width: 28rpx;
height: 28rpx;
height: 28rpx;
}
}
/* 用券page */
.page-coupon {
display: flex;
flex-direction: column;
width: 100%;
height: 100%;
position: absolute;
background: white
}
/* 券顶部 */
.coupon-top {
width: 100%;
height: 60rpx;
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
background: rgba(255, 255, 255, 1);
box-shadow: 0px 2px 7px 0px rgba(153, 153, 153, 0.16)
}
/* 券底部 */
.coupon-bottom {
width: 100%;
height: 100%;
display: flex;
flex-direction: column;
align-items: center;
justify-content: space-around
}
/* 返回 */
.coupon-back-container {
width: 95rpx;
height: 100%;
justify-content: center;
align-items: center;
display: flex;
flex-direction: row
}
/* 返回icon */
.coupon-back-icon{
width: 9rpx;
height: 18rpx;
}
/* 返回text */
.coupon-back-text {
font-size: 19rpx;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: rgba(51, 51, 51, 1);
line-height: 22rpx;
margin-left: 5rpx
}
/* 标题 */
.coupon-title {
font-size: 22rpx;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
color: rgba(51, 51, 51, 1);
line-height: 22rpx;
}
/* 扫券码提示 */
.scan-coupon-text {
font-size: 26rpx;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
color: rgba(51, 51, 51, 0.85);
line-height: 26rpx;
}
/* 取消用券 */
.cancel-use-coupon {
border-radius: 5px;
width: 252rpx;
height: 60rpx;
}
/* 扫券引导图 */
.scan-coupon-guide{
width: 180rpx;
height: 155rpx;
}
\ No newline at end of file
pages/landscan/landscan.axml
View file @
712b33e1
<!-- 扫商品页面 -->
<view class="{{scene != 0 ? 'pfilter' : 'pageland' }}">
<view class="{{scene != 0 ? 'pfilter' : 'pageland' }}">
<view class="land-scan-top">
<view class="land-scan-top">
<button class="land-scan-top-member-login" size="default" type="ghost">会员登陆</button>
<button class="land-scan-top-member-login" size="default" type="ghost">会员登陆</button>
...
@@ -19,19 +19,19 @@
...
@@ -19,19 +19,19 @@
<view class="shopcart-cart-top-blank">
<view class="shopcart-cart-top-blank">
</view>
</view>
<block a:for="{{goods}}">
<block a:for="{{goods}}">
<view class="scan-list-bg">
<view class="scan-list-bg"
>
<view class="good-top">
<view class="good-top">
<view class="good-name">
<view class="good-name">
{{item.name}}
{{item.name}}
</view>
</view>
<image
class="good-del" mode="aspectFit" src="/images/harf_delete.png"
/>
<image
id="{{item.barcode}}" class="good-del" mode="aspectFit" src="/images/harf_delete.png" catchTap="deleteGood"
/>
</view>
</view>
<view class="good-bottom">
<view class="good-bottom">
<view class="good-price">¥{{item.price}}</view>
<view class="good-price">¥{{item.price}}</view>
<view class="good-operat">
<view class="good-operat">
<image
class="good-decrease" mode="scaleToFill" src="/images/good_decrease.png
"/>
<image
id="{{item.barcode}}" class="good-decrease" mode="scaleToFill" src="/images/good_decrease.png" catchTap="decreaseGood
"/>
<text class="good-num">{{item.quantity}}</text>
<text class="good-num">{{item.quantity}}</text>
<image
class="good-increase" mode="scaleToFill" src="/images/good_increase.png
"/>
<image
id="{{item.barcode}}" class="good-increase" mode="scaleToFill" src="/images/good_increase.png" catchTap="increaseGood
"/>
</view>
</view>
</view>
</view>
</view>
</view>
...
@@ -40,8 +40,8 @@
...
@@ -40,8 +40,8 @@
<view class="more-operating">
<view class="more-operating">
<view class="operating-top">
<view class="operating-top">
<image class="operat-icon" mode="aspectFit" src="/images/manual_barcode.png" catchTap="manualBarcode"/>
<image class="operat-icon" mode="aspectFit" src="/images/manual_barcode.png" catchTap="manualBarcode"/>
<image class="operat-icon" mode="aspectFit" src="/images/use_coupon.png"/>
<image class="operat-icon" mode="aspectFit" src="/images/use_coupon.png"
catchTap="useCoupon"
/>
<image class="operat-icon" mode="aspectFit" src="/images/clear_shop_list.png"/>
<image class="operat-icon" mode="aspectFit" src="/images/clear_shop_list.png"
catchTap="clearGood"
/>
</view>
</view>
<view class="operating-bottom">
<view class="operating-bottom">
<text class="total-num">共{{totalNum}}件商品,合计金额</text>
<text class="total-num">共{{totalNum}}件商品,合计金额</text>
...
@@ -51,7 +51,22 @@
...
@@ -51,7 +51,22 @@
</view>
</view>
</view>
</view>
</view>
</view>
<!-- 扫描优惠券 -->
<view class="page-coupon" a:if="{{couponUseing}}" >
<view class="coupon-top">
<view class="coupon-back-container" onTap="couponBack">
<image class="coupon-back-icon" mode="aspectFit" src="/images/icon_back.png"/>
<text class="coupon-back-text">返回</text>
</view>
<view class="coupon-title">优惠券</view>
<view></view>
</view>
<view class="coupon-bottom">
<text class="scan-coupon-text">等待顾客扫描优惠券码…</text>
<image class="scan-coupon-guide" mode="aspectFit" src="/images/scan_guide.png"/>
<button class="cancel-use-coupon" size="default" type="ghost" onTap="couponBack">取消</button>
</view>
</view>
<!-- 键盘 -->
<!-- 键盘 -->
<land-keybord scene="{{scene}}" onKeyBordFinished="onKeyBordFinished" onKeyBordClose="onKeyBordClose">
<land-keybord scene="{{scene}}" onKeyBordFinished="onKeyBordFinished" onKeyBordClose="onKeyBordClose">
</land-keybord>
</land-keybord>
\ No newline at end of file
pages/landscan/landscan.js
View file @
712b33e1
var
api
=
require
(
"../../utils/api.js"
);
import
{
API_SCAN
}
from
'../../const/apiurl'
Page
({
Page
({
data
:
{
data
:
{
//是否正在用券
couponUseing
:
false
,
//0代表弹窗关闭 1代表手动输入条码弹窗 2代表会员 3.收款 4.退款
//0代表弹窗关闭 1代表手动输入条码弹窗 2代表会员 3.收款 4.退款
scene
:
0
,
scene
:
0
,
//总数量
//总数量
...
@@ -7,61 +11,161 @@ Page({
...
@@ -7,61 +11,161 @@ Page({
//应付款
//应付款
payPrice
:
"0.00"
,
payPrice
:
"0.00"
,
goods
:
[
goods
:
[
{
name
:
"Beats Studio3 头戴式耳机-魅影灰"
,
price
:
298.6
,
quantity
:
20
,
},
{
name
:
"Beats Studio3 头戴式耳机-魅影灰"
,
price
:
298.6
,
quantity
:
20
,
},
{
name
:
"Beats Studio3 头戴式耳机-魅影灰"
,
price
:
298.6
,
quantity
:
20
,
},
{
name
:
"Beats Studio3 头戴式耳机-魅影灰"
,
price
:
298.6
,
quantity
:
20
,
},
{
name
:
"Beats Studio3 头戴式耳机-魅影灰"
,
price
:
298.6
,
quantity
:
20
,
},
{
name
:
"Beats Studio3 头戴式耳机-魅影灰"
,
price
:
298.6
,
quantity
:
20
,
},
{
name
:
"Beats Studio3 头戴式耳机-魅影灰"
,
price
:
298.6
,
quantity
:
20
,
}
]
]
},
},
onLoad
()
{
},
onLoad
()
{
},
//键盘完成
//键盘完成
onKeyBordFinished
(
data
)
{
onKeyBordFinished
(
data
)
{
my
.
showToast
({
let
mockdata
=
'{"activityId": "5808753370","activityType": "Skus","activityName": "2020年新活动,中国加油","discnt": 100,"startTime": 1580877000000,"endTime": 1583423999000,"pic": "https://miya-ngm.oss-cn-hangzhou.aliyuncs.com/1560763177031148973127.png?Expires=1876123177&OSSAccessKeyId=LTAItcMpilplOYdV&Signature=9NTSNuDocXKQyr%2FbPlHooey3Vrg%3D","name": "test001","barcode": "09876","price": 100000,"salePrice": 100000,"hasDiscount": true}'
;
type
:
'success'
,
content
:
data
,
duration
:
3000
,
success
:
()
=>
{
},
this
.
parseGoodInfo
(
JSON
.
parse
(
mockdata
))
});
this
.
onKeyBordClose
();
},
},
// 键盘关闭
onKeyBordClose
()
{
onKeyBordClose
()
{
this
.
setData
({
scene
:
0
})
this
.
setData
({
scene
:
0
})
},
},
// 手动输入码
// 手动输入码
manualBarcode
(
e
){
manualBarcode
(
e
)
{
this
.
setData
({
scene
:
1
})
this
.
setData
({
scene
:
1
})
},
//清空商品信息
clearGood
(
e
)
{
this
.
setData
({
goods
:
[]
})
},
//转化商品信息
parseGoodInfo
(
goodinfo
)
{
//价格 分转元
goodinfo
.
quantity
=
1
;
goodinfo
.
price
=
goodinfo
.
price
/
100
goodinfo
.
salePrice
=
goodinfo
.
salePrice
/
100
goodinfo
.
discnt
=
goodinfo
.
discnt
/
100
//总数量
let
totalQuantityTemp
=
0
//总价格
let
totalPriceTemp
=
0.00
//数量+1
let
isHasSame
=
false
;
let
lastgoods
=
this
.
data
.
goods
;
let
goodstemp
=
[]
let
goodtemp
lastgoods
.
forEach
(
function
(
item
,
index
,
array
)
{
if
(
item
.
barcode
==
goodinfo
.
barcode
)
{
let
quantitytemp
=
item
.
quantity
item
.
quantity
=
quantitytemp
+
1
isHasSame
=
true
goodtemp
=
item
}
else
{
totalQuantityTemp
=
totalQuantityTemp
+
item
.
quantity
totalPriceTemp
=
totalPriceTemp
+
item
.
price
*
item
.
quantity
goodstemp
.
push
(
item
)
}
})
if
(
isHasSame
)
{
totalQuantityTemp
=
totalQuantityTemp
+
goodtemp
.
quantity
totalPriceTemp
=
totalPriceTemp
+
goodtemp
.
price
*
goodtemp
.
quantity
let
nowgoods
=
[]
nowgoods
.
push
(
goodtemp
);
var
newgoods
=
nowgoods
.
concat
(
goodstemp
)
this
.
setData
({
goods
:
newgoods
})
}
else
{
totalQuantityTemp
=
totalQuantityTemp
+
1
totalPriceTemp
=
totalPriceTemp
+
goodinfo
.
price
let
nowgoods
=
[]
nowgoods
.
push
(
goodinfo
);
var
newgoods
=
nowgoods
.
concat
(
lastgoods
)
this
.
setData
({
goods
:
newgoods
})
}
//汇总
this
.
setData
({
totalNum
:
totalQuantityTemp
,
payPrice
:
totalPriceTemp
,
})
},
//删除商品
deleteGood
(
e
)
{
let
barcode
=
e
.
target
.
id
;
let
lastgoods
=
this
.
data
.
goods
;
let
newGoods
=
[]
lastgoods
.
forEach
(
function
(
item
,
index
,
array
)
{
if
(
barcode
!=
item
.
barcode
)
{
newGoods
.
push
(
item
);
}
})
this
.
setData
({
goods
:
newGoods
})
},
//减少商品
decreaseGood
(
e
)
{
let
barcode
=
e
.
target
.
id
;
let
lastgoods
=
this
.
data
.
goods
;
let
newGoods
=
[]
lastgoods
.
forEach
(
function
(
item
,
index
,
array
)
{
if
(
barcode
==
item
.
barcode
)
{
if
(
item
.
quantity
!=
1
)
{
let
quantitytemp
=
item
.
quantity
item
.
quantity
=
quantitytemp
-
1
newGoods
.
push
(
item
);
}
}
else
{
newGoods
.
push
(
item
);
}
})
this
.
setData
({
goods
:
newGoods
})
},
//增加商品
increaseGood
(
e
)
{
console
.
log
(
e
);
let
barcode
=
e
.
target
.
id
;
let
lastgoods
=
this
.
data
.
goods
;
let
newGoods
=
[]
lastgoods
.
forEach
(
function
(
item
,
index
,
array
)
{
if
(
barcode
==
item
.
barcode
)
{
let
quantitytemp
=
item
.
quantity
item
.
quantity
=
quantitytemp
+
1
newGoods
.
push
(
item
);
}
else
{
newGoods
.
push
(
item
);
}
})
this
.
setData
({
goods
:
newGoods
})
},
//用券返回
couponBack
(
e
){
this
.
setData
({
couponUseing
:
false
})
},
//使用券
useCoupon
(
e
){
this
.
setData
({
couponUseing
:
true
})
}
}
});
});
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