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

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

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

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

×
针对ecshop订单中的物品,需要支持拣货的状态,比如未拣货、拣货中、拣货完成,以及显示拣货人姓名。" D/ K0 c/ [3 S1 O

( y' E  }; k% c) U1.SQL操作:
  z/ }1 N8 T+ _; ^1 _- L, t" _! F  d& L6 e
2.在文件languages\zh_cn\admin\order.php中增加:
7 {) q6 }9 w; j4 i: H+ l2 C
( K' U# P& w2 s# N/ a% D/* 拣货 */
& h3 m8 q7 l2 K6 M9 l1 l$_LANG['order_picking_status'] = '拣货状态';
: j6 y! ^& w3 a6 S( n$_LANG['order_picking_status_none'] = '未拣货';- h$ d$ |1 f3 e, t
$_LANG['order_picking_status_processing'] = '拣货中';/ Z% a( C7 O8 ^. n9 s, q
$_LANG['order_picking_status_finish'] = '拣货完成';
0 `. q; v8 P# ?) P5 K$_LANG['invalid_order_picking_status'] = '拣货状态无效。0:未拣货;1:拣货中;2:拣货完成';
4 W+ n  ~/ Y7 G% s( w/ Y0 @3 M+ I9 O3 ?1 d8 g) T

( r2 W( K$ ^$ ?+ n- u1 `3.文件admin\templates\order_list.htm中在一下两行之间:( K/ R% o( O( f1 ^' x
    第一个地方
2 l, H1 H/ j) y$ w! x<th>{$lang.all_status}</th>
. p; s+ p& v- ~' |<th>{$lang.handler}</th>
  y# D% k3 w  l; g5 f! ]0 N中间加上
! v7 b6 v1 A( j- Y<th>{$lang.order_picking_status}</th>9 F* y) t( O* Z# k$ o
/ O& \9 E7 c' S; {: c
第二个地方, ~, x5 k8 ~3 `: Q& a3 U
在<td align="center" valign="top" nowrap="nowrap">{$lang.os[$order.order_status]},{$lang.ps[$order.pay_status]},{$lang.ss[$order.shipping_status]}</td>
" i" {' ]5 |3 O  o2 Y& y后面加上+ G! ~  D; C2 h2 b
<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>& v% w$ |# o, b5 h1 r2 S

0 D3 S$ E. m! `) {; ^, b3 h8 ]2 x* r
# ]3 F! k* H4 N- E; G& Z
4.admin\js\listtable.js中,listTable.edit的响应函数修改如下:$ S, a& ?1 `7 l6 b8 ~1 l4 c5 {# x' D

; u% ^2 X  t" J( F5 ^. d, x2 n2 ?. I% I, D9 j

/**

* 创建一个可编辑区

*/

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

    {

        

    }

  }


$ W. ~3 a3 c* h/ s; V3 m8 \

}

; T# J' j* ^; e* Z* H
5.admin\order.php文件中增加下面的函数:5 u' `6 R0 }/ e, `' s" y5 w
* j+ G* I1 q3 _/ s8 [. x' L
/*------------------------------------------------------ */
  y3 D# b' U7 D$ W( T2 `7 m//-- 订单拣货状态查询
' p. ~9 v; h& z+ O; Z# U/*------------------------------------------------------ */+ C( f$ J: b4 o1 N" o- O5 H

6 D2 Y1 |5 X2 ^/ g! g& B+ M7 Zif ($_REQUEST['act'] == 'edit_order_picking_status')
+ y* T1 j2 M  w4 e$ d2 _: F{) _+ x/ T. b: l7 r
    /* 检查权限 */% L5 j3 I3 i/ A
   check_authz_json('users_manage');
, b2 v; L2 P' a! W ) k, i9 f/ c6 V; }
    $id =empty($_REQUEST['id']) ? 0 : intval($_REQUEST['id']);7 @8 n: W0 O7 i6 @
    $order_picking_status =empty($_REQUEST['val']) ? '' : json_str_iconv(trim($_REQUEST['val']));
$ S* ^7 X/ G4 c8 T
* V0 a) ~! k/ T- D+ H    $sql = "DELETE fromorder_picking_status WHERE order_id = '". $id ."' LIMIT 1";( N+ m) N- h! w" |) e
    $db->query($sql);
$ y; z, g5 T, `. z/ d  w   
# p6 H; [$ j2 W% S    $sql = "INSERT INTOorder_picking_status (order_id, user_name, order_picking_status) VALUES('". $id ."', '". $_SESSION['admin_name'] ."', '".$order_picking_status ."')";
* R5 h3 C2 ^" g9 C, F4 q    $db->query($sql);
1 j. a5 m; B7 U; c3 Z   
4 }0 A. s, Q& ^5 V5 W    if ($order_picking_status> 2 || $order_picking_status < 0)
4 `+ \; l; |; @& {( T; Q- O( ~    {+ E( O$ I4 Z7 n) @
         make_json_error($GLOBALS['_LANG']['invalid_order_picking_status']);3 I0 e8 x" d+ e8 ^5 r5 W; v
    }8 Q+ T4 e7 j0 C
    else
4 r4 T0 G3 J. S% U0 \; e) L    {7 ]: ~: M+ R1 p7 z
         make_json_result($order_picking_status);2 p5 ^" U  w$ U# Z1 `
    }
3 K& x( S( Y. Q) ^' h% k! l}2 Q. @2 ]& [+ r  Z- }$ a& f, x
- h; |+ j) ~/ n4 d
6、admin\order.php文件中增加下面的函数将以下代码- \$ l  V* g: k4 `% R
/* 查询 */" B( k  j! U  A4 l: O2 e$ `
$sql = "SELECT o.*," .5 W, C( y- R, x
                    "o.pay_status, o.consignee, o.firstname, o.lastname, o.address, o.email, o.tel, o.extension_code, o.extension_id, " .
( C% x5 m  v4 \& j; G                    "(" . order_amount_field('o.') . ") AS total_fee, " .
/ r7 _7 D$ U0 f9 T& K                    "IFNULL(u.user_name, '" .$GLOBALS['_LANG']['anonymous']. "') AS buyer ".
9 A$ E, @% s* n- o; Q                " FROM " . $GLOBALS['ecs']->table('order_info') . " AS o " .
6 n0 c+ Y2 H0 W$ u) P/ }& z, ]( x' Q                " LEFT JOIN " .$GLOBALS['ecs']->table('users'). " AS u ON u.user_id=o.user_id ". $where .                        * D& ], c. U& d6 a6 @
                " ORDER BY $filter[sort_by] $filter[sort_order] ".: _, j0 k- l( y* M, w/ ^
                " LIMIT " . ($filter['page'] - 1) * $filter['page_size'] . ",$filter[page_size]";  
+ S" a( Y1 m: c. r# F7 f修改为:7 v5 A) M' {- P$ v# z, {, t
//* 查询 */
  w2 @. K7 i* y$ ?      $sql = "SELECT o.*," .
. s. K0 Q$ q2 a2 d                    "o.pay_status, o.consignee, o.firstname, o.lastname, o.address, o.email, o.tel, o.extension_code, o.extension_id, " .
9 \& {7 r2 R0 o3 U% ~. _$ h                    "(" . order_amount_field('o.') . ") AS total_fee, " ." Q, s, j& [( f  M
                    "IFNULL(u.user_name, '" .$GLOBALS['_LANG']['anonymous']. "') AS buyer , p.user_name, p.order_picking_status, r.order_reply_status ".
. Q/ c' [4 q$ w  Y' b' R5 a/ \                " FROM " . $GLOBALS['ecs']->table('order_info') . " AS o " .
# I3 Z! o) T6 k* V  h" ?+ r9 \                " LEFT JOIN " .$GLOBALS['ecs']->table('users'). " AS u ON u.user_id=o.user_id ".        3 B$ q' c2 \' H  ~
        " LEFT JOIN order_reply_status AS r ON r.order_id = o.order_id ".
. k$ Z4 v' Y, p$ X/ E% |* V" LEFT JOIN order_picking_status AS p ON p.order_id = o.order_id ". $where .
' z$ k8 @0 X! B6 C$ I                " ORDER BY $filter[sort_by] $filter[sort_order] ".              " s7 K. P& @1 F5 X7 h; v
                " LIMIT " . ($filter['page'] - 1) * $filter['page_size'] . ",$filter[page_size]";
8 h& O- D' ?% o" S( f5 q9 a9 K, u4 E0 S4 r2 B/ h2 u
8 }8 h$ X1 m; g6 \; W
8 ^  J  ~6 k; z4 `9 d; {6 E: v  P

SQL操作.zip

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

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

ecshop数据库操作指令

评论0

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

GMT+8, 2025-7-9 21:46 , Processed in 0.056003 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.