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

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

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

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

×
针对ecshop订单中的物品,需要支持拣货的状态,比如未拣货、拣货中、拣货完成,以及显示拣货人姓名。: X' T, X! v6 n1 h
$ k/ S( Y* _+ E# `
1.SQL操作:
7 _; Y3 R1 y/ v: b/ B
3 n9 y) x. Q1 [6 ^2 r2.在文件languages\zh_cn\admin\order.php中增加:
1 p4 @1 ]7 I9 `  p& H% W8 l" S" }" g/ c* s! i
/* 拣货 */' @. e' `; J: ^4 D$ k, O$ w
$_LANG['order_picking_status'] = '拣货状态';7 X" v2 X7 t# l+ u" n1 y
$_LANG['order_picking_status_none'] = '未拣货';( ?" P1 B# i& ^4 D. r% u" x
$_LANG['order_picking_status_processing'] = '拣货中';5 A" n+ |# h; q$ e+ T, V
$_LANG['order_picking_status_finish'] = '拣货完成';
. D5 \& ^, R4 d) O. n$_LANG['invalid_order_picking_status'] = '拣货状态无效。0:未拣货;1:拣货中;2:拣货完成';  U  q# t7 g/ d, q
3 N* L* [+ S2 K" ^$ G+ x

( B  `; r/ q* e/ y6 L* I0 K- ]3.文件admin\templates\order_list.htm中在一下两行之间:
6 d5 W, L+ t6 i: a; g/ t3 {    第一个地方! m7 C6 L" n' Y, U9 B8 O
<th>{$lang.all_status}</th>  f$ \1 F( Z" X$ n
<th>{$lang.handler}</th>  L& M: R! G2 u1 t4 `3 j: R0 H
中间加上7 J# W2 t) h6 b
<th>{$lang.order_picking_status}</th>
6 h! c4 j, ^! Q. g9 \8 U1 U! N6 V9 r
第二个地方
2 U+ t, ]- @& S( i  v# e在<td align="center" valign="top" nowrap="nowrap">{$lang.os[$order.order_status]},{$lang.ps[$order.pay_status]},{$lang.ss[$order.shipping_status]}</td>
- X$ C6 h/ B1 D+ L1 L, T; C* g$ H后面加上
/ R# y' m( x- q$ X6 @  z9 `<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>" [* W% u4 G0 p2 [$ `

/ m7 Q" g7 K, y9 g4 J& T) f2 {+ L$ d, q* b; L. T

% ?- V* v0 }9 t. S. f6 z- ~( n4.admin\js\listtable.js中,listTable.edit的响应函数修改如下:
6 b+ x3 ]: O+ `/ ~
& f9 u: y1 ]3 U: @0 L5 x5 J
. ~* ?- P$ B8 c+ v5 i$ ], F

/**

* 创建一个可编辑区

*/

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

    {

        

    }

  }

0 {) c+ w, n5 [& \" Y- e0 ]4 U

}


8 c# r7 `4 y2 i( O5.admin\order.php文件中增加下面的函数:+ f7 Y7 R& p& A* N" k' C
6 j* F+ u- \' Q& p
/*------------------------------------------------------ */
$ a% J2 Z1 `2 y; c3 `4 Q//-- 订单拣货状态查询/ D! ~3 v: C. [9 F! ~  K% c
/*------------------------------------------------------ */
( d  F+ g& k1 G. F
: E' c3 y: f+ n: @if ($_REQUEST['act'] == 'edit_order_picking_status')' B9 d( C1 b* ?# y
{) C2 V5 _# P& N! P
    /* 检查权限 */7 G- ?, `/ o. d0 _% p
   check_authz_json('users_manage');" {* T: w, f2 @" Z. X4 j7 C

9 i# Q' l7 g3 E/ k    $id =empty($_REQUEST['id']) ? 0 : intval($_REQUEST['id']);
' f9 y1 ]' i; n$ v" W    $order_picking_status =empty($_REQUEST['val']) ? '' : json_str_iconv(trim($_REQUEST['val']));
; ]8 k2 V5 [# `  c, T9 w: w $ F" ~  x! C  C& [2 j. s
    $sql = "DELETE fromorder_picking_status WHERE order_id = '". $id ."' LIMIT 1";
  S" O* |. ~8 o5 a- q! I    $db->query($sql);
7 y6 u8 }5 R2 X1 k$ f9 s7 f   
  l8 w$ w2 O: Z2 L0 D) p    $sql = "INSERT INTOorder_picking_status (order_id, user_name, order_picking_status) VALUES('". $id ."', '". $_SESSION['admin_name'] ."', '".$order_picking_status ."')";
6 B4 Y4 O# v( ~' o" L    $db->query($sql);2 l+ b1 y+ E7 C6 A) M8 P
   
) M; z7 u' ~% S  i2 N    if ($order_picking_status> 2 || $order_picking_status < 0): l! B' {  u' d0 t' ^. J7 w  A
    {
; p& t! \, H% B9 J; Z         make_json_error($GLOBALS['_LANG']['invalid_order_picking_status']);
  u! C! _  m+ Z2 h8 W    }: }, S( @6 |: \* H9 ]( E
    else( z/ p1 j) L& j
    {
( ?! T. D. U8 L# C: D7 E! U( {         make_json_result($order_picking_status);
* N" Z5 ]5 X7 H! F0 Y    }; Z1 B  n; S: l; L3 W
}( C, g$ V6 p) w# k/ m. R

; Z$ j. u9 ?0 u8 u, T6、admin\order.php文件中增加下面的函数将以下代码9 Z. e1 ?5 X' l
/* 查询 */4 A3 Y! M4 ]3 y6 v* \( T0 k4 {4 C
$sql = "SELECT o.*," .! T+ ?0 P$ p' h* I+ G+ S4 V; r
                    "o.pay_status, o.consignee, o.firstname, o.lastname, o.address, o.email, o.tel, o.extension_code, o.extension_id, " .0 p+ n; ~0 {  J8 E8 y! ?9 _* W: V
                    "(" . order_amount_field('o.') . ") AS total_fee, " .% i* `8 A' v8 o; F3 C: E! j5 D
                    "IFNULL(u.user_name, '" .$GLOBALS['_LANG']['anonymous']. "') AS buyer ".
) e: ^, s1 p# Y* V1 Y$ `/ q1 ~                " FROM " . $GLOBALS['ecs']->table('order_info') . " AS o " .4 S& U3 e9 H+ f- J
                " LEFT JOIN " .$GLOBALS['ecs']->table('users'). " AS u ON u.user_id=o.user_id ". $where .                        
5 c$ r! G$ I$ ]# F1 n                " ORDER BY $filter[sort_by] $filter[sort_order] ".3 c2 C4 J2 E5 H, ~
                " LIMIT " . ($filter['page'] - 1) * $filter['page_size'] . ",$filter[page_size]";  
- Y3 D# P3 N9 A& F4 W6 b& V  W修改为:
) a* M. V1 R* O9 g7 F //* 查询 */& `- h3 S# Y( D) Q- h; a7 s
      $sql = "SELECT o.*," .
9 W6 m8 T# y" s7 z+ [+ h                    "o.pay_status, o.consignee, o.firstname, o.lastname, o.address, o.email, o.tel, o.extension_code, o.extension_id, " .7 m# ?+ h. E+ [- b  v+ e$ f# U
                    "(" . order_amount_field('o.') . ") AS total_fee, " .: n; X$ S! M3 p/ n) `+ f* N
                    "IFNULL(u.user_name, '" .$GLOBALS['_LANG']['anonymous']. "') AS buyer , p.user_name, p.order_picking_status, r.order_reply_status "." k& n0 {' v& `! }8 \0 n
                " FROM " . $GLOBALS['ecs']->table('order_info') . " AS o " .
9 b6 \1 S( L2 n7 f6 X                " LEFT JOIN " .$GLOBALS['ecs']->table('users'). " AS u ON u.user_id=o.user_id ".        
4 U) ?: I: ^6 P$ i, Y8 d        " LEFT JOIN order_reply_status AS r ON r.order_id = o.order_id ". " M$ f/ P0 Q+ o8 Z
" LEFT JOIN order_picking_status AS p ON p.order_id = o.order_id ". $where .
9 F# b8 j8 A) }1 i! d, K" [5 F                " ORDER BY $filter[sort_by] $filter[sort_order] ".              $ v! o3 J/ W8 ]$ `( D! H5 I& e. ~
                " LIMIT " . ($filter['page'] - 1) * $filter['page_size'] . ",$filter[page_size]";# n  V4 M  H+ S0 I5 G7 h$ F3 [

6 K  b4 i. ~! ~$ b: N& Z# G3 t7 d: Q% ?) V

. [1 H8 a' G6 F- K) P) T

SQL操作.zip

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

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

ecshop数据库操作指令

评论0

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

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

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.