You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
314 lines
11 KiB
314 lines
11 KiB
{if $full_page}
|
|
{include file="pageheader.htm"}
|
|
{insert_scripts files="../js/utils.js,listtable.js"}
|
|
<!-- 訂單搜索 -->
|
|
<div class="form-div">
|
|
<form action="javascript:searchOrder()" name="searchForm">
|
|
<img src="images/icon_search.gif" width="26" height="22" border="0" alt="SEARCH" />
|
|
{$lang.order_sn}<input name="order_sn" type="text" id="order_sn" size="15">
|
|
{$lang.consignee|escape}<input name="consignee" type="text" id="consignee" size="15">
|
|
{$lang.all_status}
|
|
<select name="status" id="status">
|
|
<option value="-1" selected>{$lang.select_please}</option>
|
|
{html_options options=$status_list selected=-1}
|
|
</select>
|
|
<input type="submit" value="{$lang.button_search}" class="button" />
|
|
<input type="button" class="button" value="導出訂單" onclick="order_to_excel()" />
|
|
<a href="order.php?act=list&composite_status={$os_unconfirmed}">{$lang.cs.$os_unconfirmed}</a>
|
|
<a href="order.php?act=list&composite_status={$cs_await_pay}">{$lang.cs.$cs_await_pay}</a>
|
|
<a href="order.php?act=list&composite_status={$cs_await_ship}">{$lang.cs.$cs_await_ship}</a>
|
|
</form>
|
|
</div>
|
|
|
|
<script>
|
|
function order_to_excel()
|
|
{
|
|
var order_sn = document.getElementById('order_sn').value;
|
|
var consignee = document.getElementById('consignee').value;
|
|
var status = document.getElementById('status').value;
|
|
window.location.href='../plugins/order_to_excel/index.php?order_sn='+order_sn+'&consignee='+consignee+'&status='+status;
|
|
window.event.returnValue = false;
|
|
}
|
|
</script>
|
|
|
|
<!-- 訂單列表 -->
|
|
<form method="post" action="order.php?act=operate" name="listForm" onsubmit="return check()">
|
|
<div class="list-div" id="listDiv">
|
|
{/if}
|
|
<table class="table table-bordered">
|
|
<tr>
|
|
<th>
|
|
<input onclick='listTable.selectAll(this, "checkboxes")' type="checkbox" /><a href="javascript:listTable.sort('order_sn', 'DESC'); ">{$lang.order_sn}</a>{$sort_order_sn}
|
|
</th>
|
|
<th><a href="javascript:listTable.sort('add_time', 'DESC'); ">{$lang.order_time}</a>{$sort_order_time}</th>
|
|
<th><a href="javascript:listTable.sort('consignee', 'DESC'); ">{$lang.consignee}</a>{$sort_consignee}</th>
|
|
<th><a href="javascript:listTable.sort('total_fee', 'DESC'); ">{$lang.total_fee}</a>{$sort_total_fee}</th>
|
|
<th><a href="javascript:listTable.sort('order_amount', 'DESC'); ">{$lang.order_amount}</a>{$sort_order_amount}</th>
|
|
<th>{$lang.all_status}</th>
|
|
<th>{$lang.handler}</th>
|
|
<tr>
|
|
{foreach from=$order_list item=order key=okey}
|
|
<tr>
|
|
<td valign="top" nowrap="nowrap"><input type="checkbox" name="checkboxes" value="{$order.order_sn}" /><a href="order.php?act=info&order_id={$order.order_id}" id="order_{$okey}">{$order.order_sn}{if $order.extension_code eq "group_buy"}<br /><div align="center">{$lang.group_buy}</div>{elseif $order.extension_code eq "exchange_goods"}<br /><div align="center">{$lang.exchange_goods}</div>{/if}</a></td>
|
|
<td>{$order.short_order_time}</td>
|
|
<td align="left" valign="top"><a href="mailto:{$order.email}"> {$order.consignee|escape}</a>{if $order.mobile} [TEL: {$order.mobile|escape}]{/if}</td>
|
|
<td align="right" valign="top" nowrap="nowrap">{$order.formated_total_fee}</td>
|
|
<td align="right" valign="top" nowrap="nowrap">{$order.formated_order_amount}</td>
|
|
<td align="center" valign="top" nowrap="nowrap">{$lang.os[$order.order_status]},{$lang.ps[$order.pay_status]},{$lang.ss[$order.shipping_status]}</td>
|
|
<td align="center" valign="top" nowrap="nowrap">
|
|
<a href="order.php?act=info&order_id={$order.order_id}">{$lang.detail}</a>
|
|
{if $order.extension_code=='slashcard'}
|
|
<a href="###" onclick="openPrintCard({$order.order_sn})">製卡</a>
|
|
{/if}
|
|
{if $order.can_remove}
|
|
<br /><a href="javascript:;" onclick="listTable.remove({$order.order_id}, remove_confirm, 'remove_order')">{$lang.remove}</a>
|
|
{/if}
|
|
</td>
|
|
</tr>
|
|
{/foreach}
|
|
</table>
|
|
|
|
<!-- 分頁 -->
|
|
<table id="page-table" cellspacing="0">
|
|
<tr>
|
|
<td align="right" nowrap="true">
|
|
{include file="page.htm"}
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
|
|
{if $full_page}
|
|
</div>
|
|
<div>
|
|
<input name="confirm" type="submit" id="btnSubmit" value="{$lang.op_confirm}" class="button" disabled="true" onclick="this.form.target = '_self'" />
|
|
<input name="invalid" type="submit" id="btnSubmit1" value="{$lang.op_invalid}" class="button" disabled="true" onclick="this.form.target = '_self'" />
|
|
<input name="cancel" type="submit" id="btnSubmit2" value="{$lang.op_cancel}" class="button" disabled="true" onclick="this.form.target = '_self'" />
|
|
<input name="remove" type="submit" id="btnSubmit3" value="{$lang.remove}" class="button" disabled="true" onclick="this.form.target = '_self'" />
|
|
<input name="print" type="submit" id="btnSubmit4" value="{$lang.print_order}" class="button" disabled="true" onclick="this.form.target = '_blank'" />
|
|
<input name="batch" type="hidden" value="1" />
|
|
<input name="order_id" type="hidden" value="" />
|
|
</div>
|
|
</form>
|
|
<script language="JavaScript">
|
|
listTable.recordCount = {$record_count};
|
|
listTable.pageCount = {$page_count};
|
|
|
|
{foreach from=$filter item=item key=key}
|
|
listTable.filter.{$key} = '{$item}';
|
|
{/foreach}
|
|
{literal}
|
|
|
|
onload = function()
|
|
{
|
|
// 開始檢查訂單
|
|
startCheckOrder();
|
|
}
|
|
|
|
/**
|
|
* 搜索訂單
|
|
*/
|
|
function searchOrder()
|
|
{
|
|
listTable.filter['order_sn'] = Utils.trim(document.forms['searchForm'].elements['order_sn'].value);
|
|
listTable.filter['consignee'] = Utils.trim(document.forms['searchForm'].elements['consignee'].value);
|
|
listTable.filter['composite_status'] = document.forms['searchForm'].elements['status'].value;
|
|
listTable.filter['page'] = 1;
|
|
listTable.loadList();
|
|
}
|
|
|
|
function check()
|
|
{
|
|
var snArray = new Array();
|
|
var eles = document.forms['listForm'].elements;
|
|
for (var i=0; i<eles.length; i++)
|
|
{
|
|
if (eles[i].tagName == 'INPUT' && eles[i].type == 'checkbox' && eles[i].checked && eles[i].value != 'on')
|
|
{
|
|
snArray.push(eles[i].value);
|
|
}
|
|
}
|
|
if (snArray.length == 0)
|
|
{
|
|
return false;
|
|
}
|
|
else
|
|
{
|
|
eles['order_id'].value = snArray.toString();
|
|
return true;
|
|
}
|
|
}
|
|
/**
|
|
* 顯示訂單商品及縮圖
|
|
*/
|
|
var show_goods_layer = 'order_goods_layer';
|
|
var goods_hash_table = new Object;
|
|
var timer = new Object;
|
|
|
|
/**
|
|
* 綁定訂單號事件
|
|
*
|
|
* @return void
|
|
*/
|
|
function bind_order_event()
|
|
{
|
|
var order_seq = 0;
|
|
while(true)
|
|
{
|
|
var order_sn = Utils.$('order_'+order_seq);
|
|
if (order_sn)
|
|
{
|
|
order_sn.onmouseover = function(e)
|
|
{
|
|
try
|
|
{
|
|
window.clearTimeout(timer);
|
|
}
|
|
catch(e)
|
|
{
|
|
}
|
|
var order_id = Utils.request(this.href, 'order_id');
|
|
show_order_goods(e, order_id, show_goods_layer);
|
|
}
|
|
order_sn.onmouseout = function(e)
|
|
{
|
|
hide_order_goods(show_goods_layer)
|
|
}
|
|
order_seq++;
|
|
}
|
|
else
|
|
{
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
listTable.listCallback = function(result, txt)
|
|
{
|
|
if (result.error > 0)
|
|
{
|
|
alert(result.message);
|
|
}
|
|
else
|
|
{
|
|
try
|
|
{
|
|
document.getElementById('listDiv').innerHTML = result.content;
|
|
bind_order_event();
|
|
if (typeof result.filter == "object")
|
|
{
|
|
listTable.filter = result.filter;
|
|
}
|
|
listTable.pageCount = result.page_count;
|
|
}
|
|
catch(e)
|
|
{
|
|
alert(e.message);
|
|
}
|
|
}
|
|
}
|
|
/**
|
|
* 瀏覽器兼容式綁定Onload事件
|
|
*
|
|
*/
|
|
if (Browser.isIE)
|
|
{
|
|
window.attachEvent("onload", bind_order_event);
|
|
}
|
|
else
|
|
{
|
|
window.addEventListener("load", bind_order_event, false);
|
|
}
|
|
|
|
/**
|
|
* 建立訂單商品顯示層
|
|
*
|
|
* @return void
|
|
*/
|
|
function create_goods_layer(id)
|
|
{
|
|
if (!Utils.$(id))
|
|
{
|
|
var n_div = document.createElement('DIV');
|
|
n_div.id = id;
|
|
n_div.className = 'order-goods';
|
|
document.body.appendChild(n_div);
|
|
Utils.$(id).onmouseover = function()
|
|
{
|
|
window.clearTimeout(window.timer);
|
|
}
|
|
Utils.$(id).onmouseout = function()
|
|
{
|
|
hide_order_goods(id);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
Utils.$(id).style.display = '';
|
|
}
|
|
}
|
|
|
|
/**
|
|
* 顯示訂單商品數據
|
|
*
|
|
* @return void
|
|
*/
|
|
function show_order_goods(e, order_id, layer_id)
|
|
{
|
|
create_goods_layer(layer_id);
|
|
$layer_id = Utils.$(layer_id);
|
|
$layer_id.style.top = (Utils.y(e) + 12) + 'px';
|
|
$layer_id.style.left = (Utils.x(e) + 12) + 'px';
|
|
if (typeof(goods_hash_table[order_id]) == 'object')
|
|
{
|
|
response_goods_info(goods_hash_table[order_id]);
|
|
}
|
|
else
|
|
{
|
|
$layer_id.innerHTML = loading;
|
|
Ajax.call('order.php?is_ajax=1&act=get_goods_info&order_id='+order_id, '', response_goods_info , 'POST', 'JSON');
|
|
}
|
|
}
|
|
|
|
/**
|
|
* 隱藏訂單商品
|
|
*
|
|
* @return void
|
|
*/
|
|
function hide_order_goods(layer_id)
|
|
{
|
|
$layer_id = Utils.$(layer_id);
|
|
window.timer = window.setTimeout('$layer_id.style.display = "none"', 500);
|
|
}
|
|
|
|
/**
|
|
* 處理訂單商品的Callback
|
|
*
|
|
* @return void
|
|
*/
|
|
function response_goods_info(result)
|
|
{
|
|
if (result.error > 0)
|
|
{
|
|
alert(result.message);
|
|
hide_order_goods(show_goods_layer);
|
|
return;
|
|
}
|
|
if (typeof(goods_hash_table[result.content[0].order_id]) == 'undefined')
|
|
{
|
|
goods_hash_table[result.content[0].order_id] = result;
|
|
}
|
|
Utils.$(show_goods_layer).innerHTML = result.content[0].str;
|
|
}
|
|
|
|
|
|
function openPrintCard(sn){
|
|
let iWidth=800; //視窗的寬度;
|
|
let iHeight=600; //視窗的高度;
|
|
var iTop = (window.screen.availHeight-30-iHeight)/2; //視窗的垂直位置;
|
|
var iLeft = (window.screen.availWidth-10-iWidth)/2; //視窗的水平位置;
|
|
window.open('printcard.html?sn='+sn,'nfccard','height='+iHeight+',,innerHeight='+iHeight+',width='+iWidth+',innerWidth='+iWidth+',top='+iTop+',left='+iLeft+',status=no,location=no,status=no,menubar=no,toolbar=no,resizable=no,scrollbars=no');
|
|
}
|
|
</script>
|
|
{/literal}
|
|
|
|
{include file="pagefooter.htm"}
|
|
{/if} |