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

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

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

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

×
针对ecshop订单中的物品,需要支持拣货的状态,比如未拣货、拣货中、拣货完成,以及显示拣货人姓名。
; F. E$ @/ T$ C) s! R
$ ^5 t5 T0 {' H5 m9 M% E0 v3 y1.SQL操作:
/ ~# f0 ^( d7 u+ X( [" L; y' n" `0 Z+ r: a4 |" f5 u; E6 V
2.在文件languages\zh_cn\admin\order.php中增加:
: E7 {7 l  t3 ^) u* A  G# [# A( l% q+ U/ Y5 }9 A, X: W3 a
/* 拣货 */7 t& N. v+ U) p1 }
$_LANG['order_picking_status'] = '拣货状态';, A* f  B5 K; v- L
$_LANG['order_picking_status_none'] = '未拣货';  C% Y* L: w8 i5 J$ o& q' |7 S$ P+ I
$_LANG['order_picking_status_processing'] = '拣货中';
6 U7 W: s6 T8 f# G6 W* G$_LANG['order_picking_status_finish'] = '拣货完成';$ [5 v7 M* @6 @, `* ]6 K
$_LANG['invalid_order_picking_status'] = '拣货状态无效。0:未拣货;1:拣货中;2:拣货完成';
; g6 o1 d% V6 m! ~5 X* w7 A- z/ ~/ D) Z( O1 x+ {9 ~

! w3 g# e# R: u" E- t% f+ I/ t- ?3.文件admin\templates\order_list.htm中在一下两行之间:, [- v9 g4 `2 k/ D! b4 ?$ o% T+ Q
    第一个地方; G7 Z, \8 t8 l( I' u! m; P. c
<th>{$lang.all_status}</th>8 y" d) D7 \1 ]& ^; p5 ?
<th>{$lang.handler}</th>% Q) G; e$ ~# e, f4 Y0 C6 P
中间加上
; j5 b1 P+ D% t' P- s$ F2 Q<th>{$lang.order_picking_status}</th>
( p" n/ n* k& b! W% F$ r4 I, k& i: b: H
第二个地方
/ u. J' c3 ^4 r/ w9 ]在<td align="center" valign="top" nowrap="nowrap">{$lang.os[$order.order_status]},{$lang.ps[$order.pay_status]},{$lang.ss[$order.shipping_status]}</td>
2 v5 n& v7 s- K  ?$ {后面加上% l1 X3 C( w3 L0 J0 W3 Z+ m
<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& c" N$ \5 h7 H
# m. Y/ r& W0 [; ^
6 g+ }* j1 z) B: a* n4 Z
: d, ]' U; U1 |4.admin\js\listtable.js中,listTable.edit的响应函数修改如下:
8 r) z6 g/ E" u9 g5 V1 f. z3 J0 v7 R  ~* Q4 |; K9 {- }3 _

7 j1 s+ S3 ^: e4 p, A8 C( ~" L

/**

* 创建一个可编辑区

*/

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

    {

        

    }

  }

- C" D2 [! A' y8 [

}

