登录后,购买下载资源更方便!
您需要 登录 才可以下载或查看,没有账号?立即注册
×
针对ecshop订单中的物品,需要支持拣货的状态,比如未拣货、拣货中、拣货完成,以及显示拣货人姓名。
2 O# }* q4 n# U7 O7 R
4 x S% Y# s& X) {& ?( i0 x( Q) v( s1.SQL操作:0 _: C( M* ^6 ~) N' \% P. z
" A# e+ I4 L) T
2.在文件languages\zh_cn\admin\order.php中增加:
V* z6 x( F o
4 {2 }0 u( T( `1 P7 c) O1 D% P/* 拣货 */6 T6 }; h% ]+ m" F% j/ I; I
$_LANG['order_picking_status'] = '拣货状态';8 c! v& Z2 c2 \$ i4 @
$_LANG['order_picking_status_none'] = '未拣货';, z* k" L' [7 b( d% K. d6 Y8 H2 r
$_LANG['order_picking_status_processing'] = '拣货中';
- A0 E; h* v5 L/ O9 _2 ^4 g4 x$_LANG['order_picking_status_finish'] = '拣货完成';; v! w; k+ f. K, X
$_LANG['invalid_order_picking_status'] = '拣货状态无效。0:未拣货;1:拣货中;2:拣货完成';: x: h/ i$ ]1 ]7 Y* Z! ?, G
. f4 V2 x* ]2 ~3 W. A$ K0 H* y" Q. l4 L+ _) v
3.文件admin\templates\order_list.htm中在一下两行之间:
4 @5 Z" D8 I" {+ F0 F8 ?- D7 } 第一个地方- f- j' Z8 R9 @# u( D
<th>{$lang.all_status}</th>
7 g) U/ c3 _! }9 M- p) ^2 R<th>{$lang.handler}</th>
- j; d. I8 Q! x4 |) w, U0 T中间加上
9 k' x$ G: s# R9 A" }; J; I! X<th>{$lang.order_picking_status}</th>* t1 k9 ~, K/ A( |
+ l+ c, b L- m
第二个地方7 r9 Z( C7 `2 g; ?: e# j6 ]1 D
在<td align="center" valign="top" nowrap="nowrap">{$lang.os[$order.order_status]},{$lang.ps[$order.pay_status]},{$lang.ss[$order.shipping_status]}</td>! q/ u6 Q! ?* s. W; }' @
后面加上9 ?3 o! r$ g, E) {9 c, e
<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>" Q3 p) H% Q4 R1 H( z2 R8 w: D
/ C6 {/ l$ U6 }# F' R
) P" h7 T2 [, f( ^
( u" r x7 ^0 O0 H1 [2 {# l* c4.admin\js\listtable.js中,listTable.edit的响应函数修改如下:
. `5 X$ ]. c7 B; t q( E; A3 l; }& O6 K+ \
# ^5 L& k2 O* l7 g1 y5 q& H5 g/ v/** * 创建一个可编辑区 */ 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 { } }
) @& R- I. u( ]}
9 b0 e' n% B, j- R) B1 N7 p5.admin\order.php文件中增加下面的函数:* R8 V' u4 ?9 y" d# P. _
8 W& M- i/ o% d, G/ K/ y, z; q
/*------------------------------------------------------ */6 g8 y' o& P- j+ C
//-- 订单拣货状态查询4 F4 G/ G, ]8 Q
/*------------------------------------------------------ */
5 Q/ [7 E9 y9 I3 M+ S m & y4 |: L9 z1 s4 [5 |0 q) O) E4 M
if ($_REQUEST['act'] == 'edit_order_picking_status')
3 i1 p& e0 |6 \3 A! P$ _{4 v& g7 v: c) h) i
/* 检查权限 */
2 T- ^3 y) V( s. H0 y) g check_authz_json('users_manage'); K. I/ T9 T9 ^2 \5 F- D2 [
' x- C! L- H7 j
$id =empty($_REQUEST['id']) ? 0 : intval($_REQUEST['id']);
- E- ]" f: @. e) t) v( ~8 _3 ], r $order_picking_status =empty($_REQUEST['val']) ? '' : json_str_iconv(trim($_REQUEST['val']));
0 M9 `: B' k2 {+ p& a8 }( k* S 7 [& Q+ ^$ o+ z+ ?
$sql = "DELETE fromorder_picking_status WHERE order_id = '". $id ."' LIMIT 1";+ W# I& L8 F7 ^4 d' }
$db->query($sql);
) y! h& V$ i. Q, x7 P' p2 B9 } 1 m- {2 G9 n6 f8 x6 ]. B0 V
$sql = "INSERT INTOorder_picking_status (order_id, user_name, order_picking_status) VALUES('". $id ."', '". $_SESSION['admin_name'] ."', '".$order_picking_status ."')";
7 ~, \" M7 U( T: [5 ^& r- \) ^ $db->query($sql);
) T O' m* |; q& n! Z
0 w7 j( \9 J8 _ if ($order_picking_status> 2 || $order_picking_status < 0); |# H9 |8 M+ i8 j( w! D
{; W$ S9 q3 j. S% ~% i. g0 P
make_json_error($GLOBALS['_LANG']['invalid_order_picking_status']);
/ |0 p2 {8 }5 s1 C3 M7 ?1 c) y* r4 r }0 ^0 U0 c3 m* q
else
: n) _4 `& c3 z& L { k! e4 W# m- e! m6 J4 y; H
make_json_result($order_picking_status);1 d4 N% b/ L7 O5 s; Y- U0 G
}2 Q# L N4 L- t1 Z
}
4 F* B/ W& L! B( V5 c5 `) P3 a" a2 z
6、admin\order.php文件中增加下面的函数将以下代码1 a' J- X4 H, [+ N- B$ \
/* 查询 */4 T" b( \+ u) ?& C) ?( M7 \
$sql = "SELECT o.*," .
' |7 R8 j' O; }9 E4 |' w "o.pay_status, o.consignee, o.firstname, o.lastname, o.address, o.email, o.tel, o.extension_code, o.extension_id, " .$ X1 A. i( N0 L, y: t ?, ^
"(" . order_amount_field('o.') . ") AS total_fee, " .
. q. C, n; U+ N' C "IFNULL(u.user_name, '" .$GLOBALS['_LANG']['anonymous']. "') AS buyer ".; F8 M/ N' E& L, T; I/ F
" FROM " . $GLOBALS['ecs']->table('order_info') . " AS o " .( Y3 a5 D+ g' r: x+ _9 I9 `
" LEFT JOIN " .$GLOBALS['ecs']->table('users'). " AS u ON u.user_id=o.user_id ". $where . , c# O! A$ i1 o% ~9 o" S
" ORDER BY $filter[sort_by] $filter[sort_order] ".
# d {8 _: e4 ?5 ^5 |- b, E2 ^ " LIMIT " . ($filter['page'] - 1) * $filter['page_size'] . ",$filter[page_size]";
8 k: I: i) B" `/ o8 S% U修改为:9 z2 Q% V6 ^' T! a3 k& q, a8 ~2 Q
//* 查询 */
% {. [* P' F4 h; p $sql = "SELECT o.*," .
* ]5 P- O ^* M# d3 q& M( e% m "o.pay_status, o.consignee, o.firstname, o.lastname, o.address, o.email, o.tel, o.extension_code, o.extension_id, " .+ F% ^) e# J7 j9 V" u$ S7 c
"(" . order_amount_field('o.') . ") AS total_fee, " .1 F+ f6 N1 F% ?2 P# \- N7 N' B
"IFNULL(u.user_name, '" .$GLOBALS['_LANG']['anonymous']. "') AS buyer , p.user_name, p.order_picking_status, r.order_reply_status ".
% }7 M( H( G) q, ]: R) s6 ~" y " FROM " . $GLOBALS['ecs']->table('order_info') . " AS o " .
8 f0 ^/ ]; f5 H+ P4 M' X " LEFT JOIN " .$GLOBALS['ecs']->table('users'). " AS u ON u.user_id=o.user_id ".
, H$ ^1 t0 o/ L3 W " LEFT JOIN order_reply_status AS r ON r.order_id = o.order_id ". 4 p( R3 {2 u% R+ O
" LEFT JOIN order_picking_status AS p ON p.order_id = o.order_id ". $where .
( D) c Y T& Q " ORDER BY $filter[sort_by] $filter[sort_order] ".
4 r9 p P) r3 g5 S" u1 g " LIMIT " . ($filter['page'] - 1) * $filter['page_size'] . ",$filter[page_size]";
: R5 S& L; g# P! S7 e1 @2 \4 j& T& J5 q
6 [0 r f( P) I
4 t% Y6 u$ ~$ s/ e
|