初始上传
This commit is contained in:
401
app/shop/view/delivery/delivery.html
Executable file
401
app/shop/view/delivery/delivery.html
Executable file
@@ -0,0 +1,401 @@
|
||||
<style>
|
||||
.layui-layout-admin .layui-body .body-content {padding-bottom: 150px;}
|
||||
.layui-form-switch{margin-top: 0;}
|
||||
.layui-card-body{display: flex;justify-content: space-between;align-items: center;}
|
||||
.layui-card-body p{color: #666666;}
|
||||
.btn-box{flex-shrink: 0;margin-left: 20px;}
|
||||
.btn-box a{cursor: pointer;}
|
||||
.card-common:first-child{margin-top: 0;}
|
||||
.card-common{border: 1px solid #f1f1f1;}
|
||||
.single-filter-box {display: block; position: relative;}
|
||||
.deliver-type .layui-card{user-select:none}
|
||||
.layui-card-header .table_move.iconfont.icontuodong{flex: 1; cursor: move;}
|
||||
.layui-card-header .card-title{flex: 60}
|
||||
.layui-card-header .card-icon,.layui-card-header .ziti-icon,.layui-card-header .waimai-icon{margin-left: 10px;cursor:pointer;}
|
||||
.kuaidi-list {display: none;min-width: 150px;height: 25px;line-height: 30px;padding-left: 6px;}
|
||||
.card-list {display: flex;align-items:center;position: absolute;left: 45px;}
|
||||
.layui-layout-admin .tips-wrap{margin-bottom: 15px;}
|
||||
.card-common .layui-card-header{height: 42px;line-height: 42px;padding: 0 15px;}
|
||||
.card-common .layui-card-body{padding: 10px 15px;}
|
||||
</style>
|
||||
|
||||
<div class="single-filter-box">
|
||||
<div class="layui-form deliver-type">
|
||||
{foreach name="deliver_type" item="vo"}
|
||||
{if $vo eq 'express'}
|
||||
<div class="layui-card card-common" data-type="express">
|
||||
<div class="layui-card-header">
|
||||
<div class="table_move iconfont icontuodong"></div>
|
||||
<!-- <span class="card-title">快递发货</span> -->
|
||||
<div class="card-list">
|
||||
{if count($express_config.value) && $express_config.value.express_name != ''}
|
||||
<input type="text" name="kuaidi-text" class="kuaidi-list" value="{$express_config.value.express_name}" />
|
||||
<span id="card-title-one" class="card-title kuaidi">{$express_config.value.express_name}</span>
|
||||
{else}
|
||||
<input type="text" name="kuaidi-text" class="kuaidi-list" value="快递发货" />
|
||||
<span class="card-title kuaidi">快递发货</span>
|
||||
{/if}
|
||||
<div class="card-icon">
|
||||
<!-- <img src="SHOP_IMG/express_delivery.png" style="width: 18px;height: 14px;" /> -->
|
||||
<i class="layui-icon text-color" style="font-size: 16px; !important"> </i>
|
||||
</div>
|
||||
</div>
|
||||
<span class="tips">
|
||||
<input class="control" type="checkbox" name="" id="express" value="1" lay-skin="switch" {if $express_config.is_use == 1} checked {/if} lay-filter="logistics" />
|
||||
</span>
|
||||
</div>
|
||||
<div class="layui-card-body">
|
||||
<p>启用物流配送后,买家下单可以选择快递发货,在微信视频号中仅支持物流配送。</p>
|
||||
<div class="btn-box">
|
||||
<a class="default text-color" href="{:href_url('shop/express/expresscompany')}">物流公司</a>
|
||||
<a class="default text-color" href="{:href_url('shop/express/template')}">运费模板</a>
|
||||
<a class="default text-color" href="{:href_url('shop/express/trace')}">物流跟踪</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{/if}
|
||||
{if $vo eq 'store'}
|
||||
<div class="layui-card card-common" data-type="store">
|
||||
<div class="layui-card-header">
|
||||
<div class="table_move iconfont icontuodong"></div>
|
||||
<!-- <span class="card-title">门店自提</span> -->
|
||||
<div class="card-list inputTrigger">
|
||||
{if count($store_config.value) && $store_config.value.store_name != ''}
|
||||
<input type="text" name="ziti-text" class="kuaidi-list" value="{$store_config.value.store_name}" />
|
||||
<span id="card-title-tow" class="card-title ziti">{$store_config.value.store_name}</span>
|
||||
{else}
|
||||
<input type="text" name="ziti-text" class="kuaidi-list" value="门店自提" />
|
||||
<span class="card-title ziti">门店自提</span>
|
||||
{/if}
|
||||
<div class="ziti-icon">
|
||||
<i class="layui-icon text-color" style="font-size: 16px; !important"> </i>
|
||||
</div>
|
||||
</div>
|
||||
<span class="tips">
|
||||
<input class="control" type="checkbox" name="" id="store" value="1" lay-skin="switch" {if $store_config.is_use == 1} checked {/if} lay-filter="SelfMention" />
|
||||
</span>
|
||||
</div>
|
||||
<div class="layui-card-body">
|
||||
<p>启用上门自提后,买家可以就近选择商品自提门店,买家下单后,您需要确保买家指定的自提门店商品库存充足。</p>
|
||||
<div class="btn-box">
|
||||
{if addon_is_exit('store') == 1}
|
||||
<a class="default text-color" href="{:href_url('store://shop/store/lists')}">自提门店</a>
|
||||
{else /}
|
||||
<a class="default text-color" href="{:href_url('shop/store/lists')}">自提门店</a>
|
||||
{/if}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{/if}
|
||||
{if $vo eq 'local'}
|
||||
<div class="layui-card card-common" data-type="local">
|
||||
<div class="layui-card-header">
|
||||
<div class="table_move iconfont icontuodong"></div>
|
||||
<!-- <span class="card-title">外卖配送</span> -->
|
||||
<div class="card-list">
|
||||
{if count($local_delivery_config.value) && $local_delivery_config.value.local_name != ''}
|
||||
<input type="text" name="waimai-text" class="kuaidi-list" value="{$local_delivery_config.value.local_name}"/>
|
||||
<span id="card-title-three" class="card-title waimai">{$local_delivery_config.value.local_name}</span>
|
||||
{else}
|
||||
<input type="text" name="waimai-text" class="kuaidi-list" value="同城配送" />
|
||||
<span class="card-title waimai">同城配送</span>
|
||||
{/if}
|
||||
<div class="waimai-icon">
|
||||
<i class="layui-icon text-color" style="font-size: 16px; !important"> </i>
|
||||
</div>
|
||||
</div>
|
||||
<span class="tips">
|
||||
<input class="control" type="checkbox" name="local_switch" id="local" value="1" lay-skin="switch" {if $local_delivery_config.is_use == 1} checked {/if} lay-filter="cityDistribution"/>
|
||||
</span>
|
||||
</div>
|
||||
<div class="layui-card-body">
|
||||
<p>启用同城配送后,在配送范围内的买家可以选择同城配送,您可以接入第三方配送,也可以自己配送。</p>
|
||||
<div class="btn-box" >
|
||||
{if addon_is_exit('store') == 1}
|
||||
<a class="default text-color" href="{:href_url('store://shop/store/lists')}">配送门店</a>
|
||||
{else /}
|
||||
<a class="default text-color" href="{:href_url('shop/local/deliverlists')}">配送员</a>
|
||||
<a class="default text-color" href="{:href_url('shop/local/local')}">配送设置</a>
|
||||
{/if}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{/if}
|
||||
{/foreach}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script type="text/javascript" src="__STATIC__/ext/drag-arrange.js"></script>
|
||||
<script>
|
||||
var expless = {$express_config.is_use};
|
||||
var store = {$store_config.is_use};
|
||||
var local = {$local_delivery_config.is_use};
|
||||
function choice(){
|
||||
var expressOne =$('#express').prop('checked');
|
||||
var storeTow=$('#store').prop('checked');
|
||||
var localThree=$('#local').prop('checked');
|
||||
$('#express').removeAttr('disabled');
|
||||
$('#store').removeAttr('disabled');
|
||||
$('#local').removeAttr('disabled');
|
||||
if(!expressOne && !storeTow){
|
||||
$('#local').attr('disabled','disabled')
|
||||
}else if(!expressOne && !localThree){
|
||||
$('#store').attr('disabled','disabled')
|
||||
}else if(!storeTow && !localThree){
|
||||
$('#express').attr('disabled','disabled')
|
||||
}
|
||||
}
|
||||
choice();
|
||||
if ($('input[name="kuaidi-text"]').val() != '快递发货' ) {
|
||||
$('.type-type1').html('{$express_config.value.express_name}');
|
||||
}
|
||||
if ($('input[name="ziti-text"]').val() != '快递发货' ) {
|
||||
$('.type-type2').html('{$store_config.value.store_name}');
|
||||
}
|
||||
if ($('input[name="waimai-text"]').val() != '快递发货' ) {
|
||||
$('.type-type3').html('{$local_delivery_config.value.local_name}');
|
||||
}
|
||||
|
||||
$('.card-icon').click(function(){
|
||||
$('.kuaidi').css("display","none");
|
||||
$('input[name="kuaidi-text"]').css("display","block");
|
||||
$('.card-list').find('input[name="kuaidi-text"]').focus();
|
||||
$('.card-icon').css("display","none");
|
||||
});
|
||||
|
||||
$('input[name="kuaidi-text"]').blur(function(){
|
||||
$('.kuaidi').css("display","flex");
|
||||
$('input[name="kuaidi-text"]').css("display","none");
|
||||
$('.card-icon').css("display","block");
|
||||
let value = $('input[name="kuaidi-text"]').val();
|
||||
if(value != ''){
|
||||
$.ajax({
|
||||
dataType: "JSON",
|
||||
type: "POST",
|
||||
data:{express_name: value, is_use : expless},
|
||||
url: ns.url("shop/delivery/modifyExpressStatus"),
|
||||
success: function(res){
|
||||
layer.msg(res.message);
|
||||
$('#card-title-one').html(value);
|
||||
listenerHash(); // 刷新页面
|
||||
layer.closeAll();
|
||||
}
|
||||
})
|
||||
}
|
||||
});
|
||||
|
||||
$('.ziti-icon').click(function(){
|
||||
$('.ziti').css("display","none");
|
||||
$('input[name="ziti-text"]').css("display","block");
|
||||
$('.card-list').find('input[name="ziti-text"]').focus();
|
||||
$('.ziti-icon').css("display","none");
|
||||
});
|
||||
|
||||
$('input[name="ziti-text"]').blur(function(){
|
||||
$('.ziti').css("display","flex");
|
||||
$('input[name="ziti-text"]').css("display","none");
|
||||
$('.ziti-icon').css("display","block");
|
||||
let value = $('input[name="ziti-text"]').val();
|
||||
if(value != ''){
|
||||
$.ajax({
|
||||
dataType: "JSON",
|
||||
type: "POST",
|
||||
data:{store_name: value, is_use : store},
|
||||
url: ns.url("shop/delivery/modifyStoreStatus"),
|
||||
success: function(res){
|
||||
layer.msg(res.message);
|
||||
$('#card-title-tow').html(value);
|
||||
listenerHash(); // 刷新页面
|
||||
}
|
||||
})
|
||||
}
|
||||
});
|
||||
|
||||
$('.waimai-icon').click(function(){
|
||||
$('.waimai').css("display","none");
|
||||
$('input[name="waimai-text"]').css("display","block");
|
||||
$('.card-list').find('input[name="waimai-text"]').focus();
|
||||
$('.waimai-icon').css("display","none");
|
||||
});
|
||||
|
||||
$('input[name="waimai-text"]').blur(function(){
|
||||
$('.waimai').css("display","flex");
|
||||
$('input[name="waimai-text"]').css("display","none");
|
||||
$('.waimai-icon').css("display","block");
|
||||
let value = $('input[name="waimai-text"]').val();
|
||||
if(value != ''){
|
||||
$.ajax({
|
||||
dataType: "JSON",
|
||||
type: "POST",
|
||||
data:{local_name: value, "is_use" : local},
|
||||
url: ns.url("shop/delivery/modifyLocalStatus"),
|
||||
success: function(res){
|
||||
layer.msg(res.message);
|
||||
$('#card-title-three').html(value);
|
||||
listenerHash(); // 刷新页面
|
||||
}
|
||||
})
|
||||
}
|
||||
});
|
||||
|
||||
layui.use('form', function() {
|
||||
var form = layui.form;
|
||||
form.render();
|
||||
|
||||
//物流配置开关
|
||||
form.on('switch(logistics)', function(data){
|
||||
choice();
|
||||
data.value = data.elem.checked ? data.value : 0;
|
||||
var express_name = $("input[name='kuaidi-text']").val();
|
||||
$.ajax({
|
||||
dataType: "JSON",
|
||||
type: "POST",
|
||||
data:{"is_use": data.value, "express_name" : express_name},
|
||||
url: ns.url("shop/delivery/modifyExpressStatus"),
|
||||
success: function(res){
|
||||
layer.msg(res.message);
|
||||
if (res.code < 0) {
|
||||
$('#store').prop('checked', false);
|
||||
form.render();
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
});
|
||||
|
||||
//门店自提开关
|
||||
form.on('switch(SelfMention)', function(data){
|
||||
data.value = data.elem.checked ? data.value : 0;
|
||||
var store_name = $("input[name='ziti-text']").val();
|
||||
choice();
|
||||
$.ajax({
|
||||
dataType: "JSON",
|
||||
type: "POST",
|
||||
data:{"is_use": data.value, "store_name" : store_name},
|
||||
url: ns.url("shop/delivery/modifyStoreStatus"),
|
||||
success: function(res) {
|
||||
layer.msg(res.message);
|
||||
if (res.code < 0) {
|
||||
$('#store').prop('checked', false);
|
||||
form.render();
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
});
|
||||
|
||||
//外卖配送开关
|
||||
form.on('switch(cityDistribution)', function(data){
|
||||
var local = data.elem.checked ? data.value : 0;
|
||||
data.value = data.elem.checked ? data.value : 0;
|
||||
var local_name = $("input[name='waimai-text']").val();
|
||||
choice();
|
||||
$.ajax({
|
||||
dataType: "JSON",
|
||||
type: "POST",
|
||||
data:{"is_use": data.value, "local_name" : local_name},
|
||||
url: ns.url("shop/delivery/modifyLocalStatus"),
|
||||
success: function(res){
|
||||
layer.msg(res.message);
|
||||
if (res.code < 0) {
|
||||
$('#local').prop('checked', false);
|
||||
form.render();
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
});
|
||||
|
||||
$('.layui-card.card-common').arrangeable({
|
||||
dragSelector: '.table_move',
|
||||
callback:function(e){
|
||||
var deliverType = [];
|
||||
$('.deliver-type .layui-card').each(function(){
|
||||
deliverType.push($(this).attr('data-type'));
|
||||
});
|
||||
setTimeout(function(){
|
||||
$.ajax({
|
||||
dataType: "JSON",
|
||||
type: "POST",
|
||||
data:{"deliver_type": deliverType.toString()},
|
||||
url: ns.url("shop/delivery/delivertypesort"),
|
||||
success: function(res){
|
||||
}
|
||||
})
|
||||
},100);
|
||||
}
|
||||
});
|
||||
$('.tips').on('click',function(){
|
||||
var expressOne = $('#express').attr('disabled');
|
||||
var storeTow = $('#store').attr('disabled');
|
||||
var localThree = $('#local').attr('disabled');
|
||||
var name=$(this).children().attr('id');
|
||||
var disabledName;
|
||||
switch ('disabled') {
|
||||
case expressOne:
|
||||
disabledName = 'express';
|
||||
break;
|
||||
case storeTow:
|
||||
disabledName = 'store';
|
||||
break;
|
||||
case localThree:
|
||||
disabledName = 'local';
|
||||
break;
|
||||
}
|
||||
if(name == disabledName){
|
||||
layer.msg('最少保留一个配送方式');
|
||||
}
|
||||
})
|
||||
});
|
||||
|
||||
|
||||
function showDemo(){
|
||||
layer.open({
|
||||
title: '查看示例',
|
||||
type: 1,
|
||||
area: ['700px', '660px'],
|
||||
content: '<img style="margin:20px 50px;" src="SHOP_IMG/delivery.png">'
|
||||
})
|
||||
}
|
||||
|
||||
document.onkeydown = function (e) {
|
||||
var theEvent = window.event || e;
|
||||
var code = theEvent.keyCode || theEvent.which || theEvent.charCode;
|
||||
var name = $('.kuaidi-list:focus').attr("name");
|
||||
var val = $('.kuaidi-list:focus').val();
|
||||
if (code == 13) {
|
||||
if(name == "kuaidi-text"){
|
||||
var data = {
|
||||
"express_name" : val,
|
||||
"is_use" : expless
|
||||
};
|
||||
var url = ns.url("shop/delivery/modifyExpressStatus");
|
||||
}else if(name == "ziti-text"){
|
||||
var data = {
|
||||
"store_name" : val,
|
||||
"is_use" : store
|
||||
};
|
||||
var url = ns.url("shop/delivery/modifyStoreStatus");
|
||||
}else if(name == "waimai-text"){
|
||||
var data = {
|
||||
"local_name" : val,
|
||||
"is_use" : local
|
||||
};
|
||||
var url = ns.url("shop/delivery/modifyLocalStatus");
|
||||
}
|
||||
|
||||
if(val != ''){
|
||||
$.ajax({
|
||||
dataType: "JSON",
|
||||
type: "POST",
|
||||
data: data,
|
||||
url: url,
|
||||
success: function(res){
|
||||
layer.msg(res.message);
|
||||
listenerHash(); // 刷新页面
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
492
app/shop/view/delivery/lists.html
Executable file
492
app/shop/view/delivery/lists.html
Executable file
@@ -0,0 +1,492 @@
|
||||
<link rel="stylesheet" href="SHOP_CSS/delivery_lists.css"/>
|
||||
<style>
|
||||
.table-tab .layui-tab-content {padding-top: 0;}
|
||||
.layui-layer-content {line-height: 30px;}
|
||||
.layui-layout-admin .layui-form-item .layui-input-inline{background-color: #fff;}
|
||||
.layui-layout-admin .layui-table-cell{height: 32px;line-height: 32px;}
|
||||
.screen.layui-collapse{margin-bottom: 0;}
|
||||
.table-tab{margin-top: 0;}
|
||||
.order-operation{padding-top: 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" lay-filter="order_list">
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label">搜索方式</label>
|
||||
<div class="layui-input-inline">
|
||||
<select name="order_label" >
|
||||
{foreach $order_label_list as $k => $label_val}
|
||||
<option value="{$k}">{$label_val}</option>
|
||||
{/foreach}
|
||||
</select>
|
||||
</div>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" name="search" 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" onclick="datePick(7, this);return false;">近7天</button>
|
||||
<button class="layui-btn layui-btn-primary date-picker-btn" onclick="datePick(30, this);return false;">近30天</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label">订单来源</label>
|
||||
<div class="layui-input-inline">
|
||||
<select name="order_from">
|
||||
<option value="">全部</option>
|
||||
{foreach $order_from_list as $order_from_k => $order_from_v}
|
||||
<option value="{$order_from_k}">{$order_from_v['name']}</option>
|
||||
{/foreach}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="form-row">
|
||||
<button class="layui-btn" id="btn_search" lay-submit lay-filter="btn_search">筛选</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">
|
||||
<div class="layui-tab-content">
|
||||
<div class="order-operation" style="display: none">
|
||||
<div class="layui-form order-operation-btn all-selected-checkbox">
|
||||
<div class="order-operation-all-btn">
|
||||
<input type="checkbox" name="" lay-skin="primary" lay-filter="allCheckbox">
|
||||
<input type="hidden" name="allOrderId">
|
||||
</div>
|
||||
<div class="btn-box">
|
||||
<span class="btn-deliver">批量发货</span>
|
||||
<span class="btn-dispatch-bill">打印发货单</span>
|
||||
{if addon_is_exit('electronicsheet',$user_info.site_id) == 1}
|
||||
<span class="btn-express-sheet">打印电子面单</span>
|
||||
{/if}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 列表 -->
|
||||
<div id="delivery_list"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="order-operation" style="display: none">
|
||||
<div class="layui-form order-operation-btn all-selected-checkbox">
|
||||
<div class="order-operation-all-btn">
|
||||
<input type="checkbox" name="" lay-skin="primary" lay-filter="allCheckbox">
|
||||
<input type="hidden" name="allOrderId">
|
||||
</div>
|
||||
<div class="btn-box">
|
||||
<span class="btn-deliver">批量发货</span>
|
||||
<span class="btn-dispatch-bill">打印发货单</span>
|
||||
{if addon_is_exit('electronicsheet',$user_info.site_id) == 1}
|
||||
<span class="btn-express-sheet">打印电子面单</span>
|
||||
{/if}
|
||||
</div>
|
||||
</div>
|
||||
<div id="delivery_page"></div>
|
||||
</div>
|
||||
|
||||
<div id="order_operation"></div>
|
||||
|
||||
<script src="SHOP_JS/deliver_lists.js"></script>
|
||||
<script src="SHOP_JS/lodop_funcs.js"></script>
|
||||
{include file="order/order_common_action" /}
|
||||
<!-- 修改订单收货地址 -->
|
||||
{include file="order/order_action" /}
|
||||
<!-- 发货 -->
|
||||
{include file="order/order_delivery_action" /}
|
||||
<!-- 外卖发货 -->
|
||||
{include file="localorder/local_order_delivery_action" /}
|
||||
<!--打印相关-->
|
||||
{include file="electronicsheet/print_html" /}
|
||||
|
||||
<script>
|
||||
var laypage,element, form;
|
||||
var is_refresh = false;
|
||||
var orderDataAll = [];
|
||||
|
||||
// 通过hash获取页数
|
||||
function getHashPage(){
|
||||
var page = 1;
|
||||
var hash_arr = getHashArr();
|
||||
$.each(hash_arr,function(index, itemobj){
|
||||
var item_arr = itemobj.split("=");
|
||||
if(item_arr.length == 2){
|
||||
if(item_arr[0].indexOf("page") != "-1"){
|
||||
page = item_arr[1];
|
||||
}
|
||||
}
|
||||
});
|
||||
return page;
|
||||
}
|
||||
|
||||
//从hash中获取数据
|
||||
function getHashData(){
|
||||
var hash_arr = getHashArr();
|
||||
var form_json = {
|
||||
"end_time" : "",
|
||||
"order_from" : "",
|
||||
"order_label" : $("select[name=order_label]").val(),
|
||||
"order_name" : "",
|
||||
"order_status" : "",
|
||||
"pay_type" : "",
|
||||
"search" : "",
|
||||
"start_time" : "",
|
||||
"order_type" : 'all',
|
||||
"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];
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
resetOrderStatus(form_json.order_type, 2);
|
||||
form.val("order_list", form_json);
|
||||
setOrderStatusTab(form_json.order_status);
|
||||
return form_json;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取哈希值order_type
|
||||
*/
|
||||
function getHashOrderType(){
|
||||
var hash_arr = getHashArr();
|
||||
var order_type = "all";
|
||||
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("order_type") != "-1") {
|
||||
order_type = item_arr[1];
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
return order_type;
|
||||
}
|
||||
|
||||
layui.use(['laypage','laydate','form', 'element'], function(){
|
||||
form = layui.form;
|
||||
laypage = layui.laypage;
|
||||
element = layui.element;
|
||||
var 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");
|
||||
}
|
||||
});
|
||||
|
||||
//监听筛选事件
|
||||
form.on('submit(btn_search)', function(data){
|
||||
is_refresh = true;
|
||||
data.field.page = 1;
|
||||
resetOrderStatus(data.field.order_type, 2);
|
||||
setHashOrderList(data.field);
|
||||
return false;
|
||||
});
|
||||
|
||||
//批量导出
|
||||
form.on('submit(batch_export)', function(data){
|
||||
data.field.order_type = 1;
|
||||
data.field.order_status = 1;
|
||||
location.href = ns.url("shop/order/exportOrderGoods?request_mode=download",data.field);
|
||||
return false;
|
||||
});
|
||||
|
||||
//订单类型
|
||||
form.on('select(order_type)', function(data){
|
||||
resetOrderStatus(data.value, 1);
|
||||
return false;
|
||||
});
|
||||
|
||||
//监听Tab切换,以改变地址hash值
|
||||
element.on('tab(order_tab)', function(){
|
||||
var status = this.getAttribute('lay-id');
|
||||
form.val("delivery_list", {"order_status":status});
|
||||
|
||||
var hash_data = getHashList();
|
||||
hash_data.order_status = status;
|
||||
hash_data.page = 1;
|
||||
setHashOrderList(hash_data);
|
||||
});
|
||||
getHashData();
|
||||
getOrderList();//筛选
|
||||
});
|
||||
|
||||
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").find(":first").addClass("layui-this");
|
||||
}
|
||||
if(is_tab != 2 || is_refresh == false){
|
||||
$("select[name=order_status] option").not(':first').remove();
|
||||
}
|
||||
|
||||
var status_item = [];
|
||||
$.each(status_item,function(index, itemobj){
|
||||
if(is_tab != 1 || is_refresh == false) {
|
||||
$(".layui-tab-title").append('<li lay-id="' + index + '">' + itemobj + '</li>');
|
||||
}
|
||||
if(is_tab != 2 || is_refresh == false) {
|
||||
$("select[name=order_status]").append('<option value="' + index + '">' + itemobj + '</option>');
|
||||
}
|
||||
});
|
||||
form.render('select');
|
||||
}
|
||||
}
|
||||
|
||||
//哈希值 订单数据
|
||||
function setHashOrderList(data){
|
||||
localStorage.setItem('formSubmit','search'); // 表单搜索标识,防止页面重新加载
|
||||
var hash = ['url=shop/delivery/lists'];
|
||||
for (let key in data) {
|
||||
if (data[key] != '' && data[key] != 'all') {
|
||||
hash.push(`${key}=${data[key]}`)
|
||||
}
|
||||
}
|
||||
location.hash = hash.join('&');
|
||||
getOrderList();
|
||||
}
|
||||
|
||||
function getHashList(){
|
||||
var hash_arr = getHashArr();
|
||||
var form_json = {
|
||||
"end_time" : "",
|
||||
"order_from" : "",
|
||||
"order_label" : $("select[name=order_label]").val(),
|
||||
"order_name" : "",
|
||||
"order_status" : "",
|
||||
"pay_type" : "",
|
||||
"search" : "",
|
||||
"start_time" : "",
|
||||
"order_type" : 'all',
|
||||
'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;
|
||||
}
|
||||
var laypage_util;
|
||||
var delivery = new Delivery();
|
||||
function getOrderList(){
|
||||
var url = ns.url("shop/delivery/lists", getHashArr().join('&'));
|
||||
$.ajax({
|
||||
type : 'get',
|
||||
dataType: 'json',
|
||||
url :url,
|
||||
success : function(res){
|
||||
if(res.code == 0){
|
||||
setOrderInfo(res.data.list);
|
||||
delivery.setData(res.data);
|
||||
$("#delivery_list").html(delivery.fetch());
|
||||
form.render();
|
||||
$(".order-operation").show();
|
||||
|
||||
//批量选择
|
||||
form.on('checkbox(allCheckbox)', function(data){
|
||||
$(".sub-selected-checkbox input").prop("checked",data.elem.checked);
|
||||
$(".all-selected-checkbox input").prop("checked",data.elem.checked);
|
||||
form.render("checkbox");
|
||||
getOrderId();
|
||||
});
|
||||
|
||||
//全选选择
|
||||
form.on('checkbox(subCheckbox)', function(data){
|
||||
var subLen = $(".sub-selected-checkbox input:checked").length;
|
||||
$(".all-selected-checkbox input").prop("checked",false);
|
||||
if (subLen == 10){
|
||||
$(".all-selected-checkbox input").prop("checked",true);
|
||||
}
|
||||
form.render("checkbox");
|
||||
getOrderId();
|
||||
});
|
||||
|
||||
//获取选中的id
|
||||
function getOrderId(){
|
||||
var subLen = $(".sub-selected-checkbox input:checked").length,
|
||||
lists = $(".sub-selected-checkbox input:checked");
|
||||
|
||||
orderDataAll = [];
|
||||
|
||||
lists.each(function(index,item){
|
||||
orderDataAll.push(JSON.parse($(item).parents(".sub-selected-checkbox").attr("data-json")));
|
||||
});
|
||||
}
|
||||
|
||||
laypage_util = new Page({
|
||||
elem: 'delivery_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);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 七天时间
|
||||
*/
|
||||
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);
|
||||
}
|
||||
|
||||
//批量发货
|
||||
$("body").off("click",".order-operation .btn-deliver").on("click",".order-operation .btn-deliver", function () {
|
||||
var subLen = $(".sub-selected-checkbox input:checked").length;
|
||||
if (subLen <=0 ) {
|
||||
layer.msg("请选择订单");
|
||||
return false;
|
||||
}
|
||||
orderBatchDelivery(orderDataAll);
|
||||
});
|
||||
|
||||
/**
|
||||
* 批量打印发货单
|
||||
*/
|
||||
var LODOP; //声明为全局变量
|
||||
function PrintOneURL(url){
|
||||
LODOP=getLodop();
|
||||
if(LODOP) {
|
||||
LODOP.PRINT_INIT("发货单打印");
|
||||
LODOP.ADD_PRINT_TBURL(5, 10, "770", "95%", url);
|
||||
LODOP.SET_PRINT_STYLEA(0, "HOrient", 3);
|
||||
LODOP.SET_PRINT_STYLEA(0, "VOrient", 3);
|
||||
LODOP.ADD_PRINT_TEXT(590, 680, 130, 22, "页号:第#页/共&页");
|
||||
LODOP.SET_PRINT_STYLEA(0, "ItemType", 2);
|
||||
LODOP.SET_PRINT_STYLEA(0, "Horient", 1);
|
||||
LODOP.SET_PRINT_STYLEA(0, "Vorient", 1);
|
||||
LODOP.SET_SHOW_MODE("MESSAGE_GETING_URL", ""); //该语句隐藏进度条或修改提示信息
|
||||
// LODOP.SET_SHOW_MODE("MESSAGE_PARSING_URL","");//该语句隐藏进度条或修改提示信息
|
||||
}
|
||||
}
|
||||
|
||||
function dispatchBill(url) {
|
||||
PrintOneURL(url);
|
||||
// LODOP.PREVIEW(); //预览
|
||||
LODOP.PRINT(); //直接打印
|
||||
}
|
||||
|
||||
$("body").off("click",".order-operation .btn-dispatch-bill").on("click",".order-operation .btn-dispatch-bill", function () {
|
||||
var subLen = $(".sub-selected-checkbox input:checked").length;
|
||||
if (subLen <=0 ) {
|
||||
layer.msg("请选择订单");
|
||||
return false;
|
||||
}
|
||||
for (var i = 0; i < orderDataAll.length; i++){
|
||||
var url = ns.url("shop/printer/batchprintorder",{request_mode: 'download',order_id: orderDataAll[i].order_id});
|
||||
dispatchBill(url)
|
||||
}
|
||||
});
|
||||
|
||||
$("body").off("click",".order-operation .btn-express-sheet").on("click",".order-operation .btn-express-sheet", function () {
|
||||
|
||||
var subLen = $(".sub-selected-checkbox input:checked").length;
|
||||
if (subLen <=0 ) {
|
||||
layer.msg("请选择订单");
|
||||
return false;
|
||||
}
|
||||
var order_id_list = [];
|
||||
for (var i = 0; i < orderDataAll.length; i++){
|
||||
order_id_list.push(orderDataAll[i].order_id);
|
||||
}
|
||||
printElectronicsheetAction(order_id_list);
|
||||
|
||||
});
|
||||
|
||||
</script>
|
||||
Reference in New Issue
Block a user