登录后,购买下载资源更方便!
您需要 登录 才可以下载或查看,没有账号?立即注册
×
针对ecshop订单中的物品,需要支持拣货的状态,比如未拣货、拣货中、拣货完成,以及显示拣货人姓名。: X' T, X! v6 n1 h
$ k/ S( Y* _+ E# `
1.SQL操作:
7 _; Y3 R1 y/ v: b/ B
3 n9 y) x. Q1 [6 ^2 r2.在文件languages\zh_cn\admin\order.php中增加:
1 p4 @1 ]7 I9 ` p& H% W8 l" S" }" g/ c* s! i
/* 拣货 */' @. e' `; J: ^4 D$ k, O$ w
$_LANG['order_picking_status'] = '拣货状态';7 X" v2 X7 t# l+ u" n1 y
$_LANG['order_picking_status_none'] = '未拣货';( ?" P1 B# i& ^4 D. r% u" x
$_LANG['order_picking_status_processing'] = '拣货中';5 A" n+ |# h; q$ e+ T, V
$_LANG['order_picking_status_finish'] = '拣货完成';
. D5 \& ^, R4 d) O. n$_LANG['invalid_order_picking_status'] = '拣货状态无效。0:未拣货;1:拣货中;2:拣货完成'; U q# t7 g/ d, q
3 N* L* [+ S2 K" ^$ G+ x
( B `; r/ q* e/ y6 L* I0 K- ]3.文件admin\templates\order_list.htm中在一下两行之间:
6 d5 W, L+ t6 i: a; g/ t3 { 第一个地方! m7 C6 L" n' Y, U9 B8 O
<th>{$lang.all_status}</th> f$ \1 F( Z" X$ n
<th>{$lang.handler}</th> L& M: R! G2 u1 t4 `3 j: R0 H
中间加上7 J# W2 t) h6 b
<th>{$lang.order_picking_status}</th>
6 h! c4 j, ^! Q. g9 \8 U1 U! N6 V9 r
第二个地方
2 U+ t, ]- @& S( i v# e在<td align="center" valign="top" nowrap="nowrap">{$lang.os[$order.order_status]},{$lang.ps[$order.pay_status]},{$lang.ss[$order.shipping_status]}</td>
- X$ C6 h/ B1 D+ L1 L, T; C* g$ H后面加上
/ R# y' m( x- q$ X6 @ z9 `<td align="right" valign="top"nowrap="nowrap"><span>{$order.user_name}【{if $order.order_picking_status == 1}{$lang.order_picking_status_processing}{elseif $order.order_picking_status ==2} {$lang.order_picking_status_finish} {else}{$lang.order_picking_status_none}{/if}】</span></td>" [* W% u4 G0 p2 [$ `
/ m7 Q" g7 K, y9 g4 J& T) f2 {+ L$ d, q* b; L. T
% ?- V* v0 }9 t. S. f6 z- ~( n4.admin\js\listtable.js中,listTable.edit的响应函数修改如下:
6 b+ x3 ]: O+ `/ ~
& f9 u: y1 ]3 U: @0 L5 x5 J
. ~* ?- P$ B8 c+ v5 i$ ], F/** * 创建一个可编辑区 */ listTable.edit = function(obj, act, id) { var tag =obj.firstChild.tagName; if (typeof(tag) !="undefined" && tag.toLowerCase() == "input") { return; } /* 保存原始的内容 */ var org = obj.innerHTML; var val = Browser.isIE ?obj.innerText : obj.textContent; /* 创建一个输入框 */ var txt =document.createElement("INPUT"); txt.value = (val == 'N/A') ?'' : val; txt.style.width =(obj.offsetWidth + 12) + "px" ; /* 隐藏对象中的内容,并将输入框加入到对象中 */ obj.innerHTML =""; obj.appendChild(txt); txt.focus(); txt.select(); /* 编辑区输入事件处理函数 */ txt.onkeypress = function(e) { var evt =Utils.fixEvent(e); var obj =Utils.srcElement(e); if (evt.keyCode == 13)//www.zuimoban.com { obj.blur(); return false; } if (evt.keyCode == 27) { obj.parentNode.innerHTML= org; } } /* 编辑区失去焦点的处理函数 */ txt.onblur = function(e) { if(Utils.trim(txt.value).length > 0) { res =Ajax.call(listTable.url, "act="+act+"&val=" +encodeURIComponent(Utils.trim(txt.value)) + "&id=" +id, null,"POST", "JSON", false); if (res.message) { alert(res.message); } if(res.id &&(res.act == 'goods_auto' || res.act == 'article_auto')) { document.getElementById('del'+res.id).innerHTML = "<ahref=\""+ thisfile +"?goods_id="+ res.id+"&act=del\" onclick=\"returnconfirm('"+deleteck+"');\">"+deleteid+"</a>"; } obj.innerHTML = (res.error== 0) ? res.content : org; } else { obj.innerHTML = org; } if (act =='edit_is_validated') { var content = obj.innerHTML.trim(); if (content == '1' || content.indexOf("yes") >= 0) { obj.innerHTML = '<imgsrc="images/yes.gif">'; } else { obj.innerHTML ='<img src="images/no.gif">'; } } else if (act =='edit_order_picking_status') { if (org == obj.innerHTML) { return true; } if (obj.innerHTML == '1') { obj.innerHTML ="【拣货中】"; } else if (obj.innerHTML == '2') { obj.innerHTML ="【拣货完成】"; } else { obj.innerHTML ="【未拣货】"; } } else { } } 0 {) c+ w, n5 [& \" Y- e0 ]4 U
}
8 c# r7 `4 y2 i( O5.admin\order.php文件中增加下面的函数:+ f7 Y7 R& p& A* N" k' C
6 j* F+ u- \' Q& p
/*------------------------------------------------------ */
$ a% J2 Z1 `2 y; c3 `4 Q//-- 订单拣货状态查询/ D! ~3 v: C. [9 F! ~ K% c
/*------------------------------------------------------ */
( d F+ g& k1 G. F
: E' c3 y: f+ n: @if ($_REQUEST['act'] == 'edit_order_picking_status')' B9 d( C1 b* ?# y
{) C2 V5 _# P& N! P
/* 检查权限 */7 G- ?, `/ o. d0 _% p
check_authz_json('users_manage');" {* T: w, f2 @" Z. X4 j7 C
9 i# Q' l7 g3 E/ k $id =empty($_REQUEST['id']) ? 0 : intval($_REQUEST['id']);
' f9 y1 ]' i; n$ v" W $order_picking_status =empty($_REQUEST['val']) ? '' : json_str_iconv(trim($_REQUEST['val']));
; ]8 k2 V5 [# ` c, T9 w: w $ F" ~ x! C C& [2 j. s
$sql = "DELETE fromorder_picking_status WHERE order_id = '". $id ."' LIMIT 1";
S" O* |. ~8 o5 a- q! I $db->query($sql);
7 y6 u8 }5 R2 X1 k$ f9 s7 f
l8 w$ w2 O: Z2 L0 D) p $sql = "INSERT INTOorder_picking_status (order_id, user_name, order_picking_status) VALUES('". $id ."', '". $_SESSION['admin_name'] ."', '".$order_picking_status ."')";
6 B4 Y4 O# v( ~' o" L $db->query($sql);2 l+ b1 y+ E7 C6 A) M8 P
) M; z7 u' ~% S i2 N if ($order_picking_status> 2 || $order_picking_status < 0): l! B' { u' d0 t' ^. J7 w A
{
; p& t! \, H% B9 J; Z make_json_error($GLOBALS['_LANG']['invalid_order_picking_status']);
u! C! _ m+ Z2 h8 W }: }, S( @6 |: \* H9 ]( E
else( z/ p1 j) L& j
{
( ?! T. D. U8 L# C: D7 E! U( { make_json_result($order_picking_status);
* N" Z5 ]5 X7 H! F0 Y }; Z1 B n; S: l; L3 W
}( C, g$ V6 p) w# k/ m. R
; Z$ j. u9 ?0 u8 u, T6、admin\order.php文件中增加下面的函数将以下代码9 Z. e1 ?5 X' l
/* 查询 */4 A3 Y! M4 ]3 y6 v* \( T0 k4 {4 C
$sql = "SELECT o.*," .! T+ ?0 P$ p' h* I+ G+ S4 V; r
"o.pay_status, o.consignee, o.firstname, o.lastname, o.address, o.email, o.tel, o.extension_code, o.extension_id, " .0 p+ n; ~0 { J8 E8 y! ?9 _* W: V
"(" . order_amount_field('o.') . ") AS total_fee, " .% i* `8 A' v8 o; F3 C: E! j5 D
"IFNULL(u.user_name, '" .$GLOBALS['_LANG']['anonymous']. "') AS buyer ".
) e: ^, s1 p# Y* V1 Y$ `/ q1 ~ " FROM " . $GLOBALS['ecs']->table('order_info') . " AS o " .4 S& U3 e9 H+ f- J
" LEFT JOIN " .$GLOBALS['ecs']->table('users'). " AS u ON u.user_id=o.user_id ". $where .
5 c$ r! G$ I$ ]# F1 n " ORDER BY $filter[sort_by] $filter[sort_order] ".3 c2 C4 J2 E5 H, ~
" LIMIT " . ($filter['page'] - 1) * $filter['page_size'] . ",$filter[page_size]";
- Y3 D# P3 N9 A& F4 W6 b& V W修改为:
) a* M. V1 R* O9 g7 F //* 查询 */& `- h3 S# Y( D) Q- h; a7 s
$sql = "SELECT o.*," .
9 W6 m8 T# y" s7 z+ [+ h "o.pay_status, o.consignee, o.firstname, o.lastname, o.address, o.email, o.tel, o.extension_code, o.extension_id, " .7 m# ?+ h. E+ [- b v+ e$ f# U
"(" . order_amount_field('o.') . ") AS total_fee, " .: n; X$ S! M3 p/ n) `+ f* N
"IFNULL(u.user_name, '" .$GLOBALS['_LANG']['anonymous']. "') AS buyer , p.user_name, p.order_picking_status, r.order_reply_status "." k& n0 {' v& `! }8 \0 n
" FROM " . $GLOBALS['ecs']->table('order_info') . " AS o " .
9 b6 \1 S( L2 n7 f6 X " LEFT JOIN " .$GLOBALS['ecs']->table('users'). " AS u ON u.user_id=o.user_id ".
4 U) ?: I: ^6 P$ i, Y8 d " LEFT JOIN order_reply_status AS r ON r.order_id = o.order_id ". " M$ f/ P0 Q+ o8 Z
" LEFT JOIN order_picking_status AS p ON p.order_id = o.order_id ". $where .
9 F# b8 j8 A) }1 i! d, K" [5 F " ORDER BY $filter[sort_by] $filter[sort_order] ". $ v! o3 J/ W8 ]$ `( D! H5 I& e. ~
" LIMIT " . ($filter['page'] - 1) * $filter['page_size'] . ",$filter[page_size]";# n V4 M H+ S0 I5 G7 h$ F3 [
6 K b4 i. ~! ~$ b: N& Z# G3 t7 d: Q% ?) V
. [1 H8 a' G6 F- K) P) T |