登录后,购买下载资源更方便!
您需要 登录 才可以下载或查看,没有账号?立即注册
×
针对ecshop订单中的物品,需要支持拣货的状态,比如未拣货、拣货中、拣货完成,以及显示拣货人姓名。6 [+ V1 k8 m- s
, [5 n. v, G" q C/ ^1.SQL操作:+ b0 m' P i C' g% d7 A/ K
0 o$ \1 l5 C: s9 V# w$ \% [6 E2.在文件languages\zh_cn\admin\order.php中增加:: i4 \$ |% x5 U& Q* t. `# W3 H7 u
# d+ j5 |+ `! a
/* 拣货 */! d: V+ b5 r+ N* X. |
$_LANG['order_picking_status'] = '拣货状态';
- @$ n; M5 C/ T9 v& P y9 e$_LANG['order_picking_status_none'] = '未拣货';: b: f& A2 O% Y! {* w; ~
$_LANG['order_picking_status_processing'] = '拣货中';
% b, A$ l; x! ^9 ]' s1 K$_LANG['order_picking_status_finish'] = '拣货完成';: q& ^; Y; R0 x. P6 x1 G( z7 H
$_LANG['invalid_order_picking_status'] = '拣货状态无效。0:未拣货;1:拣货中;2:拣货完成';- H$ [ c$ N" j. D; @( v
, o9 B5 R# |+ S: c6 A- Y# p3 D
+ \, g4 d0 J8 ~8 J8 @. o' c3.文件admin\templates\order_list.htm中在一下两行之间:8 _4 P2 A4 @9 f4 H, {/ ?7 y
第一个地方
/ n1 s3 k* F) G6 l<th>{$lang.all_status}</th>% j+ y0 F7 l+ s# Q/ @+ g1 t% A# n2 H! [
<th>{$lang.handler}</th>
/ Q4 U/ T, | u. z7 V7 K, X中间加上. {6 H1 k8 r. }( p2 i) T- T
<th>{$lang.order_picking_status}</th>4 l# a3 o' s% ^3 `2 B$ u7 Q# _
6 t% e4 Z- Q6 l8 X$ W2 T
第二个地方
3 Q3 J+ _! J/ W& N在<td align="center" valign="top" nowrap="nowrap">{$lang.os[$order.order_status]},{$lang.ps[$order.pay_status]},{$lang.ss[$order.shipping_status]}</td>
; Y! }& R: v+ g; a后面加上 ~6 f/ {+ f( k
<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>6 L8 v4 X% p' R9 C1 K
4 W6 e$ }' {; h7 m* \1 c. c
; H8 y. f3 e Q* d$ i6 U
+ o8 b6 K1 v& o9 Y6 r6 \4.admin\js\listtable.js中,listTable.edit的响应函数修改如下:. D. G) N% Y( F1 P& \* {1 [
" O, [ k5 H; c1 J6 T3 S
6 g( o$ s" q! X5 `4 d; M& X/** * 创建一个可编辑区 */ 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 { } } ' o- l& k( ?6 {+ t7 \3 r& t# w5 _
} 7 i& ?! O7 [1 e# `
5.admin\order.php文件中增加下面的函数:7 l1 j( h1 ~( B: ~, K6 i' J
; G l' H: X; W/ h. v9 H/*------------------------------------------------------ */7 j6 C' Q) h r
//-- 订单拣货状态查询' D1 m4 m$ Q7 W; W5 T7 `: F
/*------------------------------------------------------ */( J0 ~0 Z' ?' Y0 B3 o
0 N2 Q, n# ]8 t- w( Vif ($_REQUEST['act'] == 'edit_order_picking_status')1 k- p7 j( }- {. l5 @8 l
{
$ L8 h/ Y# |6 r' g2 x /* 检查权限 */3 m( I( F4 F3 x* j$ f* E
check_authz_json('users_manage');+ ^! ]8 ^# L! c7 E1 q3 D/ J* g( h3 m
7 w6 A' `+ b, ~( I$ X/ {; n+ G $id =empty($_REQUEST['id']) ? 0 : intval($_REQUEST['id']);
& m [7 l) C9 t8 R" U $order_picking_status =empty($_REQUEST['val']) ? '' : json_str_iconv(trim($_REQUEST['val']));& W$ w+ O) ?4 D: K- e
( |0 u# Z3 Q- K1 K6 V
$sql = "DELETE fromorder_picking_status WHERE order_id = '". $id ."' LIMIT 1";: |( u4 J2 P# H* B! Y
$db->query($sql);
1 T" `$ w+ X* { 4 ?6 v# p- q4 |+ {& I2 p
$sql = "INSERT INTOorder_picking_status (order_id, user_name, order_picking_status) VALUES('". $id ."', '". $_SESSION['admin_name'] ."', '".$order_picking_status ."')"; R F" W; m' F3 |9 n* T$ {+ P
$db->query($sql);* i* v ^. }( D& p. v9 `7 w) O
5 A. t1 Z" s# n
if ($order_picking_status> 2 || $order_picking_status < 0)
1 v) t: B/ A- I2 L" \ {
* O+ x; z5 ]. W3 u. z1 T. ` make_json_error($GLOBALS['_LANG']['invalid_order_picking_status']);6 Z6 u" F# o5 w2 c
}
6 i! d" ` E2 ^+ l( R else
2 X5 S y! {+ _. M2 T+ r* G* i$ k {
" S5 G$ M& F1 M/ s! v. F, R# k make_json_result($order_picking_status);6 i6 F# e: a9 A( \9 S( d
}
. J8 T, V4 _( A g: a8 Q0 a}( U+ f" `0 k3 W, \2 F* X
4 ]8 u( \ W6 {) N' v# C3 S
6、admin\order.php文件中增加下面的函数将以下代码
M( C, K1 g+ u& O& y$ q. I& l /* 查询 */
3 {% N% N- k W$sql = "SELECT o.*," .
% d. l1 v9 z) `" w8 N "o.pay_status, o.consignee, o.firstname, o.lastname, o.address, o.email, o.tel, o.extension_code, o.extension_id, " .3 L) m* G9 m4 [
"(" . order_amount_field('o.') . ") AS total_fee, " .
( o" T4 z/ x: r7 Y' {. r$ ?1 C) y' ] "IFNULL(u.user_name, '" .$GLOBALS['_LANG']['anonymous']. "') AS buyer ".2 Q! m5 G& d: ~8 I, J
" FROM " . $GLOBALS['ecs']->table('order_info') . " AS o " .
+ ~$ [" |! A+ X/ `, x4 G% q* C " LEFT JOIN " .$GLOBALS['ecs']->table('users'). " AS u ON u.user_id=o.user_id ". $where .
) F' F0 k( |$ @# P6 j/ h( j " ORDER BY $filter[sort_by] $filter[sort_order] ".
8 U# D0 }' w4 V+ g " LIMIT " . ($filter['page'] - 1) * $filter['page_size'] . ",$filter[page_size]";
4 H F9 b, S0 \+ w修改为:
: Q7 e I6 w: x, [/ B3 z5 p //* 查询 */4 M" [% d# x* Z' a; ^
$sql = "SELECT o.*," .
- `2 W/ K5 }* B% p "o.pay_status, o.consignee, o.firstname, o.lastname, o.address, o.email, o.tel, o.extension_code, o.extension_id, " .
4 K' W" Z; N) Y* U& _. m "(" . order_amount_field('o.') . ") AS total_fee, " .# h2 d8 `; C3 l- o/ ?
"IFNULL(u.user_name, '" .$GLOBALS['_LANG']['anonymous']. "') AS buyer , p.user_name, p.order_picking_status, r.order_reply_status ".
8 W! _# _* S& _; P8 S " FROM " . $GLOBALS['ecs']->table('order_info') . " AS o " .) T, {" d! W" c' o) b: ~: \" P. Z
" LEFT JOIN " .$GLOBALS['ecs']->table('users'). " AS u ON u.user_id=o.user_id ".
( x, i8 \& _4 U! A& B7 f: e " LEFT JOIN order_reply_status AS r ON r.order_id = o.order_id ".
* `3 E0 |" L" ^. E& R) L4 h" LEFT JOIN order_picking_status AS p ON p.order_id = o.order_id ". $where .. }4 t" \8 B7 G; a& e
" ORDER BY $filter[sort_by] $filter[sort_order] ".
& O5 T! p: B- v5 x! J " LIMIT " . ($filter['page'] - 1) * $filter['page_size'] . ",$filter[page_size]";# E$ a- C _( B8 i
5 U7 [: z+ i3 m; D$ T4 t1 B
& M0 r* q2 ]/ H( d+ W* Q, z+ w, ~
# W1 P( ^$ w( B) T: G1 }
|