登录后,购买下载资源更方便!
您需要 登录 才可以下载或查看,没有账号?立即注册
×
针对ecshop订单中的物品,需要支持拣货的状态,比如未拣货、拣货中、拣货完成,以及显示拣货人姓名。
! R% V' l# l# |5 Y; }
. r" ?$ b' o6 `: e1.SQL操作:
# E: x6 C- u( U4 {- s% D
: r' p( A! @* o j9 b! T8 k2.在文件languages\zh_cn\admin\order.php中增加:
$ l: c( j. ^2 m& A2 d/ c* u [) t; ?4 g% ?) T, f
/* 拣货 */( {5 D# O2 i8 K' U. ^# G
$_LANG['order_picking_status'] = '拣货状态';0 l, @1 {' d& c
$_LANG['order_picking_status_none'] = '未拣货';. Z0 ~! H, D2 F
$_LANG['order_picking_status_processing'] = '拣货中';6 Q% T4 v. K* O, Q
$_LANG['order_picking_status_finish'] = '拣货完成';6 J0 |1 v) G: A( F6 V' E
$_LANG['invalid_order_picking_status'] = '拣货状态无效。0:未拣货;1:拣货中;2:拣货完成';8 q0 d) P/ d; p2 n( }' Z
9 e. {9 g* g5 q1 x( Y2 X1 n8 I1 W
3.文件admin\templates\order_list.htm中在一下两行之间:
6 T, c9 k/ m6 K, @$ o0 p 第一个地方* U% S1 T j% @, u* f; o
<th>{$lang.all_status}</th>% ]5 m$ m6 c/ ~* G5 u
<th>{$lang.handler}</th>
* f+ g5 _7 ~9 S* J中间加上
( w' M U- {$ k7 R<th>{$lang.order_picking_status}</th>
& x( A. \$ G6 r% Y( j H1 P! T# e3 T% L- O
第二个地方1 P, t3 q5 r) p/ T% E( O3 p
在<td align="center" valign="top" nowrap="nowrap">{$lang.os[$order.order_status]},{$lang.ps[$order.pay_status]},{$lang.ss[$order.shipping_status]}</td>
) `+ J: p8 p$ j4 k Z9 t: c: \后面加上2 E ~( h0 z$ F/ l
<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>
; c# }( p3 `( o
- u% ^: M0 f' E2 ?) _& E# z5 P& s
1 `# }( V5 N. ]8 l5 F
% W2 Q" N* }" l, C4.admin\js\listtable.js中,listTable.edit的响应函数修改如下:4 |$ @* J( V- k# x' r
& N# [. H, M. d& z
. h, @ [) v) C5 @/ @7 E/** * 创建一个可编辑区 */ 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 { } } * T* s! R% I/ D4 {! l9 E7 o
}
1 j7 A8 S2 X; a. x7 w6 J% c5.admin\order.php文件中增加下面的函数:
4 F. @- y8 G) Q. ?( k! _3 E( g
7 T5 @& U, c/ Q; F9 [6 W/*------------------------------------------------------ */- E( M- X: U' g" M2 J& \
//-- 订单拣货状态查询4 E9 K. Z6 P" ^( g5 u' T3 s
/*------------------------------------------------------ */
# f4 O2 \5 D) E; p9 T
' P1 o7 ^6 m2 F' y Y* _, qif ($_REQUEST['act'] == 'edit_order_picking_status')
4 Z2 J% z+ \4 p$ J{
' e: V* l* S3 A0 K6 H- H /* 检查权限 */
2 X W! h3 |, z" C6 h check_authz_json('users_manage'); }$ d6 V" k, M" b8 I
' [, v& r1 `- I; x. Q $id =empty($_REQUEST['id']) ? 0 : intval($_REQUEST['id']);
) `+ b( \9 f' n& N $order_picking_status =empty($_REQUEST['val']) ? '' : json_str_iconv(trim($_REQUEST['val']));
( m6 X+ P+ z3 I; ?- u * O. {) w' e* c, {7 J1 f" j. I
$sql = "DELETE fromorder_picking_status WHERE order_id = '". $id ."' LIMIT 1";
5 W. l3 B* p: w/ y( i) I $db->query($sql);+ b, w) |' y3 a9 t
9 v$ k! p- }2 F7 a+ q) L
$sql = "INSERT INTOorder_picking_status (order_id, user_name, order_picking_status) VALUES('". $id ."', '". $_SESSION['admin_name'] ."', '".$order_picking_status ."')";. I1 K) @. z4 \8 L& y+ c6 G
$db->query($sql);0 R- b8 Y) }/ D2 C' d2 I$ t
7 o/ _2 y/ F2 Z G% S1 _9 N if ($order_picking_status> 2 || $order_picking_status < 0)/ `: t' c9 n& R! [; B. Z6 P
{
Y t* e- M- z/ a) I1 V make_json_error($GLOBALS['_LANG']['invalid_order_picking_status']);9 _9 X+ b9 d. v p. s
}
# l% E _7 A# F7 Q else `7 B- i8 v$ i' H
{
8 W2 S) U) U3 B; w, V+ ] make_json_result($order_picking_status);! D D2 x6 M; C4 r2 Q3 Y5 D
}5 b/ R8 q% n4 F9 p' d& c
}
: f |- Q- j& a: t: a, ~0 g0 F/ V) w+ J- Y# ?6 K9 h
6、admin\order.php文件中增加下面的函数将以下代码4 I5 x+ Z2 U$ O w: q
/* 查询 */
* J5 C) D9 [2 d0 M$sql = "SELECT o.*," .) W7 N& u, @ ?+ |
"o.pay_status, o.consignee, o.firstname, o.lastname, o.address, o.email, o.tel, o.extension_code, o.extension_id, " .
& t0 r9 j3 p$ l f2 \. ~/ \. t "(" . order_amount_field('o.') . ") AS total_fee, " ./ }/ u0 s7 u h; j0 k" `* k
"IFNULL(u.user_name, '" .$GLOBALS['_LANG']['anonymous']. "') AS buyer ".
9 O5 j" z/ A) l' Q. ^5 V! K " FROM " . $GLOBALS['ecs']->table('order_info') . " AS o " .+ K+ q) I4 t7 C% q* `( H, k( y: m2 [
" LEFT JOIN " .$GLOBALS['ecs']->table('users'). " AS u ON u.user_id=o.user_id ". $where .
% e; f3 ~5 g' ~. [! ` " ORDER BY $filter[sort_by] $filter[sort_order] ".% }. f! N# V% y; K
" LIMIT " . ($filter['page'] - 1) * $filter['page_size'] . ",$filter[page_size]"; 9 H) W& C+ `! v# L+ W. g) H. ?
修改为:
5 G$ Y# U4 m7 X! }- B% V8 J7 L //* 查询 */8 A9 U) S+ M5 ?3 @
$sql = "SELECT o.*," .0 E/ T" M7 w) R
"o.pay_status, o.consignee, o.firstname, o.lastname, o.address, o.email, o.tel, o.extension_code, o.extension_id, " .( r' \' d% Z4 ?8 Y& g" ~4 v" k
"(" . order_amount_field('o.') . ") AS total_fee, " ., r! D$ w+ y$ n6 R$ f
"IFNULL(u.user_name, '" .$GLOBALS['_LANG']['anonymous']. "') AS buyer , p.user_name, p.order_picking_status, r.order_reply_status ".
+ u, t0 s* r/ E, D1 b) H/ m8 c " FROM " . $GLOBALS['ecs']->table('order_info') . " AS o " .: l7 O% }3 R$ n M ?
" LEFT JOIN " .$GLOBALS['ecs']->table('users'). " AS u ON u.user_id=o.user_id ".
9 {' A+ c0 T, b# ~& U7 } " LEFT JOIN order_reply_status AS r ON r.order_id = o.order_id ".
" V) O! ^* r! w! d" LEFT JOIN order_picking_status AS p ON p.order_id = o.order_id ". $where .
5 B; Y2 ~, i( d- I# h " ORDER BY $filter[sort_by] $filter[sort_order] ". + i# d! t# Y: {( d% j
" LIMIT " . ($filter['page'] - 1) * $filter['page_size'] . ",$filter[page_size]"; w4 ?; M. e* y) o
" b; X( P/ X; g: D1 E w" q8 Z
4 O A+ l: ~2 D3 I, h; ~# w) D" E0 f/ L5 U
|