Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
jamesyang1999
ShopXO
提交
4975d1e6
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,发现更多精彩内容 >>
提交
4975d1e6
编写于
6月 08, 2020
作者:
D
devil
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
订单售后列表优化
上级
42a00f24
变更
13
展开全部
显示空白变更内容
内联
并排
Showing
13 changed file
with
642 addition
and
501 deletion
+642
-501
application/admin/controller/Orderaftersale.php
application/admin/controller/Orderaftersale.php
+34
-48
application/admin/form/Order.php
application/admin/form/Order.php
+0
-1
application/admin/form/Orderaftersale.php
application/admin/form/Orderaftersale.php
+301
-0
application/admin/view/default/order/index.html
application/admin/view/default/order/index.html
+109
-1
application/admin/view/default/orderaftersale/detail.html
application/admin/view/default/orderaftersale/detail.html
+19
-23
application/admin/view/default/orderaftersale/index.html
application/admin/view/default/orderaftersale/index.html
+91
-390
application/admin/view/default/orderaftersale/module/info.html
...cation/admin/view/default/orderaftersale/module/info.html
+24
-0
application/admin/view/default/orderaftersale/module/operate.html
...ion/admin/view/default/orderaftersale/module/operate.html
+35
-0
application/admin/view/default/orderaftersale/module/user.html
...cation/admin/view/default/orderaftersale/module/user.html
+14
-0
application/admin/view/default/orderaftersale/module/voucher.html
...ion/admin/view/default/orderaftersale/module/voucher.html
+14
-0
application/service/OrderAftersaleService.php
application/service/OrderAftersaleService.php
+1
-1
public/static/admin/default/css/order.css
public/static/admin/default/css/order.css
+0
-9
public/static/admin/default/css/orderaftersale.css
public/static/admin/default/css/orderaftersale.css
+0
-28
未找到文件。
application/admin/controller/Orderaftersale.php
浏览文件 @
4975d1e6
...
@@ -52,47 +52,35 @@ class Orderaftersale extends Common
...
@@ -52,47 +52,35 @@ class Orderaftersale extends Common
*/
*/
public
function
Index
()
public
function
Index
()
{
{
// 参数
// 总数
$params
=
input
();
$total
=
OrderAftersaleService
::
OrderAftersaleTotal
(
$this
->
form_where
);
$params
[
'user_type'
]
=
'admin'
;
// 分页
$number
=
MyC
(
'admin_page_number'
,
10
,
true
);
// 条件
$where
=
OrderAftersaleService
::
OrderAftersaleListWhere
(
$params
);
// 获取总数
$total
=
OrderAftersaleService
::
OrderAftersaleTotal
(
$where
);
// 分页
// 分页
$page_params
=
array
(
$page_params
=
array
(
'number'
=>
$
number
,
'number'
=>
$
this
->
page_size
,
'total'
=>
$total
,
'total'
=>
$total
,
'where'
=>
$
params
,
'where'
=>
$
this
->
data_request
,
'page'
=>
isset
(
$params
[
'page'
])
?
intval
(
$params
[
'page'
])
:
1
,
'page'
=>
$this
->
page
,
'url'
=>
MyUrl
(
'admin/orderaftersale/index'
),
'url'
=>
MyUrl
(
'admin/orderaftersale/index'
),
);
);
$page
=
new
\
base\Page
(
$page_params
);
$page
=
new
\
base\Page
(
$page_params
);
$this
->
assign
(
'page_html'
,
$page
->
GetPageHtml
());
// 获取列表
// 获取数据列表
$data_params
=
array
(
$data_params
=
[
'where'
=>
$this
->
form_where
,
'm'
=>
$page
->
GetPageStarNumber
(),
'm'
=>
$page
->
GetPageStarNumber
(),
'n'
=>
$number
,
'n'
=>
$this
->
page_size
,
'where'
=>
$where
,
'is_public'
=>
0
,
'is_public'
=>
0
,
);
];
$data
=
OrderAftersaleService
::
OrderAftersaleList
(
$data_params
);
$ret
=
OrderAftersaleService
::
OrderAftersaleList
(
$data_params
);
$this
->
assign
(
'data_list'
,
$data
[
'data'
]);
// 静态数据
// 静态数据
$this
->
assign
(
'common_order_aftersale_type_list'
,
lang
(
'common_order_aftersale_type_list'
));
$this
->
assign
(
'common_order_aftersale_status_list'
,
lang
(
'common_order_aftersale_status_list'
));
$this
->
assign
(
'common_order_aftersale_refundment_list'
,
lang
(
'common_order_aftersale_refundment_list'
));
$this
->
assign
(
'common_order_aftersale_refundment_list'
,
lang
(
'common_order_aftersale_refundment_list'
));
// 参数
// 参数
$this
->
assign
(
'params'
,
$params
);
$this
->
assign
(
'params'
,
$this
->
data_request
);
$this
->
assign
(
'page_html'
,
$page
->
GetPageHtml
());
$this
->
assign
(
'data_list'
,
$ret
[
'data'
]);
return
$this
->
fetch
();
return
$this
->
fetch
();
}
}
...
@@ -105,12 +93,12 @@ class Orderaftersale extends Common
...
@@ -105,12 +93,12 @@ class Orderaftersale extends Common
*/
*/
public
function
Detail
()
public
function
Detail
()
{
{
// 参数
if
(
!
empty
(
$this
->
data_request
[
'id'
]))
$params
=
input
();
{
$params
[
'user_type'
]
=
'admin'
;
// 条件
// 条件
$where
=
OrderAftersaleService
::
OrderAftersaleListWhere
(
$params
);
$where
=
[
[
'id'
,
'='
,
intval
(
$this
->
data_request
[
'id'
])],
];
// 获取列表
// 获取列表
$data_params
=
array
(
$data_params
=
array
(
...
@@ -122,9 +110,7 @@ class Orderaftersale extends Common
...
@@ -122,9 +110,7 @@ class Orderaftersale extends Common
$ret
=
OrderAftersaleService
::
OrderAftersaleList
(
$data_params
);
$ret
=
OrderAftersaleService
::
OrderAftersaleList
(
$data_params
);
$data
=
(
empty
(
$ret
[
'data'
])
||
empty
(
$ret
[
'data'
][
0
]))
?
[]
:
$ret
[
'data'
][
0
];
$data
=
(
empty
(
$ret
[
'data'
])
||
empty
(
$ret
[
'data'
][
0
]))
?
[]
:
$ret
[
'data'
][
0
];
$this
->
assign
(
'data'
,
$data
);
$this
->
assign
(
'data'
,
$data
);
}
// 参数
$this
->
assign
(
'params'
,
$params
);
return
$this
->
fetch
();
return
$this
->
fetch
();
}
}
...
...
application/admin/form/Order.php
浏览文件 @
4975d1e6
...
@@ -44,7 +44,6 @@ class Order
...
@@ -44,7 +44,6 @@ class Order
// 基础配置
// 基础配置
'base'
=>
[
'base'
=>
[
'key_field'
=>
'id'
,
'key_field'
=>
'id'
,
'status_field'
=>
'is_shelves'
,
'is_search'
=>
1
,
'is_search'
=>
1
,
'search_url'
=>
MyUrl
(
'admin/order/index'
),
'search_url'
=>
MyUrl
(
'admin/order/index'
),
],
],
...
...
application/admin/form/Orderaftersale.php
0 → 100644
浏览文件 @
4975d1e6
<?php
// +----------------------------------------------------------------------
// | ShopXO 国内领先企业级B2C免费开源电商系统
// +----------------------------------------------------------------------
// | Copyright (c) 2011~2019 http://shopxo.net All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
// +----------------------------------------------------------------------
// | Author: Devil
// +----------------------------------------------------------------------
namespace
app\admin\form
;
use
think\Db
;
/**
* 订单售后动态表格
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2020-06-08
* @desc description
*/
class
Orderaftersale
{
// 基础条件
public
$condition_base
=
[];
/**
* 入口
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2020-06-08
* @desc description
* @param [array] $params [输入参数]
*/
public
function
Run
(
$params
=
[])
{
return
[
// 基础配置
'base'
=>
[
'key_field'
=>
'id'
,
'is_search'
=>
1
,
'search_url'
=>
MyUrl
(
'admin/orderaftersale/index'
),
],
// 表单配置
'form'
=>
[
[
'label'
=>
'订单号'
,
'view_type'
=>
'field'
,
'view_key'
=>
'order_no'
,
'width'
=>
170
,
'search_config'
=>
[
'form_type'
=>
'input'
,
'where_type'
=>
'='
,
],
],
[
'label'
=>
'基础信息'
,
'view_type'
=>
'module'
,
'view_key'
=>
'orderaftersale/module/info'
,
'grid_size'
=>
'lg'
,
'search_config'
=>
[
'form_type'
=>
'input'
,
'form_name'
=>
'id'
,
'where_type'
=>
'like'
,
'where_type_custom'
=>
'in'
,
'where_handle_custom'
=>
'WhereValueBaseInfo'
,
'placeholder'
=>
'请输入商品名称/型号'
,
],
],
[
'label'
=>
'用户信息'
,
'view_type'
=>
'module'
,
'view_key'
=>
'orderaftersale/module/user'
,
'grid_size'
=>
'sm'
,
'search_config'
=>
[
'form_type'
=>
'input'
,
'form_name'
=>
'user_id'
,
'where_type'
=>
'like'
,
'where_type_custom'
=>
'in'
,
'where_handle_custom'
=>
'WhereValueUserInfo'
,
'placeholder'
=>
'请输入用户名/昵称/手机/邮箱'
,
],
],
[
'label'
=>
'状态'
,
'view_type'
=>
'field'
,
'view_key'
=>
'status_text'
,
'width'
=>
120
,
'search_config'
=>
[
'form_type'
=>
'select'
,
'form_name'
=>
'status'
,
'where_type'
=>
'in'
,
'data'
=>
lang
(
'common_order_aftersale_status_list'
),
'data_key'
=>
'value'
,
'data_name'
=>
'name'
,
'is_multiple'
=>
1
,
],
],
[
'label'
=>
'申请类型'
,
'view_type'
=>
'field'
,
'view_key'
=>
'type_text'
,
'width'
=>
120
,
'search_config'
=>
[
'form_type'
=>
'select'
,
'form_name'
=>
'type'
,
'where_type'
=>
'in'
,
'data'
=>
lang
(
'common_order_aftersale_type_list'
),
'data_key'
=>
'value'
,
'data_name'
=>
'name'
,
'is_multiple'
=>
1
,
],
],
[
'label'
=>
'原因'
,
'view_type'
=>
'field'
,
'view_key'
=>
'reason'
,
'search_config'
=>
[
'form_type'
=>
'input'
,
'where_type'
=>
'like'
,
],
],
[
'label'
=>
'退款金额(元)'
,
'view_type'
=>
'field'
,
'view_key'
=>
'price'
,
'search_config'
=>
[
'form_type'
=>
'section'
,
'is_point'
=>
1
,
],
],
[
'label'
=>
'退货数量'
,
'view_type'
=>
'field'
,
'view_key'
=>
'number'
,
'search_config'
=>
[
'form_type'
=>
'section'
,
],
],
[
'label'
=>
'退款说明'
,
'view_type'
=>
'field'
,
'view_key'
=>
'msg'
,
'search_config'
=>
[
'form_type'
=>
'input'
,
'where_type'
=>
'like'
,
],
],
[
'label'
=>
'退款类型'
,
'view_type'
=>
'field'
,
'view_key'
=>
'refundment_text'
,
'width'
=>
120
,
'search_config'
=>
[
'form_type'
=>
'select'
,
'form_name'
=>
'refundment'
,
'where_type'
=>
'in'
,
'data'
=>
lang
(
'common_order_aftersale_refundment_list'
),
'data_key'
=>
'value'
,
'data_name'
=>
'name'
,
'is_multiple'
=>
1
,
],
],
[
'label'
=>
'凭证'
,
'view_type'
=>
'module'
,
'view_key'
=>
'orderaftersale/module/voucher'
,
'width'
=>
140
,
],
[
'label'
=>
'快递公司'
,
'view_type'
=>
'field'
,
'view_key'
=>
'express_name'
,
'search_config'
=>
[
'form_type'
=>
'input'
,
'where_type'
=>
'like'
,
],
],
[
'label'
=>
'快递单号'
,
'view_type'
=>
'field'
,
'view_key'
=>
'express_number'
,
'search_config'
=>
[
'form_type'
=>
'input'
,
'where_type'
=>
'like'
,
],
],
[
'label'
=>
'申请时间'
,
'view_type'
=>
'field'
,
'view_key'
=>
'apply_time_time'
,
'search_config'
=>
[
'form_type'
=>
'datetime'
,
'form_name'
=>
'apply_time'
,
],
],
[
'label'
=>
'确认时间'
,
'view_type'
=>
'field'
,
'view_key'
=>
'confirm_time_time'
,
'search_config'
=>
[
'form_type'
=>
'datetime'
,
'form_name'
=>
'confirm_time'
,
],
],
[
'label'
=>
'退货时间'
,
'view_type'
=>
'field'
,
'view_key'
=>
'delivery_time_time'
,
'search_config'
=>
[
'form_type'
=>
'datetime'
,
'form_name'
=>
'delivery_time'
,
],
],
[
'label'
=>
'审核时间'
,
'view_type'
=>
'field'
,
'view_key'
=>
'audit_time_time'
,
'search_config'
=>
[
'form_type'
=>
'datetime'
,
'form_name'
=>
'audit_time'
,
],
],
[
'label'
=>
'创建时间'
,
'view_type'
=>
'field'
,
'view_key'
=>
'add_time_time'
,
'search_config'
=>
[
'form_type'
=>
'datetime'
,
'form_name'
=>
'add_time'
,
],
],
[
'label'
=>
'更新时间'
,
'view_type'
=>
'field'
,
'view_key'
=>
'upd_time_time'
,
'search_config'
=>
[
'form_type'
=>
'datetime'
,
'form_name'
=>
'upd_time'
,
],
],
[
'label'
=>
'操作'
,
'view_type'
=>
'operate'
,
'view_key'
=>
'orderaftersale/module/operate'
,
'align'
=>
'center'
,
'fixed'
=>
'right'
,
],
],
];
}
/**
* 用户信息条件处理
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2020-06-08
* @desc description
* @param [string] $value [条件值]
* @param [array] $params [输入参数]
*/
public
function
WhereValueUserInfo
(
$value
,
$params
=
[])
{
if
(
!
empty
(
$value
))
{
// 获取用户 id
$ids
=
Db
::
name
(
'User'
)
->
where
(
'username|nickname|mobile|email'
,
'like'
,
'%'
.
$value
.
'%'
)
->
column
(
'id'
);
// 避免空条件造成无效的错觉
return
empty
(
$ids
)
?
[
0
]
:
$ids
;
}
return
$value
;
}
/**
* 基础信息条件处理
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2020-06-08
* @desc description
* @param [string] $value [条件值]
* @param [array] $params [输入参数]
*/
public
function
WhereValueBaseInfo
(
$value
,
$params
=
[])
{
if
(
!
empty
(
$value
))
{
// 获取订单详情搜索的订单售后 id
$ids
=
Db
::
name
(
'OrderAftersale'
)
->
alias
(
'oa'
)
->
join
([
'__ORDER_DETAIL__'
=>
'od'
],
'oa.order_detail_id=od.id'
)
->
where
(
'title|model'
,
'like'
,
'%'
.
$value
.
'%'
)
->
column
(
'oa.id'
);
// 避免空条件造成无效的错觉
return
empty
(
$ids
)
?
[
0
]
:
$ids
;
}
return
$value
;
}
}
?>
\ No newline at end of file
application/admin/view/default/order/index.html
浏览文件 @
4975d1e6
<!-- 继承公共的 form -->
<!-- 继承公共的 form -->
{{extend name="public/module/form" /}}
{{extend name="public/module/form" /}}
<!-- 扩展 -->
{{block name="form_extend"}}
<!-- 取货弹窗 -->
<div
class=
"am-modal am-modal-no-btn"
tabindex=
"-1"
id=
"order-take-modal"
>
<div
class=
"am-modal-dialog"
>
<div
class=
"am-modal-hd"
>
<a
href=
"javascript: void(0)"
class=
"am-close am-close-spin"
data-am-modal-close
>
×
</a>
</div>
<div
class=
"am-modal-bd"
>
<form
class=
"am-form form-validation-take take-form"
method=
"post"
action=
"{{:MyUrl('admin/order/delivery')}}"
request-type=
"ajax-reload"
>
<div
class=
"am-form-group am-form-group-refreshing am-margin-bottom-0"
>
<label>
取货码
</label>
<input
type=
"text"
autocomplete=
"off"
name=
"extraction_code"
placeholder=
"取货码"
minlength=
"4"
maxlength=
"4"
data-validation-message=
"请填写4位数取货码"
class=
"am-radius"
required
/>
</div>
<div
class=
"am-form-group am-form-group-refreshing"
>
<input
type=
"hidden"
name=
"id"
value=
"0"
/>
<input
type=
"hidden"
name=
"user_id"
value=
"0"
/>
<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>
</div>
<!-- 发货弹窗 -->
<div
class=
"am-popup"
id=
"order-delivery-popup"
>
<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-delivery delivery-form"
method=
"post"
action=
"{{:MyUrl('admin/order/delivery')}}"
request-type=
"ajax-reload"
>
<div
class=
"business-item"
>
{{if !empty($express_list)}}
<ul
class=
"express-list"
data-type=
"express"
>
{{foreach $express_list as $express}}
{{if $express.is_enable eq 1}}
<li
class=
"express-items-{{$express.id}}"
data-value=
"{{$express.id}}"
>
{{if !empty($express.icon)}}
<img
src=
"{{$express.icon}}"
/>
{{/if}}
<span>
{{$express.name}}
</span>
<i
class=
"icon-active"
></i>
</li>
{{/if}}
{{/foreach}}
</ul>
{{/if}}
{{if empty($express_list)}}
<div
class=
"table-no"
><i
class=
"am-icon-warning"
></i>
没有快递方式
</div>
{{/if}}
</div>
<div
class=
"am-margin-top-sm"
>
<label>
快递单号
</label>
<input
type=
"text"
autocomplete=
"off"
name=
"express_number"
placeholder=
"快递单号"
minlength=
"1"
data-validation-message=
"请填写快递单号"
class=
"am-radius"
required
/>
</div>
<div
class=
"am-margin-top-lg"
>
<input
type=
"hidden"
name=
"id"
value=
"0"
/>
<input
type=
"hidden"
name=
"express_id"
value=
"0"
/>
<input
type=
"hidden"
name=
"user_id"
value=
"0"
/>
<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>
</div>
<!-- 支付弹窗 -->
<div
class=
"am-popup"
id=
"order-pay-popup"
>
<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-pay pay-form"
action=
"{{:MyUrl('admin/order/pay')}}"
method=
"POST"
request-type=
"ajax-reload"
>
<div
class=
"business-item"
>
{{if !empty($buy_payment_list)}}
<ul
class=
"payment-list"
data-type=
"payment"
>
{{foreach $buy_payment_list as $payment}}
<li
class=
"payment-items-{{$payment.id}}"
data-value=
"{{$payment.id}}"
>
{{if !empty($payment.logo)}}
<img
src=
"{{$payment.logo}}"
/>
{{/if}}
<span>
{{$payment.name}}
</span>
<i
class=
"icon-active"
></i>
</li>
{{/foreach}}
</ul>
{{/if}}
{{if empty($buy_payment_list)}}
<div
class=
"table-no"
><i
class=
"am-icon-warning"
></i>
没有支付方式
</div>
{{/if}}
</div>
<div
class=
"am-margin-top-sm"
>
<input
type=
"hidden"
name=
"id"
value=
"0"
/>
<input
type=
"hidden"
name=
"payment_id"
value=
"0"
/>
<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>
</div>
{{/block}}
\ No newline at end of file
application/admin/view/default/orderaftersale/detail.html
浏览文件 @
4975d1e6
{{include file="public/header" /}}
<!-- 继承公共的 detail -->
{{extend name="public/module/detail" /}}
<!--
content start
-->
<!--
详情内容
-->
<div
class=
"am-padding-sm"
>
{{if !empty($data)}}
{{
if !empty($data)
}}
{{
block name="detail_data"
}}
<dl
class=
"dl-content"
>
<dl
class=
"dl-content"
>
<dt>
商品信息
</dt>
<dt>
商品信息
</dt>
<dd>
<dd>
<div
class=
"
goods-detail
"
>
<div
class=
"
am-nbfc
"
>
<a
href=
"{{$data.order_data.items.goods_url}}"
target=
"_blank"
>
<a
href=
"{{$data.order_data.items.goods_url}}"
target=
"_blank"
>
<img
src=
"{{$data.order_data.items.images}}"
class=
"am-img-thumbnail am-radius"
/>
<img
src=
"{{$data.order_data.items.images}}"
class=
"am-img-thumbnail am-radius
am-margin-right-xs am-fl"
width=
"60"
height=
"60
"
/>
</a>
</a>
<div
class=
"
goods-base
"
>
<div
class=
"
am-nbfc
"
>
<a
href=
"{{$data.order_data.items.goods_url}}"
target=
"_blank"
class=
"am-nowrap-initial
am-text-truncate-2 goods-title
"
>
{{$data.order_data.items.title}}
</a>
<a
href=
"{{$data.order_data.items.goods_url}}"
target=
"_blank"
class=
"am-nowrap-initial"
>
{{$data.order_data.items.title}}
</a>
{{if !empty($data.order_data.items.spec)}}
{{if !empty($data.order_data.items.spec)}}
<ul
class=
"goods-spec am-margin-top-xs"
>
<ul
class=
"goods-spec am-margin-top-xs"
>
{{foreach $data.order_data.items.spec as $spec}}
{{foreach $data.order_data.items.spec as $spec}}
...
@@ -21,16 +22,18 @@
...
@@ -21,16 +22,18 @@
{{/if}}
{{/if}}
</div>
</div>
</div>
</div>
<div
class=
"am-text-right"
>
{{if $data.order_data.items.original_price gt 0}}
{{if $data.order_data.items.original_price gt 0}}
<p
class=
"original-price"
>
{{$price_symbol}}{{$data.order_data.items.original_price}}
</p
>
<span
class=
"original-price am-margin-right-xs"
>
{{$price_symbol}}{{$data.order_data.items.original_price}}
</span
>
{{/if}}
{{/if}}
<p
class=
"line-price"
>
{{$price_symbol}}{{$data.order_data.items.price}} x {{$data.order_data.items.buy_number}}
</p>
<strong>
{{$price_symbol}}{{$data.order_data.items.price}} x {{$data.order_data.items.buy_number}}
</strong>
</div>
</dd>
</dd>
<dt>
用户信息
</dt>
<dt>
用户信息
</dt>
<dd
class=
"user-info"
>
<dd
class=
"user-info"
>
{{if !empty($data['user'])}}
{{if !empty($data['user'])}}
<img
src=
"{{$data.user.avatar}}"
alt=
"{{$data.user.user_name_view}}"
class=
"am-img-thumbnail am-radius am-align-left"
/>
<img
src=
"{{$data.user.avatar}}"
alt=
"{{$data.user.user_name_view}}"
class=
"am-img-thumbnail am-radius am-align-left
am-margin-right-xs am-margin-bottom-0 am-fl"
width=
"35"
height=
"35
"
/>
<ul
class=
"user-base"
>
<ul
class=
"user-base"
>
<li>
名称:{{if empty($data['user']['username'])}}
<span
class=
"cr-ccc"
>
未填写
</span>
{{else /}}{{$data.user.username}}{{/if}}
</li>
<li>
名称:{{if empty($data['user']['username'])}}
<span
class=
"cr-ccc"
>
未填写
</span>
{{else /}}{{$data.user.username}}{{/if}}
</li>
<li>
昵称:{{if empty($data['user']['nickname'])}}
<span
class=
"cr-ccc"
>
未填写
</span>
{{else /}}{{$data.user.nickname}}{{/if}}
</li>
<li>
昵称:{{if empty($data['user']['nickname'])}}
<span
class=
"cr-ccc"
>
未填写
</span>
{{else /}}{{$data.user.nickname}}{{/if}}
</li>
...
@@ -97,18 +100,11 @@
...
@@ -97,18 +100,11 @@
<dt>
取消时间
</dt>
<dt>
取消时间
</dt>
<dd>
{{$data.cancel_time_time}}
</dd>
<dd>
{{$data.cancel_time_time}}
</dd>
<dt>
添加
时间
</dt>
<dt>
创建
时间
</dt>
<dd>
{{$data.add_time_time}}
</dd>
<dd>
{{$data.add_time_time}}
</dd>
<dt>
更新时间
</dt>
<dt>
更新时间
</dt>
<dd>
{{$data.upd_time_time}}
</dd>
<dd>
{{$data.upd_time_time}}
</dd>
</dl>
</dl>
{{else /}}
{{/block}}
<div
class=
"table-no"
><i
class=
"am-icon-warning"
></i>
没有相关数据
</div>
{{/if}}
{{/if}}
\ No newline at end of file
</div>
<!-- content end -->
<!-- footer start -->
{{include file="public/footer" /}}
<!-- footer end -->
\ No newline at end of file
application/admin/view/default/orderaftersale/index.html
浏览文件 @
4975d1e6
此差异已折叠。
点击以展开。
application/admin/view/default/orderaftersale/module/info.html
0 → 100644
浏览文件 @
4975d1e6
<!-- 订单基础信息 -->
{{if !empty($module_data) and !empty($module_data['order_data'])}}
<div
class=
"am-nbfc"
>
<a
href=
"{{$module_data.order_data.items.goods_url}}"
target=
"_blank"
>
<img
src=
"{{$module_data.order_data.items.images}}"
class=
"am-img-thumbnail am-radius am-margin-right-xs am-fl"
width=
"60"
height=
"60"
/>
</a>
<div
class=
"am-nbfc"
>
<a
href=
"{{$module_data.order_data.items.goods_url}}"
target=
"_blank"
class=
"am-nowrap-initial"
>
{{$module_data.order_data.items.title}}
</a>
{{if !empty($module_data.order_data.items.spec)}}
<ul
class=
"goods-spec am-margin-top-xs"
>
{{foreach $module_data.order_data.items.spec as $spec}}
<li>
{{$spec.type}}:{{$spec.value}}
</li>
{{/foreach}}
</ul>
{{/if}}
</div>
</div>
<div
class=
"am-text-right"
>
{{if $module_data.order_data.items.original_price gt 0}}
<span
class=
"original-price am-margin-right-xs"
>
{{$price_symbol}}{{$module_data.order_data.items.original_price}}
</span>
{{/if}}
<strong>
{{$price_symbol}}{{$module_data.order_data.items.price}} x {{$module_data.order_data.items.buy_number}}
</strong>
</div>
{{/if}}
\ No newline at end of file
application/admin/view/default/orderaftersale/module/operate.html
0 → 100644
浏览文件 @
4975d1e6
<!-- 操作栏 -->
<button
type=
"button"
class=
"am-btn am-btn-default am-btn-xs am-radius am-btn-block submit-popup"
data-url=
"{{:MyUrl('admin/orderaftersale/detail', ['id'=>$module_data['id']])}}"
>
<i
class=
"am-icon-eye"
></i>
<span>
详情
</span>
</button>
{{if $module_data['status'] eq 0 and $module_data['type'] eq 1}}
<button
type=
"button"
type=
"button"
class=
"am-btn am-btn-secondary am-btn-xs am-radius am-btn-block submit-ajax"
data-url=
"{{:MyUrl('admin/orderaftersale/confirm')}}"
data-id=
"{{$module_data.id}}"
data-view=
"reload"
>
<i
class=
"am-icon-check"
></i>
<span>
确认
</span>
</button>
{{/if}}
{{if $module_data['status'] eq 2}}
<button
type=
"button"
type=
"button"
class=
"am-btn am-btn-secondary am-btn-xs am-radius am-btn-block submit-audit"
data-json=
'{{:str_replace("'
",
'',
json_encode
($
module_data
))}}'
>
<i
class=
"am-icon-gavel"
></i>
<span>
审核
</span>
</button>
{{/if}}
{{if in_array($module_data['status'], [0,2])}}
<button
type=
"button"
type=
"button"
class=
"am-btn am-btn-danger am-btn-xs am-radius am-btn-block submit-refuse"
data-json=
'{{:str_replace("'
",
'',
json_encode
($
module_data
))}}'
>
<i
class=
"am-icon-warning"
></i>
<span>
拒绝
</span>
</button>
{{/if}}
{{if in_array($module_data['status'], [1,2])}}
<button
type=
"button"
type=
"button"
class=
"am-btn am-btn-warning am-btn-xs am-radius am-btn-block submit-ajax submit-cancel"
data-url=
"{{:MyUrl('admin/orderaftersale/cancel')}}"
data-id=
"{{$module_data.id}}"
data-view=
"reload"
>
<i
class=
"am-icon-paint-brush"
></i>
<span>
取消
</span>
</button>
{{/if}}
{{if in_array($module_data['status'], [4,5])}}
<button
type=
"button"
class=
"am-btn am-btn-danger am-btn-xs am-radius am-btn-block submit-delete"
data-url=
"{{:MyUrl('admin/orderaftersale/delete')}}"
data-id=
"{{$module_data.id}}"
>
<i
class=
"am-icon-trash-o"
></i>
<span>
删除
</span>
</button>
{{/if}}
\ No newline at end of file
application/admin/view/default/orderaftersale/module/user.html
0 → 100644
浏览文件 @
4975d1e6
<!-- 用户信息 -->
{{if !empty($module_data)}}
{{if !empty($module_data['user'])}}
<img
src=
"{{$module_data.user.avatar}}"
alt=
"{{$module_data.user.user_name_view}}"
class=
"am-img-thumbnail am-radius am-align-left am-margin-right-xs am-margin-bottom-0"
width=
"35"
height=
"35"
/>
<ul
class=
"user-base"
>
<li>
名称:{{if empty($module_data['user']['username'])}}
<span
class=
"cr-ccc"
>
未填写
</span>
{{else /}}{{$module_data.user.username}}{{/if}}
</li>
<li>
昵称:{{if empty($module_data['user']['nickname'])}}
<span
class=
"cr-ccc"
>
未填写
</span>
{{else /}}{{$module_data.user.nickname}}{{/if}}
</li>
<li>
手机:{{if empty($module_data['user']['mobile'])}}
<span
class=
"cr-ccc"
>
未填写
</span>
{{else /}}{{$module_data.user.mobile}}{{/if}}
</li>
<li>
邮箱:{{if empty($module_data['user']['email'])}}
<span
class=
"cr-ccc"
>
未填写
</span>
{{else /}}{{$module_data.user.email}}{{/if}}
</li>
</ul>
{{else /}}
用户信息异常
{{/if}}
{{/if}}
\ No newline at end of file
application/admin/view/default/orderaftersale/module/voucher.html
0 → 100644
浏览文件 @
4975d1e6
<!-- 凭证 -->
{{if !empty($module_data) and !empty($module_data['images'])}}
<div
data-am-widget=
"slider"
class=
"am-slider am-slider-a1"
data-am-slider=
'{"directionNav":false, slideshow:false}'
>
<ul
class=
"am-slides"
>
{{foreach $module_data.images as $img}}
<li>
<a
href=
"{{$img}}"
target=
"_blank"
>
<img
src=
"{{$img}}"
/>
</a>
</li>
{{/foreach}}
</ul>
</div>
{{/if}}
\ No newline at end of file
application/service/OrderAftersaleService.php
浏览文件 @
4975d1e6
...
@@ -415,7 +415,7 @@ class OrderAftersaleService
...
@@ -415,7 +415,7 @@ class OrderAftersaleService
$v
[
'status_text'
]
=
array_key_exists
(
$v
[
'status'
],
$status_list
)
?
$status_list
[
$v
[
'status'
]][
'name'
]
:
''
;
$v
[
'status_text'
]
=
array_key_exists
(
$v
[
'status'
],
$status_list
)
?
$status_list
[
$v
[
'status'
]][
'name'
]
:
''
;
// 退款方式
// 退款方式
$v
[
'refundment_text'
]
=
array_key_exists
(
$v
[
'refundment'
],
$refundment_list
)
?
$refundment_list
[
$v
[
'refundment'
]][
'name'
]
:
''
;
$v
[
'refundment_text'
]
=
(
$v
[
'status'
]
==
3
&&
array_key_exists
(
$v
[
'refundment'
],
$refundment_list
)
)
?
$refundment_list
[
$v
[
'refundment'
]][
'name'
]
:
''
;
// 图片
// 图片
if
(
!
empty
(
$v
[
'images'
]))
if
(
!
empty
(
$v
[
'images'
]))
...
...
public/static/admin/default/css/order.css
浏览文件 @
4975d1e6
...
@@ -17,15 +17,6 @@
...
@@ -17,15 +17,6 @@
.business-item
ul
li
:nth-child
(
2
n
)
{
margin-right
:
0
;
}
.business-item
ul
li
:nth-child
(
2
n
)
{
margin-right
:
0
;
}
}
}
/**
* 用户信息
*/
.user-info
img
{
max-width
:
35px
;
max-height
:
35px
;
margin
:
0
5px
2px
0
;
}
/**
/**
* 虚拟销售-密钥信息
* 虚拟销售-密钥信息
*/
*/
...
...
public/static/admin/default/css/orderaftersale.css
浏览文件 @
4975d1e6
/**
/**
* 商品列表
* 商品列表
*/
*/
.goods-detail
img
{
width
:
60px
;
height
:
60px
;
position
:
absolute
;
left
:
0
;
}
.goods-detail
{
position
:
relative
;
min-height
:
65px
;
overflow
:
hidden
;
}
.goods-title
{
max-height
:
36px
;
height
:
auto
;
}
.goods-base
{
float
:
left
;
top
:
0
;
margin-left
:
65px
;
}
.goods-spec
li
{
color
:
#888
;
line-height
:
16px
;
}
.goods-spec
li
{
color
:
#888
;
line-height
:
16px
;
}
.original-price
{
color
:
#9c9c9c
;
text-decoration
:
line-through
;
}
.original-price
{
color
:
#9c9c9c
;
text-decoration
:
line-through
;
}
/**
* 用户信息
*/
.user-info
img
{
max-width
:
35px
;
max-height
:
35px
;
margin
:
0
5px
2px
0
;
}
/**
/**
* 列表
* 列表
*/
*/
@media
only
screen
and
(
min-width
:
640px
)
{
table
.am-table
tr
.row-goods
{
width
:
25%
;
}
table
.am-table
tr
.row-user-info
{
width
:
15%
;
}
table
.am-table
tr
.row-apply
{
width
:
25%
;
}
table
.am-table
tr
.row-more
{
width
:
80px
;
}
table
.am-table
tr
.row-operation
{
width
:
85px
;
}
}
@media
only
screen
and
(
max-width
:
640px
)
{
table
.am-table
tr
.row-apply
{
width
:
50%
;
}
table
.am-table
tr
.row-operation
,
table
.am-table
tr
.row-more
{
width
:
75px
;
}
}
table
.am-table
.am-slider
{
table
.am-table
.am-slider
{
width
:
100px
;
max-height
:
108px
;
overflow
:
hidden
;
box-shadow
:
none
;
box-shadow
:
none
;
-webkit-box-shadow
:
none
;
-webkit-box-shadow
:
none
;
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录