初始上传
This commit is contained in:
150
addon/giftcard/shop/view/order/detail.html
Executable file
150
addon/giftcard/shop/view/order/detail.html
Executable file
@@ -0,0 +1,150 @@
|
||||
<style>
|
||||
.layui-layout-admin .layui-body .body-content{background:none;padding:0;}
|
||||
.order-detail{padding: 15px;box-sizing: border-box;background: white;}
|
||||
.order-information{max-width:1500px;width:100%;min-height:40px;display: flex;}
|
||||
.order-information-bottom{margin-bottom: 38px;}
|
||||
.order-information-contentOne{width:400px;height:100%;padding-right: 48px;box-sizing: border-box;}
|
||||
.order-information-contentTwo{width:600px;height:100%;padding:0 80px;box-sizing: border-box}
|
||||
.order-information>div{border-left: 1px solid rgb(245,245,245);}
|
||||
.order-information>div:nth-child(1){border-left: none;}
|
||||
.contentOne-content{display: flex; font-size:14px;color:rgb(164,164,164);margin-bottom:14px;}
|
||||
.contentOne-content:after{overflow: hidden;display: block;content: "";height: 0;clear: both;}
|
||||
.contentOne-content-text{max-width:70%;min-width: 20%;color:#333333;margin-left:16px;float: left;display: -webkit-box;-webkit-line-clamp:2;overflow: hidden;text-overflow: ellipsis;-webkit-box-orient: vertical}
|
||||
.contentOne-content-title{min-width:85px;float: left;}
|
||||
.contentOne-content-text-die{line-height:24px;}
|
||||
.shop-information{width: 100%;background:white;padding:15px;box-sizing: border-box;margin-top:15px}
|
||||
.shop-information-table{width: 100%;padding:0 48px;box-sizing: border-box;margin-bottom:10px;}
|
||||
.shop-information-table>table{width: 100%;border: 1px solid rgb(238,238,238);}
|
||||
.table-trOne{height: 48px;background:rgb(245,245,245) ;}
|
||||
th{text-align: left;padding-left:28px;box-sizing: border-box;font-weight: 500;color:#333333;border-right:1px solid rgb(238,238,238);}
|
||||
th:last-child{border:none;}
|
||||
.table-trTow{width:100%;height:60px;border-top:1px solid rgb(238,238,238);}
|
||||
.table-trTow>td{text-align: left;padding-left:28px;box-sizing: border-box;font-weight: 500;color:#333333;border-right:1px solid rgb(238,238,238);}
|
||||
.table-trTow>td:nth-child(5){color:var(--base-color)}
|
||||
.to-detail{cursor: pointer;}
|
||||
</style>
|
||||
|
||||
<!-- 订单详情、订单状态 -->
|
||||
<div class="order-detail layui-card card-common card-brief">
|
||||
<div class="layui-card-header">
|
||||
<span class="card-title">订单详情</span>
|
||||
</div>
|
||||
<div class="order-information order-information-bottom layui-card-body">
|
||||
<div class="order-information-contentOne">
|
||||
<div class="contentOne-content">
|
||||
<div class="contentOne-content-title">交易流水号:</div>
|
||||
<div class="contentOne-content-text text-num">{$order_detail['out_trade_no']}</div>
|
||||
</div>
|
||||
<div class="contentOne-content">
|
||||
<div class="contentOne-content-title">订单编号:</div>
|
||||
<div class="contentOne-content-text text-num">{$order_detail['order_no']}</div>
|
||||
</div>
|
||||
<div class="contentOne-content">
|
||||
<div class="contentOne-content-title">订单来源:</div>
|
||||
<div class="contentOne-content-text">{$order_detail.order_from_name}</div>
|
||||
</div>
|
||||
<div class="contentOne-content">
|
||||
<div class="contentOne-content-title">订单状态:</div>
|
||||
<div class="contentOne-content-text">{$order_detail.order_status_name}</div>
|
||||
</div>
|
||||
<div class="contentOne-content">
|
||||
<div class="contentOne-content-title">购买人:</div>
|
||||
<div class="contentOne-content-text">{$order_detail.nickname}</div>
|
||||
</div>
|
||||
<div class="contentOne-content">
|
||||
<div class="contentOne-content-title">买家留言:</div>
|
||||
<div class="contentOne-content-text contentOne-content-text-die">
|
||||
{if $order_detail['buyer_message'] == ""}
|
||||
-
|
||||
{else/}
|
||||
{$order_detail['buyer_message']}
|
||||
{/if}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="order-information-contentTwo">
|
||||
<div class="contentOne-content">
|
||||
<div class="contentOne-content-title">礼品卡名称:</div>
|
||||
<div class="contentOne-content-text text-num">{$order_detail['order_name']}</div>
|
||||
</div>
|
||||
<div class="contentOne-content">
|
||||
<div class="contentOne-content-title">权益类型:</div>
|
||||
<div class="contentOne-content-text">{if $order_detail['card_right_type'] == 'goods'}礼品卡{else/}储值卡{/if}</div>
|
||||
</div>
|
||||
<div class="contentOne-content">
|
||||
<div class="contentOne-content-title">礼品卡数量:</div>
|
||||
<div class="contentOne-content-text">{$order_detail['num']}份</div>
|
||||
</div>
|
||||
<div class="contentOne-content">
|
||||
<div class="contentOne-content-title">卡内容:</div>
|
||||
<div class="contentOne-content-text">在使用时任选{$order_detail['card_right_goods_count']}件</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 商品信息 -->
|
||||
{if $order_detail['card_right_type'] == 'goods'}
|
||||
<div class="shop-information layui-card card-common card-brief">
|
||||
<div class="layui-card-header">
|
||||
<span class="card-title">商品信息</span>
|
||||
</div>
|
||||
<div class="shop-information-table layui-card-body">
|
||||
<table lay-filter="parse-table-order-product" lay-skin="line">
|
||||
<thead>
|
||||
<tr class="table-trOne">
|
||||
<th lay-data="{field:'product_name', width:200}">商品</th>
|
||||
<th lay-data="{field:'price'}">价格</th>
|
||||
{if $order_detail.card_right_goods_type != 'all'}
|
||||
<th lay-data="{field:'sale_num'}">数量</th>
|
||||
{/if}
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{foreach $order_detail['order_goods_list'] as $list_k => $order_goods_item}
|
||||
<tr class="table-trTow">
|
||||
<td>{$order_goods_item.sku_name}</td>
|
||||
<td>{$order_goods_item.price}</td>
|
||||
{if $order_detail.card_right_goods_type != 'all'}
|
||||
<td>{$order_goods_item.num}</td>
|
||||
{/if}
|
||||
</tr>
|
||||
{/foreach}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
<!-- 卡密信息 -->
|
||||
<div class="shop-information layui-card card-common card-brief">
|
||||
<div class="layui-card-header">
|
||||
<span class="card-title">礼品卡信息</span>
|
||||
</div>
|
||||
<div class="shop-information-table layui-card-body">
|
||||
<table lay-filter="parse-table-order-product" lay-skin="line">
|
||||
<thead>
|
||||
<tr class="table-trOne">
|
||||
<th lay-data="{field:'product_name', width:200}">卡编号</th>
|
||||
<th lay-data="{field:'product_name', width:200}">权益类型</th>
|
||||
<th lay-data="{field:'sale_num'}">操作</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{foreach $card_list as $list_k => $card_item}
|
||||
<tr class="table-trTow">
|
||||
<td>{$card_item.card_no}</td>
|
||||
<td>{if $card_item.card_right_type == 'goods'}礼品卡{else/}储值卡{/if}</td>
|
||||
<td><span onclick="toDetail({$card_item.card_id})" class="text-color to-detail">查看详情</span></td>
|
||||
</tr>
|
||||
{/foreach}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
function toDetail(id){
|
||||
window.open(ns.href('giftcard://shop/card/detail',{'card_id': id}));
|
||||
}
|
||||
</script>
|
||||
326
addon/giftcard/shop/view/order/order.html
Executable file
326
addon/giftcard/shop/view/order/order.html
Executable file
@@ -0,0 +1,326 @@
|
||||
<link rel="stylesheet" href="GIFTCARD_CSS/order_list.css"/>
|
||||
<style>
|
||||
.layui-layout-admin .layui-form-item .layui-input-inline{background-color: #fff;}
|
||||
.layui-layout-admin .table-tab .layui-tab-title{margin-bottom: 15px;}
|
||||
</style>
|
||||
|
||||
<!-- 搜索框 -->
|
||||
<div class="screen layui-collapse" lay-filter="selection_panel">
|
||||
<div class="layui-colla-item">
|
||||
<form class="layui-colla-content layui-form layui-show">
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label">订单号</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" name="order_no" placeholder="请输入订单号" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label">购买人昵称</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" name="nickname" placeholder="购买人昵称" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label">支付时间</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" class="layui-input" name="start_time" placeholder="开始时间" id="start_time" readonly>
|
||||
<i class=" iconrili iconfont calendar"></i>
|
||||
</div>
|
||||
<div class="layui-form-mid">-</div>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" class="layui-input" name="end_time" placeholder="结束时间" id="end_time" readonly>
|
||||
<i class=" iconrili iconfont calendar"></i>
|
||||
</div>
|
||||
<button class="layui-btn layui-btn-primary date-picker-btn date-picker-btn-seven" onclick="datePick(7, this);return false;">近7天</button>
|
||||
<button class="layui-btn layui-btn-primary date-picker-btn date-picker-btn-thirty" onclick="datePick(30, this);return false;">近30天</button>
|
||||
</div>
|
||||
</div>
|
||||
<input type="hidden" name="giftcard_id" value="{$giftcard_id}">
|
||||
<div class="form-row">
|
||||
<button type="button" class="layui-btn" lay-filter="search" lay-submit>筛选</button>
|
||||
<button type="reset" class="layui-btn layui-btn-primary">重置</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="layui-tab table-tab" lay-filter="order_tab">
|
||||
<ul class="layui-tab-title">
|
||||
<li class="layui-this" lay-id="">全部</li>
|
||||
<li lay-id="balance">储值卡</li>
|
||||
<li lay-id="goods">礼品卡</li>
|
||||
</ul>
|
||||
|
||||
<div class="layui-tab-content">
|
||||
<div id="order_list"></div>
|
||||
</div>
|
||||
<div id="order_page"></div>
|
||||
</div>
|
||||
<script src="GIFTCARD_JS/order_list.js"></script>
|
||||
<script>
|
||||
var form,laypage,element,laydate;
|
||||
var is_refresh = false;
|
||||
var order_type_status_json = {'balance': '储值卡', 'goods': '礼品卡'};
|
||||
|
||||
layui.use(['laypage','laydate','form', 'element'], function(){
|
||||
form = layui.form;
|
||||
laypage = layui.laypage;
|
||||
element = layui.element;
|
||||
laydate = layui.laydate;
|
||||
form.render();
|
||||
|
||||
// 支付时间
|
||||
laydate.render({
|
||||
elem: '#start_time'
|
||||
,type: 'datetime'
|
||||
,change: function(value, date, endDate){
|
||||
$(".date-picker-btn").removeClass("selected");
|
||||
}
|
||||
});
|
||||
laydate.render({
|
||||
elem: '#end_time'
|
||||
,type: 'datetime'
|
||||
,change: function(value, date, endDate){
|
||||
$(".date-picker-btn").removeClass("selected");
|
||||
}
|
||||
});
|
||||
|
||||
//监听Tab切换,以改变地址hash值
|
||||
element.on('tab(order_tab)', function(){
|
||||
$(".all-selected-checkbox input").prop("checked",false);
|
||||
var card_right_type = this.getAttribute('lay-id');
|
||||
|
||||
var hash_data = getHashList();
|
||||
hash_data.card_right_type = card_right_type;
|
||||
hash_data.page = 1;
|
||||
setHashOrderList(hash_data);
|
||||
});
|
||||
//监听筛选事件
|
||||
form.on('submit(search)', function(data){
|
||||
is_refresh = true;
|
||||
data.field.page = 1;
|
||||
resetOrderStatus(data.field.order_type, 2);
|
||||
setHashOrderList(data.field);
|
||||
setOrderStatusTab(data.field.order_status);
|
||||
return false;
|
||||
});
|
||||
|
||||
getHashData();
|
||||
getOrderList();//筛选
|
||||
});
|
||||
|
||||
var order = new Order();
|
||||
function getOrderList(){
|
||||
var url = ns.url("giftcard://shop/order/order", getHashArr().join('&'));
|
||||
|
||||
$.ajax({
|
||||
type : 'get',
|
||||
dataType: 'json',
|
||||
url :url,
|
||||
success : function(res){
|
||||
if(res.code == 0){
|
||||
order.setData(res.data);
|
||||
$("#order_list").html(order.fetch());
|
||||
form.render();
|
||||
|
||||
laypage_util = new Page({
|
||||
elem: 'order_page',
|
||||
count: res.data.count,
|
||||
curr: getHashPage(),
|
||||
limit:getHashData()['page_size'] || 10,
|
||||
callback: function(obj){
|
||||
var hash_data = getHashData();
|
||||
hash_data.page = obj.curr;
|
||||
hash_data.page_size = obj.limit;
|
||||
setHashOrderList(hash_data);
|
||||
}
|
||||
});
|
||||
|
||||
}else{
|
||||
layer.msg(res.message);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// 通过hash获取页数
|
||||
function getHashPage(){
|
||||
var page = 1;
|
||||
var startTime = '';
|
||||
var endTime = '';
|
||||
var hash_arr = getHashArr();
|
||||
$.each(hash_arr,function(index, itemobj){
|
||||
var item_arr = itemobj.split("=");
|
||||
if(item_arr.length == 2){
|
||||
switch(item_arr[0]){
|
||||
case "page":
|
||||
page = item_arr[1];
|
||||
break;
|
||||
case "start_time":
|
||||
startTime = ns.date_to_time(item_arr[1].split("%")[0]);
|
||||
break;
|
||||
case "end_time":
|
||||
endTime = ns.date_to_time(item_arr[1].split("%")[0]);
|
||||
break;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
var _time = (endTime - startTime) / (24 * 60 * 60);
|
||||
if (_time == 6) {
|
||||
$(".date-picker-btn-seven").addClass("selected");
|
||||
$(".date-picker-btn-thirty").removeClass("selected");
|
||||
} else if (_time == 29) {
|
||||
$(".date-picker-btn-thirty").addClass("selected");
|
||||
$(".date-picker-btn-seven").removeClass("selected");
|
||||
} else {
|
||||
$(".date-picker-btn-seven").removeClass("selected");
|
||||
$(".date-picker-btn-thirty").removeClass("selected");
|
||||
}
|
||||
return page;
|
||||
}
|
||||
|
||||
//从hash中获取数据
|
||||
function getHashData(){
|
||||
var hash_arr = getHashArr();
|
||||
var form_json = {
|
||||
"start_time" : "",
|
||||
"end_time" : "",
|
||||
"nickname" : "",
|
||||
"order_no" : "",
|
||||
"card_right_type" : "",
|
||||
'page_size':'',
|
||||
"page" : ""
|
||||
};
|
||||
if(hash_arr.length > 0){
|
||||
$.each(hash_arr,function(index, itemobj){
|
||||
var item_arr = itemobj.split("=");
|
||||
if(item_arr.length == 2){
|
||||
$.each(form_json,function(key, form_val){
|
||||
if(item_arr[0] == key){
|
||||
form_json[key] = item_arr[1];
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
resetOrderStatus(form_json.card_right_type, 2);
|
||||
setOrderStatusTab(form_json.card_right_type);
|
||||
return form_json;
|
||||
}
|
||||
function getHashList(){
|
||||
var hash_arr = getHashArr();
|
||||
var form_json = {
|
||||
"start_time" : "",
|
||||
"end_time" : "",
|
||||
"nickname" : "",
|
||||
"order_no" : "",
|
||||
"card_right_type" : "",
|
||||
'page_size':'',
|
||||
"page" : ""
|
||||
};
|
||||
if(hash_arr.length > 0){
|
||||
$.each(hash_arr,function(index, itemobj){
|
||||
var item_arr = itemobj.split("=");
|
||||
if(item_arr.length == 2){
|
||||
$.each(form_json,function(key, form_val){
|
||||
if(item_arr[0].indexOf(key) != "-1"){
|
||||
form_json[key] = item_arr[1];
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
return form_json;
|
||||
}
|
||||
|
||||
function setOrderStatusTab(order_status){
|
||||
$(".layui-tab-title li").removeClass("layui-this");
|
||||
$(".layui-tab-title li").each(function(){
|
||||
var status = $(this).attr("lay-id");
|
||||
if(status == order_status){
|
||||
$(this).addClass("layui-this")
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
//重置状态tab 选项卡
|
||||
function resetOrderStatus(order_type, is_tab){
|
||||
var hash_order_type = getHashOrderType();
|
||||
if(hash_order_type != order_type || is_refresh == false){
|
||||
if(is_tab != 1 || is_refresh == false) {
|
||||
$(".layui-tab-title li").not(':first').remove();
|
||||
$(".layui-tab-title li:first").addClass("layui-this");
|
||||
}
|
||||
$.each(order_type_status_json,function(index, itemobj){
|
||||
if(is_tab != 1 || is_refresh == false) {
|
||||
$(".layui-tab-title").append('<li lay-id="' + index + '">' + itemobj + '</li>');
|
||||
}
|
||||
});
|
||||
form.render('select');
|
||||
}
|
||||
}
|
||||
/**
|
||||
* 获取哈希值order_type
|
||||
*/
|
||||
function getHashOrderType(){
|
||||
var hash_arr = getHashArr();
|
||||
var card_right_type = "";
|
||||
if(hash_arr.length > 0){
|
||||
$.each(hash_arr,function(index, itemobj){
|
||||
var item_arr = itemobj.split("=");
|
||||
if(item_arr.length == 2){
|
||||
if(item_arr[0].indexOf("card_right_type") != "-1") {
|
||||
card_right_type = item_arr[1];
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
return card_right_type;
|
||||
}
|
||||
|
||||
function setHashOrderList(data){
|
||||
localStorage.setItem('formSubmit','search'); // 表单搜索标识,防止页面重新加载
|
||||
var hash = ['url=giftcard://shop/order/order'];
|
||||
for (let key in data) {
|
||||
if (data[key] != '' && data[key] != 'all') {
|
||||
hash.push(`${key}=${data[key]}`)
|
||||
}
|
||||
}
|
||||
location.hash = hash.join('&');
|
||||
getOrderList();
|
||||
}
|
||||
/**
|
||||
* 七天时间
|
||||
*/
|
||||
function datePick(date_num,event_obj){
|
||||
$(".date-picker-btn").removeClass("selected");
|
||||
$(event_obj).addClass('selected');
|
||||
Date.prototype.Format = function (fmt,date_num) { //author: meizz
|
||||
this.setDate(this.getDate()-date_num);
|
||||
var o = {
|
||||
"M+": this.getMonth() + 1, //月份
|
||||
"d+": this.getDate(), //日
|
||||
"H+": this.getHours(), //小时
|
||||
"m+": this.getMinutes(), //分
|
||||
"s+": this.getSeconds(), //秒
|
||||
"q+": Math.floor((this.getMonth() + 3) / 3), //季度
|
||||
"S": this.getMilliseconds() //毫秒
|
||||
};
|
||||
if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
|
||||
for (var k in o)
|
||||
if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
|
||||
return fmt;
|
||||
};
|
||||
var now_time = new Date().Format("yyyy-MM-dd 23:59:59",0);//当前日期
|
||||
var before_time = new Date().Format("yyyy-MM-dd 00:00:00",date_num-1);//前几天日期
|
||||
$("input[name=start_time]").val(before_time,0);
|
||||
$("input[name=end_time]").val(now_time,date_num-1);
|
||||
}
|
||||
</script>
|
||||
Reference in New Issue
Block a user