Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
alading2018
ShopXO
提交
8fa76bed
ShopXO
项目概览
alading2018
/
ShopXO
与 Fork 源项目一致
Fork自
纵之格 / ShopXO
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
ShopXO
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
8fa76bed
编写于
8月 09, 2020
作者:
D
devil
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
百度小程序适配
上级
155dca21
变更
18
隐藏空白更改
内联
并排
Showing
18 changed file
with
678 addition
and
464 deletion
+678
-464
sourcecode/alipay/pages/goods-detail/goods-detail.axml
sourcecode/alipay/pages/goods-detail/goods-detail.axml
+1
-1
sourcecode/alipay/pages/user-order-detail/user-order-detail.axml
...ode/alipay/pages/user-order-detail/user-order-detail.axml
+5
-2
sourcecode/baidu/app.js
sourcecode/baidu/app.js
+1
-1
sourcecode/baidu/pages/buy/buy.css
sourcecode/baidu/pages/buy/buy.css
+33
-6
sourcecode/baidu/pages/buy/buy.js
sourcecode/baidu/pages/buy/buy.js
+78
-35
sourcecode/baidu/pages/buy/buy.swan
sourcecode/baidu/pages/buy/buy.swan
+135
-121
sourcecode/baidu/pages/goods-category/goods-category.css
sourcecode/baidu/pages/goods-category/goods-category.css
+84
-51
sourcecode/baidu/pages/goods-category/goods-category.js
sourcecode/baidu/pages/goods-category/goods-category.js
+21
-36
sourcecode/baidu/pages/goods-category/goods-category.json
sourcecode/baidu/pages/goods-category/goods-category.json
+1
-2
sourcecode/baidu/pages/goods-category/goods-category.swan
sourcecode/baidu/pages/goods-category/goods-category.swan
+75
-21
sourcecode/baidu/pages/goods-detail/goods-detail.swan
sourcecode/baidu/pages/goods-detail/goods-detail.swan
+1
-1
sourcecode/baidu/pages/paytips/paytips.js
sourcecode/baidu/pages/paytips/paytips.js
+0
-1
sourcecode/baidu/pages/paytips/paytips.swan
sourcecode/baidu/pages/paytips/paytips.swan
+0
-4
sourcecode/baidu/pages/user-order-detail/user-order-detail.js
...cecode/baidu/pages/user-order-detail/user-order-detail.js
+21
-20
sourcecode/baidu/pages/user-order/user-order.css
sourcecode/baidu/pages/user-order/user-order.css
+100
-81
sourcecode/baidu/pages/user-order/user-order.js
sourcecode/baidu/pages/user-order/user-order.js
+108
-75
sourcecode/baidu/pages/user-order/user-order.swan
sourcecode/baidu/pages/user-order/user-order.swan
+13
-5
sourcecode/weixin/pages/goods-detail/goods-detail.wxml
sourcecode/weixin/pages/goods-detail/goods-detail.wxml
+1
-1
未找到文件。
sourcecode/alipay/pages/goods-detail/goods-detail.axml
浏览文件 @
8fa76bed
...
...
@@ -73,7 +73,7 @@
<view class="item bg-white {{item.is_operable == 0 ? 'item-disabled' : ''}}" style="border:1px solid {{item.bg_color_value}};">
<view class="v-left fl">
<view class="base single-text" style="color:{{item.bg_color_value}};">
<text class="symbol">{{price_symbol}}</text>
<text
a:if="{{item.type == 0}}"
class="symbol">{{price_symbol}}</text>
<text class="price">{{item.discount_value}}</text>
<text class="unit">{{item.type_unit}}</text>
</view>
...
...
sourcecode/alipay/pages/user-order-detail/user-order-detail.axml
浏览文件 @
8fa76bed
...
...
@@ -81,11 +81,14 @@
</view>
<!-- 扩展数据 -->
<view a:if="{{extension_data.length > 0}}" class="extension-list bg-white spacing-mt">
<view a:for="{{extension_data}}" class="item br-b oh">
<view a:if="{{extension_data.length > 0}}" class="panel-item spacing-mt extension-list">
<view class="panel-title">扩展数据</view>
<view class="panel-content bg-white">
<view a:for="{{extension_data}}" a:key="item" class="item br-b oh">
<text class="title">{{item.name}}</text>
<text class="content cr-888 br-l">{{item.tips}}</text>
</view>
</view>
</view>
<import src="/pages/common/bottom_line.axml" />
...
...
sourcecode/baidu/app.js
浏览文件 @
8fa76bed
...
...
@@ -68,7 +68,7 @@ App({
// 请求地址
request_url
:
"
{{request_url}}
"
,
request_url
:
'
http://shopxo.com/
'
,
//
request_url: 'https://dev.shopxo.net/',
request_url
:
'
https://dev.shopxo.net/
'
,
// 基础信息
application_title
:
"
{{application_title}}
"
,
...
...
sourcecode/baidu/pages/buy/buy.css
浏览文件 @
8fa76bed
...
...
@@ -41,14 +41,40 @@
/**
* 商品
*/
.goods
.goods-item
:not
(
:last-child
)
{
.goods
-group-list
.goods-item
:not
(
:last-child
)
{
border-bottom
:
1px
dashed
#efefef
;
}
.goods-item
{
padding
:
20
rpx
10
rpx
;
.goods-group-list
{
padding
:
0
10
rpx
10
rpx
10
rpx
;
}
.goods-group-hd
{
padding
:
20
rpx
0
;
}
.goods-group-title
{
font-weight
:
bold
;
vertical-align
:
middle
;
}
.goods-group-alias
{
border
:
1px
solid
#3bb4f2
;
color
:
#3bb4f2
;
padding
:
2
rpx
10
rpx
;
border-radius
:
6
rpx
;
margin-left
:
10
rpx
;
}
.goods-group-footer
.original-price
{
margin-right
:
10
rpx
;
}
.goods-group-map-submit
{
font-size
:
24
rpx
;
padding
:
5
rpx
20
rpx
;
background
:
#f0f0f0
;
border-radius
:
6
rpx
;
}
.goods-title
,
.goods-spec
{
margin-bottom
:
10
rpx
;
margin-bottom
:
5
rpx
;
}
.goods-item
{
padding
:
10
rpx
0
;
}
.goods-image
{
width
:
160
rpx
;
...
...
@@ -119,6 +145,7 @@
*/
.extension-list
{
background-color
:
#ffffeb
;
border
:
1px
solid
#ffe2cf
;
}
.extension-list
.item
{
padding
:
20
rpx
10
rpx
;
...
...
@@ -136,10 +163,10 @@
.content-textarea-view
,
.content-textarea-view
textarea
{
height
:
180
rpx
;
padding
:
5
rpx
;
}
.content-textarea-view
textarea
,
.content-textarea-view
view
{
padding
:
10
rpx
;
padding
:
12
rpx
;
}
/**
...
...
sourcecode/baidu/pages/buy/buy.js
浏览文件 @
8fa76bed
...
...
@@ -19,16 +19,14 @@ Page({
common_site_type
:
0
,
extraction_address
:
[],
site_model
:
0
,
buy_header_nav
:
[
{
name
:
"
快递邮寄
"
,
value
:
0
},
{
name
:
"
自提点取货
"
,
value
:
2
}
],
buy_header_nav
:
[{
name
:
"
快递邮寄
"
,
value
:
0
},
{
name
:
"
自提点取货
"
,
value
:
2
}],
// 优惠劵
plugins_coupon_data
:
null
,
plugins_use_coupon_id
:
0
,
plugins_choice_coupon_value
:
'
选择优惠劵
'
,
popup_plugins_coupon_status
:
false
plugins_use_coupon_ids
:
[],
plugins_choice_coupon_value
:
[],
popup_plugins_coupon_status
:
false
,
popup_plugins_coupon_index
:
null
},
onLoad
(
params
)
{
//params['data'] = '{"buy_type":"goods","goods_id":"1","stock":"1","spec":"[]"}';
...
...
@@ -63,7 +61,7 @@ Page({
if
((
cache_address
||
null
)
!=
null
)
{
this
.
setData
({
address
:
cache_address
,
address_id
:
cache_address
.
id
,
address_id
:
cache_address
.
id
});
}
}
...
...
@@ -77,12 +75,11 @@ Page({
var
data
=
this
.
data
.
params
;
data
[
'
address_id
'
]
=
this
.
data
.
address_id
;
data
[
'
payment_id
'
]
=
this
.
data
.
payment_id
;
data
[
'
coupon_id
'
]
=
this
.
data
.
plugins_use_coupon_id
;
data
[
'
site_model
'
]
=
this
.
data
.
site_model
;
swan
.
request
({
url
:
app
.
get_request_url
(
"
index
"
,
"
buy
"
),
method
:
"
POST
"
,
data
:
data
,
data
:
this
.
request_data_coupon_merge
(
data
)
,
dataType
:
"
json
"
,
success
:
res
=>
{
swan
.
stopPullDownRefresh
();
...
...
@@ -105,18 +102,23 @@ Page({
// 优惠劵选择处理
if
((
data
.
plugins_coupon_data
||
null
)
!=
null
)
{
if
((
data
.
plugins_coupon_data
.
coupon_choice
||
null
)
!=
null
)
{
this
.
setData
({
plugins_choice_coupon_value
:
data
.
plugins_coupon_data
.
coupon_choice
.
coupon
.
desc
});
}
else
{
var
coupon_count
=
(
data
.
plugins_coupon_data
.
coupon_list
||
null
)
!=
null
?
data
.
plugins_coupon_data
.
coupon_list
.
length
:
0
;
this
.
setData
({
plugins_choice_coupon_value
:
coupon_count
>
0
?
'
可选优惠劵
'
+
coupon_count
+
'
张
'
:
'
暂无可用优惠劵
'
});
var
plugins_choice_coupon_value
=
[];
for
(
var
i
in
data
.
plugins_coupon_data
)
{
var
cupk
=
data
.
plugins_coupon_data
[
i
][
'
warehouse_id
'
];
if
((
data
.
plugins_coupon_data
[
i
][
'
coupon_data
'
][
'
coupon_choice
'
]
||
null
)
!=
null
)
{
plugins_choice_coupon_value
[
cupk
]
=
data
.
plugins_coupon_data
[
i
][
'
coupon_data
'
][
'
coupon_choice
'
][
'
desc
'
];
}
else
{
var
coupon_count
=
(
data
.
plugins_coupon_data
[
i
][
'
coupon_data
'
][
'
coupon_list
'
]
||
null
)
!=
null
?
data
.
plugins_coupon_data
[
i
][
'
coupon_data
'
].
coupon_list
.
length
:
0
;
plugins_choice_coupon_value
[
cupk
]
=
coupon_count
>
0
?
'
可选优惠劵
'
+
coupon_count
+
'
张
'
:
'
暂无可用优惠劵
'
;
}
}
this
.
setData
({
plugins_choice_coupon_value
:
plugins_choice_coupon_value
});
}
// 地址
this
.
setData
({
address
:
data
.
base
.
address
||
null
,
address_id
:
(
(
data
.
base
.
address
||
null
)
!=
null
)
?
data
.
base
.
address
.
id
:
null
address_id
:
(
data
.
base
.
address
||
null
)
!=
null
?
data
.
base
.
address
.
id
:
null
});
swan
.
setStorage
({
key
:
app
.
data
.
cache_buy_user_address_select_key
,
...
...
@@ -149,6 +151,17 @@ Page({
});
},
// 请求参数合并优惠券参数
request_data_coupon_merge
(
data
)
{
var
coupon_ids
=
this
.
data
.
plugins_use_coupon_ids
;
if
((
coupon_ids
||
null
)
!=
null
&&
coupon_ids
.
length
>
0
)
{
for
(
var
i
in
coupon_ids
)
{
data
[
'
coupon_id_
'
+
i
]
=
coupon_ids
[
i
];
}
}
return
data
;
},
// 下拉刷新
onPullDownRefresh
()
{
this
.
init
();
...
...
@@ -166,7 +179,6 @@ Page({
data
[
'
address_id
'
]
=
this
.
data
.
address_id
;
data
[
'
payment_id
'
]
=
this
.
data
.
payment_id
;
data
[
'
user_note
'
]
=
this
.
data
.
user_note_value
;
data
[
'
coupon_id
'
]
=
this
.
data
.
plugins_use_coupon_id
;
data
[
'
site_model
'
]
=
this
.
data
.
site_model
;
// 数据验证
...
...
@@ -177,6 +189,7 @@ Page({
if
(
this
.
data
.
common_order_is_booking
!=
1
)
{
validation
.
push
({
fields
:
'
payment_id
'
,
msg
:
'
请选择支付方式
'
});
}
if
(
app
.
fields_check
(
data
,
validation
))
{
// 加载loding
swan
.
showLoading
({
title
:
'
提交中...
'
});
...
...
@@ -185,14 +198,14 @@ Page({
swan
.
request
({
url
:
app
.
get_request_url
(
"
add
"
,
"
buy
"
),
method
:
"
POST
"
,
data
:
data
,
data
:
this
.
request_data_coupon_merge
(
data
)
,
dataType
:
"
json
"
,
success
:
res
=>
{
swan
.
hideLoading
();
if
(
res
.
data
.
code
==
0
)
{
if
(
res
.
data
.
data
.
order
.
status
==
1
)
{
if
(
res
.
data
.
data
.
order
_
status
==
1
)
{
swan
.
redirectTo
({
url
:
'
/pages/user-order/user-order?is_pay=1&order_id
=
'
+
res
.
data
.
data
.
order
.
id
url
:
'
/pages/user-order/user-order?is_pay=1&order_id
s=
'
+
res
.
data
.
data
.
order_ids
.
join
(
'
,
'
)
});
}
else
{
swan
.
redirectTo
({
url
:
'
/pages/user-order/user-order
'
});
...
...
@@ -205,7 +218,6 @@ Page({
fail
:
()
=>
{
swan
.
hideLoading
();
this
.
setData
({
buy_submit_disabled_status
:
false
});
app
.
showToast
(
"
服务器请求出错
"
);
}
});
...
...
@@ -235,7 +247,11 @@ Page({
// 优惠劵弹层开启
plugins_coupon_open_event
(
e
)
{
this
.
setData
({
popup_plugins_coupon_status
:
true
});
var
index
=
e
.
currentTarget
.
dataset
.
index
;
this
.
setData
({
popup_plugins_coupon_status
:
true
,
popup_plugins_coupon_index
:
index
});
},
// 优惠劵弹层关闭
...
...
@@ -245,19 +261,27 @@ Page({
// 优惠劵选择
plugins_coupon_use_event
(
e
)
{
var
index
=
e
.
currentTarget
.
dataset
.
index
;
var
wid
=
e
.
currentTarget
.
dataset
.
wid
;
var
value
=
e
.
currentTarget
.
dataset
.
value
;
this
.
setData
({
plugins_use_coupon_id
:
value
,
popup_plugins_coupon_status
:
false
});
this
.
init
();
var
temp
=
this
.
data
.
plugins_use_coupon_ids
;
// 是否已选择优惠券id
if
(
temp
.
indexOf
(
value
)
==
-
1
)
{
temp
[
wid
]
=
value
;
this
.
setData
({
plugins_use_coupon_ids
:
temp
,
popup_plugins_coupon_status
:
false
});
this
.
init
();
}
},
// 不使用优惠劵
plugins_coupon_not_use_event
(
e
)
{
var
wid
=
e
.
currentTarget
.
dataset
.
wid
;
var
temp
=
this
.
data
.
plugins_use_coupon_ids
;
temp
[
wid
]
=
0
;
this
.
setData
({
plugins_use_coupon_id
:
0
,
plugins_use_coupon_id
s
:
temp
,
popup_plugins_coupon_status
:
false
});
this
.
init
();
...
...
@@ -265,11 +289,11 @@ Page({
// 地址选择事件
address_event
(
e
)
{
if
(
this
.
data
.
common_site_type
==
0
||
(
this
.
data
.
common_site_type
==
4
&&
this
.
data
.
site_model
==
0
)
)
{
if
(
this
.
data
.
common_site_type
==
0
||
this
.
data
.
common_site_type
==
4
&&
this
.
data
.
site_model
==
0
)
{
swan
.
navigateTo
({
url
:
'
/pages/user-address/user-address?is_back=1
'
});
}
else
if
(
this
.
data
.
common_site_type
==
2
||
(
this
.
data
.
common_site_type
==
4
&&
this
.
data
.
site_model
==
2
)
)
{
}
else
if
(
this
.
data
.
common_site_type
==
2
||
this
.
data
.
common_site_type
==
4
&&
this
.
data
.
site_model
==
2
)
{
swan
.
navigateTo
({
url
:
'
/pages/extraction-address/extraction-address?is_back=1
'
});
...
...
@@ -278,16 +302,15 @@ Page({
}
},
// 销售+自提 模式选择事件
// 销售+自提 模式选择事件
buy_header_nav_event
(
e
)
{
var
value
=
e
.
currentTarget
.
dataset
.
value
||
0
;
if
(
value
!=
this
.
data
.
site_model
)
{
if
(
value
!=
this
.
data
.
site_model
)
{
// 数据设置
this
.
setData
({
address
:
null
,
address_id
:
null
,
site_model
:
value
,
site_model
:
value
});
// 删除地址缓存
...
...
@@ -297,4 +320,24 @@ Page({
this
.
init
();
}
},
// 地图查看
map_event
(
e
)
{
var
index
=
e
.
currentTarget
.
dataset
.
index
||
0
;
var
data
=
this
.
data
.
goods_list
[
index
]
||
null
;
if
(
data
==
null
)
{
app
.
showToast
(
"
地址有误
"
);
return
false
;
}
var
lng
=
parseFloat
(
data
.
lng
||
0
);
var
lat
=
parseFloat
(
data
.
lat
||
0
);
swan
.
openLocation
({
latitude
:
lat
,
longitude
:
lng
,
scale
:
18
,
name
:
data
.
name
||
data
.
alias
||
''
,
address
:
(
data
.
province_name
||
''
)
+
(
data
.
city_name
||
''
)
+
(
data
.
county_name
||
''
)
+
(
data
.
address
||
''
)
});
}
});
\ No newline at end of file
sourcecode/baidu/pages/buy/buy.swan
浏览文件 @
8fa76bed
<block s-if="common_site_type == 1">
<import src="/pages/common/nodata.swan" />
<template is="nodata" data="{{{status: 2, msg: '展示型不允许提交订单'}}}"></template>
</block>
<block s-else>
<view s-if="goods_list.length > 0" class="page">
<!-- 销售+自提 模式选择 -->
<view s-if="common_site_type == 4" class="buy-header-nav oh tc">
<block s-for="{{buy_header_nav}}" s-key="key">
<view class="item fl {{site_model == item.value ? 'cr-main' : 'cr-666'}}" data-value="{{item.value}}" bindtap="buy_header_nav_event">{{item.name}}</view>
<import src="/pages/common/nodata.swan" />
<template is="nodata" data="{{{status: 2, msg: '展示型不允许提交订单'}}}"></template>
</block>
<block s-else>
<view s-if="goods_list.length > 0" class="page">
<!-- 销售+自提 模式选择 -->
<view s-if="common_site_type == 4" class="buy-header-nav oh tc">
<block s-for="item, index in buy_header_nav" s-key="key">
<view class="item fl {{site_model == item.value ? 'cr-main' : 'cr-666'}}" data-value="{{item.value}}" bindtap="buy_header_nav_event">{{item.name}}</view>
</block>
</view>
<!-- 地址 -->
<block s-if="common_site_type == 0 || common_site_type == 2 || common_site_type == 4">
<view class="address bg-white arrow-right" bindtap="address_event">
<view s-if="address != null">
<view class="address-base oh">
<text s-if="(address.alias || null) != null" class="address-alias">{{address.alias}}</text>
<text>{{address.name}}</text>
<text class="fr">{{address.tel}}</text>
</view>
<view class="address-detail oh">
<image class="icon fl" src="/images/user-address.png" mode="widthFix" />
<view class="text fr">{{address.province_name}}{{address.city_name}}{{address.county_name}}{{address.address}}</view>
</view>
</view>
<view s-if="address == null" class="no-address cr-888">
{{(common_site_type == 0 || (common_site_type == 4 && site_model == 0)) ? '请选择收货地址' : '请选择取货地址'}}
</view>
</view>
<view class="address-divider spacing-mb"></view>
</block>
</view>
<!-- 地址 -->
<block s-if="common_site_type == 0 || common_site_type == 2 || common_site_type == 4">
<view class="address bg-white arrow-right" bindtap="address_event">
<view s-if="address != null">
<view class="address-base oh">
<text s-if="(address.alias || null) != null" class="address-alias">{{address.alias}}</text>
<text>{{address.name}}</text>
<text class="fr">{{address.tel}}</text>
<!-- 商品数据 -->
<view class="goods-group-list bg-white spacing-mb" s-for="group, index in goods_list" s-key="key">
<!-- 仓库分组 -->
<view class="goods-group-hd oh br-b">
<view class="fl">
<text class="goods-group-title">{{group.name}}</text>
<text s-if="(group.alias || null) != null" class="goods-group-alias">{{group.alias}}</text>
</view>
<view class="address-detail oh">
<image class="icon fl" src="/images/user-address.png" mode="widthFix" />
<view class="text fr">{{address.province_name}}{{address.city_name}}{{address.county_name}}{{address.address}}</view>
<view s-if="(group.lng || null) != null && (group.lat || null) != null" class="fr">
<view class="goods-group-map-submit br" data-index="{{index}}" bindtap="map_event">查看地图</view>
</view>
</view>
<view s-if="address == null" class="no-address cr-888">
{{(common_site_type == 0 || (common_site_type == 4 && site_model == 0)) ? '请选择收货地址' : '请选择取货地址'}}
<!-- 商品 -->
<view s-for="item, index in group.goods_items" s-key="keys" class="goods-item oh">
<image class="goods-image fl" src="{{item.images}}" mode="aspectFill" />
<view class="goods-base">
<view class="goods-title multi-text">{{item.title}}</view>
<block s-if="item.spec != null">
<view class="goods-spec cr-888" s-for="spec, index in item.spec" s-key="key">{{spec.type}}:{{spec.value}}
</view>
</block>
</view>
<view class="oh goods-price">
<text class="sales-price">{{price_symbol}}{{item.price}}
</text>
<text s-if="item.original_price > 0" class="original-price">{{price_symbol}}{{item.original_price}}
</text>
<text class="buy-number cr-888">x{{item.stock}}
</text>
</view>
</view>
</view>
<view class="address-divider spacing-mb"></view>
</block>
<!-- 商品 -->
<view class="goods bg-white spacing-mb">
<view s-for="item, index in goods_list" s-key="key" class="goods-item oh">
<image class="goods-image fl" src="{{item.images}}" mode="aspectFill" />
<view class="goods-base">
<view class="goods-title multi-text">{{item.title}}</view>
<block s-if="item.spec != null">
<view class="goods-spec cr-888" s-for="spec, index in item.spec" s-key="key">{{spec.type}}:{{spec.value}}
</view>
</block>
<!-- 优惠劵 -->
<view s-if="(plugins_coupon_data || null) != null && (plugins_coupon_data[index] || null) != null && (plugins_coupon_data[index].coupon_data || null) != null && (plugins_coupon_data[index].coupon_data.coupon_list || null) != null && plugins_coupon_data[index].coupon_data.coupon_list.length > 0" class="plugins-coupon bg-white spacing-mb arrow-right" data-index="{{index}}" bindtap="plugins_coupon_open_event">
<text class="cr-666">优惠劵</text>
<text class="cr-ccc fr">{{((plugins_choice_coupon_value || null) != null && (plugins_choice_coupon_value[group.id] || null) != null) ? plugins_choice_coupon_value[group.id] : '请选择优惠券'}}</text>
</view>
<view class="oh goods-price">
<text class="sales-price">{{price_symbol}}{{item.price}}
</text>
<text s-if="item.original_price > 0" class="original-price">{{price_symbol}}{{item.original_price}}
</text>
<text class="buy-number cr-888">x{{item.stock}}
</text>
<!-- 扩展数据展示 -->
<view s-if="group.order_base.extension_data.length > 0" class="extension-list spacing-mt">
<view s-for="item, index in group.order_base.extension_data" s-key="key" class="item oh">
<text class="cr-666 fl">{{item.name}}
</text>
<text class="text-tips fr">{{item.tips}}
</text>
</view>
</view>
</view>
</view>
<!-- 留言 -->
<view class="content-textarea-view bg-white spacing-mb">
<textarea s-if="!popup_plugins_coupon_status" bindinput="bind_user_note_event" value="{=user_note_value=}" maxlength="60" placeholder="留言" class="wh-auto" />
<view s-if="popup_plugins_coupon_status" class="cr-888">{{user_note_value || '留言'}}</view>
</view>
<!-- 优惠劵 -->
<view s-if="(plugins_coupon_data || null) != null && plugins_coupon_data.coupon_list.length > 0" class="plugins-coupon bg-white spacing-mb arrow-right" bindtap="plugins_coupon_open_event">
<text class="cr-666">优惠劵</text>
<text class="cr-ccc fr">{{plugins_choice_coupon_value}}</text>
</view>
<!-- 扩展数据展示 -->
<view s-if="extension_data.length > 0" class="extension-list spacing-mb">
<view s-for="item, index in extension_data" s-key="key" class="item oh">
<text class="cr-666 fl">{{item.name}}
</text>
<text class="text-tips fr">{{item.tips}}
</text>
</view>
</view>
<!-- 支付方式 -->
<view s-if="payment_list.length > 0 && common_order_is_booking != 1" class="payment-list bg-white oh">
<view class="item tc fl" s-for="item, index in payment_list" s-key="key">
<view class="item-content br {{(item.selected || '')}}" data-value="{{item.id}}" bindtap="payment_event">
<image s-if="(item.logo || null) != null" class="icon" src="{{item.logo}}" mode="widthFix" />
<text>{{item.name}}</text>
<!-- 小计 -->
<view class="oh tr goods-group-footer spacing-mt spacing-mb">
<text s-if="group.order_base.total_price != group.order_base.actual_price" class="original-price">{{price_symbol}}{{group.order_base.total_price}}</text>
<text class="sales-price">{{price_symbol}}{{group.order_base.actual_price}}</text>
</view>
</view>
</view>
<!-- 导航 -->
<view class="buy-nav oh wh-auto">
<view class="nav-base bg-white fl br-t single-text">
<text>合计:</text>
<text class="sales-price">{{price_symbol}}{{total_price}}</text>
<!-- 留言 -->
<view class="content-textarea-view bg-white spacing-mb">
<textarea s-if="!popup_plugins_coupon_status" bindinput="bind_user_note_event" value="{=user_note_value=}" maxlength="60" placeholder="留言" class="wh-auto" />
<view s-if="popup_plugins_coupon_status" class="cr-888">{{user_note_value || '留言'}}</view>
</view>
<view class="fr nav-submit">
<button class="bg-main wh-auto" type="default" bindtap="buy_submit_event" disabled="{{buy_submit_disabled_status}}" hover-class="none">提交订单</button>
<!-- 支付方式 -->
<view s-if="payment_list.length > 0 && common_order_is_booking != 1" class="payment-list bg-white oh">
<view class="item tc fl" s-for="item, index in payment_list" s-key="key">
<view class="item-content br {{(item.selected || '')}}" data-value="{{item.id}}" bindtap="payment_event">
<image s-if="(item.logo || null) != null" class="icon" src="{{item.logo}}" mode="widthFix" />
<text>{{item.name}}</text>
</view>
</view>
</view>
</view>
</view>
<view s-if="goods_list.length == 0">
<import src="/pages/common/nodata.swan" />
<template is="nodata" data="{{{status: data_list_loding_status, msg: data_list_loding_msg}}}"></template>
</view>
<!-- 优惠劵选择 -->
<component-popup status="{{popup_plugins_coupon_status}}" position="bottom" bindonclose="plugins_coupon_close_event">
<view class="plugins-coupon-popup bg-white">
<view class="close oh">
<view class="fr" catchtap="plugins_coupon_close_event">
<icon type="clear" size="20" />
<!-- 导航 -->
<view class="buy-nav oh wh-auto">
<view class="nav-base bg-white fl br-t single-text">
<text>合计:</text>
<text class="sales-price">{{price_symbol}}{{total_price}}</text>
</view>
<view class="fr nav-submit">
<button class="bg-main wh-auto" type="default" bindtap="buy_submit_event" disabled="{{buy_submit_disabled_status}}" hover-class="none">提交订单</button>
</view>
</view>
<view s-if="(plugins_coupon_data || null) != null && plugins_coupon_data.coupon_list.length > 0" class="coupon-container oh br-b">
<view class="not-use-tips tc">
<text bindtap="plugins_coupon_not_use_event">不使用优惠劵</text>
</view>
<view s-if="goods_list.length == 0">
<import src="/pages/common/nodata.swan" />
<template is="nodata" data="{{{status: data_list_loding_status, msg: data_list_loding_msg}}}"></template>
</view>
<!-- 优惠劵选择 -->
<component-popup status="{{popup_plugins_coupon_status}}" position="bottom" bindonclose="plugins_coupon_close_event">
<view class="plugins-coupon-popup bg-white">
<view class="close oh">
<view class="fr" catchtap="plugins_coupon_close_event">
<icon type="clear" size="20" />
</view>
</view>
<block s-for="item, index in plugins_coupon_data.coupon_list" s-key="item">
<view class="item spacing-mt bg-white" style="border:1px solid {{item.coupon.bg_color_value}};">
<view class="v-left fl">
<view class="base single-text" style="color:{{item.coupon.bg_color_value}};">
<text class="symbol">{{price_symbol}}</text>
<text class="price">{{item.coupon.discount_value}}</text>
<text class="unit">{{item.coupon.type_unit}}</text>
<text s-if="(item.coupon.desc || null) != null" class="desc cr-888">{{item.coupon.desc}}</text>
<view s-if="popup_plugins_coupon_index != null && (plugins_coupon_data || null) != null && (plugins_coupon_data[popup_plugins_coupon_index] || null) != null && (plugins_coupon_data[popup_plugins_coupon_index].coupon_data || null) != null && (plugins_coupon_data[popup_plugins_coupon_index].coupon_data.coupon_list || null) != null && plugins_coupon_data[popup_plugins_coupon_index].coupon_data.coupon_list.length > 0" class="coupon-container oh br-b">
<view class="not-use-tips tc">
<text data-wid="{{plugins_coupon_data[popup_plugins_coupon_index].warehouse_id}}" bindtap="plugins_coupon_not_use_event">不使用优惠劵</text>
</view>
<block s-for="item, index in plugins_coupon_data[popup_plugins_coupon_index].coupon_data.coupon_list" s-key="item">
<view class="item spacing-mt bg-white {{plugins_use_coupon_ids.indexOf(item.id) != -1 ? 'item-disabled' : ''}}" style="border:1px solid {{item.coupon.bg_color_value}};">
<view class="v-left fl">
<view class="base single-text" style="color:{{item.coupon.bg_color_value}};">
<text class="symbol">{{price_symbol}}</text>
<text class="price">{{item.coupon.discount_value}}</text>
<text class="unit">{{item.coupon.type_unit}}</text>
<text s-if="(item.coupon.desc || null) != null" class="desc cr-888">{{item.coupon.desc}}</text>
</view>
<view s-if="(item.coupon.use_limit_type_name || null) != null" class="base-tips cr-666 single-text">{{item.coupon.use_limit_type_name}}</view>
<view class="base-time cr-888 single-text">{{item.time_start_text}} 至 {{item.time_end_text}}</view>
</view>
<view class="v-right fr" style="background:{{item.coupon.bg_color_value}};" data-wid="{{plugins_coupon_data[popup_plugins_coupon_index].warehouse_id}}" data-value="{{item.id}}" bindtap="plugins_coupon_use_event">
<text class="circle"></text>
<text>{{plugins_use_coupon_ids.indexOf(item.id) != -1 ? '已选' : '选择'}}</text>
</view>
<view s-if="(item.coupon.use_limit_type_name || null) != null" class="base-tips cr-666 single-text">{{item.coupon.use_limit_type_name}}</view>
<view class="base-time cr-888 single-text">{{item.time_start_text}} 至 {{item.time_end_text}}</view>
</view>
<view class="v-right fr" style="background:{{item.coupon.bg_color_value}};" data-index="{{index}}" data-value="{{item.id}}" bindtap="plugins_coupon_use_event">
<text class="circle"></text>
<text>{{plugins_use_coupon_id == item.id ? '已选' : '选择'}}</text>
</view>
</
view
>
</
block
>
</
block
>
</
view
>
</view>
</view>
</component-popup>
</block>
\ No newline at end of file
</component-popup>
</block>
\ No newline at end of file
sourcecode/baidu/pages/goods-category/goods-category.css
浏览文件 @
8fa76bed
/**
左侧导航
*/
.left-nav
{
height
:
100vh
;
background
:
#ececec
;
width
:
230
rpx
;
overflow-x
:
hidden
;
overflow-y
:
auto
;
}
.left-nav
.items
{
height
:
120
rpx
;
line-height
:
120
rpx
;
font-size
:
34
rpx
;
padding
:
0
10
rpx
;
text-align
:
center
;
color
:
#666
;
border-left
:
3px
solid
#ececec
;
border-right
:
3px
solid
#ececec
;
overflow
:
hidden
;
}
.left-nav
.items
:not
(
:last-child
)
{
border-bottom
:
1px
solid
#e6e6e6
;
}
.nav-active
{
border-left
:
3px
solid
#e23f36
!important
;
border-right
:
3px
solid
#fff
!important
;
color
:
#e23f36
;
background
:
#fff
;
}
/**
右侧内容
*/
.right-content
{
height
:
100vh
;
width
:
calc
(
100%
-
230
rpx
);
overflow-x
:
hidden
;
overflow-y
:
auto
;
position
:
absolute
;
top
:
0
;
right
:
0
;
}
.content-items
{
float
:
left
;
width
:
calc
(
33.33%
-
20
rpx
);
* 左侧导航
*/
.left-nav
{
height
:
100vh
;
background
:
#fff
;
width
:
210
rpx
;
overflow-x
:
hidden
;
overflow-y
:
auto
;
}
.left-nav
.items
{
height
:
120
rpx
;
line-height
:
120
rpx
;
font-size
:
34
rpx
;
padding
:
0
10
rpx
;
text-align
:
center
;
color
:
#666
;
border-left
:
3px
solid
#fff
;
border-right
:
3px
solid
#fff
;
overflow
:
hidden
;
}
.left-nav
.items
:not
(
:last-child
)
{
border-bottom
:
1px
solid
#f1f1f1
;
}
.nav-active
{
background
:
#f5f5f5
;
border-left
:
3px
solid
#e23f36
!important
;
border-right
:
3px
solid
#f5f5f5
!important
;
color
:
#e23f36
!important
;
}
/**
* 右侧内容
*/
.right-container
{
height
:
100vh
;
width
:
calc
(
100%
-
210
rpx
);
overflow-x
:
hidden
;
overflow-y
:
auto
;
position
:
absolute
;
top
:
0
;
right
:
0
;
background
:
#f5f5f5
;
}
.right-content
{
padding
:
0
20
rpx
20
rpx
20
rpx
;
}
.one-content
{
padding
:
20
rpx
;
}
.one-content
,
.two-content
{
margin-top
:
20
rpx
;
}
.one-vice-name
{
font-size
:
30
rpx
;
font-weight
:
500
;
}
.one-desc
{
color
:
#999
;
margin-top
:
10
rpx
;
}
.two-name
{
font-weight
:
bold
;
font-size
:
32
rpx
;
background
:
#f5f5f5
;
padding
:
20
rpx
10
rpx
;
}
.content-item
{
display
:
-webkit-inline-box
;
width
:
calc
(
33.33%
-
20
rpx
);
padding
:
10
rpx
;
text-align
:
center
;
}
.content-items
.text
{
}
.content-item
.content
{
margin
:
0
auto
;
padding
:
15
rpx
0
;
}
.content-item
.text
{
font-size
:
28
rpx
;
line-height
:
46
rpx
;
}
.content-items
.icon
{
}
.content-item
.icon
{
width
:
100%
;
height
:
120
rpx
;
}
\ No newline at end of file
}
.model-one
{
padding
:
10
rpx
;
}
.model-one
.content-item
:nth-child
(
3
n
)
{
border-right
:
0
;
}
\ No newline at end of file
sourcecode/baidu/pages/goods-category/goods-category.js
浏览文件 @
8fa76bed
const
app
=
getApp
();
Page
({
data
:
{
tab_active
:
0
,
tab_active_text_color
:
'
#d2364c
'
,
tab_active_line_color
:
'
#d2364c
'
,
data_list_loding_status
:
1
,
data_bottom_line_status
:
false
,
nav_active_index
:
0
,
data_list
:
[],
data_content
:
[]
category_show_level
:
3
,
data_content
:
null
},
onShow
()
{
...
...
@@ -32,27 +30,25 @@ Page({
success
:
res
=>
{
swan
.
stopPullDownRefresh
();
if
(
res
.
data
.
code
==
0
)
{
var
data
=
res
.
data
.
data
;
var
data_content
=
[];
if
(
data
.
length
>
0
)
{
data
[
0
][
'
active
'
]
=
'
nav-active
'
;
data_content
=
data
[
0
][
'
items
'
];
}
this
.
setData
({
data_list
:
data
,
data_content
:
data_content
,
data_list_loding_status
:
data
.
length
==
0
?
0
:
3
,
data_bottom_line_status
:
true
});
// 页面信息设置
this
.
set_page_info
();
var
category
=
res
.
data
.
data
.
category
;
var
data_content
=
[];
var
index
=
this
.
data
.
nav_active_index
||
0
;
if
(
category
.
length
>
0
)
{
category
[
index
][
'
active
'
]
=
'
nav-active
'
;
data_content
=
category
[
index
];
}
this
.
setData
({
data_list
:
category
,
category_show_level
:
res
.
data
.
data
.
category_show_level
||
3
,
data_content
:
data_content
,
data_list_loding_status
:
category
.
length
==
0
?
0
:
3
,
data_bottom_line_status
:
true
});
}
else
{
this
.
setData
({
data_list_loding_status
:
0
,
data_bottom_line_status
:
true
});
app
.
showToast
(
res
.
data
.
msg
);
}
},
...
...
@@ -62,7 +58,6 @@ Page({
data_list_loding_status
:
2
,
data_bottom_line_status
:
true
});
app
.
showToast
(
"
服务器请求出错
"
);
}
});
...
...
@@ -82,7 +77,8 @@ Page({
}
this
.
setData
({
data_list
:
temp_data
,
data_content
:
temp_data
[
index
][
'
items
'
]
data_content
:
temp_data
[
index
],
nav_active_index
:
index
});
},
...
...
@@ -91,25 +87,14 @@ Page({
swan
.
navigateTo
({
url
:
'
/pages/goods-search/goods-search?category_id=
'
+
e
.
currentTarget
.
dataset
.
value
});
},
// web页面信息设置
set_page_info
()
{
swan
.
setPageInfo
({
title
:
app
.
data
.
application_title
+
'
- 商品分类
'
,
keywords
:
app
.
data
.
application_describe
,
description
:
app
.
data
.
application_describe
,
image
:
(
this
.
data
.
data_list
.
length
==
0
)
?
[]
:
app
.
array_notempty
(
this
.
data
.
data_list
.
map
(
function
(
v
)
{
return
v
.
big_images
;})).
slice
(
0
,
3
)
});
},
// 自定义分享
onShareAppMessage
()
{
var
user
=
app
.
get_user_cache_info
()
||
null
;
var
user_id
=
(
user
!=
null
&&
(
user
.
id
||
null
)
!=
null
)
?
user
.
id
:
0
;
var
user_id
=
user
!=
null
&&
(
user
.
id
||
null
)
!=
null
?
user
.
id
:
0
;
return
{
title
:
app
.
data
.
application_title
,
desc
:
app
.
data
.
application_describe
,
path
:
'
/pages/goods-category/goods-category?referrer=
'
+
user_id
};
},
}
});
\ No newline at end of file
sourcecode/baidu/pages/goods-category/goods-category.json
浏览文件 @
8fa76bed
{
"usingComponents"
:
{
}
"enablePullDownRefresh"
:
true
}
\ No newline at end of file
sourcecode/baidu/pages/goods-category/goods-category.swan
浏览文件 @
8fa76bed
<view class='left-nav'>
<block s-for="item, index in data_list" s-key="key">
<view class='items {{item.active || ""}}' data-index="{{index}}" bindtap='nav_event'>
<text>{{item.name}}</text>
</view>
</block>
</view>
<view class='right-content bg-white'>
<block s-if="data_content.length > 0">
<block s-for="v, index in data_content" s-key="keys">
<view class="content-items" data-value="{{v.id}}" bindtap="category_event">
<image s-if="(v.icon || null) != null" src="{{v.icon}}" mode="aspectFit" class="icon" />
<view class="text single-text">{{v.name}}</view>
<view s-if="data_list.length > 0">
<block s-if="category_show_level == 1">
<!-- 一级模式 -->
<view class="model-one oh">
<block s-for="v, index in data_list" s-key="key">
<view class="content-item" data-value="{{v.id}}" bindtap="category_event">
<view class="content bg-white wh-auto">
<image s-if="(v.icon || null) != null" src="{{v.icon}}" mode="aspectFit" class="icon" />
<view class="text single-text">{{v.name}}</view>
</view>
</view>
</block>
</view>
</block>
</block>
</view>
<view s-if="data_list.length == 0 && data_list_loding_status != 0">
<import src="/pages/common/nodata.swan" />
<template is="nodata" data="{{{status: data_list_loding_status}}}">
</template>
</view>
\ No newline at end of file
<block s-else>
<!-- 一级内导航 -->
<view class='left-nav'>
<block s-for="item, index in data_list" s-key="key">
<view class='items {{item.active || ""}}' data-index="{{index}}" bindtap='nav_event'>
<text>{{item.name}}</text>
</view>
</block>
</view>
<view class='right-container'>
<!-- 一级内基础容 -->
<view s-if="(data_content || null) != null" class="right-content">
<view s-if="(data_content.vice_name || null) != null || (data_content.describe || null) != null" class="one-content bg-white" data-value="{{data_content.id}}" bindtap="category_event">
<view s-if="(data_content.vice_name || null) != null" class="one-vice-name cr-main" style="color:{{data_content.bg_color}};">{{data_content.vice_name}}</view>
<view s-if="(data_content.describe || null) != null" class="one-desc">{{data_content.describe}}</view>
</view>
<!-- 一二级数据渲染 -->
<block s-if="data_content.items.length > 0">
<!-- 二级模式 -->
<block s-if="category_show_level == 2">
<view class="two-content bg-white oh">
<block s-for="v, index in data_content.items" s-key="key">
<view class="content-item" data-value="{{v.id}}" bindtap="category_event">
<view class="content wh-auto">
<image s-if="(v.icon || null) != null" src="{{v.icon}}" mode="aspectFit" class="icon" />
<view class="text single-text">{{v.name}}</view>
</view>
</view>
</block>
</view>
</block>
<!-- 三级模式 -->
<block s-if="category_show_level == 3">
<block s-for="v, index in data_content.items" s-key="key">
<view class="bg-white oh">
<view class="tc two-name" data-value="{{v.id}}" bindtap="category_event">{{v.name}}</view>
<block s-if="v.items.length > 0">
<block s-for="vs, index in v.items" s-key="key">
<view class="content-item" data-value="{{vs.id}}" bindtap="category_event">
<view class="content wh-auto">
<image s-if="(vs.icon || null) != null" src="{{vs.icon}}" mode="aspectFit" class="icon" />
<view class="text single-text">{{vs.name}}</view>
</view>
</view>
</block>
</block>
</view>
</block>
</block>
</block>
<block s-else>
<import src="/pages/common/nodata.swan" />
<template is="nodata" data="{{{status: 0, msg: '没有子分类数据'}}}"></template>
</block>
</view>
</view>
</block>
</view>
<view s-if="data_list.length == 0 && data_list_loding_status != 0">
<import src="/pages/common/nodata.swan" />
<template is="nodata" data="{{{status: data_list_loding_status}}}"></template>
</view>
\ No newline at end of file
sourcecode/baidu/pages/goods-detail/goods-detail.swan
浏览文件 @
8fa76bed
...
...
@@ -66,7 +66,7 @@
<view class="item bg-white {{item.is_operable == 0 ? 'item-disabled' : ''}}" style="border:1px solid {{item.bg_color_value}};">
<view class="v-left fl">
<view class="base single-text" style="color:{{item.bg_color_value}};">
<text class="symbol">{{price_symbol}}</text>
<text
s-if="item.type == 0"
class="symbol">{{price_symbol}}</text>
<text class="price">{{item.discount_value}}</text>
<text class="unit">{{item.type_unit}}</text>
</view>
...
...
sourcecode/baidu/pages/paytips/paytips.js
浏览文件 @
8fa76bed
const
app
=
getApp
();
Page
({
data
:
{
price_symbol
:
app
.
data
.
price_symbol
,
params
:
{},
default_round_success_icon
:
app
.
data
.
default_round_success_icon
,
default_round_error_icon
:
app
.
data
.
default_round_error_icon
...
...
sourcecode/baidu/pages/paytips/paytips.swan
浏览文件 @
8fa76bed
...
...
@@ -2,10 +2,6 @@
<image class="pay-icon" s-if="params.code == '9000'" mode="widthFix" src="{{default_round_success_icon}}" />
<image class="pay-icon" s-else mode="widthFix" src="{{default_round_error_icon}}" />
<text class="dis-block">{{params.msg}}</text>
<view s-if="params.code == '9000'" class="price-box">
<text class="sales-price">{{price_symbol}}{{params.total_price}}</text>
<text class="price-unit cr-888">元</text>
</view>
</view>
<view class="btn-box">
...
...
sourcecode/baidu/pages/user-order-detail/user-order-detail.js
浏览文件 @
8fa76bed
...
...
@@ -44,26 +44,27 @@ Page({
self
.
setData
({
detail
:
data
.
data
,
detail_list
:[
{
name
:
"
订单号
"
,
value
:
data
.
data
.
order_no
||
''
},
{
name
:
"
订单模式
"
,
value
:
data
.
data
.
order_model_name
||
''
},
{
name
:
"
状态
"
,
value
:
data
.
data
.
status_name
||
''
},
{
name
:
"
支付状态
"
,
value
:
data
.
data
.
pay_status_name
||
''
},
{
name
:
"
单价
"
,
value
:
data
.
data
.
price
||
''
},
{
name
:
"
总价
"
,
value
:
data
.
data
.
total_price
||
''
},
{
name
:
"
优惠金额
"
,
value
:
data
.
data
.
preferential_price
||
''
},
{
name
:
"
增加金额
"
,
value
:
data
.
data
.
increase_price
||
''
},
{
name
:
"
支付金额
"
,
value
:
data
.
data
.
pay_price
||
''
},
{
name
:
"
支付方式
"
,
value
:
(
data
.
data
.
payment_name
||
''
)
+
((
data
.
data
.
is_under_line_text
||
null
)
==
null
?
''
:
'
(
'
+
data
.
data
.
is_under_line_text
+
'
)
'
)},
{
name
:
"
快递公司
"
,
value
:
data
.
data
.
express_name
||
''
},
{
name
:
"
快递单号
"
,
value
:
data
.
data
.
express_number
||
''
},
{
name
:
"
用户留言
"
,
value
:
data
.
data
.
user_note
||
''
},
{
name
:
"
创建时间
"
,
value
:
data
.
data
.
add_time
||
''
},
{
name
:
"
确认时间
"
,
value
:
data
.
data
.
confirm_time
||
''
},
{
name
:
"
支付时间
"
,
value
:
data
.
data
.
pay_time
||
''
},
{
name
:
"
发货时间
"
,
value
:
data
.
data
.
delivery_time
||
''
},
{
name
:
"
收货时间
"
,
value
:
data
.
data
.
collect_time
||
''
},
{
name
:
"
取消时间
"
,
value
:
data
.
data
.
cancel_time
||
''
},
{
name
:
"
关闭时间
"
,
value
:
data
.
data
.
close_time
||
''
},
{
name
:
"
出货仓库
"
,
value
:
data
.
data
.
warehouse_name
||
''
},
{
name
:
"
订单模式
"
,
value
:
data
.
data
.
order_model_name
||
''
},
{
name
:
"
订单编号
"
,
value
:
data
.
data
.
order_no
||
''
},
{
name
:
"
订单状态
"
,
value
:
data
.
data
.
status_name
||
''
},
{
name
:
"
支付状态
"
,
value
:
data
.
data
.
pay_status_name
||
''
},
{
name
:
"
订单单价
"
,
value
:
data
.
data
.
price
||
''
},
{
name
:
"
订单总价
"
,
value
:
data
.
data
.
total_price
||
''
},
{
name
:
"
优惠金额
"
,
value
:
data
.
data
.
preferential_price
||
''
},
{
name
:
"
增加金额
"
,
value
:
data
.
data
.
increase_price
||
''
},
{
name
:
"
支付金额
"
,
value
:
data
.
data
.
pay_price
||
''
},
{
name
:
"
支付方式
"
,
value
:
(
data
.
data
.
payment_name
||
''
)
+
((
data
.
data
.
is_under_line_text
||
null
)
==
null
?
''
:
'
(
'
+
data
.
data
.
is_under_line_text
+
'
)
'
)},
{
name
:
"
快递公司
"
,
value
:
data
.
data
.
express_name
||
''
},
{
name
:
"
快递单号
"
,
value
:
data
.
data
.
express_number
||
''
},
{
name
:
"
用户留言
"
,
value
:
data
.
data
.
user_note
||
''
},
{
name
:
"
创建时间
"
,
value
:
data
.
data
.
add_time
||
''
},
{
name
:
"
确认时间
"
,
value
:
data
.
data
.
confirm_time
||
''
},
{
name
:
"
支付时间
"
,
value
:
data
.
data
.
pay_time
||
''
},
{
name
:
"
发货时间
"
,
value
:
data
.
data
.
delivery_time
||
''
},
{
name
:
"
收货时间
"
,
value
:
data
.
data
.
collect_time
||
''
},
{
name
:
"
取消时间
"
,
value
:
data
.
data
.
cancel_time
||
''
},
{
name
:
"
关闭时间
"
,
value
:
data
.
data
.
close_time
||
''
},
],
extension_data
:
data
.
data
.
extension_data
||
[],
site_fictitious
:
data
.
site_fictitious
||
null
,
...
...
sourcecode/baidu/pages/user-order/user-order.css
浏览文件 @
8fa76bed
/*
* 导航
*/
.nav
{
background
:
#eee
;
height
:
80
rpx
;
line-height
:
80
rpx
;
}
.nav
.item
{
width
:
16.66%
;
}
/*
* 列表
*/
.scroll-box
{
height
:
calc
(
100vh
-
80
rpx
);
}
.goods-base
{
min-height
:
160
rpx
;
margin-left
:
180
rpx
;
position
:
relative
;
}
.goods-title
{
line-height
:
36
rpx
;
}
.list-item
.goods-item
:last-child
{
border-bottom
:
0
;
}
.goods-item
{
padding
:
20
rpx
10
rpx
;
}
.goods-title
,
.goods-spec
{
margin-bottom
:
10
rpx
;
}
.goods-image
{
width
:
160
rpx
;
height
:
160
rpx
;
margin-right
:
20
rpx
;
}
.goods-price
{
.nav
{
background
:
#eee
;
height
:
80
rpx
;
line-height
:
80
rpx
;
}
.nav
.item
{
width
:
16.66%
;
}
/*
* 列表
*/
.scroll-box
{
height
:
calc
(
100vh
-
80
rpx
);
}
.goods-base
{
min-height
:
160
rpx
;
margin-left
:
180
rpx
;
position
:
relative
;
margin-top
:
10
rpx
;
}
.buy-number
{
}
.goods-title
{
line-height
:
36
rpx
;
}
.list-item
.goods-item
:last-child
{
border-bottom
:
0
;
}
.goods-item
{
padding
:
20
rpx
10
rpx
;
}
.goods-title
,
.goods-spec
{
margin-bottom
:
10
rpx
;
}
.goods-image
{
width
:
160
rpx
;
height
:
160
rpx
;
margin-right
:
20
rpx
;
}
.goods-price
{
position
:
relative
;
margin-top
:
10
rpx
;
}
.buy-number
{
position
:
absolute
;
right
:
0
;
bottom
:
0
;
}
.item-base
,
.item-describe
,
.item-operation
{
padding
:
20
rpx
10
rpx
20
rpx
10
rpx
;
}
.submit-cancel
{
border
:
1px
solid
#f7c3b3
;
color
:
#f7c3b3
!important
;
}
.item-operation
button
:not
(
:first-child
)
{
margin-left
:
20
rpx
;
}
.item-operation
button
{
padding
:
0
35
rpx
;
}
.orderaftersale-btn-text
{
position
:
absolute
;
right
:
0
;
bottom
:
0
;
}
.item-base
,
.item-describe
,
.item-operation
{
padding
:
20
rpx
10
rpx
20
rpx
10
rpx
;
}
.submit-cancel
{
border
:
1px
solid
#f7c3b3
;
color
:
#f7c3b3
!important
;
}
.item-operation
button
:not
(
:first-child
)
{
margin-left
:
20
rpx
;
}
.item-operation
button
{
padding
:
0
35
rpx
;
}
.orderaftersale-btn-text
{
position
:
absolute
;
right
:
0
;
bottom
:
0
;
color
:
#4d7fa7
;
}
/**
* 支付方式
*/
.payment-list
{
padding
:
40
rpx
0
;
}
.payment-list
.item
{
width
:
50%
;
}
.payment-list
.item-content
{
margin
:
20
rpx
;
padding
:
20
rpx
10
rpx
;
}
.payment-list
.item-content
image
{
width
:
50
rpx
;
height
:
50
rpx
!important
;
vertical-align
:
middle
;
margin-right
:
10
rpx
;
}
\ No newline at end of file
color
:
#4d7fa7
;
}
/**
* 支付方式
*/
.payment-list
{
padding
:
40
rpx
0
;
}
.payment-list
.item
{
width
:
50%
;
}
.payment-list
.item-content
{
margin
:
20
rpx
;
padding
:
20
rpx
10
rpx
;
}
.payment-list
.item-content
image
{
width
:
50
rpx
;
height
:
50
rpx
!important
;
vertical-align
:
middle
;
margin-right
:
10
rpx
;
}
/**
* 选择
*/
.selected
.icon
{
width
:
35
rpx
;
height
:
35
rpx
!important
;
margin
:
0
20
rpx
0
10
rpx
;
vertical-align
:
middle
;
}
/**
* 合并支付按钮
*/
.pay-merge-submit
{
width
:
220
rpx
;
left
:
calc
(
50%
-
110
rpx
);
bottom
:
50
rpx
;
}
\ No newline at end of file
sourcecode/baidu/pages/user-order/user-order.js
浏览文件 @
8fa76bed
...
...
@@ -13,10 +13,10 @@ Page({
is_show_payment_popup
:
false
,
payment_list
:
[],
payment_id
:
0
,
temp_pay_value
:
0
,
temp_pay_index
:
0
,
temp_pay_value
:
''
,
nav_status_list
:
[{
name
:
"
全部
"
,
value
:
"
-1
"
},
{
name
:
"
待付款
"
,
value
:
"
1
"
},
{
name
:
"
待发货
"
,
value
:
"
2
"
},
{
name
:
"
待收货
"
,
value
:
"
3
"
},
{
name
:
"
已完成
"
,
value
:
"
4
"
},
{
name
:
"
已失效
"
,
value
:
"
5,6
"
}],
nav_status_index
:
0
nav_status_index
:
0
,
order_select_ids
:
[]
},
onLoad
(
params
)
{
...
...
@@ -58,7 +58,7 @@ Page({
}
else
{
this
.
setData
({
data_list_loding_status
:
0
,
data_bottom_line_status
:
false
,
data_bottom_line_status
:
false
});
}
},
...
...
@@ -107,13 +107,8 @@ Page({
// 下订单支付处理
if
(
this
.
data
.
load_status
==
0
)
{
if
((
this
.
data
.
params
.
is_pay
||
0
)
==
1
&&
(
this
.
data
.
params
.
order_id
||
0
)
!=
0
)
{
for
(
var
i
in
temp_data_list
)
{
if
(
this
.
data
.
params
.
order_id
==
temp_data_list
[
i
][
'
id
'
])
{
this
.
pay_handle
(
this
.
data
.
params
.
order_id
,
i
);
break
;
}
}
if
((
this
.
data
.
params
.
is_pay
||
0
)
==
1
&&
(
this
.
data
.
params
.
order_ids
||
null
)
!=
null
)
{
this
.
pay_handle
(
this
.
data
.
params
.
order_ids
);
}
}
}
else
{
...
...
@@ -188,7 +183,7 @@ Page({
this
.
setData
({
is_show_payment_popup
:
true
,
temp_pay_value
:
e
.
currentTarget
.
dataset
.
value
,
temp_pay_index
:
e
.
currentTarget
.
dataset
.
index
order_select_ids
:
[]
});
},
...
...
@@ -202,11 +197,11 @@ Page({
var
payment_id
=
e
.
currentTarget
.
dataset
.
value
||
0
;
this
.
setData
({
payment_id
:
payment_id
});
this
.
payment_popup_event_close
();
this
.
pay_handle
(
this
.
data
.
temp_pay_value
,
this
.
data
.
temp_pay_index
);
this
.
pay_handle
(
this
.
data
.
temp_pay_value
);
},
// 支付方法
pay_handle
(
order_id
,
index
)
{
pay_handle
(
order_id
s
)
{
var
self
=
this
;
// 加载loding
swan
.
showLoading
({
title
:
"
请求中...
"
});
...
...
@@ -215,85 +210,96 @@ Page({
url
:
app
.
get_request_url
(
"
pay
"
,
"
order
"
),
method
:
"
POST
"
,
data
:
{
id
:
order_id
,
id
s
:
order_ids
,
payment_id
:
this
.
data
.
payment_id
},
dataType
:
"
json
"
,
success
:
res
=>
{
swan
.
hideLoading
();
if
(
res
.
data
.
code
==
0
)
{
// 支付方式类型
switch
(
res
.
data
.
data
.
is_payment_type
)
{
// 正常线上支付
case
0
:
swan
.
requestPolymerPayment
({
// 支付方式类型
switch
(
res
.
data
.
data
.
is_payment_type
)
{
// 正常线上支付
case
0
:
swan
.
requestPolymerPayment
({
orderInfo
:
res
.
data
.
data
.
data
,
success
:
function
(
res
)
{
// 数据设置
self
.
order_item_pay_success_handle
(
index
);
// 跳转支付页面
swan
.
navigateTo
({
url
:
"
/pages/paytips/paytips?code=9000&total_price=
"
+
self
.
data
.
data_list
[
index
][
'
total_price
'
]
});
},
fail
:
function
(
res
)
{
app
.
showToast
(
'
支付失败
'
);
}
});
break
;
// 线下支付
case
1
:
var
temp_data_list
=
self
.
data
.
data_list
;
temp_data_list
[
index
][
'
is_under_line
'
]
=
1
;
self
.
setData
({
data_list
:
temp_data_list
});
app
.
alert
({
msg
:
res
.
data
.
msg
,
is_show_cancel
:
0
});
break
;
// 钱包支付
case
2
:
self
.
order_item_pay_success_handle
(
index
);
app
.
showToast
(
'
支付成功
'
,
'
success
'
);
break
;
// 默认
default
:
app
.
showToast
(
'
支付类型有误
'
);
}
success
:
function
(
res
)
{
// 数据设置
self
.
order_item_pay_success_handle
(
order_ids
);
// 跳转支付页面
swan
.
navigateTo
({
url
:
"
/pages/paytips/paytips?code=9000
"
});
},
fail
:
function
(
res
)
{
app
.
showToast
(
'
支付失败
'
);
}
});
break
;
// 线下支付
case
1
:
var
order_ids_arr
=
order_ids
.
split
(
'
,
'
);
var
temp_data_list
=
self
.
data
.
data_list
;
for
(
var
i
in
temp_data_list
)
{
if
(
order_ids_arr
.
indexOf
(
temp_data_list
[
i
][
'
id
'
])
!=
-
1
)
{
temp_data_list
[
i
][
'
is_under_line
'
]
=
1
;
}
}
self
.
setData
({
data_list
:
temp_data_list
});
app
.
alert
({
msg
:
res
.
data
.
msg
,
is_show_cancel
:
0
});
break
;
// 钱包支付
case
2
:
self
.
order_item_pay_success_handle
(
order_ids
);
app
.
showToast
(
'
支付成功
'
,
'
success
'
);
break
;
// 默认
default
:
app
.
showToast
(
'
支付类型有误
'
);
}
}
else
{
app
.
showToast
(
res
.
data
.
msg
);
}
},
fail
:
()
=>
{
swan
.
hideLoading
();
app
.
showToast
(
"
服务器请求出错
"
);
app
.
showToast
(
'
服务器请求出错
'
);
}
});
},
// 支付成功数据设置
order_item_pay_success_handle
(
index
)
{
// 数据设置
order_item_pay_success_handle
(
order_ids
)
{
var
order_ids_arr
=
order_ids
.
split
(
'
,
'
);
var
temp_data_list
=
this
.
data
.
data_list
;
switch
(
parseInt
(
temp_data_list
[
index
][
'
order_model
'
]))
{
// 销售模式
case
0
:
temp_data_list
[
index
][
'
status
'
]
=
2
;
temp_data_list
[
index
][
'
status_name
'
]
=
'
待发货
'
;
break
;
// 自提模式
case
2
:
temp_data_list
[
index
][
'
status
'
]
=
2
;
temp_data_list
[
index
][
'
status_name
'
]
=
'
待取货
'
;
break
;
// 虚拟模式
case
3
:
temp_data_list
[
index
][
'
status
'
]
=
3
;
temp_data_list
[
index
][
'
status_name
'
]
=
'
待收货
'
;
break
;
// 数据设置
for
(
var
i
in
temp_data_list
)
{
if
(
order_ids_arr
.
indexOf
(
temp_data_list
[
i
][
'
id
'
])
!=
-
1
)
{
switch
(
parseInt
(
temp_data_list
[
i
][
'
order_model
'
]))
{
// 销售模式
case
0
:
temp_data_list
[
i
][
'
status
'
]
=
2
;
temp_data_list
[
i
][
'
status_name
'
]
=
'
待发货
'
;
break
;
// 自提模式
case
2
:
temp_data_list
[
i
][
'
status
'
]
=
2
;
temp_data_list
[
i
][
'
status_name
'
]
=
'
待取货
'
;
break
;
// 虚拟模式
case
3
:
temp_data_list
[
i
][
'
status
'
]
=
3
;
temp_data_list
[
i
][
'
status_name
'
]
=
'
待收货
'
;
break
;
}
}
}
this
.
setData
({
data_list
:
temp_data_list
});
},
...
...
@@ -395,8 +401,11 @@ Page({
nav_event
(
e
)
{
this
.
setData
({
nav_status_index
:
e
.
currentTarget
.
dataset
.
index
||
0
,
data_page
:
1
data_page
:
1
,
order_select_ids
:
[]
});
// 重新拉取数据
this
.
get_data_list
(
1
);
},
...
...
@@ -421,4 +430,28 @@ Page({
url
:
"
/pages/user-order-comments/user-order-comments?id=
"
+
e
.
currentTarget
.
dataset
.
value
});
},
// 选中处理
selected_event
(
e
)
{
var
oid
=
e
.
currentTarget
.
dataset
.
oid
||
0
;
var
temp_select_ids
=
this
.
data
.
order_select_ids
;
if
(
temp_select_ids
.
indexOf
(
oid
)
==
-
1
)
{
temp_select_ids
.
push
(
oid
);
}
else
{
for
(
var
i
in
temp_select_ids
)
{
if
(
temp_select_ids
[
i
]
==
oid
)
{
temp_select_ids
.
splice
(
i
,
1
);
}
}
}
this
.
setData
({
order_select_ids
:
temp_select_ids
});
},
// 合并支付
pay_merge_event
(
e
)
{
this
.
setData
({
is_show_payment_popup
:
true
,
temp_pay_value
:
this
.
data
.
order_select_ids
.
join
(
'
,
'
)
});
}
});
\ No newline at end of file
sourcecode/baidu/pages/user-order/user-order.swan
浏览文件 @
8fa76bed
...
...
@@ -11,10 +11,13 @@
<view class="list-content">
<view class="list-item bg-white spacing-mb" s-if="data_list.length > 0" s-for="item, index in data_list" s-key="key">
<view class="item-base oh br-b">
<text class="cr-666">{{item.add_time}}</text>
<text class="fr cr-main">
{{item.status_name}}<text s-if="(item.is_under_line_text || null) != null">({{item.is_under_line_text}})</text>
</text>
<!-- 选择 -->
<view s-if="nav_status_index == 1" bindtap="selected_event" data-oid="{{item.id}}" class="fl selected">
<image class="icon" src="/images/default-select{{tools.indexOf(order_select_ids, item.id) ? '-active' : ''}}-icon.png" mode="widthFix" />
</view>
<!-- 基础信息 -->
<text class="fl cr-666">{{item.warehouse_name}}</text>
<text class="fr cr-main">{{item.status_name}}<text s-if="(item.is_under_line_text || null) != null">({{item.is_under_line_text}})</text></text>
</view>
<view s-for="detail, index in item.items" s-key="key" class="goods-item br-b-dashed oh">
<navigator url="/pages/user-order-detail/user-order-detail?id={{item.id}}" hover-class="none">
...
...
@@ -26,7 +29,7 @@
{{spec.type}}:{{spec.value}}
</view>
</block>
<view s-if="(item.is_can_launch_aftersale == 1 || (detail.orderaftersale || null) != null) && (
$
detail.orderaftersale_btn_text || null) != null" class="orderaftersale-btn-text" catchtap="orderaftersale_event" data-oid="{{item.id}}" data-did="{{detail.id}}">{{detail.orderaftersale_btn_text}}</view>
<view s-if="(item.is_can_launch_aftersale == 1 || (detail.orderaftersale || null) != null) && (detail.orderaftersale_btn_text || null) != null" class="orderaftersale-btn-text" catchtap="orderaftersale_event" data-oid="{{item.id}}" data-did="{{detail.id}}">{{detail.orderaftersale_btn_text}}</view>
</view>
<view class="oh goods-price">
<text class="sales-price">{{price_symbol}}{{detail.price}}</text>
...
...
@@ -56,6 +59,11 @@
</view>
</scroll-view>
<!-- 合并支付 -->
<view s-if="nav_status_index == 1 && order_select_ids.length > 0">
<button class="submit-fixed pay-merge-submit" type="default" size="mini" hover-class="none" bindtap="pay_merge_event">合并支付</button>
</view>
<!-- 支付方式 popup -->
<component-popup status="{{is_show_payment_popup}}" position="bottom" bindonclose="payment_popup_event_close">
<view s-if="payment_list.length > 0" class="payment-list oh bg-white">
...
...
sourcecode/weixin/pages/goods-detail/goods-detail.wxml
浏览文件 @
8fa76bed
...
...
@@ -71,7 +71,7 @@
<view class="item bg-white {{item.is_operable == 0 ? 'item-disabled' : ''}}" style="border:1px solid {{item.bg_color_value}};">
<view class="v-left fl">
<view class="base single-text" style="color:{{item.bg_color_value}};">
<text class="symbol">{{price_symbol}}</text>
<text
wx:if="{{item.type == 0}}"
class="symbol">{{price_symbol}}</text>
<text class="price">{{item.discount_value}}</text>
<text class="unit">{{item.type_unit}}</text>
</view>
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录