用户端数据列表优化
parent
f3702ee13e
commit
dd67de65b1
|
|
@ -143,6 +143,7 @@ class Orderaftersale
|
|||
'label' => '退款说明',
|
||||
'view_type' => 'field',
|
||||
'view_key' => 'msg',
|
||||
'grid_size' => 'sm',
|
||||
'search_config' => [
|
||||
'form_type' => 'input',
|
||||
'where_type' => 'like',
|
||||
|
|
|
|||
|
|
@ -1,14 +0,0 @@
|
|||
<!-- 用户信息 -->
|
||||
{{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}}
|
||||
|
|
@ -39,7 +39,7 @@ class Orderaftersale extends Common
|
|||
}
|
||||
|
||||
/**
|
||||
* 订单列表
|
||||
* 列表
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 1.0.0
|
||||
|
|
@ -48,67 +48,51 @@ class Orderaftersale extends Common
|
|||
*/
|
||||
public function Index()
|
||||
{
|
||||
// 参数
|
||||
$params = input();
|
||||
$params['user'] = $this->user;
|
||||
$params['user_type'] = 'user';
|
||||
// 总数
|
||||
$total = OrderAftersaleService::OrderAftersaleTotal($this->form_where);
|
||||
|
||||
// 分页
|
||||
$number = 10;
|
||||
|
||||
// 条件
|
||||
$where = OrderAftersaleService::OrderAftersaleListWhere($params);
|
||||
|
||||
// 获取总数
|
||||
$total = OrderAftersaleService::OrderAftersaleTotal($where);
|
||||
|
||||
// 分页
|
||||
$page_params = array(
|
||||
'number' => $number,
|
||||
'total' => $total,
|
||||
'where' => $params,
|
||||
'page' => isset($params['page']) ? intval($params['page']) : 1,
|
||||
'url' => MyUrl('index/orderaftersale/index'),
|
||||
);
|
||||
$page_params = [
|
||||
'number' => $this->page_size,
|
||||
'total' => $total,
|
||||
'where' => $this->data_request,
|
||||
'page' => $this->page,
|
||||
'url' => MyUrl('index/orderaftersale/index'),
|
||||
];
|
||||
$page = new \base\Page($page_params);
|
||||
$this->assign('page_html', $page->GetPageHtml());
|
||||
|
||||
// 获取列表
|
||||
$data_params = array(
|
||||
'm' => $page->GetPageStarNumber(),
|
||||
'n' => $number,
|
||||
'where' => $where,
|
||||
);
|
||||
$data = 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'));
|
||||
// 获取数据列表
|
||||
$data_params = [
|
||||
'where' => $this->form_where,
|
||||
'm' => $page->GetPageStarNumber(),
|
||||
'n' => $this->page_size,
|
||||
'is_public' => 0,
|
||||
];
|
||||
$ret = OrderAftersaleService::OrderAftersaleList($data_params);
|
||||
|
||||
// 浏览器名称
|
||||
$this->assign('home_seo_site_title', SeoService::BrowserSeoTitle('订单售后', 1));
|
||||
|
||||
// 参数
|
||||
$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();
|
||||
}
|
||||
|
||||
/**
|
||||
* 售后页面
|
||||
* 详情
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 1.0.0
|
||||
* @date 2019-05-21
|
||||
* @desc description
|
||||
*/
|
||||
public function Aftersale()
|
||||
public function Detail()
|
||||
{
|
||||
// 参数
|
||||
$params = input();
|
||||
$order_id = isset($params['oid']) ? intval($params['oid']) : 0;
|
||||
$order_detail_id = isset($params['did']) ? intval($params['did']) : 0;
|
||||
$order_id = isset($this->data_request['oid']) ? intval($this->data_request['oid']) : 0;
|
||||
$order_detail_id = isset($this->data_request['did']) ? intval($this->data_request['did']) : 0;
|
||||
$ret = OrderAftersaleService::OrdferGoodsRow($order_id, $order_detail_id, $this->user['id']);
|
||||
if($ret['code'] == 0)
|
||||
{
|
||||
|
|
@ -155,7 +139,8 @@ class Orderaftersale extends Common
|
|||
// 编辑器文件存放地址
|
||||
$this->assign('editor_path_type', 'order_aftersale-'.$this->user['id'].'-'.$order_id.'-'.$order_detail_id);
|
||||
|
||||
$this->assign('params', $params);
|
||||
$this->assign('aftersale_search_keywords_name', 'fp0');
|
||||
$this->assign('params', $this->data_request);
|
||||
return $this->fetch();
|
||||
} else {
|
||||
$this->assign('msg', $ret['msg']);
|
||||
|
|
@ -180,7 +165,7 @@ class Orderaftersale extends Common
|
|||
return $this->fetch('public/tips_error');
|
||||
}
|
||||
|
||||
$params = input();
|
||||
$params = $this->data_request;
|
||||
$params['user'] = $this->user;
|
||||
return OrderAftersaleService::AftersaleCreate($params);
|
||||
}
|
||||
|
|
@ -202,7 +187,7 @@ class Orderaftersale extends Common
|
|||
return $this->fetch('public/tips_error');
|
||||
}
|
||||
|
||||
$params = input();
|
||||
$params = $this->data_request;
|
||||
$params['user'] = $this->user;
|
||||
return OrderAftersaleService::AftersaleDelivery($params);
|
||||
}
|
||||
|
|
@ -224,7 +209,7 @@ class Orderaftersale extends Common
|
|||
return $this->fetch('public/tips_error');
|
||||
}
|
||||
|
||||
$params = input('post.');
|
||||
$params = $this->data_post;
|
||||
$params['user'] = $this->user;
|
||||
return OrderAftersaleService::AftersaleCancel($params);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,276 @@
|
|||
<?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\index\form;
|
||||
|
||||
use think\Db;
|
||||
|
||||
/**
|
||||
* 用户订单售后动态表格
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 1.0.0
|
||||
* @date 2020-06-30
|
||||
* @desc description
|
||||
*/
|
||||
class Orderaftersale
|
||||
{
|
||||
// 基础条件
|
||||
public $condition_base = [];
|
||||
|
||||
/**
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 1.0.0
|
||||
* @date 2020-06-29
|
||||
* @desc description
|
||||
* @param [array] $params [输入参数]
|
||||
*/
|
||||
public function __construct($params = [])
|
||||
{
|
||||
// 用户信息
|
||||
if(!empty($params['system_user']))
|
||||
{
|
||||
$this->condition_base[] = ['user_id', '=', $params['system_user']['id']];
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 入口
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 1.0.0
|
||||
* @date 2020-06-30
|
||||
* @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' => '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',
|
||||
'grid_size' => 'sm',
|
||||
'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' => '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-30
|
||||
* @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;
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
|
@ -192,7 +192,7 @@
|
|||
{{/if}}
|
||||
</td>
|
||||
<td class="row-number">
|
||||
<a href="{{:MyUrl('index/orderaftersale/aftersale', ['oid'=>$order['id'], 'did'=>$goods['id']])}}" target="_blank">
|
||||
<a href="{{:MyUrl('index/orderaftersale/detail', ['oid'=>$order['id'], 'did'=>$goods['id']])}}" target="_blank">
|
||||
{{if !empty($goods['orderaftersale_btn_text'])}}
|
||||
{{if empty($goods['orderaftersale'])}}
|
||||
{{$goods.orderaftersale_btn_text}}
|
||||
|
|
|
|||
|
|
@ -36,14 +36,14 @@
|
|||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<div class="goods-detail">
|
||||
<div class="am-nbfc">
|
||||
<a href="{{$goods.goods_url}}" target="_blank">
|
||||
<img src="{{$goods.images}}">
|
||||
<img src="{{$goods.images}}" class="am-img-thumbnail am-radius am-margin-right-xs am-fl" width="60" height="60">
|
||||
</a>
|
||||
<div class="goods-base">
|
||||
<div class="am-nbfc">
|
||||
<a href="{{$goods.goods_url}}" target="_blank" class="goods-title">{{$goods.title}}</a>
|
||||
{{if !empty($goods.spec)}}
|
||||
<ul class="goods-attr">
|
||||
<ul class="goods-spec am-margin-top-xs">
|
||||
{{foreach $goods.spec as $spec}}
|
||||
<li>{{$spec.type}}:{{$spec.value}}</li>
|
||||
{{/foreach}}
|
||||
|
|
@ -112,7 +112,7 @@
|
|||
<!-- 拒绝/关闭 -->
|
||||
{{if isset($new_aftersale_data['status']) and $new_aftersale_data['status'] eq 5}}
|
||||
<div class="am-alert am-alert-warning">
|
||||
{{$new_aftersale_data.tips_msg}}<a href="{{:MyUrl('index/orderaftersale/index', ['keywords'=>$new_aftersale_data['order_no']])}}">详情查看</a>
|
||||
{{$new_aftersale_data.tips_msg}}<a href="{{:MyUrl('index/orderaftersale/index', [$aftersale_search_keywords_name=>$new_aftersale_data['order_no']])}}">查看售后订单</a>
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
|
|
@ -149,8 +149,8 @@
|
|||
{{case 0|1|2}}
|
||||
{{if $new_aftersale_data['status'] eq 1 and $new_aftersale_data['type'] eq 1}}
|
||||
<div class="am-alert">
|
||||
{{$new_aftersale_data.tips_msg}}<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>
|
||||
{{$new_aftersale_data.tips_msg}}<a href="{{:MyUrl('index/orderaftersale/index', [$aftersale_search_keywords_name=>$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['isautodelivery'])}}{{$params.isautodelivery}}{{else /}}0{{/if}}">立即退货</button>
|
||||
</div>
|
||||
<div class="am-alert am-alert-warning">
|
||||
<span>退货地址:</span>
|
||||
|
|
@ -159,14 +159,14 @@
|
|||
{{include file="orderaftersale/delivery" /}}
|
||||
{{else /}}
|
||||
<div class="am-alert">
|
||||
{{$new_aftersale_data.tips_msg}}<a href="{{:MyUrl('index/orderaftersale/index', ['keywords'=>$new_aftersale_data['order_no']])}}">详情查看</a>
|
||||
{{$new_aftersale_data.tips_msg}}<a href="{{:MyUrl('index/orderaftersale/index', [$aftersale_search_keywords_name=>$new_aftersale_data['order_no']])}}">查看售后订单</a>
|
||||
</div>
|
||||
{{/if}}
|
||||
{{/case}}
|
||||
|
||||
{{case 3|4}}
|
||||
<div class="am-alert {{if $new_aftersale_data['status'] eq 3}} am-alert-success{{else /}} am-alert-danger{{/if}}">
|
||||
{{$new_aftersale_data.tips_msg}}<a href="{{:MyUrl('index/orderaftersale/index', ['keywords'=>$new_aftersale_data['order_no']])}}">详情查看</a>
|
||||
{{$new_aftersale_data.tips_msg}}<a href="{{:MyUrl('index/orderaftersale/index', [$aftersale_search_keywords_name=>$new_aftersale_data['order_no']])}}">查看售后订单</a>
|
||||
</div>
|
||||
{{/case}}
|
||||
{{/switch}}
|
||||
|
|
@ -1,199 +1,2 @@
|
|||
{{include file="public/header" /}}
|
||||
|
||||
<!-- header top nav -->
|
||||
{{include file="public/header_top_nav" /}}
|
||||
|
||||
<!-- search -->
|
||||
{{include file="public/nav_search" /}}
|
||||
|
||||
<!-- header nav -->
|
||||
{{include file="public/header_nav" /}}
|
||||
|
||||
<!-- goods category -->
|
||||
{{include file="public/goods_category" /}}
|
||||
|
||||
<!-- content -->
|
||||
<div class="am-container user-main">
|
||||
|
||||
<!-- user menu start -->
|
||||
{{include file="public/user_menu" /}}
|
||||
<!-- user menu end -->
|
||||
|
||||
<!-- content start -->
|
||||
<div class="user-content">
|
||||
<div class="user-content-body">
|
||||
<!-- form start -->
|
||||
<form class="am-form form-validation form-search" method="post" action="{{:MyUrl('index/orderaftersale/index')}}" request-type="form">
|
||||
<div class="thin">
|
||||
<div class="am-input-group am-input-group-sm am-fl so">
|
||||
<input type="text" autocomplete="off" name="keywords" class="am-radius" placeholder="订单号" value="{{if !empty($params.keywords)}}{{$params.keywords}}{{/if}}" />
|
||||
<span class="am-input-group-btn">
|
||||
<button class="am-btn am-btn-default am-radius" type="submit" data-am-loading="{spinner:'circle-o-notch', loadingText:'搜索中...'}">搜索</button>
|
||||
</span>
|
||||
</div>
|
||||
<label class="am-fl thin_sub more-submit">
|
||||
更多筛选条件
|
||||
{{if isset($params['is_more']) and $params['is_more'] eq 1}}
|
||||
<input type="checkbox" name="is_more" value="1" id="is_more" checked />
|
||||
<i class="am-icon-angle-up"></i>
|
||||
{{else /}}
|
||||
<input type="checkbox" name="is_more" value="1" id="is_more" />
|
||||
<i class="am-icon-angle-down"></i>
|
||||
{{/if}}
|
||||
</label>
|
||||
</div>
|
||||
<table class="so-list more-where {{if !isset($params['is_more'])}}none{{/if}}">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<span>类型:</span>
|
||||
<select name="type" class="chosen-select" data-placeholder="类型...">
|
||||
<option value="-1">类型...</option>
|
||||
{{if !empty($common_order_aftersale_type_list)}}
|
||||
{{foreach $common_order_aftersale_type_list as $v}}
|
||||
<option value="{{$v.value}}" {{if isset($params['type']) and $params['type'] eq $v['value']}}selected{{/if}}>{{$v.name}}</option>
|
||||
{{/foreach}}
|
||||
{{/if}}
|
||||
</select>
|
||||
</td>
|
||||
<td>
|
||||
<span>状态:</span>
|
||||
<select name="status" class="chosen-select" data-placeholder="状态...">
|
||||
<option value="-1">状态...</option>
|
||||
{{if !empty($common_order_aftersale_status_list)}}
|
||||
{{foreach $common_order_aftersale_status_list as $v}}
|
||||
<option value="{{$v.value}}" {{if isset($params['status']) and $params['status'] eq $v['value']}}selected{{/if}}>{{$v.name}}</option>
|
||||
{{/foreach}}
|
||||
{{/if}}
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<span>退款:</span>
|
||||
<select name="refundment" class="chosen-select" data-placeholder="退款...">
|
||||
<option value="-1">退款...</option>
|
||||
{{if !empty($common_order_aftersale_refundment_list)}}
|
||||
{{foreach $common_order_aftersale_refundment_list as $v}}
|
||||
<option value="{{$v.value}}" {{if isset($params['refundment']) and $params['refundment'] eq $v['value']}}selected{{/if}}>{{$v.name}}</option>
|
||||
{{/foreach}}
|
||||
{{/if}}
|
||||
</select>
|
||||
</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('index/orderaftersale/index')}}" class="am-btn am-btn-warning am-radius am-btn-sm reset-submit">清除条件</a>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</form>
|
||||
<!-- form end -->
|
||||
|
||||
<!-- 列表 -->
|
||||
<div class="data-list am-margin-top-sm">
|
||||
<table class="am-table am-table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="row-goods am-hide-sm-only">商品信息</th>
|
||||
<th class="row-apply">申请信息</th>
|
||||
<th class="am-hide-sm-only">凭证</th>
|
||||
<th>状态</th>
|
||||
<th class="am-hide-sm-only">快递信息</th>
|
||||
<th class="row-operation">操作</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{{if !empty($data_list)}}
|
||||
{{foreach $data_list as $v}}
|
||||
<tr>
|
||||
<td class="am-hide-sm-only">
|
||||
<div class="goods-detail">
|
||||
<a href="{{$v.order_data.items.goods_url}}" target="_blank">
|
||||
<img src="{{$v.order_data.items.images}}" alt="{{$v.order_data.items.title}}" class="am-img-thumbnail am-radius" />
|
||||
</a>
|
||||
<div class="goods-base">
|
||||
<a href="{{$v.order_data.items.goods_url}}" target="_blank" class="goods-title">{{$v.order_data.items.title}}</a>
|
||||
{{if !empty($v.order_data.items.spec)}}
|
||||
<ul class="goods-attr">
|
||||
{{foreach $v.order_data.items.spec as $spec}}
|
||||
<li>{{$spec.type}}:{{$spec.value}}</li>
|
||||
{{/foreach}}
|
||||
</ul>
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
{{if $v.order_data.items.original_price gt 0}}
|
||||
<p class="original-price">{{$price_symbol}}{{$v.order_data.items.original_price}}</p>
|
||||
{{/if}}
|
||||
<p class="line-price">{{$price_symbol}}{{$v.order_data.items.price}} x {{$v.order_data.items.buy_number}}</p>
|
||||
</td>
|
||||
<td>
|
||||
类型:{{$v.type_text}}<br />
|
||||
原因:{{$v.reason}}<br />
|
||||
数量:{{$v.number}}<br />
|
||||
金额:<span class="am-text-danger">{{$price_symbol}}{{$v.price}}</span><br />
|
||||
说明:{{$v.msg}}<br />
|
||||
时间:{{$v.apply_time_time}}
|
||||
</td>
|
||||
<td class="am-hide-sm-only">
|
||||
{{if !empty($v['images'])}}
|
||||
<div data-am-widget="slider" class="am-slider am-slider-a1" data-am-slider='{"directionNav":false, slideshow:false}' >
|
||||
<ul class="am-slides">
|
||||
{{foreach $v.images as $img}}
|
||||
<li>
|
||||
<img src="{{$img}}" />
|
||||
</li>
|
||||
{{/foreach}}
|
||||
</ul>
|
||||
</div>
|
||||
{{/if}}
|
||||
</td>
|
||||
<td>
|
||||
<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>
|
||||
{{/if}}
|
||||
{{if $v['status'] eq 4 and !empty($v['refuse_reason'])}}
|
||||
<span class="am-text-danger">{{$v.refuse_reason}}</span>
|
||||
{{/if}}
|
||||
</td>
|
||||
<td class="am-hide-sm-only">
|
||||
{{if $v['type'] eq 1 and in_array($v['status'], [2,3])}}
|
||||
快递:{{$v.express_name}}<br />
|
||||
单号:{{$v.express_number}}<br />
|
||||
时间:{{$v.delivery_time_time}}
|
||||
{{/if}}
|
||||
</td>
|
||||
<td>
|
||||
{{if $v['status'] eq 1 and $v['type'] eq 1}}
|
||||
<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>
|
||||
{{/if}}
|
||||
<a href="{{:MyUrl('index/orderaftersale/aftersale', ['oid'=>$v['order_id'], 'did'=>$v['order_detail_id']])}}" target="_blank" class="am-btn am-btn-default am-btn-xs am-radius am-icon-cubes am-btn-block"> 详情</a>
|
||||
</td>
|
||||
</tr>
|
||||
{{/foreach}}
|
||||
{{/if}}
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
{{if empty($data_list)}}
|
||||
<div class="table-no"><i class="am-icon-warning"></i> 没有相关数据</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
|
||||
<!-- 分页 -->
|
||||
{{if !empty($data_list)}}
|
||||
{{$page_html|raw}}
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
<!-- content end -->
|
||||
</div>
|
||||
|
||||
<!-- footer start -->
|
||||
{{include file="public/footer" /}}
|
||||
<!-- footer end -->
|
||||
<!-- 继承公共的 form -->
|
||||
{{extend name="public/module/user_form" /}}
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
<!-- 订单基础信息 -->
|
||||
{{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}}
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
<!-- 操作栏 -->
|
||||
<a href="{{:MyUrl('admin/orderaftersale/detail', ['oid'=>$module_data['order_id'], 'did'=>$module_data['order_detail_id']])}}" target="_blank" class="am-btn am-btn-default am-btn-xs am-radius am-btn-block">
|
||||
<i class="am-icon-eye"></i>
|
||||
<span>详情</span>
|
||||
</a>
|
||||
|
||||
{{if $module_data['status'] eq 1 and $module_data['type'] eq 1}}
|
||||
<a href="{{:MyUrl('index/orderaftersale/detail', ['oid'=>$module_data['order_id'], 'did'=>$module_data['order_detail_id'], 'isautodelivery'=>1])}}" target="_blank" class="am-btn am-btn-primary am-btn-xs am-radius am-btn-block">
|
||||
<i class="am-icon-send"></i>
|
||||
<span>退货</span>
|
||||
</a>
|
||||
{{/if}}
|
||||
{{if !in_array($module_data['status'], [3,5])}}
|
||||
<button type="button" class="am-btn am-btn-warning am-btn-xs am-radius am-btn-block submit-ajax submit-cancel" data-url="{{:MyUrl('index/orderaftersale/cancel')}}" data-id="{{$module_data.id}}" data-view="reload">
|
||||
<i class="am-icon-paint-brush"></i>
|
||||
<span>取消</span>
|
||||
</button>
|
||||
{{/if}}
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
<!-- 凭证 -->
|
||||
{{if !empty($module_data) and !empty($module_data['images'])}}
|
||||
<div data-am-widget="slider" class="am-slider am-slider-default" data-am-slider='{"controlNav":false}'>
|
||||
<ul class="am-slides">
|
||||
{{foreach $module_data.images as $ik=>$iv}}
|
||||
<li>
|
||||
<a href="{{$iv}}" target="_blank">
|
||||
<img src="{{$iv}}" />
|
||||
</a>
|
||||
<div class="am-slider-desc">
|
||||
<div class="am-slider-counter">
|
||||
<strong class="am-text-lg">{{$ik+1}}</strong>
|
||||
<span class="am-margin-right-sm">/{{:count($module_data['images'])}}</span>
|
||||
<span>{{$iv}}</span>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
{{/foreach}}
|
||||
</ul>
|
||||
</div>
|
||||
{{/if}}
|
||||
|
|
@ -3,7 +3,7 @@
|
|||
{{if !empty($step_data['step0'])}}
|
||||
{{foreach $step_data.step0 as $step}}
|
||||
<li class="am-text-truncate {{if $step.is_active eq 1}} selected{{/if}} {{if $step.is_end eq 1}} selected-end{{/if}}">
|
||||
<span class="number">{{$step.number}}</span>
|
||||
<span class="number am-badge am-round">{{$step.number}}</span>
|
||||
<span class="text">{{$step.name}}</span>
|
||||
{{if $step.is_caret eq 1}}
|
||||
<i class="am-icon-caret-right"></i>
|
||||
|
|
@ -21,7 +21,7 @@
|
|||
{{if !empty($step_data['step1'])}}
|
||||
{{foreach $step_data.step1 as $step}}
|
||||
<li class="am-text-truncate {{if $step.is_active eq 1}} selected{{/if}} {{if $step.is_end eq 1}} selected-end{{/if}}">
|
||||
<span class="number">{{$step.number}}</span>
|
||||
<span class="number am-badge am-round">{{$step.number}}</span>
|
||||
<span class="text">{{$step.name}}</span>
|
||||
{{if $step.is_caret eq 1}}
|
||||
<i class="am-icon-caret-right"></i>
|
||||
|
|
|
|||
|
|
@ -828,7 +828,7 @@ class NavigationService
|
|||
'name' => '订单售后',
|
||||
'url' => MyUrl('index/orderaftersale/index'),
|
||||
'is_show' => 1,
|
||||
'contains' => ['indexorderaftersaleindex', 'indexorderaftersaleaftersale'],
|
||||
'contains' => ['indexorderaftersaleindex', 'indexorderaftersaledetail'],
|
||||
'icon' => 'am-icon-puzzle-piece',
|
||||
'is_system' => 1,
|
||||
],
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -1,42 +1,3 @@
|
|||
/**
|
||||
* 商品列表
|
||||
*/
|
||||
.goods-detail img { width: 80px; height: 80px; position: absolute; border: 1px solid #eee; 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; }
|
||||
.line-price { color: #3c3c3c; font-weight: 700; }
|
||||
.am-table { margin-bottom: 10px; }
|
||||
.am-table > tbody > tr > td { border-top: 1px solid #F5F5F5; }
|
||||
.am-table > thead > tr > th { border-bottom: 1px solid #f7f7f7; }
|
||||
@media only screen and (min-width:640px) {
|
||||
.user-content-body table tr .row-base { width: 60%; }
|
||||
.user-content-body table tr .row-price { width: 40%; }
|
||||
}
|
||||
@media only screen and (max-width:640px) {
|
||||
.user-content-body table tr .row-base { width: 60%; }
|
||||
.user-content-body table tr .row-price { width: 40%; }
|
||||
}
|
||||
|
||||
/**
|
||||
* 列表
|
||||
*/
|
||||
.user-content-body .order-base-panel {
|
||||
-webkit-box-shadow: none;
|
||||
box-shadow: none;
|
||||
}
|
||||
.user-content-body .order-base-panel .am-panel-bd {
|
||||
padding-top: 5px;
|
||||
}
|
||||
.user-content-body .order-base-panel .am-alert-secondary {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 类型
|
||||
*/
|
||||
|
|
@ -111,8 +72,6 @@
|
|||
background: #e1e1e1;
|
||||
}
|
||||
.aftersale-step li .number {
|
||||
padding: 2px 6px;
|
||||
border-radius: 50px;
|
||||
font-weight: 700;
|
||||
background: #fff;
|
||||
color: #b4b4b4;
|
||||
Loading…
Reference in New Issue