登录后,购买下载资源更方便!
您需要 登录 才可以下载或查看,没有账号?立即注册
×
针对ecshop订单中的物品,需要支持拣货的状态,比如未拣货、拣货中、拣货完成,以及显示拣货人姓名。" D/ K0 c/ [3 S1 O
( y' E }; k% c) U1.SQL操作:
z/ }1 N8 T+ _; ^1 _- L, t" _! F d& L6 e
2.在文件languages\zh_cn\admin\order.php中增加:
7 {) q6 }9 w; j4 i: H+ l2 C
( K' U# P& w2 s# N/ a% D/* 拣货 */
& h3 m8 q7 l2 K6 M9 l1 l$_LANG['order_picking_status'] = '拣货状态';
: j6 y! ^& w3 a6 S( n$_LANG['order_picking_status_none'] = '未拣货';- h$ d$ |1 f3 e, t
$_LANG['order_picking_status_processing'] = '拣货中';/ Z% a( C7 O8 ^. n9 s, q
$_LANG['order_picking_status_finish'] = '拣货完成';
0 `. q; v8 P# ?) P5 K$_LANG['invalid_order_picking_status'] = '拣货状态无效。0:未拣货;1:拣货中;2:拣货完成';
4 W+ n ~/ Y7 G% s( w/ Y0 @3 M+ I9 O3 ?1 d8 g) T
( r2 W( K$ ^$ ?+ n- u1 `3.文件admin\templates\order_list.htm中在一下两行之间:( K/ R% o( O( f1 ^' x
第一个地方
2 l, H1 H/ j) y$ w! x<th>{$lang.all_status}</th>
. p; s+ p& v- ~' |<th>{$lang.handler}</th>
y# D% k3 w l; g5 f! ]0 N中间加上
! v7 b6 v1 A( j- Y<th>{$lang.order_picking_status}</th>9 F* y) t( O* Z# k$ o
/ O& \9 E7 c' S; {: c
第二个地方, ~, x5 k8 ~3 `: Q& a3 U
在<td align="center" valign="top" nowrap="nowrap">{$lang.os[$order.order_status]},{$lang.ps[$order.pay_status]},{$lang.ss[$order.shipping_status]}</td>
" i" {' ]5 |3 O o2 Y& y后面加上+ G! ~ D; C2 h2 b
<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>& v% w$ |# o, b5 h1 r2 S
0 D3 S$ E. m! `) {; ^, b3 h8 ]2 x* r
# ]3 F! k* H4 N- E; G& Z
4.admin\js\listtable.js中,listTable.edit的响应函数修改如下:$ S, a& ?1 `7 l6 b8 ~1 l4 c5 {# x' D
; u% ^2 X t" J( F5 ^. d, x2 n2 ?. I% I, D9 j
/** * 创建一个可编辑区 */ 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 { } }
$ W. ~3 a3 c* h/ s; V3 m8 \} ; T# J' j* ^; e* Z* H
5.admin\order.php文件中增加下面的函数:5 u' `6 R0 }/ e, `' s" y5 w
* j+ G* I1 q3 _/ s8 [. x' L
/*------------------------------------------------------ */
y3 D# b' U7 D$ W( T2 `7 m//-- 订单拣货状态查询
' p. ~9 v; h& z+ O; Z# U/*------------------------------------------------------ */+ C( f$ J: b4 o1 N" o- O5 H
6 D2 Y1 |5 X2 ^/ g! g& B+ M7 Zif ($_REQUEST['act'] == 'edit_order_picking_status')
+ y* T1 j2 M w4 e$ d2 _: F{) _+ x/ T. b: l7 r
/* 检查权限 */% L5 j3 I3 i/ A
check_authz_json('users_manage');
, b2 v; L2 P' a! W ) k, i9 f/ c6 V; }
$id =empty($_REQUEST['id']) ? 0 : intval($_REQUEST['id']);7 @8 n: W0 O7 i6 @
$order_picking_status =empty($_REQUEST['val']) ? '' : json_str_iconv(trim($_REQUEST['val']));
$ S* ^7 X/ G4 c8 T
* V0 a) ~! k/ T- D+ H $sql = "DELETE fromorder_picking_status WHERE order_id = '". $id ."' LIMIT 1";( N+ m) N- h! w" |) e
$db->query($sql);
$ y; z, g5 T, `. z/ d w
# p6 H; [$ j2 W% S $sql = "INSERT INTOorder_picking_status (order_id, user_name, order_picking_status) VALUES('". $id ."', '". $_SESSION['admin_name'] ."', '".$order_picking_status ."')";
* R5 h3 C2 ^" g9 C, F4 q $db->query($sql);
1 j. a5 m; B7 U; c3 Z
4 }0 A. s, Q& ^5 V5 W if ($order_picking_status> 2 || $order_picking_status < 0)
4 `+ \; l; |; @& {( T; Q- O( ~ {+ E( O$ I4 Z7 n) @
make_json_error($GLOBALS['_LANG']['invalid_order_picking_status']);3 I0 e8 x" d+ e8 ^5 r5 W; v
}8 Q+ T4 e7 j0 C
else
4 r4 T0 G3 J. S% U0 \; e) L {7 ]: ~: M+ R1 p7 z
make_json_result($order_picking_status);2 p5 ^" U w$ U# Z1 `
}
3 K& x( S( Y. Q) ^' h% k! l}2 Q. @2 ]& [+ r Z- }$ a& f, x
- h; |+ j) ~/ n4 d
6、admin\order.php文件中增加下面的函数将以下代码- \$ l V* g: k4 `% R
/* 查询 */" B( k j! U A4 l: O2 e$ `
$sql = "SELECT o.*," .5 W, C( y- R, x
"o.pay_status, o.consignee, o.firstname, o.lastname, o.address, o.email, o.tel, o.extension_code, o.extension_id, " .
( C% x5 m v4 \& j; G "(" . order_amount_field('o.') . ") AS total_fee, " .
/ r7 _7 D$ U0 f9 T& K "IFNULL(u.user_name, '" .$GLOBALS['_LANG']['anonymous']. "') AS buyer ".
9 A$ E, @% s* n- o; Q " FROM " . $GLOBALS['ecs']->table('order_info') . " AS o " .
6 n0 c+ Y2 H0 W$ u) P/ }& z, ]( x' Q " LEFT JOIN " .$GLOBALS['ecs']->table('users'). " AS u ON u.user_id=o.user_id ". $where . * D& ], c. U& d6 a6 @
" ORDER BY $filter[sort_by] $filter[sort_order] ".: _, j0 k- l( y* M, w/ ^
" LIMIT " . ($filter['page'] - 1) * $filter['page_size'] . ",$filter[page_size]";
+ S" a( Y1 m: c. r# F7 f修改为:7 v5 A) M' {- P$ v# z, {, t
//* 查询 */
w2 @. K7 i* y$ ? $sql = "SELECT o.*," .
. s. K0 Q$ q2 a2 d "o.pay_status, o.consignee, o.firstname, o.lastname, o.address, o.email, o.tel, o.extension_code, o.extension_id, " .
9 \& {7 r2 R0 o3 U% ~. _$ h "(" . order_amount_field('o.') . ") AS total_fee, " ." Q, s, j& [( f M
"IFNULL(u.user_name, '" .$GLOBALS['_LANG']['anonymous']. "') AS buyer , p.user_name, p.order_picking_status, r.order_reply_status ".
. Q/ c' [4 q$ w Y' b' R5 a/ \ " FROM " . $GLOBALS['ecs']->table('order_info') . " AS o " .
# I3 Z! o) T6 k* V h" ?+ r9 \ " LEFT JOIN " .$GLOBALS['ecs']->table('users'). " AS u ON u.user_id=o.user_id ". 3 B$ q' c2 \' H ~
" LEFT JOIN order_reply_status AS r ON r.order_id = o.order_id ".
. k$ Z4 v' Y, p$ X/ E% |* V" LEFT JOIN order_picking_status AS p ON p.order_id = o.order_id ". $where .
' z$ k8 @0 X! B6 C$ I " ORDER BY $filter[sort_by] $filter[sort_order] ". " s7 K. P& @1 F5 X7 h; v
" LIMIT " . ($filter['page'] - 1) * $filter['page_size'] . ",$filter[page_size]";
8 h& O- D' ?% o" S( f5 q9 a9 K, u4 E0 S4 r2 B/ h2 u
8 }8 h$ X1 m; g6 \; W
8 ^ J ~6 k; z4 `9 d; {6 E: v P
|