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

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

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

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

×
针对ecshop订单中的物品,需要支持拣货的状态,比如未拣货、拣货中、拣货完成,以及显示拣货人姓名。7 l. P' ?2 j( y1 N
- N2 F0 x0 S3 a& j1 |1 I
1.SQL操作:9 W) e$ B" J# z7 E1 e7 k5 s7 U
+ z/ \" B: Q* k) i0 j* E2 H" z
2.在文件languages\zh_cn\admin\order.php中增加:8 \" k$ H$ V5 {1 X0 }
- a! t9 s) C; |4 |
/* 拣货 */8 K" U/ k0 q' r/ l2 u
$_LANG['order_picking_status'] = '拣货状态';
! Y  I8 R( W; c3 L9 [4 {6 |1 }4 L$_LANG['order_picking_status_none'] = '未拣货';" _/ X* c# Y: z) J+ r& Y3 p3 B
$_LANG['order_picking_status_processing'] = '拣货中';; i! u# M$ }6 t1 \( j3 Z
$_LANG['order_picking_status_finish'] = '拣货完成';. s0 Q  K0 j: m, [( o% p$ v
$_LANG['invalid_order_picking_status'] = '拣货状态无效。0:未拣货;1:拣货中;2:拣货完成';1 C# ^7 F2 E& G, l7 U

+ j0 b1 i) a5 n; H* Q  }* R6 {9 f
  }. R* a9 Q7 q/ p; z  w% t- F) b4 u3.文件admin\templates\order_list.htm中在一下两行之间:
9 M6 |" u! p# }* f    第一个地方
% j9 a  ~% p* }) o, ~; W) ^<th>{$lang.all_status}</th>3 E# L7 J+ q5 B
<th>{$lang.handler}</th>; D6 R+ J$ p; {$ K! Z
中间加上
' ]8 N8 R0 L9 z+ }. J5 i<th>{$lang.order_picking_status}</th>, |7 h1 ?2 u8 P/ q1 W

, }( h. P: |) H" x第二个地方
7 ]8 V, a. |& p在<td align="center" valign="top" nowrap="nowrap">{$lang.os[$order.order_status]},{$lang.ps[$order.pay_status]},{$lang.ss[$order.shipping_status]}</td>
3 ?! H+ t2 [. h8 z后面加上
8 _/ h2 F0 ~  V$ 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>
* G1 Z3 h% b* D# v+ E" Q! o, O" R* P$ e% ~

% n* |+ r) m1 _- _8 S$ }/ i' y/ U* j; }7 w* n) n
4.admin\js\listtable.js中,listTable.edit的响应函数修改如下:" K- B) ?; v2 M  U1 S- B$ L5 L5 `

: |+ |+ R* r  G8 L5 |6 L
$ C. |% E7 @5 X# u" W

/**

* 创建一个可编辑区

*/

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* E6 J  _; {6 Y& @  ?5 n

}


$ E1 A: D/ H# E7 k5.admin\order.php文件中增加下面的函数:
! ~" ]2 B! l9 S( Z( {  l4 p

