关灯

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

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

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

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

x
针对ecshop订单中的物品,需要支持拣货的状态,比如未拣货、拣货中、拣货完成,以及显示拣货人姓名。- s* j; B( ^% I& K7 _

6 D) }. `$ V7 T1 `1.SQL操作:
' b" j: ]( n' Q$ h6 E3 \* C" O- m; t1 B1 G; r
2.在文件languages\zh_cn\admin\order.php中增加:
: x4 }: X& v2 F& S# D9 O: k1 f* x3 t
/* 拣货 */
8 B; r# v* I! ]4 o) q  a6 c  \$_LANG['order_picking_status'] = '拣货状态';5 U+ E2 p2 S  {9 V+ F' W) w
$_LANG['order_picking_status_none'] = '未拣货';
+ w! G2 |5 a+ X9 s  c3 Y$_LANG['order_picking_status_processing'] = '拣货中';
2 {3 @+ [- H2 R3 a# {& Q# a! w$_LANG['order_picking_status_finish'] = '拣货完成';
/ N. T0 _: B$ N6 v: L$_LANG['invalid_order_picking_status'] = '拣货状态无效。0:未拣货;1:拣货中;2:拣货完成';/ Q" i, j# X; Q; E2 S, g

. n3 m3 u0 o7 F2 l9 C: T5 x1 T0 [$ t4 y% d4 I, o
3.文件admin\templates\order_list.htm中在一下两行之间:5 r9 B# i( A0 x2 Y
    第一个地方
, d4 W  Y6 e# v) K$ j<th>{$lang.all_status}</th>
6 b6 u% Z9 V& \; p" G" i<th>{$lang.handler}</th>
8 X7 P& D7 y. P! r( D中间加上
# N" T; D9 g4 y$ }3 X<th>{$lang.order_picking_status}</th>
% l1 W* Z1 D; F. M1 h; K9 i/ c$ K, I- D
第二个地方
1 O( l6 R) W$ j6 z+ J, I- L在<td align="center" valign="top" nowrap="nowrap">{$lang.os[$order.order_status]},{$lang.ps[$order.pay_status]},{$lang.ss[$order.shipping_status]}</td>
2 A( h  ~1 k# @9 O- @后面加上
- Y/ l9 b" ]5 S, ~" C6 H) 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>1 Q/ R  U& c6 q* c# z
. t' _  y& k! o7 |+ _8 W9 w

# c) L. g7 z2 g. I8 f6 U$ o1 v. {: V$ X+ S
4.admin\js\listtable.js中,listTable.edit的响应函数修改如下:
& A9 G0 p3 G# Y/ j/ U7 w( L# K8 j8 P

9 e# C$ _& q5 m

/**

* 创建一个可编辑区

*/

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

    {

        

    }

  }


* ~6 w- l+ L) _0 C5 B% K  Q

}


3 @7 D5 o$ W8 d  l5 _5.admin\order.php文件中增加下面的函数:
" k! m0 \2 q2 [( w
0 l' D2 G: F# |) j; z6 N) ?
/*------------------------------------------------------ */
! K4 j+ x" g/ s' u0 p' e//-- 订单拣货状态查询
+ o. _2 P: w' I0 ~: B2 t: _" M* b/*------------------------------------------------------ */
; [1 Z$ F- o9 |- E& X# Q
/ L4 B; {* O7 p8 V: sif ($_REQUEST['act'] == 'edit_order_picking_status')
1 l2 Q& k$ d4 {7 U{
2 ~4 h7 h- m+ x    /* 检查权限 */+ Q. Q6 @' v0 q4 n
   check_authz_json('users_manage');
* a0 V+ r) }$ }2 r' g: _ * ]% O' B5 l/ l. L; c2 C
    $id =empty($_REQUEST['id']) ? 0 : intval($_REQUEST['id']);3 f) a$ l& V6 t# B9 c' `" }
    $order_picking_status =empty($_REQUEST['val']) ? '' : json_str_iconv(trim($_REQUEST['val']));
, G5 u% q' v9 e  f' J
! ^; [3 n, k  ^  p9 ?' Q    $sql = "DELETE fromorder_picking_status WHERE order_id = '". $id ."' LIMIT 1";3 R4 w% {" T4 s$ C' M
    $db->query($sql);/ {2 h' x" h) m' \3 w3 u
   
. c$ k: C* V- I/ n: g    $sql = "INSERT INTOorder_picking_status (order_id, user_name, order_picking_status) VALUES('". $id ."', '". $_SESSION['admin_name'] ."', '".$order_picking_status ."')";
  y. J. Y8 A. I. B* g9 C    $db->query($sql);
4 }9 G4 f4 G0 R# X8 j( n; j% i   9 l9 S  [, B) P+ W) K+ D' E8 l
    if ($order_picking_status> 2 || $order_picking_status < 0)
! I, E; e( X* J/ \- `( d/ U    {
+ E- d5 A* L" d9 P7 |         make_json_error($GLOBALS['_LANG']['invalid_order_picking_status']);. }/ q5 K4 g0 E1 b2 D
    }
& c" Y% G; V2 O5 K4 \1 M; r    else% I: r- \( z( @: N* w
    {
) Q" P) @* C7 Z3 J* B# \& x         make_json_result($order_picking_status);
, [3 Y1 q. O" w7 k/ W    }
! _- p7 ~* _9 Y}
9 T/ V, x& [0 j% y" K' K
% C" d9 e& c8 v2 j& Y0 m
6、admin\order.php文件中增加下面的函数将以下代码
  k9 \+ C! l6 d( I: [% v /* 查询 */
: }4 Z  Y% y0 Z; c4 K! d" w3 z$sql = "SELECT o.*," .
7 J7 J* x  h' C- x5 w6 e' I' k  R# _                    "o.pay_status, o.consignee, o.firstname, o.lastname, o.address, o.email, o.tel, o.extension_code, o.extension_id, " .
6 u) |' O1 B! _# X8 {                    "(" . order_amount_field('o.') . ") AS total_fee, " .6 @- Z5 D0 K" Y! i# o* T+ C
                    "IFNULL(u.user_name, '" .$GLOBALS['_LANG']['anonymous']. "') AS buyer ".
( |8 n/ j+ e1 U3 H9 c0 [, r7 k                " FROM " . $GLOBALS['ecs']->table('order_info') . " AS o " .
+ E8 O( J# k" m& B6 {                " LEFT JOIN " .$GLOBALS['ecs']->table('users'). " AS u ON u.user_id=o.user_id ". $where .                        3 Z' Q, ~1 j! B" |1 M9 n4 u
                " ORDER BY $filter[sort_by] $filter[sort_order] ".
0 {7 K; n0 K0 A% p- r! J( y  J+ [4 L                " LIMIT " . ($filter['page'] - 1) * $filter['page_size'] . ",$filter[page_size]";  " W, Y: |( A& k# w
修改为:9 q( ?& J# u4 E: \  V5 e
//* 查询 */
- _" ^! w/ g6 y9 k& l% f      $sql = "SELECT o.*," .( y* `2 Z1 J* A' D. E
                    "o.pay_status, o.consignee, o.firstname, o.lastname, o.address, o.email, o.tel, o.extension_code, o.extension_id, " .3 [) K: A* G, ?5 F5 O! `. c
                    "(" . order_amount_field('o.') . ") AS total_fee, " .9 |) s! {" w1 N: _7 n+ Y
                    "IFNULL(u.user_name, '" .$GLOBALS['_LANG']['anonymous']. "') AS buyer , p.user_name, p.order_picking_status, r.order_reply_status ".
' G# i+ x; x1 |, a                " FROM " . $GLOBALS['ecs']->table('order_info') . " AS o " .
; P% T" W1 \1 L2 I* b$ u2 H                " LEFT JOIN " .$GLOBALS['ecs']->table('users'). " AS u ON u.user_id=o.user_id ".        ! S: K" z$ J1 n' V
        " LEFT JOIN order_reply_status AS r ON r.order_id = o.order_id ". 9 e/ y' ^* a7 T+ x0 b, N
" LEFT JOIN order_picking_status AS p ON p.order_id = o.order_id ". $where .
2 I5 x. I* S# d6 {2 `' X% k                " ORDER BY $filter[sort_by] $filter[sort_order] ".              - D( t! a4 @/ y5 X7 s0 w
                " LIMIT " . ($filter['page'] - 1) * $filter['page_size'] . ",$filter[page_size]";0 \; \( y) i# P

* W/ G+ |9 A$ V, a, F. t$ d- W1 l$ O6 q3 T% R# ~5 o2 z

$ n& e% g5 H: ^( O) L7 P5 L, @; @, m

SQL操作.zip

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

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

ecshop数据库操作指令





上一篇:ecshop如何修改网址为绝对路径绝对地址
下一篇:discuz论坛多端应用小程序,微信、QQ、支付宝、头条、百度小程序
回复 论坛版权

使用道具 举报

 

0关注

0粉丝

1258帖子

热门图文
热门帖子
排行榜

关注我们:微信扫一扫

微信访问

手机访问

联系我们WECHAT:

Yaelhk

本站资源均收集于互联网,如有侵权请邮件联系删除!

Email:[email protected]

欢迎邀请好友加入我们!一起学习成长! →邀请好友

Copyright   ©2015-2023  科恒数字网