Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
jamesyang1999
ShopXO
提交
a495a8df
ShopXO
项目概览
jamesyang1999
/
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,发现更多精彩内容 >>
提交
a495a8df
编写于
5月 30, 2019
作者:
D
devil_gong
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
订单售后优化
上级
fb2bffff
变更
23
隐藏空白更改
内联
并排
Showing
23 changed file
with
338 addition
and
146 deletion
+338
-146
application/admin/controller/Order.php
application/admin/controller/Order.php
+3
-0
application/admin/controller/Orderaftersale.php
application/admin/controller/Orderaftersale.php
+1
-1
application/admin/view/default/order/index.html
application/admin/view/default/order/index.html
+27
-6
application/admin/view/default/orderaftersale/index.html
application/admin/view/default/orderaftersale/index.html
+3
-3
application/admin/view/default/refundlog/index.html
application/admin/view/default/refundlog/index.html
+4
-0
application/index/controller/Orderaftersale.php
application/index/controller/Orderaftersale.php
+5
-0
application/index/view/default/order/detail.html
application/index/view/default/order/detail.html
+12
-3
application/index/view/default/order/index.html
application/index/view/default/order/index.html
+16
-8
application/index/view/default/orderaftersale/aftersale.html
application/index/view/default/orderaftersale/aftersale.html
+14
-6
application/index/view/default/orderaftersale/create.html
application/index/view/default/orderaftersale/create.html
+2
-2
application/index/view/default/orderaftersale/delivery.html
application/index/view/default/orderaftersale/delivery.html
+23
-13
application/index/view/default/orderaftersale/index.html
application/index/view/default/orderaftersale/index.html
+2
-2
application/service/BuyService.php
application/service/BuyService.php
+2
-0
application/service/OrderAftersaleService.php
application/service/OrderAftersaleService.php
+126
-13
application/service/OrderService.php
application/service/OrderService.php
+21
-9
application/service/RefundLogService.php
application/service/RefundLogService.php
+6
-0
application/tags.php
application/tags.php
+9
-4
config/shopxo.sql
config/shopxo.sql
+44
-68
extend/payment/Weixin.php
extend/payment/Weixin.php
+2
-2
public/static/index/default/css/order.detail.css
public/static/index/default/css/order.detail.css
+1
-2
public/static/index/default/css/orderaftersale.aftersale.css
public/static/index/default/css/orderaftersale.aftersale.css
+1
-1
public/static/index/default/js/orderaftersale.aftersale.js
public/static/index/default/js/orderaftersale.aftersale.js
+9
-0
public/static/index/default/js/user.js
public/static/index/default/js/user.js
+5
-3
未找到文件。
application/admin/controller/Order.php
浏览文件 @
a495a8df
...
...
@@ -106,6 +106,9 @@ class Order extends Common
// 评价状态
$this
->
assign
(
'common_comments_status_list'
,
lang
(
'common_comments_status_list'
));
// 平台
$this
->
assign
(
'common_platform_type'
,
lang
(
'common_platform_type'
));
// Excel地址
$this
->
assign
(
'excel_url'
,
MyUrl
(
'admin/order/excelexport'
,
input
()));
...
...
application/admin/controller/Orderaftersale.php
浏览文件 @
a495a8df
...
...
@@ -72,7 +72,7 @@ class Orderaftersale extends Common
'total'
=>
$total
,
'where'
=>
$params
,
'page'
=>
isset
(
$params
[
'page'
])
?
intval
(
$params
[
'page'
])
:
1
,
'url'
=>
MyUrl
(
'
index
/orderaftersale/index'
),
'url'
=>
MyUrl
(
'
admin
/orderaftersale/index'
),
);
$page
=
new
\
base\Page
(
$page_params
);
$this
->
assign
(
'page_html'
,
$page
->
GetPageHtml
());
...
...
application/admin/view/default/order/index.html
浏览文件 @
a495a8df
...
...
@@ -65,9 +65,18 @@
</select>
</td>
</tr>
<tr>
<tr>
<td>
<span>
来源:
</span>
<select
name=
"client_type"
class=
"chosen-select"
data-placeholder=
"来源客户端..."
>
<option
value=
""
>
来源客户端...
</option>
{{foreach $common_platform_type as $v}}
<option
value=
"{{$v.value}}"
{{
if
isset
($
params
['
client_type
'])
and
$
params
['
client_type
']
eq
$
v
['
value
']}}
selected
{{/
if
}}
>
{{$v.name}}
</option>
{{/foreach}}
</select>
</td>
<td
class=
"time"
>
<span>
时间:
</span>
<span>
时间:
</span>
<span>
<input
type=
"text"
autocomplete=
"off"
name=
"time_start"
class=
"am-form-field am-input-sm am-radius Wdate"
placeholder=
"起始时间"
value=
"{{if !empty($params.time_start)}}{{$params.time_start}}{{/if}}"
data-validation-message=
"日期格式有误"
onclick=
"WdatePicker({firstDayOfWeek:1,dateFmt:'yyyy-MM-dd'})"
autocomplete=
"off"
/><i
class=
"am-icon-calendar"
></i>
</span>
...
...
@@ -76,6 +85,9 @@
<input
type=
"text"
autocomplete=
"off"
name=
"time_end"
class=
"am-form-field am-input-sm am-radius Wdate"
placeholder=
"结束时间"
value=
"{{if !empty($params.time_end)}}{{$params.time_end}}{{/if}}"
pattern=
"^[0-9]{4}-[0-9]{2}-[0-9]{2}$"
data-validation-message=
"日期格式有误"
onclick=
"WdatePicker({firstDayOfWeek:1,dateFmt:'yyyy-MM-dd'})"
autocomplete=
"off"
/><i
class=
"am-icon-calendar"
></i>
</span>
</td>
</tr>
<tr>
<td></td>
<td>
<button
type=
"submit"
class=
"am-btn am-btn-primary am-radius am-btn-xs btn-loading-example"
data-am-loading=
"{spinner:'circle-o-notch', loadingText:'搜索中...'}"
>
搜索
</button>
<a
href=
"{{:MyUrl('admin/order/index')}}"
class=
"am-btn am-btn-warning am-radius am-btn-sm reset-submit"
>
清除条件
</a>
...
...
@@ -128,7 +140,10 @@
{{$vs.spec_text}}
{{/if}}
</span>
<span
class=
"fr"
>
{{$vs.price}}x{{$vs.buy_number}}
</span>
{{if $vs['returned_quantity'] gt 0 or $vs['refund_price'] gt 0}}
<span
class=
"am-text-danger am-fr am-margin-left-sm"
>
已退 {{$vs.returned_quantity}} / {{$vs.refund_price}}
</span>
{{/if}}
<span
class=
"am-fr"
>
{{$vs.price}}x{{$vs.buy_number}}
</span>
</div>
</div>
{{/foreach}}
...
...
@@ -153,14 +168,14 @@
<span
class=
"block"
>
{{$v.status_name}}
</span>
{{if $v['pay_status'] eq 1}}
<span
class=
"block
cr-green
fs-12"
>
{{$v.pay_status_name}}
</span>
<span
class=
"block
am-text-success
fs-12"
>
{{$v.pay_status_name}}
</span>
{{elseif $v['pay_status'] gt 1 /}}
<span
class=
"block
cr-yellow
fs-12"
>
{{$v.pay_status_name}}
</span>
<span
class=
"block
am-text-danger
fs-12"
>
{{$v.pay_status_name}}
</span>
{{else /}}
<span
class=
"block fs-12"
>
{{$v.pay_status_name}}
</span>
{{/if}}
{{if $v['user_is_delete_time'] neq 0}}
<span
class=
"block
cr-red
fs-12"
>
用户已删除
</span>
<span
class=
"block
am-text-warning
fs-12"
>
用户已删除
</span>
{{/if}}
</td>
<td>
...
...
@@ -217,6 +232,9 @@
<span
class=
"fl fs-12"
>
编码:{{$vs.spec_coding}}
</span>
{{if $vs['returned_quantity'] gt 0 or $vs['refund_price'] gt 0}}
<span
class=
"am-text-danger am-fr am-margin-left-sm"
>
已退 {{$vs.returned_quantity}} / {{$vs.refund_price}}
</span>
{{/if}}
<span
class=
"fr"
>
{{$vs.price}}x{{$vs.buy_number}}
</span>
</div>
</div>
...
...
@@ -241,6 +259,9 @@
<dt>
快递信息
</dt>
<dd>
{{if empty($v['express_name'])}}
<span
class=
"cr-ddd"
>
未填写
</span>
{{else /}}{{$v.express_name}}
<br
/>
{{$v.express_number}}{{/if}}
</dd>
<dt>
客户端类型
</dt>
<dd>
{{if empty($v['client_type_name'])}}
<span
class=
"cr-ddd"
>
未知
</span>
{{else /}}
<span
class=
"am-badge am-badge-secondary am-radius"
>
{{$v.client_type_name}}{{/if}}
</span></dd>
<dt>
支付状态
</dt>
<dd>
{{if empty($v['pay_status_name'])}}
<span
class=
"cr-ddd"
>
未填写
</span>
{{else /}}{{$v.pay_status_name}}{{/if}}
</dd>
...
...
application/admin/view/default/orderaftersale/index.html
浏览文件 @
a495a8df
...
...
@@ -127,7 +127,7 @@
类型:{{$v.type_text}}
<br
/>
原因:{{$v.reason}}
<br
/>
数量:{{$v.number}}
<br
/>
金额:
<span
class=
"am-text-
warning
"
>
¥{{$v.price}}
</span><br
/>
金额:
<span
class=
"am-text-
danger
"
>
¥{{$v.price}}
</span><br
/>
说明:{{$v.msg}}
<br
/>
时间:{{$v.apply_time_time}}
</td>
...
...
@@ -147,7 +147,7 @@
<td
class=
"am-hide-sm-only"
>
<p>
{{$v.status_text}}
</p>
{{if $v['status'] eq 3 and !empty($v['refundment_text'])}}
<span
class=
"am-badge am-badge-success am-margin-top-xs"
>
{{$v.refundment_text}}
</span>
<span
class=
"am-badge am-badge-success am-
radius am-
margin-top-xs"
>
{{$v.refundment_text}}
</span>
{{/if}}
{{if $v['status'] eq 4 and !empty($v['refuse_reason'])}}
<span
class=
"am-text-danger"
>
{{$v.refuse_reason}}
</span>
...
...
@@ -214,7 +214,7 @@
类型:{{$v.type_text}}
<br
/>
原因:{{$v.reason}}
<br
/>
数量:{{$v.number}}
<br
/>
金额:
<span
class=
"am-text-
warning
"
>
¥{{$v.price}}
</span><br
/>
金额:
<span
class=
"am-text-
danger
"
>
¥{{$v.price}}
</span><br
/>
说明:{{$v.msg}}
<br
/>
时间:{{$v.apply_time_time}}
</dd>
...
...
application/admin/view/default/refundlog/index.html
浏览文件 @
a495a8df
...
...
@@ -99,6 +99,7 @@
<th
class=
"am-hide-sm-only"
>
业务订单id
</th>
<th
class=
"am-hide-sm-only"
>
支付平台交易号
</th>
<th
class=
"am-hide-sm-only"
>
支付平台用户帐号
</th>
<th>
退款方式
</th>
<th>
退款金额
</th>
<th>
订单支付金额
</th>
<th
class=
"am-hide-sm-only"
>
描述
</th>
...
...
@@ -137,6 +138,9 @@
<td
class=
"am-hide-sm-only"
>
{{if empty($v['buyer_user'])}}
<span
class=
"cr-ddd"
>
未填写
</span>
{{else /}}{{$v.buyer_user}}{{/if}}
</td>
<td>
{{if empty($v['refundment_text'])}}
<span
class=
"cr-ddd"
>
未填写
</span>
{{else /}}
<span
class=
"am-text-success"
>
¥{{$v.refundment_text}}
</span>
{{/if}}
</td>
<td>
{{if empty($v['refund_price'])}}
<span
class=
"cr-ddd"
>
未填写
</span>
{{else /}}
<span
class=
"am-text-danger"
>
¥{{$v.refund_price}}
</span>
{{/if}}
</td>
...
...
application/index/controller/Orderaftersale.php
浏览文件 @
a495a8df
...
...
@@ -131,6 +131,11 @@ class Orderaftersale extends Common
$new_aftersale
=
OrderAftersaleService
::
OrderAftersaleList
(
$data_params
);
$this
->
assign
(
'new_aftersale_data'
,
empty
(
$new_aftersale
[
'data'
][
0
])
?
[]
:
$new_aftersale
[
'data'
][
0
]);
// 可退款退货
$returned
=
OrderAftersaleService
::
OrderAftersaleCalculation
(
$order_id
,
$order_detail_id
);
$this
->
assign
(
'returned_data'
,
$returned
[
'data'
]);
//print_r($returned);
// 静态数据
$this
->
assign
(
'common_order_aftersale_type_list'
,
lang
(
'common_order_aftersale_type_list'
));
...
...
application/index/view/default/order/detail.html
浏览文件 @
a495a8df
...
...
@@ -254,7 +254,7 @@
<!-- 商品列表 -->
{{if !empty($data.items)}}
<div
class=
"order-goods"
>
<table
class=
"am-table"
>
<table
class=
"am-table
am-table-centered
"
>
<thead>
<tr>
<th>
商品信息
</th>
...
...
@@ -274,7 +274,7 @@
<div
class=
"goods-base"
>
<a
href=
"{{$goods.goods_url}}"
target=
"_blank"
class=
"goods-title"
>
{{$goods.title}}
</a>
{{if !empty($goods.spec)}}
<ul
class=
"goods-attr"
>
<ul
class=
"
am-margin-top-xs am-text-left
goods-attr"
>
{{foreach $goods.spec as $spec}}
<li>
{{$spec.type}}:{{$spec.value}}
</li>
{{/foreach}}
...
...
@@ -288,6 +288,9 @@
{{/if}}
<strong
class=
"total-price-content"
>
¥{{$goods.price}}
</strong>
<span
class=
"wap-number"
>
x{{$goods.buy_number}}
</span>
{{if isset($goods['returned_quantity']) and $goods['returned_quantity'] gt 0}}
<span
class=
"am-badge am-round am-badge-warning"
>
已退 {{$goods.returned_quantity}}
</span>
{{/if}}
</div>
</td>
<td
class=
"price am-hide-sm-only"
>
...
...
@@ -297,10 +300,16 @@
<p
class=
"line-price"
>
¥{{$goods.price}}
</p>
</td>
<td
class=
"number am-hide-sm-only"
>
x{{$goods.buy_number}}
<span>
x{{$goods.buy_number}}
</span>
{{if isset($goods['returned_quantity']) and $goods['returned_quantity'] gt 0}}
<br
/><span
class=
"am-badge am-round am-badge-warning"
>
已退 {{$goods.returned_quantity}}
</span>
{{/if}}
</td>
<td
class=
"total-price am-hide-sm-only"
>
<strong
class=
"total-price-content"
>
¥{{$goods.total_price}}
</strong>
{{if isset($goods['refund_price']) and $goods['refund_price'] gt 0}}
<br
/><span
class=
"am-badge am-round am-badge-warning"
>
已退 {{$goods.refund_price}}
</span>
{{/if}}
</td>
</tr>
{{/foreach}}
...
...
application/index/view/default/order/index.html
浏览文件 @
a495a8df
...
...
@@ -174,6 +174,9 @@
{{/if}}
<strong
class=
"line-price"
>
¥{{$goods.price}}
</strong>
<span
class=
"wap-number"
>
x{{$goods.buy_number}}
</span>
{{if isset($goods['returned_quantity']) and $goods['returned_quantity'] gt 0}}
<span
class=
"am-badge am-round am-badge-warning"
>
已退 {{$goods.returned_quantity}}
</span>
{{/if}}
</div>
</td>
<td
class=
"row-price am-hide-sm-only"
>
...
...
@@ -183,7 +186,10 @@
<p
class=
"line-price"
>
¥{{$goods.price}}
</p>
</td>
<td
class=
"row-number am-hide-sm-only"
>
x{{$goods.buy_number}}
<span>
x{{$goods.buy_number}}
</span>
{{if isset($goods['returned_quantity']) and $goods['returned_quantity'] gt 0}}
<br
/><span
class=
"am-badge am-round am-badge-warning"
>
已退 {{$goods.returned_quantity}}
</span>
{{/if}}
</td>
<td
class=
"row-number"
>
<a
href=
"{{:MyUrl('index/orderaftersale/aftersale', ['oid'=>$order['id'], 'did'=>$goods['id']])}}"
target=
"_blank"
>
...
...
@@ -195,12 +201,11 @@
<span
class=
"am-text-secondary"
>
查看进度
</span>
{{/if}}
{{/case}}
{{case 4}}
申请售后
{{/case}}
{{case 6}}
{{if empty($goods['orderaftersale']) or $goods['orderaftersale'] eq 5}}
申请售后
{{case 4|6}}
{{if empty($goods['orderaftersale'])}}
{{if $order['status'] eq 4}}
申请售后
{{/if}}
{{else /}}
{{if $goods['orderaftersale']['status'] eq 3}}
<span
class=
"am-text-success"
>
查看退款
</span>
...
...
@@ -215,6 +220,9 @@
{{if $keys eq 0}}
<td
class=
"row-total-price am-hide-sm-only"
rowspan=
"{{$order.items_count}}"
>
<strong
class=
"total-price-content"
>
¥{{$order.total_price}}
</strong>
{{if isset($order['refund_price']) and $order['refund_price'] gt 0}}
<br
/><span
class=
"am-badge am-round am-badge-warning"
>
已退 {{$order.refund_price}}
</span>
{{/if}}
</td>
<td
class=
"row-status"
rowspan=
"{{$order.items_count}}"
>
{{$order.status_name}}
...
...
@@ -225,7 +233,7 @@
<td
class=
"row-operate"
rowspan=
"{{$order.items_count}}"
>
<!-- 0待确认, 1已确认/待支付, 2已支付/待发货, 3已发货/待收货, 4已完成, 5已取消, 6已关闭 -->
{{if in_array($order['status'], [0,1])}}
<button
type=
"button"
class=
"am-btn am-btn-
danger
am-btn-xs am-radius am-icon-paint-brush am-btn-block submit-ajax submit-cancel"
data-url=
"{{:MyUrl('index/order/cancel')}}"
data-id=
"{{$order.id}}"
data-view=
"reload"
>
取消
</button>
<button
type=
"button"
class=
"am-btn am-btn-
warning
am-btn-xs am-radius am-icon-paint-brush am-btn-block submit-ajax submit-cancel"
data-url=
"{{:MyUrl('index/order/cancel')}}"
data-id=
"{{$order.id}}"
data-view=
"reload"
>
取消
</button>
{{/if}}
{{if in_array($order['status'], [1])}}
<a
class=
"am-btn am-btn-primary am-btn-xs am-radius am-icon-paypal am-btn-block"
href=
"{{:MyUrl('index/order/detail', ['id'=>$order['id'], 'is_pay_auto'=>1])}}"
target=
"_blank"
>
支付
</a>
...
...
application/index/view/default/orderaftersale/aftersale.html
浏览文件 @
a495a8df
...
...
@@ -81,6 +81,14 @@
<div
class=
"items-detail am-fl"
>
-¥{{$order.preferential_price}}
</div>
</div>
{{/if}}
{{if !empty($order.refund_price)}}
<div
class=
"items am-cf"
>
<div
class=
"items-title am-fl"
>
退款金额:
</div>
<div
class=
"items-detail am-fl"
>
<span
class=
"am-text-danger"
>
-¥{{$order.refund_price}}
</span>
</div>
</div>
{{/if}}
{{if !empty($order.total_price)}}
<div
class=
"items am-cf"
>
<div
class=
"items-title am-fl"
>
订单总价:
</div>
...
...
@@ -146,11 +154,11 @@
{{case 1}}
{{if $new_aftersale_data['type'] eq 1}}
<div
class=
"am-panel am-panel-default aftersale-form-panel"
>
<div
class=
"am-panel-bd"
>
{{include file="orderaftersale/delivery" /}}
</div>
<div
class=
"am-alert"
>
当前订单商品售后,管理员已确认,请尽快完成退货!
<a
href=
"{{:MyUrl('index/orderaftersale/index', ['keywords'=>$new_aftersale_data['order_no']])}}"
>
详情查看
</a>
<button
type=
"button"
class=
"am-btn am-btn-primary am-radius am-margin-left-sm orderaftersale-delivery-submit"
data-am-modal=
"{target: '#popup-orderaftersale-delivery'}"
data-is-auto-delivery=
"{{if isset($params['is_auto_delivery'])}}{{$params.is_auto_delivery}}{{else /}}0{{/if}}"
>
立即退货
</button>
</div>
{{include file="orderaftersale/delivery" /}}
{{else /}}
<div
class=
"am-alert"
>
当前订单商品售后已提交申请,等待管理员确认中!
<a
href=
"{{:MyUrl('index/orderaftersale/index', ['keywords'=>$new_aftersale_data['order_no']])}}"
>
详情查看
</a>
...
...
@@ -199,11 +207,11 @@
</div>
<div
class=
"am-cf am-padding-vertical-xs"
>
<span>
退货数量:
</span>
<span>
{{$new_aftersale_data.number}}
</span>
<span
{{
if
$
new_aftersale_data
['
number
']
gt
0}}
class=
"am-text-danger"
{{/
if
}}
>
{{$new_aftersale_data.number}}
</span>
</div>
<div
class=
"am-cf am-padding-vertical-xs"
>
<span>
退款金额:
</span>
<span
class=
"am-text-
warning
"
>
¥{{$new_aftersale_data.price}}
</span>
<span
class=
"am-text-
danger
"
>
¥{{$new_aftersale_data.price}}
</span>
</div>
<div
class=
"am-cf am-padding-vertical-xs"
>
<span>
退款说明:
</span>
...
...
application/index/view/default/orderaftersale/create.html
浏览文件 @
a495a8df
...
...
@@ -9,14 +9,14 @@
<label>
商品件数
<span
class=
"am-form-group-label-tips-must"
>
必填
</span></label>
<div
class=
"am-input-group am-input-group-sm number-container"
>
<span
class=
"am-input-group-label"
data-type=
"0"
>
-
</span>
<input
type=
"number"
name=
"number"
class=
"am-form-field"
value=
"
1"
min=
"1"
max=
"{{$goods.buy_number}}"
data-validation-message=
"请填写有效的商品件数,最小1,最大{{$goods.buy_number
}}"
required
/>
<input
type=
"number"
name=
"number"
class=
"am-form-field"
value=
"
{{$returned_data.returned_quantity}}"
min=
"1"
max=
"{{$returned_data.returned_quantity}}"
data-validation-message=
"请填写有效的商品件数,最小1,最大{{$returned_data.returned_quantity
}}"
required
/>
<span
class=
"am-input-group-label"
data-type=
"1"
>
+
</span>
</div>
</div>
<div
class=
"am-form-group"
>
<label>
退款金额
<span
class=
"am-form-group-label-tips-must"
>
必填
</span></label>
<input
type=
"number"
name=
"price"
value=
"{{$
order.pay_price-$order.refund_price}}"
step=
"0.01"
min=
"0.00"
max=
"{{$order.pay_price-$order.refund_price}}"
class=
"am-radius"
placeholder=
"退款金额"
data-validation-message=
"请输入有效的退款金额,最高{{$order.pay_price-$order
.refund_price}}元"
required
/>
<input
type=
"number"
name=
"price"
value=
"{{$
returned_data.refund_price}}"
step=
"0.01"
min=
"0.00"
max=
"{{$returned_data.refund_price}}"
class=
"am-radius"
placeholder=
"退款金额"
data-validation-message=
"请输入有效的退款金额,最高{{$returned_data
.refund_price}}元"
required
/>
</div>
<div
class=
"am-form-group"
>
...
...
application/index/view/default/orderaftersale/delivery.html
浏览文件 @
a495a8df
<form
class=
"am-form form-validation view-save"
action=
"{{:MyUrl('index/orderaftersale/delivery')}}"
method=
"POST"
request-type=
"ajax-reload"
>
<div
class=
"am-form-group"
>
<label>
快递名称
<span
class=
"am-form-group-label-tips-must"
>
必选
</span></label>
<input
type=
"text"
name=
"express_name"
class=
"am-radius"
placeholder=
"快递名称"
minlength=
"1"
maxlength=
"60"
data-validation-message=
"快递名称格式 1~60 个字符之间"
required
/>
</div>
<div
class=
"am-popup"
id=
"popup-orderaftersale-delivery"
>
<div
class=
"am-popup-inner"
>
<div
class=
"am-popup-hd"
>
<h4
class=
"am-popup-title"
>
退货操作
</h4>
<span
data-am-modal-close
class=
"am-close"
>
×
</span>
</div>
<div
class=
"am-popup-bd"
>
<form
class=
"am-form form-validation view-save"
action=
"{{:MyUrl('index/orderaftersale/delivery')}}"
method=
"POST"
request-type=
"ajax-reload"
>
<div
class=
"am-form-group"
>
<label>
快递名称
<span
class=
"am-form-group-label-tips-must"
>
必选
</span></label>
<input
type=
"text"
name=
"express_name"
class=
"am-radius"
placeholder=
"快递名称"
minlength=
"1"
maxlength=
"60"
data-validation-message=
"快递名称格式 1~60 个字符之间"
required
/>
</div>
<div
class=
"am-form-group"
>
<label>
快递单号
<span
class=
"am-form-group-label-tips-must"
>
必填
</span></label>
<input
type=
"text"
name=
"express_number"
class=
"am-radius"
placeholder=
"快递单号"
minlength=
"1"
maxlength=
"60"
data-validation-message=
"快递单号格式 1~60 个字符之间"
required
/>
</div>
<div
class=
"am-form-group"
>
<label>
快递单号
<span
class=
"am-form-group-label-tips-must"
>
必填
</span></label>
<input
type=
"text"
name=
"express_number"
class=
"am-radius"
placeholder=
"快递单号"
minlength=
"1"
maxlength=
"60"
data-validation-message=
"快递单号格式 1~60 个字符之间"
required
/>
</div>
<div
class=
"am-form-group am-form-group-refreshing"
>
<input
type=
"hidden"
name=
"id"
value=
"{{$new_aftersale_data.id}}"
/>
<button
type=
"submit"
class=
"am-btn am-btn-primary am-radius btn-loading-example am-btn-sm am-btn-block"
data-am-loading=
"{loadingText:'处理中...'}"
>
提交
</button>
<div
class=
"am-form-group am-form-group-refreshing"
>
<input
type=
"hidden"
name=
"id"
value=
"{{$new_aftersale_data.id}}"
/>
<button
type=
"submit"
class=
"am-btn am-btn-primary am-radius btn-loading-example am-btn-sm am-btn-block"
data-am-loading=
"{loadingText:'处理中...'}"
>
提交
</button>
</div>
</form>
</div>
</div>
</form>
\ No newline at end of file
</div>
\ No newline at end of file
application/index/view/default/orderaftersale/index.html
浏览文件 @
a495a8df
...
...
@@ -132,7 +132,7 @@
类型:{{$v.type_text}}
<br
/>
原因:{{$v.reason}}
<br
/>
数量:{{$v.number}}
<br
/>
金额:
<span
class=
"am-text-
warning
"
>
¥{{$v.price}}
</span><br
/>
金额:
<span
class=
"am-text-
danger
"
>
¥{{$v.price}}
</span><br
/>
说明:{{$v.msg}}
<br
/>
时间:{{$v.apply_time_time}}
</td>
...
...
@@ -167,7 +167,7 @@
</td>
<td>
{{if $v['status'] eq 1 and $v['type'] eq 1}}
<a
href=
"{{:MyUrl('index/orderaftersale/aftersale', ['
id'=>$v['order_id'], 'gid'=>$v['goods_id']])}}"
target=
"_blank"
class=
"am-btn am-btn-secondary am-btn-xs am-radius am-icon-send am-btn-block"
>
发
货
</a>
<a
href=
"{{:MyUrl('index/orderaftersale/aftersale', ['
oid'=>$v['order_id'], 'did'=>$v['order_detail_id'], 'is_auto_delivery'=>1])}}"
target=
"_blank"
class=
"am-btn am-btn-primary am-btn-xs am-radius am-icon-send am-btn-block"
>
退
货
</a>
{{/if}}
{{if !in_array($v['status'], [3,5])}}
<button
type=
"button"
class=
"am-btn am-btn-warning am-btn-xs am-radius am-icon-paint-brush am-btn-block submit-ajax submit-cancel"
data-url=
"{{:MyUrl('index/orderaftersale/cancel')}}"
data-id=
"{{$v.id}}"
data-view=
"reload"
>
取消
</button>
...
...
application/service/BuyService.php
浏览文件 @
a495a8df
...
...
@@ -752,6 +752,7 @@ class BuyService
'extension_data'
=>
empty
(
$buy
[
'data'
][
'extension_data'
])
?
''
:
json_encode
(
$buy
[
'data'
][
'extension_data'
]),
'payment_id'
=>
isset
(
$params
[
'payment_id'
])
?
intval
(
$params
[
'payment_id'
])
:
0
,
'buy_number_count'
=>
array_sum
(
array_column
(
$buy
[
'data'
][
'goods'
],
'stock'
)),
'client_type'
=>
(
APPLICATION_CLIENT_TYPE
==
'pc'
&&
IsMobile
())
?
'h5'
:
APPLICATION_CLIENT_TYPE
,
'add_time'
=>
time
(),
];
if
(
$order
[
'status'
]
==
1
)
...
...
@@ -777,6 +778,7 @@ class BuyService
'images'
=>
$v
[
'images_old'
],
'original_price'
=>
$v
[
'original_price'
],
'price'
=>
$v
[
'price'
],
'total_price'
=>
PriceNumberFormat
(
$v
[
'stock'
]
*
$v
[
'price'
]),
'spec'
=>
empty
(
$v
[
'spec'
])
?
''
:
json_encode
(
$v
[
'spec'
]),
'spec_weight'
=>
empty
(
$v
[
'spec_weight'
])
?
0.00
:
(
float
)
$v
[
'spec_weight'
],
'spec_coding'
=>
empty
(
$v
[
'spec_coding'
])
?
''
:
$v
[
'spec_coding'
],
...
...
application/service/OrderAftersaleService.php
浏览文件 @
a495a8df
...
...
@@ -174,7 +174,7 @@ class OrderAftersaleService
// 历史退款金额
$history_price
=
PriceNumberFormat
(
Db
::
name
(
'OrderAftersale'
)
->
where
(
$where
)
->
sum
(
'price'
));
if
(
$price
+
$history_price
>
$order
[
'data'
][
'pay_price'
])
if
(
PriceNumberFormat
(
$price
+
$history_price
)
>
$order
[
'data'
][
'pay_price'
])
{
return
DataReturn
(
'退款金额大于支付金额[ 历史退款'
.
$history_price
.
'元, 订单金额'
.
$order
[
'data'
][
'pay_price'
]
.
'元 ]'
,
-
1
);
}
...
...
@@ -187,7 +187,7 @@ class OrderAftersaleService
$history_number
=
(
int
)
Db
::
name
(
'OrderAftersale'
)
->
where
(
$where
)
->
sum
(
'number'
);
if
(
$params
[
'type'
]
==
1
)
{
if
(
$number
+
$history_number
>
$order
[
'data'
][
'items'
][
'buy_number'
])
if
(
intval
(
$number
+
$history_number
)
>
$order
[
'data'
][
'items'
][
'buy_number'
])
{
return
DataReturn
(
'退货数量大于购买数量[ 历史退货数量 '
.
$history_number
.
', 订单商品数量 '
.
$order
[
'data'
][
'items'
][
'buy_number'
]
.
' ]'
,
-
1
);
}
...
...
@@ -681,7 +681,7 @@ class OrderAftersaleService
// 历史退款金额
$history_price
=
PriceNumberFormat
(
Db
::
name
(
'OrderAftersale'
)
->
where
(
$where
)
->
sum
(
'price'
));
if
(
$aftersale
[
'price'
]
+
$history_price
>
$order
[
'data'
][
'pay_price'
])
if
(
PriceNumberFormat
(
$aftersale
[
'price'
]
+
$history_price
)
>
$order
[
'data'
][
'pay_price'
])
{
return
DataReturn
(
'退款金额大于支付金额[ 历史退款'
.
$history_price
.
'元, 订单金额'
.
$order
[
'data'
][
'pay_price'
]
.
'元 ]'
,
-
1
);
}
...
...
@@ -691,7 +691,7 @@ class OrderAftersaleService
$history_number
=
(
int
)
Db
::
name
(
'OrderAftersale'
)
->
where
(
$where
)
->
sum
(
'number'
);
if
(
$aftersale
[
'type'
]
==
1
)
{
if
(
$aftersale
[
'number'
]
+
$history_number
>
$order
[
'data'
][
'items'
][
'buy_number'
])
if
(
intval
(
$aftersale
[
'number'
]
+
$history_number
)
>
$order
[
'data'
][
'items'
][
'buy_number'
])
{
return
DataReturn
(
'退货数量大于购买数量[ 历史退货数量 '
.
$history_number
.
', 订单商品数量 '
.
$order
[
'data'
][
'items'
][
'buy_number'
]
.
' ]'
,
-
1
);
}
...
...
@@ -770,8 +770,8 @@ class OrderAftersaleService
// 更新主订单
$refund_price
=
PriceNumberFormat
(
$order
[
'data'
][
'refund_price'
]
+
$aftersale
[
'price'
]);
$returned_quantity
=
$order
[
'data'
][
'returned_quantity'
]
+
$aftersale
[
'number'
]
;
$upd_data
=
[
$returned_quantity
=
intval
(
$order
[
'data'
][
'returned_quantity'
]
+
$aftersale
[
'number'
])
;
$
order_
upd_data
=
[
'pay_status'
=>
(
$refund_price
>=
$order
[
'data'
][
'pay_price'
])
?
2
:
3
,
'refund_price'
=>
$refund_price
,
'returned_quantity'
=>
$returned_quantity
,
...
...
@@ -781,18 +781,30 @@ class OrderAftersaleService
// 如果退款金额和退款数量到达订单实际是否金额和购买数量则关闭订单
if
(
$refund_price
>=
$order
[
'data'
][
'pay_price'
]
&&
$returned_quantity
>=
$order
[
'data'
][
'buy_number_count'
])
{
$upd_data
[
'status'
]
=
6
;
$
order_
upd_data
[
'status'
]
=
6
;
}
if
(
!
Db
::
name
(
'Order'
)
->
where
([
'id'
=>
$order
[
'data'
][
'id'
]])
->
update
(
$upd_data
))
if
(
!
Db
::
name
(
'Order'
)
->
where
([
'id'
=>
$order
[
'data'
][
'id'
]])
->
update
(
$
order_
upd_data
))
{
Db
::
rollback
();
return
DataReturn
(
'主订单更新失败'
,
-
1
);
}
// 订单详情
$detail_upd_data
=
[
'refund_price'
=>
PriceNumberFormat
(
$order
[
'data'
][
'items'
][
'refund_price'
]
+
$aftersale
[
'price'
]),
'returned_quantity'
=>
intval
(
$order
[
'data'
][
'items'
][
'returned_quantity'
]
+
$aftersale
[
'number'
]),
'upd_time'
=>
time
(),
];
if
(
!
Db
::
name
(
'OrderDetail'
)
->
where
([
'id'
=>
$aftersale
[
'order_detail_id'
]])
->
update
(
$detail_upd_data
))
{
Db
::
rollback
();
return
DataReturn
(
'订单详情更新失败'
,
-
1
);
}
// 库存回滚
if
(
$aftersale
[
'type'
]
==
1
)
{
$ret
=
BuyService
::
OrderInventoryRollback
([
'order_id'
=>
$order
[
'data'
][
'id'
],
'order_data'
=>
$upd_data
,
'appoint_order_detail_id'
=>
$aftersale
[
'order_detail_id'
],
'appoint_buy_number'
=>
$aftersale
[
'number'
]]);
$ret
=
BuyService
::
OrderInventoryRollback
([
'order_id'
=>
$order
[
'data'
][
'id'
],
'order_data'
=>
$
order_
upd_data
,
'appoint_order_detail_id'
=>
$aftersale
[
'order_detail_id'
],
'appoint_buy_number'
=>
$aftersale
[
'number'
]]);
if
(
$ret
[
'code'
]
!=
0
)
{
Db
::
rollback
();
...
...
@@ -805,21 +817,21 @@ class OrderAftersaleService
MessageService
::
MessageAdd
(
$order
[
'data'
][
'user_id'
],
'订单退款'
,
$detail
,
1
,
$order
[
'data'
][
'id'
]);
// 订单状态日志
if
(
isset
(
$upd_data
[
'status'
]))
if
(
isset
(
$
order_
upd_data
[
'status'
]))
{
$creator
=
isset
(
$params
[
'creator'
])
?
intval
(
$params
[
'creator'
])
:
0
;
$creator_name
=
isset
(
$params
[
'creator_name'
])
?
htmlentities
(
$params
[
'creator_name'
])
:
''
;
OrderService
::
OrderHistoryAdd
(
$order
[
'data'
][
'id'
],
$upd_data
[
'status'
],
$order
[
'data'
][
'status'
],
'关闭'
,
$creator
,
$creator_name
);
OrderService
::
OrderHistoryAdd
(
$order
[
'data'
][
'id'
],
$
order_
upd_data
[
'status'
],
$order
[
'data'
][
'status'
],
'关闭'
,
$creator
,
$creator_name
);
}
// 更新退款状态
$upd_data
=
[
$
aftersale_
upd_data
=
[
'status'
=>
3
,
'refundment'
=>
$params
[
'refundment'
],
'audit_time'
=>
time
(),
'upd_time'
=>
time
(),
];
if
(
!
Db
::
name
(
'OrderAftersale'
)
->
where
([
'id'
=>
$aftersale
[
'id'
]])
->
update
(
$upd_data
))
if
(
!
Db
::
name
(
'OrderAftersale'
)
->
where
([
'id'
=>
$aftersale
[
'id'
]])
->
update
(
$
aftersale_
upd_data
))
{
Db
::
rollback
();
return
DataReturn
(
'售后订单更新失败'
,
-
60
);
...
...
@@ -887,6 +899,7 @@ class OrderAftersaleService
'msg'
=>
$pay_params
[
'refund_reason'
],
'payment'
=>
$pay_log
[
'payment'
],
'payment_name'
=>
$pay_log
[
'payment_name'
],
'refundment'
=>
$params
[
'refundment'
],
'business_type'
=>
1
,
'return_params'
=>
isset
(
$ret
[
'data'
][
'return_params'
])
?
$ret
[
'data'
][
'return_params'
]
:
''
,
];
...
...
@@ -954,6 +967,7 @@ class OrderAftersaleService
'msg'
=>
$msg
,
'payment'
=>
$pay_log
[
'payment'
],
'payment_name'
=>
$pay_log
[
'payment_name'
],
'refundment'
=>
$params
[
'refundment'
],
'business_type'
=>
1
,
'return_params'
=>
''
,
];
...
...
@@ -1070,5 +1084,104 @@ class OrderAftersaleService
}
return
DataReturn
(
'删除失败'
,
-
100
);
}
/**
* 订单售后退款退货计算
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2019-05-30
* @desc description
* @param [int] $order_id [订单id]
* @param [int] $order_detail_id [订单详情id]
*/
public
static
function
OrderAftersaleCalculation
(
$order_id
,
$order_detail_id
)
{
// 可退数量/金额
$returned_quantity
=
0
;
$refund_price
=
0.00
;
// 历史退货数量/金额
$history_returned_quantity
=
0
;
$history_refund_price
=
0.00
;
// 未发生退货数量/金额
$not_returned_quantity
=
0
;
$not_refund_price
=
0.00
;
// 获取订单数据
$order
=
Db
::
name
(
'Order'
)
->
where
([
'id'
=>
$order_id
])
->
field
(
'id,status,pay_status,buy_number_count,increase_price,preferential_price,price,total_price,pay_price,refund_price,returned_quantity'
)
->
find
();
if
(
!
empty
(
$order
))
{
$dateil
=
Db
::
name
(
'OrderDetail'
)
->
where
([
'order_id'
=>
$order_id
])
->
field
(
'id,price,total_price,buy_number,refund_price,returned_quantity'
)
->
select
();
if
(
!
empty
(
$dateil
))
{
foreach
(
$dateil
as
$v
)
{
// 从订单售后中获取进行中的数据
$where
=
[
[
'order_detail_id'
,
'='
,
$v
[
'id'
]],
[
'status'
,
'<='
,
2
],
];
$aftersale
=
Db
::
name
(
'OrderAftersale'
)
->
where
(
$where
)
->
field
(
'sum(number) as number, sum(price) as price'
)
->
find
();
if
(
!
empty
(
$aftersale
[
'number'
]))
{
$v
[
'returned_quantity'
]
+=
$aftersale
[
'number'
];
}
if
(
!
empty
(
$aftersale
[
'price'
]))
{
$v
[
'refund_price'
]
+=
$aftersale
[
'price'
];
}
// 累计
$history_returned_quantity
+=
$v
[
'returned_quantity'
];
$history_refund_price
+=
$v
[
'refund_price'
];
// 当前指定详情
if
(
$v
[
'id'
]
==
$order_detail_id
)
{
$returned_quantity
=
$v
[
'buy_number'
]
-
$v
[
'returned_quantity'
];
$refund_price
=
$v
[
'price'
]
*
$returned_quantity
;
if
(
$refund_price
+
$v
[
'refund_price'
]
>
$v
[
'total_price'
])
{
$refund_price
=
$v
[
'total_price'
]
-
$v
[
'refund_price'
];
}
}
else
{
// 未发生
if
(
$v
[
'returned_quantity'
]
<=
0
&&
$v
[
'refund_price'
]
<=
0.00
)
{
$not_returned_quantity
+=
$v
[
'buy_number'
];
$not_refund_price
+=
$v
[
'total_price'
];
}
}
}
}
// 未发生售后
if
(
$not_returned_quantity
>
0
)
{
if
(
PriceNumberFormat
(
$refund_price
+
$not_refund_price
)
>
$order
[
'price'
])
{
$refund_price
-=
$not_refund_price
;
}
}
// 如果最后一件退款则加上增加的金额,减去优惠家呢
if
(
PriceNumberFormat
(
$history_refund_price
+
$refund_price
)
>=
$order
[
'price'
])
{
$refund_price
+=
$order
[
'increase_price'
];
$refund_price
-=
$order
[
'preferential_price'
];
}
// 如果退款金额大于支付金额,则支付金额减去已退款金额
$temp_price
=
PriceNumberFormat
(
$refund_price
+
$history_refund_price
);
if
(
$temp_price
>
$order
[
'pay_price'
])
{
$refund_price
=
$order
[
'pay_price'
]
-
$history_refund_price
;
}
}
return
DataReturn
(
'操作成功'
,
0
,
[
'returned_quantity'
=>
$returned_quantity
,
'refund_price'
=>
PriceNumberFormat
(
$refund_price
)]);
}
}
?>
\ No newline at end of file
application/service/OrderService.php
浏览文件 @
a495a8df
...
...
@@ -144,6 +144,7 @@ class OrderService
'order_no'
=>
$order
[
'order_no'
],
'name'
=>
'订单支付'
,
'total_price'
=>
$order
[
'total_price'
],
'client_type'
=>
$order
[
'client_type'
],
'notify_url'
=>
$url
.
'_notify.php'
,
'call_back_url'
=>
$call_back_url
,
'site_name'
=>
MyC
(
'home_site_name'
,
'ShopXO'
,
true
),
...
...
@@ -154,16 +155,19 @@ class OrderService
if
(
isset
(
$ret
[
'code'
])
&&
$ret
[
'code'
]
==
0
)
{
// 非线上支付处理
$params
[
'user'
][
'user_name_view'
]
=
'用户-'
.
$params
[
'user'
][
'user_name_view'
];
$pay_result
=
self
::
OrderPaymentUnderLine
([
'order'
=>
$order
,
'payment'
=>
$payment
[
0
],
'user'
=>
$params
[
'user'
],
'subject'
=>
$params
,
]);
if
(
$pay_result
[
'code'
]
!=
0
)
if
(
in_array
(
$payment
[
0
][
'payment'
],
config
(
'shopxo.under_line_list'
)))
{
return
$pay_result
;
$params
[
'user'
][
'user_name_view'
]
=
'用户-'
.
$params
[
'user'
][
'user_name_view'
];
$pay_result
=
self
::
OrderPaymentUnderLine
([
'order'
=>
$order
,
'payment'
=>
$payment
[
0
],
'user'
=>
$params
[
'user'
],
'subject'
=>
$params
,
]);
if
(
$pay_result
[
'code'
]
!=
0
)
{
return
$pay_result
;
}
}
// 支付信息返回
...
...
@@ -547,6 +551,10 @@ class OrderService
{
$where
[]
=
[
'pay_status'
,
'='
,
intval
(
$params
[
'pay_status'
])];
}
if
(
!
empty
(
$params
[
'client_type'
]))
{
$where
[]
=
[
'client_type'
,
'='
,
$params
[
'client_type'
]];
}
if
(
isset
(
$params
[
'status'
])
&&
$params
[
'status'
]
!=
-
1
)
{
// 多个状态,字符串以半角逗号分割
...
...
@@ -631,6 +639,7 @@ class OrderService
{
$order_status_list
=
lang
(
'common_order_user_status'
);
$order_pay_status
=
lang
(
'common_order_pay_status'
);
$common_platform_type
=
lang
(
'common_platform_type'
);
foreach
(
$data
as
&
$v
)
{
// 订单处理前钩子
...
...
@@ -647,6 +656,9 @@ class OrderService
return
$ret
;
}
// 客户端
$v
[
'client_type_name'
]
=
isset
(
$common_platform_type
[
$v
[
'client_type'
]])
?
$common_platform_type
[
$v
[
'client_type'
]][
'name'
]
:
''
;
// 状态
$v
[
'status_name'
]
=
$order_status_list
[
$v
[
'status'
]][
'name'
];
...
...
application/service/RefundLogService.php
浏览文件 @
a495a8df
...
...
@@ -37,6 +37,7 @@ class RefundLogService
* @param [string] $msg [描述]
* @param [string] $payment [支付方式标记]
* @param [string] $payment_name [支付方式名称]
* @param [int] $refundment [退款类型(0原路退回, 1退至钱包, 2手动处理)]
* @param [int] $business_type [业务类型(0默认, 1订单, 2充值, ...)]
* @param [string] $return_params [支付平台返回参数]
* @return [boolean] [成功true, 失败false]
...
...
@@ -53,6 +54,7 @@ class RefundLogService
'msg'
=>
isset
(
$params
[
'msg'
])
?
$params
[
'msg'
]
:
''
,
'payment'
=>
isset
(
$params
[
'payment'
])
?
$params
[
'payment'
]
:
''
,
'payment_name'
=>
isset
(
$params
[
'payment_name'
])
?
$params
[
'payment_name'
]
:
''
,
'refundment'
=>
isset
(
$params
[
'refundment'
])
?
intval
(
$params
[
'refundment'
])
:
0
,
'business_type'
=>
isset
(
$params
[
'business_type'
])
?
intval
(
$params
[
'business_type'
])
:
0
,
'return_params'
=>
empty
(
$params
[
'return_params'
])
?
''
:
json_encode
(
$params
[
'return_params'
],
JSON_UNESCAPED_UNICODE
),
'add_time'
=>
time
(),
...
...
@@ -97,6 +99,7 @@ class RefundLogService
{
$common_business_type_list
=
lang
(
'common_business_type_list'
);
$common_gender_list
=
lang
(
'common_gender_list'
);
$common_order_aftersale_refundment_list
=
lang
(
'common_order_aftersale_refundment_list'
);
foreach
(
$data
as
&
$v
)
{
// 业务类型
...
...
@@ -105,6 +108,9 @@ class RefundLogService
// 性别
$v
[
'gender_text'
]
=
$common_gender_list
[
$v
[
'gender'
]][
'name'
];
// 退款方式
$v
[
'refundment_text'
]
=
$common_order_aftersale_refundment_list
[
$v
[
'refundment'
]][
'name'
];
// 时间
$v
[
'add_time_time'
]
=
date
(
'Y-m-d H:i:s'
,
$v
[
'add_time'
]);
$v
[
'add_time_date'
]
=
date
(
'Y-m-d'
,
$v
[
'add_time'
]);
...
...
application/tags.php
浏览文件 @
a495a8df
...
...
@@ -49,9 +49,10 @@ return array (
'plugins_css'
=>
array
(
0
=>
'app\\plugins\\commonrightnavigation\\Hook'
,
1
=>
'app\\plugins\\share\\Hook'
,
2
=>
'app\\plugins\\footercustomerservice\\Hook'
,
3
=>
'app\\plugins\\membershiplevel\\Hook'
,
1
=>
'app\\plugins\\freightfee\\Hook'
,
2
=>
'app\\plugins\\share\\Hook'
,
3
=>
'app\\plugins\\footercustomerservice\\Hook'
,
4
=>
'app\\plugins\\membershiplevel\\Hook'
,
),
'plugins_js'
=>
array
(
...
...
@@ -116,9 +117,13 @@ return array (
),
'plugins_service_buy_handle'
=>
array
(
0
=>
'app\\plugins\\
newuserreduction
\\Hook'
,
0
=>
'app\\plugins\\
freightfee
\\Hook'
,
1
=>
'app\\plugins\\membershiplevel\\Hook'
,
),
'plugins_view_goods_detail_title'
=>
array
(
0
=>
'app\\plugins\\freightfee\\Hook'
,
),
'plugins_view_goods_detail_photo_bottom'
=>
array
(
0
=>
'app\\plugins\\share\\Hook'
,
...
...
config/shopxo.sql
浏览文件 @
a495a8df
因为 它太大了无法显示 source diff 。你可以改为
查看blob
。
extend/payment/Weixin.php
浏览文件 @
a495a8df
...
...
@@ -486,8 +486,8 @@ class Weixin
// 退款原因
$refund_reason
=
empty
(
$params
[
'refund_reason'
])
?
$params
[
'order_no'
]
.
'订单退款'
.
$params
[
'refund_price'
]
.
'元'
:
$params
[
'refund_reason'
];
// appid
$appid
=
(
APPLICATION
==
'app'
)
?
$this
->
config
[
'mini_appid'
]
:
$this
->
config
[
'
appid'
];
// appid
,默认使用公众号appid
$appid
=
(
!
isset
(
$params
[
'client_type'
])
||
in_array
(
$params
[
'client_type'
],
[
'pc'
,
'h5'
]))
?
$this
->
config
[
'appid'
]
:
$this
->
config
[
'mini_
appid'
];
// 请求参数
$data
=
[
...
...
public/static/index/default/css/order.detail.css
浏览文件 @
a495a8df
...
...
@@ -193,12 +193,11 @@ ul.progress li.current .title {
* 商品列表
*/
.order-goods
{
margin-top
:
20px
;
}
.goods-detail
img
{
width
:
80px
;
height
:
80px
;
position
:
absolute
;
}
.goods-detail
img
{
width
:
80px
;
height
:
80px
;
position
:
absolute
;
left
:
0
;
top
:
0
;
}
.goods-detail
{
position
:
relative
;
min-height
:
80px
;
}
.goods-title
{
display
:
block
;
max-height
:
36px
;
overflow
:
hidden
;
text-overflow
:
ellipsis
;
}
.goods-title
:hover
{
text-decoration
:
underline
;
}
.goods-base
{
float
:
left
;
top
:
0
;
margin-left
:
85px
;
}
.goods-attr
{
margin-top
:
5px
;
}
.goods-attr
li
{
color
:
#888
;
line-height
:
16px
;
}
.original-price
,
.line-price
{
font-family
:
Verdana
,
Tahoma
,
arial
;
}
.original-price
{
color
:
#9c9c9c
;
text-decoration
:
line-through
;
}
...
...
public/static/index/default/css/orderaftersale.aftersale.css
浏览文件 @
a495a8df
...
...
@@ -169,7 +169,7 @@ form.form-validation .number-container .am-input-group-label {
/**
* 详情信息
*/
.user-content-body
.detail
.am-u-md-6
.am-panel
,
.user-content-body
.aftersale-form-panel
{
.user-content-body
.detail
.am-u-md-6
.am-panel
{
box-shadow
:
none
;
-webkit-box-shadow
:
none
;
}
...
...
public/static/index/default/js/orderaftersale.aftersale.js
浏览文件 @
a495a8df
$
(
function
()
{
// 自动开启退货窗口
if
(
$
(
'
.orderaftersale-delivery-submit
'
).
length
>
0
)
{
if
(
$
(
'
.orderaftersale-delivery-submit
'
).
data
(
'
is-auto-delivery
'
)
==
1
)
{
$
(
'
#popup-orderaftersale-delivery
'
).
modal
(
'
open
'
);
}
}
// 表单面板
var
$form_panel
=
$
(
'
.aftersale-form-panel
'
);
...
...
public/static/index/default/js/user.js
浏览文件 @
a495a8df
...
...
@@ -43,8 +43,7 @@ $(function()
if
(
$this
.
data
(
'
verify
'
)
==
1
)
{
// 开启图片验证码窗口
var
$verify_win
=
$
(
'
#verify-win
'
);
$verify_win
.
modal
(
'
open
'
);
$
(
'
#verify-win
'
).
modal
(
'
open
'
);
$verify_img
.
trigger
(
"
click
"
);
$verify
.
focus
();
return
false
;
...
...
@@ -104,7 +103,10 @@ $(function()
$this
.
text
(
send_msg
);
}
},
1000
);
$verify_win
.
modal
(
'
close
'
);
if
(
$
(
'
#verify-win
'
).
length
>
0
)
{
$
(
'
#verify-win
'
).
modal
(
'
close
'
);
}
}
else
{
$this
.
button
(
'
reset
'
);
if
(
is_win
==
1
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录