登录后,购买下载资源更方便!
您需要 登录 才可以下载或查看,没有账号?立即注册
×
针对ecshop订单中的物品,需要支持拣货的状态,比如未拣货、拣货中、拣货完成,以及显示拣货人姓名。
3 S) `3 E/ G" m6 G7 z3 X& _1 l O8 w+ O+ j" x
1.SQL操作:2 ^3 p- x2 {1 D: C2 V5 C
$ i# F1 F% s9 @' f7 _) g7 i( E2.在文件languages\zh_cn\admin\order.php中增加:. i$ X ?; V# T3 r- w
3 Y+ |8 U! w: C. D& H4 K- t
/* 拣货 */# r, y3 a, A0 p7 m+ b) H
$_LANG['order_picking_status'] = '拣货状态';
; v; C+ m, g. }( B. Z5 e; O$_LANG['order_picking_status_none'] = '未拣货';2 g b) X: i# x( `, A4 W/ d
$_LANG['order_picking_status_processing'] = '拣货中'; D0 M0 r# Y3 S5 w0 E l* O
$_LANG['order_picking_status_finish'] = '拣货完成';
# P2 D4 V1 [! f y- b" G6 j$_LANG['invalid_order_picking_status'] = '拣货状态无效。0:未拣货;1:拣货中;2:拣货完成';
$ c& b* @6 s& E7 @' ^: \& x/ h2 K/ b, j' Z/ i) h
9 W" n7 a7 O" n& [
3.文件admin\templates\order_list.htm中在一下两行之间: G! h+ F% s3 D4 C6 a2 ~
第一个地方) I# c9 [# v9 H9 R
<th>{$lang.all_status}</th>% B% [ Y1 d# X, c+ Q8 B+ I! P
<th>{$lang.handler}</th>1 l$ @4 F( b/ P, I- O
中间加上
6 n' L- ]8 x+ j& K/ E& J- t<th>{$lang.order_picking_status}</th># [7 P5 \1 `" o5 D- B; e2 ^' R9 Q6 E" O1 K
! r! }" I, U0 h. L3 p第二个地方
) q) ~6 [) m6 N! G在<td align="center" valign="top" nowrap="nowrap">{$lang.os[$order.order_status]},{$lang.ps[$order.pay_status]},{$lang.ss[$order.shipping_status]}</td>
9 U* X3 k" ^. ?: Q+ ?! u( N+ n3 `4 r后面加上0 O( r; w* `) r, Y
<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>
7 `# A: g* P- l& B/ T
8 w& s, g9 v6 ?, z j& w- |$ _* o1 S2 q6 m9 o& ^7 }
6 n# F. C, a. E0 h3 p4.admin\js\listtable.js中,listTable.edit的响应函数修改如下:
, d7 l" v5 t& a7 l* D" H1 [" Y: U% }! r
0 c4 e- t: Y$ Z) p1 M( b- _- X' o; p
/** * 创建一个可编辑区 */ 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 { } } ; O9 n. [5 z6 |9 x7 S
} ! y. ]$ l3 k m3 O
5.admin\order.php文件中增加下面的函数:
4 ]7 Q. P5 W* H+ o2 L
: v9 X+ L; c+ |; g/ @. g/*------------------------------------------------------ */
1 n$ P$ m+ }' a) }2 R//-- 订单拣货状态查询! H) f4 G4 A* E4 i/ J
/*------------------------------------------------------ */
7 J# ^5 C5 \! I5 s7 ~4 M x 8 |" t: a8 J) n! |
if ($_REQUEST['act'] == 'edit_order_picking_status')3 b* j0 I! n1 Z- ]5 }
{2 w5 r; v1 P* a) T$ O0 Q) W4 l
/* 检查权限 */ F: G+ M: D8 e) g" m2 _, z! p0 q
check_authz_json('users_manage');7 F5 v- ^" \3 k
( ^1 H& q0 y! W" Z0 s $id =empty($_REQUEST['id']) ? 0 : intval($_REQUEST['id']);, ^9 u/ b0 F0 {# s t
$order_picking_status =empty($_REQUEST['val']) ? '' : json_str_iconv(trim($_REQUEST['val']));
7 R5 I% G$ x. b! |5 c
/ L8 @- p8 z& H1 _3 i $sql = "DELETE fromorder_picking_status WHERE order_id = '". $id ."' LIMIT 1";
5 C2 K0 R* r& H8 N+ X, y $db->query($sql);
6 e" v4 k" G+ z% _4 N # S- ^' }6 @" N- P* T: I
$sql = "INSERT INTOorder_picking_status (order_id, user_name, order_picking_status) VALUES('". $id ."', '". $_SESSION['admin_name'] ."', '".$order_picking_status ."')";! f+ F2 V6 y/ J2 y
$db->query($sql);
8 S0 k7 i ?( |. E7 c & l0 x# K/ M \3 q* i
if ($order_picking_status> 2 || $order_picking_status < 0)! [( _" @! ~: |2 C( {
{
6 ]. X, r! A2 T" n7 L/ w, a! p! [6 { make_json_error($GLOBALS['_LANG']['invalid_order_picking_status']);" C* S1 |) C1 q2 Z8 x
}
. ~0 ]4 D4 k* H$ o. A6 t, d else& F: F0 j1 k! I- b+ S
{
* a6 h* }! |) K) J6 o: \* k( ^+ v make_json_result($order_picking_status);
' u/ @* {( z' Y: I L5 m Q }% X, w( M4 X, _' p' p! S/ T" a
}1 w' |: K6 C* ]4 h: m
* h; D# B( K9 W6、admin\order.php文件中增加下面的函数将以下代码
- r8 @2 ?# @4 U5 j' |- Y+ e/ p /* 查询 */! k z, h {" p
$sql = "SELECT o.*," .7 P5 d* c- d+ B
"o.pay_status, o.consignee, o.firstname, o.lastname, o.address, o.email, o.tel, o.extension_code, o.extension_id, " .
# g3 n! ]- O" C% w0 N "(" . order_amount_field('o.') . ") AS total_fee, " .( |+ E/ y; L% h
"IFNULL(u.user_name, '" .$GLOBALS['_LANG']['anonymous']. "') AS buyer ".9 x3 W, Z' a7 r x3 x$ t
" FROM " . $GLOBALS['ecs']->table('order_info') . " AS o " .7 p% g' r0 O: A* n( |5 ]! A
" LEFT JOIN " .$GLOBALS['ecs']->table('users'). " AS u ON u.user_id=o.user_id ". $where . % Y T) c9 e6 y9 R
" ORDER BY $filter[sort_by] $filter[sort_order] ".
, u( G+ ~- Q0 H7 D: o. J# j " LIMIT " . ($filter['page'] - 1) * $filter['page_size'] . ",$filter[page_size]";
& u7 M9 v9 b. A: k/ a8 R4 D修改为:0 D v' l/ G0 Z' r: A$ z% `
//* 查询 */
( \( `1 e! h+ C; U0 e x2 u8 k. P $sql = "SELECT o.*," .4 }: y& r4 h7 Y0 m# ?
"o.pay_status, o.consignee, o.firstname, o.lastname, o.address, o.email, o.tel, o.extension_code, o.extension_id, " .
# a" ]2 l. Y4 V1 a3 _5 C6 i "(" . order_amount_field('o.') . ") AS total_fee, " .# v, V$ c4 X1 \& b. S! o. F
"IFNULL(u.user_name, '" .$GLOBALS['_LANG']['anonymous']. "') AS buyer , p.user_name, p.order_picking_status, r.order_reply_status ".
8 ?, r& {" W+ Y# w# a " FROM " . $GLOBALS['ecs']->table('order_info') . " AS o " .# a* y, p4 ]8 x, g0 m
" LEFT JOIN " .$GLOBALS['ecs']->table('users'). " AS u ON u.user_id=o.user_id ".
4 U9 j- E- `* o, }, s1 R " LEFT JOIN order_reply_status AS r ON r.order_id = o.order_id ". C6 z) C) B( Y
" LEFT JOIN order_picking_status AS p ON p.order_id = o.order_id ". $where .
9 F" R: g3 F' {! f! k$ s " ORDER BY $filter[sort_by] $filter[sort_order] ". ! Z% e: x. B7 r, K b
" LIMIT " . ($filter['page'] - 1) * $filter['page_size'] . ",$filter[page_size]";4 q E1 z! Y! L( e" N1 U
: T0 N M% M- c) [. p: l) L
5 _# m: I- G. C" Y. _4 Y9 x
6 P' a! b) `, l) n |