[Ecshop] 给ecshop订单流程增加拣货状态,最新版本,支持ECSHOP3.6系统

[复制链接]
admin 发表于 2020-6-12 09:15:26 | 显示全部楼层 |阅读模式

登录后,购买下载资源更方便!

您需要 登录 才可以下载或查看,没有账号?立即注册

×
针对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 }

SQL操作.zip

401 Bytes, 下载次数: 0, 下载积分: 科币 -1

售价: 20 科币  [记录]  [购买]

ecshop数据库操作指令

评论0

手机版|小黑屋|源码模版|全球支付|VISA信用卡|MASTER信用卡|科恒数字网-持续研发、集成、交付、运营方案资源库

GMT+8, 2025-9-7 18:36 , Processed in 0.058417 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.