科恒数字网-持续研发、集成、交付、运营方案资源库
标题: 给ecshop订单流程增加拣货状态,最新版本,支持ECSHOP3.6系统 [打印本页]
作者: admin 时间: 2020-6-12 09:15
标题: 给ecshop订单流程增加拣货状态,最新版本,支持ECSHOP3.6系统
针对ecshop订单中的物品,需要支持拣货的状态,比如未拣货、拣货中、拣货完成,以及显示拣货人姓名。$ T1 Q5 @' f5 P9 x6 |
: R' Z- n J1 O1 e! v" r8 j
1.SQL操作:
! k7 R- V. u0 u8 R) h4 E6 H% v9 i w# r" u: _+ `5 D
2.在文件languages\zh_cn\admin\order.php中增加:7 b* G9 ]. U7 O& Z- d
& d# \" v7 T* I7 T, z/ A/* 拣货 */
' x; G C7 F* B0 ]1 r1 e$_LANG['order_picking_status'] = '拣货状态';
* i3 B, {2 \2 p4 E& b$_LANG['order_picking_status_none'] = '未拣货';2 _5 |. }* I! Y1 ]9 k( Z
$_LANG['order_picking_status_processing'] = '拣货中';
9 h/ _4 T6 T& ]0 a$_LANG['order_picking_status_finish'] = '拣货完成';9 h! h' x5 _/ ]# E1 B
$_LANG['invalid_order_picking_status'] = '拣货状态无效。0:未拣货;1:拣货中;2:拣货完成';5 [, F: I9 l7 X2 l3 L
2 [& K- v( C2 \! M$ k- u% C# V) D
1 q* J, t4 p+ h4 q3.文件admin\templates\order_list.htm中在一下两行之间:+ ?# _4 y, a0 N ]/ p4 }/ s
第一个地方
5 i% |6 |3 t* r3 j. Q! \<th>{$lang.all_status}</th>! t5 d+ S) u4 K5 W, z
<th>{$lang.handler}</th>
3 L$ x, q: g8 ]& X: F# ~中间加上1 O9 {1 o0 D$ Q- {$ W0 l
<th>{$lang.order_picking_status}</th>5 c9 u7 h: u! b) c+ `. P
* ]; G2 l% Y- O- y: `3 I" v
第二个地方3 K, n' L% T. d( F$ E% ~) f& _/ b
在<td align="center" valign="top" nowrap="nowrap">{$lang.os[$order.order_status]},{$lang.ps[$order.pay_status]},{$lang.ss[$order.shipping_status]}</td>
" Q' X6 ?7 f I5 o+ |后面加上
. A. j( Y _6 d. \) Q$ X4 ^<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>
2 b+ A3 O: p m! q- P2 D0 ?! Y
g4 d8 [+ o$ |' R' W/ |6 p: e3 c
+ e6 [+ B; y5 e5 b' L4.admin\js\listtable.js中,listTable.edit的响应函数修改如下:
7 U0 l, Q; J* _/ F7 O- Q T* @& a p% L- T
5 {" }/ s: v% ^$ \/ ^! I/**
* 创建一个可编辑区
*/
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
{
}
}
% s" Y; B, A" v7 O1 @}
! F) R! o# a; h ?1 |
5.admin\order.php文件中增加下面的函数:/ j6 ]$ j% }5 R4 v, t# @$ O( u- D' m
1 {) K9 j+ T7 h/*------------------------------------------------------ */
) r4 ~8 D" R% f& p7 k3 A//-- 订单拣货状态查询* h+ w* _3 i" [2 k4 @
/*------------------------------------------------------ */$ X: [7 o& U; J+ _# I7 C9 _
9 q7 \' x5 r* `' {$ u3 }if ($_REQUEST['act'] == 'edit_order_picking_status')7 O% |4 S) \, W2 j1 m
{( V3 q9 w# X6 ]' j' s& @
/* 检查权限 */
$ p3 n+ f$ a4 D3 d1 n- ]8 Q1 t& x check_authz_json('users_manage');
3 B/ z* Q2 y. h* a3 S
8 V% I0 ~5 P: w $id =empty($_REQUEST['id']) ? 0 : intval($_REQUEST['id']);
- i$ A4 L/ `6 \9 T7 K1 i $order_picking_status =empty($_REQUEST['val']) ? '' : json_str_iconv(trim($_REQUEST['val']));
& }9 h) {$ |$ Q1 z) t' h6 I( |0 z
* x( P J o! n' t$ j $sql = "DELETE fromorder_picking_status WHERE order_id = '". $id ."' LIMIT 1";
$ `3 P L+ `$ m6 _, e1 q, f $db->query($sql);- b' r3 |5 ?4 _1 y- R8 B% j
O b( z$ M, J) e5 _) N8 d $sql = "INSERT INTOorder_picking_status (order_id, user_name, order_picking_status) VALUES('". $id ."', '". $_SESSION['admin_name'] ."', '".$order_picking_status ."')";2 R3 H: y4 a F. O% B
$db->query($sql);) g8 y. z0 V4 C6 b: {9 p% e
; K) g) h6 e# |- Y7 U8 B; }
if ($order_picking_status> 2 || $order_picking_status < 0)+ q# F4 Q$ ]8 }8 W; H a
{
& m8 f/ ]4 `! D; b' O* I/ T make_json_error($GLOBALS['_LANG']['invalid_order_picking_status']);
) j% q5 a; ^$ M1 y }- | }6 ~ {7 h6 Z( J+ o0 K$ Z }
else5 R3 y/ x( i, B* `
{
0 x' [! L2 w4 Y* C. T make_json_result($order_picking_status);' \3 C. [/ x6 u
}, r& d4 ?7 B- f
}
" \; [; x* S) s$ g
9 r% L4 w* E$ ^6、admin\order.php文件中增加下面的函数将以下代码9 Q" j, l' x+ ]+ e3 i6 m% ?1 O* S
/* 查询 */
/ C9 r, Z& Z5 u4 c; V; {- S$sql = "SELECT o.*," .2 @8 ]8 q* c& T
"o.pay_status, o.consignee, o.firstname, o.lastname, o.address, o.email, o.tel, o.extension_code, o.extension_id, " .% j4 C4 ]6 U r, ~
"(" . order_amount_field('o.') . ") AS total_fee, " .3 z0 d1 p( ^9 k# f. r. q
"IFNULL(u.user_name, '" .$GLOBALS['_LANG']['anonymous']. "') AS buyer ".
, ]/ y7 u7 Z5 }! \* Z " FROM " . $GLOBALS['ecs']->table('order_info') . " AS o " .
# F4 k$ D3 z2 l6 b" q! k* J " LEFT JOIN " .$GLOBALS['ecs']->table('users'). " AS u ON u.user_id=o.user_id ". $where .
x- ~" S1 A. s7 H- M " ORDER BY $filter[sort_by] $filter[sort_order] ".& }. R* [9 u! ?0 l9 M
" LIMIT " . ($filter['page'] - 1) * $filter['page_size'] . ",$filter[page_size]"; 9 n1 T; O' w, i, Y8 P$ J
修改为:
9 J/ r9 T& }. {' s; p //* 查询 */ d1 Y, d$ N! @, _: h
$sql = "SELECT o.*," .
5 k1 r6 O/ `0 G- Z "o.pay_status, o.consignee, o.firstname, o.lastname, o.address, o.email, o.tel, o.extension_code, o.extension_id, " .( m; a D$ f9 d7 S; i
"(" . order_amount_field('o.') . ") AS total_fee, " .
- y5 G/ F: R( f" v6 ~% K2 R "IFNULL(u.user_name, '" .$GLOBALS['_LANG']['anonymous']. "') AS buyer , p.user_name, p.order_picking_status, r.order_reply_status ".
# X- M+ K; ~4 s " FROM " . $GLOBALS['ecs']->table('order_info') . " AS o " .0 l/ [3 h/ W; A) \8 ~
" LEFT JOIN " .$GLOBALS['ecs']->table('users'). " AS u ON u.user_id=o.user_id ".
6 w) L0 N4 b8 S! @ " LEFT JOIN order_reply_status AS r ON r.order_id = o.order_id ".
, k$ E8 S& ]3 g' K, n: D" LEFT JOIN order_picking_status AS p ON p.order_id = o.order_id ". $where .
- A( ^& `5 j8 F1 \9 N% p " ORDER BY $filter[sort_by] $filter[sort_order] ".
8 Z& r. ~! l" Q. z- ?- Q6 C " LIMIT " . ($filter['page'] - 1) * $filter['page_size'] . ",$filter[page_size]";; |$ ]; j( u% D$ K4 m& Q. K
9 `! {9 V" J7 V* E1 a! C
* X2 Z& [9 T' v
( G0 g( p; i; ~2 n
| 欢迎光临 科恒数字网-持续研发、集成、交付、运营方案资源库 (https://www.khcic.com/) |
Powered by Discuz! X3.5 |