vr-shopxo-source/application/admin/view/default/orderaftersale/index.html

515 lines
33 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

{{include file="public/header" /}}
<!-- right content start -->
<div class="content-right">
<div class="content">
<!-- form start -->
<form class="am-form form-validation form-search" method="post" action="{{:MyUrl('admin/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('admin/orderaftersale/index')}}" class="am-btn am-btn-warning am-radius am-btn-sm reset-submit">清除条件</a>
</td>
</tr>
</tbody>
</table>
</form>
<!-- form end -->
<!-- top operation start -->
<div class="am-g am-margin-top-sm">
<!-- 顶部操作钩子 -->
{{if isset($shopxo_is_develop) and $shopxo_is_develop eq true and (!isset($is_footer) or $is_footer eq 1)}}
<div class="plugins-tag">
<span>plugins_view_admin_order_aftersale_top_operate</span>
</div>
{{/if}}
{{php}}
$hook_name = 'plugins_view_admin_order_aftersale_top_operate';
$hook_data = Hook::listen($hook_name, ['hook_name'=>$hook_name, 'is_backend'=>true]);
if(!empty($hook_data) && is_array($hook_data))
{
foreach($hook_data as $hook)
{
if(is_string($hook) || is_int($hook))
{
echo htmlspecialchars_decode($hook);
}
}
}
{{/php}}
</div>
<!-- top operation end -->
<!-- list start -->
<div class="am-scrollable-horizontal am-table-scrollable-horizontal am-margin-top-sm">
<table class="am-table am-table-striped am-table-hover am-table-bordered am-text-nowrap am-table-td-fixed-last goods-list">
<thead>
<tr>
<th class="am-grid-lg">商品信息</th>
<th class="am-grid-sm">用户信息</th>
<th class="am-grid-sm">申请信息</th>
<th class="am-grid-sm">凭证</th>
<th>状态</th>
<th class="am-grid-sm">快递信息</th>
<th class="am-text-center">更多</th>
<th class="am-text-center">操作</th>
</tr>
</thead>
<tbody>
{{if !empty($data_list)}}
{{foreach $data_list as $v}}
<tr id="data-list-{{$v.id}}">
<td class="am-text-middle">
<div class="am-padding-bottom-xs">
<strong>{{$v.order_data.order_no}}</strong>
<span class="am-badge am-badge-primary am-radius" title="订单模式">{{$v.order_data.order_model_name}}</span>
<span class="am-badge am-badge-secondary am-radius" title="客户端类型">{{$v.order_data.client_type_name}}</span>
</div>
<hr data-am-widget="divider" class="am-divider am-divider-dashed am-margin-vertical-0" />
<div class="goods-detail am-padding-vertical-xs">
<a href="{{$v.order_data.items.goods_url}}" target="_blank">
<img src="{{$v.order_data.items.images}}" class="am-img-thumbnail am-radius" />
</a>
<div class="goods-base">
<a href="{{$v.order_data.items.goods_url}}" target="_blank" class="am-nowrap-initial am-text-truncate-2 goods-title">{{$v.order_data.items.title}}</a>
{{if !empty($v.order_data.items.spec)}}
<ul class="goods-spec am-margin-top-xs">
{{foreach $v.order_data.items.spec as $spec}}
<li>{{$spec.type}}{{$spec.value}}</li>
{{/foreach}}
</ul>
{{/if}}
</div>
</div>
<div class="goods-price">
{{if $v.order_data.items.original_price gt 0}}
<span class="original-price am-margin-right-xs">{{$price_symbol}}{{$v.order_data.items.original_price}}</span>
{{/if}}
<strong>{{$price_symbol}}{{$v.order_data.items.price}} x {{$v.order_data.items.buy_number}}</strong>
</div>
</td>
<td class="am-text-middle user-info">
{{if !empty($v['user'])}}
<img src="{{$v.user.avatar}}" alt="{{$v.user.user_name_view}}" class="am-img-thumbnail am-radius am-align-left" />
<ul class="user-base">
<li>名称:{{if empty($v['user']['username'])}}<span class="cr-ccc">未填写</span>{{else /}}{{$v.user.username}}{{/if}}</li>
<li>昵称:{{if empty($v['user']['nickname'])}}<span class="cr-ccc">未填写</span>{{else /}}{{$v.user.nickname}}{{/if}}</li>
<li>手机:{{if empty($v['user']['mobile'])}}<span class="cr-ccc">未填写</span>{{else /}}{{$v.user.mobile}}{{/if}}</li>
<li>邮箱:{{if empty($v['user']['email'])}}<span class="cr-ccc">未填写</span>{{else /}}{{$v.user.email}}{{/if}}</li>
</ul>
{{else /}}
用户信息异常
{{/if}}
</td>
<td class="am-text-middle">
类型:{{$v.type_text}}<br />
原因:{{$v.reason}}<br />
数量:{{$v.number}}<br />
金额:<strong class="am-text-danger">{{$price_symbol}}{{$v.price}}</strong><br />
说明:{{$v.msg}}<br />
时间:{{$v.apply_time_time}}
</td>
<td class="am-text-middle">
{{if !empty($v['images'])}}
<div data-am-widget="slider" class="am-slider am-slider-a1" data-am-slider='{&quot;directionNav&quot;:false, slideshow:false}' >
<ul class="am-slides">
{{foreach $v.images as $img}}
<li>
<a href="{{$img}}" target="_blank">
<img src="{{$img}}" />
</a>
</li>
{{/foreach}}
</ul>
</div>
{{/if}}
</td>
<td class="am-text-middle">
<p>{{$v.status_text}}</p>
{{if $v['status'] eq 3 and !empty($v['refundment_text'])}}
<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>
{{/if}}
</td>
<td class="am-text-middle">
{{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 class="am-text-middle">
<p class="am-text-center xo-cursor-pr">
<i class="am-icon-caret-down"></i>
<span data-am-modal="{target: '#my-popup{{$v.id}}'}"> 查看更多</span>
</p>
<div class="am-popup am-radius" id="my-popup{{$v.id}}">
<div class="am-popup-inner">
<div class="am-popup-hd">
<h4 class="am-popup-title">详情内容</h4>
<span data-am-modal-close
class="am-close">&times;</span>
</div>
<div class="am-popup-bd">
<dl class="dl-content">
<dt>商品信息</dt>
<dd>
<div class="goods-detail">
<a href="{{$v.order_data.items.goods_url}}" target="_blank">
<img src="{{$v.order_data.items.images}}" class="am-img-thumbnail am-radius" />
</a>
<div class="goods-base">
<a href="{{$v.order_data.items.goods_url}}" target="_blank" class="am-nowrap-initial am-text-truncate-2 goods-title">{{$v.order_data.items.title}}</a>
{{if !empty($v.order_data.items.spec)}}
<ul class="goods-spec am-margin-top-xs">
{{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>
</dd>
<dt>用户信息</dt>
<dd class="user-info">
{{if !empty($v['user'])}}
<img src="{{$v.user.avatar}}" alt="{{$v.user.user_name_view}}" class="am-img-thumbnail am-radius am-align-left" />
<ul class="user-base">
<li>名称:{{if empty($v['user']['username'])}}<span class="cr-ccc">未填写</span>{{else /}}{{$v.user.username}}{{/if}}</li>
<li>昵称:{{if empty($v['user']['nickname'])}}<span class="cr-ccc">未填写</span>{{else /}}{{$v.user.nickname}}{{/if}}</li>
<li>手机:{{if empty($v['user']['mobile'])}}<span class="cr-ccc">未填写</span>{{else /}}{{$v.user.mobile}}{{/if}}</li>
<li>邮箱:{{if empty($v['user']['email'])}}<span class="cr-ccc">未填写</span>{{else /}}{{$v.user.email}}{{/if}}</li>
</ul>
{{else /}}
用户信息异常
{{/if}}
</dd>
<dt>申请信息</dt>
<dd>
类型:{{$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}}
</dd>
<dt>凭证</dt>
<dd>
{{if !empty($v['images'])}}
{{foreach $v.images as $img}}
<a href="{{$img}}" target="_blank">
<img src="{{$img}}" class="am-img-thumbnail" width="80" height="80" />
</a>
{{/foreach}}
{{/if}}
</dd>
<dt>状态</dt>
<dd>
<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}}
</dd>
<dt>拒绝原因</dt>
<dd class="am-text-danger">{{$v.refuse_reason}}</dd>
<dt>快递信息</dt>
<dd>
{{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}}
</dd>
<dt>申请时间</dt>
<dd>{{$v.apply_time_time}}</dd>
<dt>确认时间</dt>
<dd>{{$v.confirm_time_time}}</dd>
<dt>退货时间</dt>
<dd>{{$v.delivery_time_time}}</dd>
<dt>审核时间</dt>
<dd>{{$v.audit_time_time}}</dd>
<dt>取消时间</dt>
<dd>{{$v.cancel_time_time}}</dd>
<dt>添加时间</dt>
<dd>{{$v.add_time_time}}</dd>
<dt>更新时间</dt>
<dd>{{$v.upd_time_time}}</dd>
</dl>
</div>
</div>
</div>
</td>
<td class="am-operate-grid">
<div class="am-scrollable-vertical">
{{if $v['status'] eq 0 and $v['type'] eq 1}}
<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="{{$v.id}}" data-view="reload">
<i class="am-icon-check"></i>
<span>确认</span>
</button>
{{/if}}
{{if $v['status'] eq 2}}
<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($v))}}'>
<i class="am-icon-gavel"></i>
<span>审核</span>
</button>
{{/if}}
{{if in_array($v['status'], [0,2])}}
<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($v))}}'>
<i class="am-icon-warning"></i>
<span>拒绝</span>
</button>
{{/if}}
{{if in_array($v['status'], [1,2])}}
<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="{{$v.id}}" data-view="reload">
<i class="am-icon-paint-brush"></i>
<span>取消</span>
</button>
{{/if}}
{{if in_array($v['status'], [4,5])}}
<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="{{$v.id}}">
<i class="am-icon-trash-o"></i>
<span>删除</span>
</button>
{{/if}}
<!-- 订单售后列表操作钩子 -->
{{if isset($shopxo_is_develop) and $shopxo_is_develop eq true and (!isset($is_footer) or $is_footer eq 1)}}
<div class="plugins-tag">
<span>plugins_view_admin_orderaftersale_list_operate</span>
</div>
{{/if}}
{{php}}
$hook_name = 'plugins_view_admin_orderaftersale_list_operate';
$hook_data = Hook::listen($hook_name, ['hook_name'=>$hook_name, 'is_backend'=>true, 'id'=>$v['id'], 'data'=>$v]);
if(!empty($hook_data) && is_array($hook_data))
{
foreach($hook_data as $hook)
{
if(is_string($hook) || is_int($hook))
{
echo htmlspecialchars_decode($hook);
}
}
}
{{/php}}
</td>
</tr>
{{/foreach}}
{{/if}}
</tbody>
</table>
{{if empty($data_list)}}
<div class="table-no"><i class="am-icon-warning"></i> 没有相关数据</div>
{{/if}}
</div>
<!-- list end -->
<!-- bottom operation start -->
<div class="am-g am-margin-top-sm">
<!-- 底部操作钩子 -->
{{if isset($shopxo_is_develop) and $shopxo_is_develop eq true and (!isset($is_footer) or $is_footer eq 1)}}
<div class="plugins-tag">
<span>plugins_view_admin_order_aftersale_bottom_operate</span>
</div>
{{/if}}
{{php}}
$hook_name = 'plugins_view_admin_order_aftersale_bottom_operate';
$hook_data = Hook::listen($hook_name, ['hook_name'=>$hook_name, 'is_backend'=>true]);
if(!empty($hook_data) && is_array($hook_data))
{
foreach($hook_data as $hook)
{
if(is_string($hook) || is_int($hook))
{
echo htmlspecialchars_decode($hook);
}
}
}
{{/php}}
</div>
<!-- bottom operation end -->
<!-- 审核弹窗 -->
<div class="am-popup" id="order-audit-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">&times;</span>
</div>
<div class="am-popup-bd">
<dl class="dl-content">
<dt>用户信息</dt>
<dd class="user-info">
<img src="{{$attachment_host}}/static/common/images/user-img-sm.gif" class="am-img-thumbnail am-radius am-align-left" />
<ul class="user-base">
<li class="username">名称:<span>...</span></li>
<li class="nickname">昵称:<span>...</span></li>
<li class="mobile">手机:<span>...</span></li>
<li class="email">邮箱:<span>...</span></li>
</ul>
</dd>
<dt>申请信息</dt>
<dd class="apply-info">
<ul>
<li class="type">类型:<span>...</span></li>
<li class="reason">原因:<span>...</span></li>
<li class="number">数量:<span>...</span></li>
<li class="price">金额:<span class="am-text-warning">...</span></li>
<li class="msg">说明:<span>...</span></li>
</ul>
</dd>
</dl>
<form class="am-form form-validation-audit" action="{{:MyUrl('admin/orderaftersale/audit')}}" method="POST" request-type="ajax-reload">
<div class="am-form-group reply-submit am-form-group-refreshing">
<label class="am-block">退款方式</label>
{{if !empty($common_order_aftersale_refundment_list)}}
{{foreach $common_order_aftersale_refundment_list as $v}}
<label class="am-radio-inline am-success">
<input type="radio" name="refundment" value="{{$v.value}}" data-am-ucheck data-validation-message="请选择退款方式" required /> {{$v.name}}
</label>
{{/foreach}}
{{/if}}
</div>
<div class="am-form-group reply-submit am-form-group-refreshing">
<input type="hidden" name="id" value="" />
<button type="submit" class="am-btn am-btn-primary am-radius am-btn-sm am-btn-block" data-am-loading="{loadingText:'处理中...'}">确认</button>
</div>
</form>
</div>
</div>
</div>
<!-- 拒绝弹窗 -->
<div class="am-popup" id="order-refuse-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">&times;</span>
</div>
<div class="am-popup-bd">
<dl class="dl-content">
<dt>用户信息</dt>
<dd class="user-info">
<img src="{{$attachment_host}}/static/common/images/user-img-sm.gif" class="am-img-thumbnail am-radius am-align-left" />
<ul class="user-base">
<li class="username">名称:<span>...</span></li>
<li class="nickname">昵称:<span>...</span></li>
<li class="mobile">手机:<span>...</span></li>
<li class="email">邮箱:<span>...</span></li>
</ul>
</dd>
<dt>申请信息</dt>
<dd class="apply-info">
<ul>
<li class="type">类型:<span>...</span></li>
<li class="reason">原因:<span>...</span></li>
<li class="number">数量:<span>...</span></li>
<li class="price">金额:<span class="am-text-warning">...</span></li>
<li class="msg">说明:<span>...</span></li>
</ul>
</dd>
</dl>
<form class="am-form form-validation-refuse" action="{{:MyUrl('admin/orderaftersale/refuse')}}" method="POST" request-type="ajax-reload">
<div class="am-form-group reply-submit am-form-group-refreshing">
<label>拒绝原因</label>
<textarea name="refuse_reason" rows="5" class="am-radius" placeholder="拒绝原因格式 2~230 个字符" data-validation-message="拒绝原因格式 2~230 个字符" minlength="2" maxlength="230" required></textarea>
</div>
<div class="am-form-group reply-submit am-form-group-refreshing">
<input type="hidden" name="id" value="" />
<button type="submit" class="am-btn am-btn-danger am-radius am-btn-sm am-btn-block" data-am-loading="{loadingText:'处理中...'}">确认</button>
</div>
</form>
</div>
</div>
</div>
<!-- page start -->
{{if !empty($data_list)}}
{{$page_html|raw}}
{{/if}}
<!-- page end -->
</div>
</div>
<!-- right content end -->
<!-- footer start -->
{{include file="public/footer" /}}
<!-- footer end -->