/ \9 o# S! |7 ^- X; x
5.admin\order.php文件中增加下面的函数:
7 J* [- g* L8 t6 m/ ^* b
$ L" _5 \1 k" b7 p- ^) d. Q3 P& A
/*------------------------------------------------------ */
* \6 ]' b- q; t$ l1 I( {//-- 订单拣货状态查询
# P- Z0 I+ S  L4 n& Y2 ^& T  W/*------------------------------------------------------ */! B& e! n) M9 n) ?
) a. k" Q; l/ C% J0 c& ~; B$ Q
if ($_REQUEST['act'] == 'edit_order_picking_status')
& F" k* K% A: V{
9 G6 K# F5 j7 `    /* 检查权限 */9 K. S* r' h% C
   check_authz_json('users_manage');
) }+ @( i# W6 B& J+ R. E ' z# t) O$ g$ y* z3 o
    $id =empty($_REQUEST['id']) ? 0 : intval($_REQUEST['id']);
& ~" x3 z1 P# P5 m    $order_picking_status =empty($_REQUEST['val']) ? '' : json_str_iconv(trim($_REQUEST['val']));
: ~  ~5 X% v2 A- C
! Y, X* p" {1 u0 M+ i( w& x# E    $sql = "DELETE fromorder_picking_status WHERE order_id = '". $id ."' LIMIT 1";
; _$ M8 r' P6 y: F, L& ~    $db->query($sql);2 X6 ], r) ^! Y2 N
   ! I" c' y# f& N& Q3 H
    $sql = "INSERT INTOorder_picking_status (order_id, user_name, order_picking_status) VALUES('". $id ."', '". $_SESSION['admin_name'] ."', '".$order_picking_status ."')";
; p* z- e' X/ ~" |% j. r. U    $db->query($sql);* Z4 B; _) j3 o7 M$ i
   
, h# t. e5 W# j3 k3 ?    if ($order_picking_status> 2 || $order_picking_status < 0)+ Y- r, P4 c# r9 A3 j3 J
    {+ I0 n+ w; a8 ]7 K7 P
         make_json_error($GLOBALS['_LANG']['invalid_order_picking_status']);2 W9 I+ p2 z( L7 N* d
    }
: g9 E8 t& @  I6 y: |6 t    else% m( B9 T. `& c& @
    {2 i& T* n3 G- [: F* M& j' U2 w1 W- s
         make_json_result($order_picking_status);
: G3 T6 f# U5 t) p( a& w    }# d& g4 }, H/ j0 X0 G& |8 P
}
: s% @+ `2 |) l" ]  `0 N
' f; C$ o% W' m7 ~8 f+ k7 P* D
6、admin\order.php文件中增加下面的函数将以下代码
/ I/ g" [1 r0 W& K/ X /* 查询 */
6 w( B' H4 q" Y* b# v$sql = "SELECT o.*," .1 d9 E4 f* f3 }0 C0 ?! E
                    "o.pay_status, o.consignee, o.firstname, o.lastname, o.address, o.email, o.tel, o.extension_code, o.extension_id, " .  C( ^) x2 x/ k5 }
                    "(" . order_amount_field('o.') . ") AS total_fee, " .5 _% ?! l. E$ a5 P- V2 C. ~
                    "IFNULL(u.user_name, '" .$GLOBALS['_LANG']['anonymous']. "') AS buyer ".9 D" ~' v4 g9 W$ k* h' T
                " FROM " . $GLOBALS['ecs']->table('order_info') . " AS o " .
/ V% V) A; C$ h$ h2 s: W' C                " LEFT JOIN " .$GLOBALS['ecs']->table('users'). " AS u ON u.user_id=o.user_id ". $where .                        
& Y0 r1 U9 E# g' |+ s4 Z, Q* a                " ORDER BY $filter[sort_by] $filter[sort_order] ".
4 S" z- v; F+ W( r& v                " LIMIT " . ($filter['page'] - 1) * $filter['page_size'] . ",$filter[page_size]";  
& y8 ~" A0 R2 K9 [' P, a& C$ O修改为:
! @/ F1 ~. X4 e7 h //* 查询 */
) `0 h3 p* }; A3 d      $sql = "SELECT o.*," .
& z3 J5 z1 N( i- W0 e' w                    "o.pay_status, o.consignee, o.firstname, o.lastname, o.address, o.email, o.tel, o.extension_code, o.extension_id, " .
+ g$ Q- y) ]/ _! a                    "(" . order_amount_field('o.') . ") AS total_fee, " .
: V4 o) X3 t4 ^5 @) D                    "IFNULL(u.user_name, '" .$GLOBALS['_LANG']['anonymous']. "') AS buyer , p.user_name, p.order_picking_status, r.order_reply_status ".
& c, Y2 _- }% Y3 W1 ?7 c                " FROM " . $GLOBALS['ecs']->table('order_info') . " AS o " .
# i6 C4 s$ G3 u: R/ E                " LEFT JOIN " .$GLOBALS['ecs']->table('users'). " AS u ON u.user_id=o.user_id ".        $ Z7 P2 y& {5 [+ c3 H- ]: D9 h
        " LEFT JOIN order_reply_status AS r ON r.order_id = o.order_id ".
% C8 m" X+ H3 m! ~8 s% p- B) e" LEFT JOIN order_picking_status AS p ON p.order_id = o.order_id ". $where .
' E9 w& g4 m+ s) `                " ORDER BY $filter[sort_by] $filter[sort_order] ".              # _: \; c( @6 W3 n7 _6 _( `+ l8 n
                " LIMIT " . ($filter['page'] - 1) * $filter['page_size'] . ",$filter[page_size]";
% q3 A- V8 }6 U1 U/ R( R. G4 C* G5 I* L( O+ r4 D& d
4 c; Q" n. {, D+ q" A" I0 `% C

) G$ @6 E$ d  _5 N  Q- M

SQL操作.zip

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

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

ecshop数据库操作指令

评论0

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

GMT+8, 2025-11-11 10:36 , Processed in 0.070931 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.