% j8 i/ u  f/ W) B' q8 V9 `/*------------------------------------------------------ */
: n0 M$ N) U: v/ |* t5 \//-- 订单拣货状态查询
5 J6 s! `+ Z4 U4 {/ l2 e/*------------------------------------------------------ */1 C. ?0 q* K0 m+ k

8 ?  b8 L+ x' e% _+ R, mif ($_REQUEST['act'] == 'edit_order_picking_status')
, P4 i+ ?1 i: B( s7 E{# {" S8 @" ^) @& B5 R
    /* 检查权限 */
& j9 V' m- u: {0 _   check_authz_json('users_manage');( ?3 b" e; C6 Y9 O! a$ d
4 B; [1 R# k& n  d
    $id =empty($_REQUEST['id']) ? 0 : intval($_REQUEST['id']);, i* H) Y" w& ?' b4 [2 h9 s
    $order_picking_status =empty($_REQUEST['val']) ? '' : json_str_iconv(trim($_REQUEST['val']));( p' p8 N2 n6 V7 G8 l
+ |, u1 f$ Z4 D7 k- u  v8 w
    $sql = "DELETE fromorder_picking_status WHERE order_id = '". $id ."' LIMIT 1";
. U" J! ?# e# R7 P5 w1 C: N    $db->query($sql);
; h: Z2 {; L3 b4 q! w   
, T- a2 b0 x9 K7 z7 R    $sql = "INSERT INTOorder_picking_status (order_id, user_name, order_picking_status) VALUES('". $id ."', '". $_SESSION['admin_name'] ."', '".$order_picking_status ."')";
& i9 Q& ?0 o! [1 P- j    $db->query($sql);( m$ @" f. B& q; I& R8 x( W
   
8 R4 s  k4 o# ^    if ($order_picking_status> 2 || $order_picking_status < 0)
- L# O' J8 [& B) ~" N    {
" w. t' h# g( @0 V0 M( H/ h         make_json_error($GLOBALS['_LANG']['invalid_order_picking_status']);$ r1 m" K) _2 a( a  u" R4 C
    }
+ L( Z9 w0 a* h  h$ y8 i& J* ?    else
2 S- N/ m/ G4 T  s    {! E) w5 X: M+ S# L9 p" f
         make_json_result($order_picking_status);
# f  O0 Z- R5 Q3 \" m    }; U" g* m6 W& G& m' T9 \
}
" h2 T( h; D9 W' h
8 ~- U' L  O1 \2 r0 Y  j
6、admin\order.php文件中增加下面的函数将以下代码% [4 K8 y7 N; Z/ F! m  O' {$ r
/* 查询 */! a$ p8 Q2 o' G- J8 N
$sql = "SELECT o.*," .6 |, _5 O; i+ D& O4 w; {
                    "o.pay_status, o.consignee, o.firstname, o.lastname, o.address, o.email, o.tel, o.extension_code, o.extension_id, " .
2 J/ t" W3 d0 T                    "(" . order_amount_field('o.') . ") AS total_fee, " .
/ s% j# K9 C6 u, }9 ]( u3 b                    "IFNULL(u.user_name, '" .$GLOBALS['_LANG']['anonymous']. "') AS buyer ".: D* w: s) M, w; N: j5 s& m
                " FROM " . $GLOBALS['ecs']->table('order_info') . " AS o " .) B5 K7 B/ T, E2 t# ~! T9 D9 Z
                " LEFT JOIN " .$GLOBALS['ecs']->table('users'). " AS u ON u.user_id=o.user_id ". $where .                        3 c4 p; O8 o) ?; {6 S: |% U* N& M$ F
                " ORDER BY $filter[sort_by] $filter[sort_order] ".& e$ n$ d" f8 S: a( k1 W
                " LIMIT " . ($filter['page'] - 1) * $filter['page_size'] . ",$filter[page_size]";  1 A& t; H8 v( M- g, H  e
修改为:: T1 a0 d6 d! q0 }3 X1 s; X
//* 查询 */
" x9 n& T7 c7 z9 q+ b) I* a% l      $sql = "SELECT o.*," .
7 Y4 q2 V/ D2 y- {$ F                    "o.pay_status, o.consignee, o.firstname, o.lastname, o.address, o.email, o.tel, o.extension_code, o.extension_id, " .& C* k4 |9 A2 U* U& I/ [, m; z2 O4 _
                    "(" . order_amount_field('o.') . ") AS total_fee, " .
7 K- F3 ?4 W+ }+ r$ w0 x+ ~4 a                    "IFNULL(u.user_name, '" .$GLOBALS['_LANG']['anonymous']. "') AS buyer , p.user_name, p.order_picking_status, r.order_reply_status ".
6 S2 F4 j$ Z. h; c/ ]: H                " FROM " . $GLOBALS['ecs']->table('order_info') . " AS o " .( s! C' ]; S& x2 S
                " LEFT JOIN " .$GLOBALS['ecs']->table('users'). " AS u ON u.user_id=o.user_id ".        3 Q- m% [9 \6 n" Y4 |) [. O4 e
        " LEFT JOIN order_reply_status AS r ON r.order_id = o.order_id ". 0 F/ W8 h, a' V
" LEFT JOIN order_picking_status AS p ON p.order_id = o.order_id ". $where .- l4 B' M2 Y4 |; N
                " ORDER BY $filter[sort_by] $filter[sort_order] ".              1 }% Y9 B+ H9 c+ {
                " LIMIT " . ($filter['page'] - 1) * $filter['page_size'] . ",$filter[page_size]";! `* f1 v7 |9 z$ t2 e$ O3 R: a

( w" _3 e( S5 d9 J0 N6 ~
! r( ?8 _1 F* o! Z

/ e. W+ L4 `: e) q; b

SQL操作.zip

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

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

ecshop数据库操作指令

评论0

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

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

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.