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

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

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

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

×
针对ecshop订单中的物品,需要支持拣货的状态,比如未拣货、拣货中、拣货完成,以及显示拣货人姓名。- D: ]5 Z3 [) _) A/ E! a$ h

$ H  e! k3 ^- Y2 S4 Q) @( V* k: |1.SQL操作:/ i! K  _% @" ^- B& W% K
2 e8 P2 F1 j! y
2.在文件languages\zh_cn\admin\order.php中增加:
! k( K% d$ y. M5 _* \, S3 p3 n. i1 h" o
/* 拣货 */
* g9 w- x) m! [$_LANG['order_picking_status'] = '拣货状态';
: L  Q7 n+ |/ a9 c+ F$_LANG['order_picking_status_none'] = '未拣货';3 J9 a" R) u& E: W$ [( b+ [! H
$_LANG['order_picking_status_processing'] = '拣货中';
6 E7 L4 Z1 @7 t/ H- o$_LANG['order_picking_status_finish'] = '拣货完成';
: L% d$ E+ t. B2 @2 j1 q, U$_LANG['invalid_order_picking_status'] = '拣货状态无效。0:未拣货;1:拣货中;2:拣货完成';
5 n7 f! V- I- Z* ]+ X% `  w4 B9 o; L  g
+ q7 `; R- b) j$ `# F: O2 L$ W
3.文件admin\templates\order_list.htm中在一下两行之间:4 @. S3 d  Z  h$ {9 a* i
    第一个地方
9 z  s' v' l; S0 f+ D/ i& N<th>{$lang.all_status}</th>
4 b1 n9 y" r6 U/ l: S. J9 w<th>{$lang.handler}</th>
) y# Q$ ^( n+ [4 U; g* Y中间加上5 ?1 ^' K% L, F4 @5 l
<th>{$lang.order_picking_status}</th>$ z" F7 ~& P) d, o( \

" ?; X* X5 l$ V# C2 O& ~& w4 n* [2 M第二个地方" h( T! ]1 @) n, g
在<td align="center" valign="top" nowrap="nowrap">{$lang.os[$order.order_status]},{$lang.ps[$order.pay_status]},{$lang.ss[$order.shipping_status]}</td>
: v: |# _! Y* q* E* t1 i后面加上
3 J! ~# u8 D* v. v( Y<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; P9 p& Q( x
" V/ q$ w( R9 Q7 P7 I  a1 N2 i5 S9 P. L
' }2 T& O, j( p" Q

# ?9 f7 }2 N+ T8 M/ V0 U4.admin\js\listtable.js中,listTable.edit的响应函数修改如下:
8 _9 k9 p% X& v
- _7 G; }$ Z. ]1 u& X9 T% `7 F  X
# S: H0 R5 H. T, G& }

/**

* 创建一个可编辑区

*/

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( c- \$ p* I/ N' g# P% @

}

/ q2 V2 z0 Q- X2 H9 }
5.admin\order.php文件中增加下面的函数:4 r: x, W8 H7 m6 v; p: [% K
' |& `$ b+ A+ q3 a+ C, b
/*------------------------------------------------------ */
! Z/ b7 O" N1 [' \//-- 订单拣货状态查询, i9 t0 y% K4 }) g4 D
/*------------------------------------------------------ */
1 Y/ A2 @- Q3 ^: C8 K $ u- {- h* R, t, |- K: o7 K: h
if ($_REQUEST['act'] == 'edit_order_picking_status')0 B& f8 T% |' }9 Q  h3 u
{4 t- B: [6 \. d" V$ A
    /* 检查权限 */
. W. u$ W5 O  q& v) C4 i   check_authz_json('users_manage');" E  O( _  E4 E) M0 m7 r

  ]6 z; B2 v+ `8 g    $id =empty($_REQUEST['id']) ? 0 : intval($_REQUEST['id']);
8 x6 S5 W. I' c1 H    $order_picking_status =empty($_REQUEST['val']) ? '' : json_str_iconv(trim($_REQUEST['val']));0 ^5 w8 t! ?) C9 U) L. ]1 y

1 n+ D) c/ ~- i' i# F6 W    $sql = "DELETE fromorder_picking_status WHERE order_id = '". $id ."' LIMIT 1";
1 {- f) b& u5 h2 E; j- z2 \$ e    $db->query($sql);
; I4 N! W8 z7 o0 G9 u* _) l   $ l9 F2 U% t5 U* n  e
    $sql = "INSERT INTOorder_picking_status (order_id, user_name, order_picking_status) VALUES('". $id ."', '". $_SESSION['admin_name'] ."', '".$order_picking_status ."')";
& I6 d  p! E) ?. T( ?    $db->query($sql);; V; y+ {& C! X6 e) N1 @, Y
   8 F4 Z9 k4 @* q0 w: ?9 T. E
    if ($order_picking_status> 2 || $order_picking_status < 0)( D- I4 o0 W5 h' V& V- t5 G& k
    {
) ]4 h% I6 D$ E+ X7 @5 _5 i* D         make_json_error($GLOBALS['_LANG']['invalid_order_picking_status']);9 F! X. U9 E: }: h# h
    }+ p, n+ ?3 z& g7 l% m- @
    else' N- l! s2 W- M$ P) f
    {( G* w& T$ M* w
         make_json_result($order_picking_status);
: x1 E5 u1 V3 X1 E+ K" C, J    }  `0 M+ H# J( t2 ^" `1 m4 Y
}& x# x, a5 s1 G1 d! ^# c1 f  m

$ z. v, K) X* c. a% _6、admin\order.php文件中增加下面的函数将以下代码
/ S. e7 b' T5 Z6 D& f' _; { /* 查询 */* R! y. X- P1 l. G
$sql = "SELECT o.*," .
* c" ~" b2 w( S9 Y. A1 e                    "o.pay_status, o.consignee, o.firstname, o.lastname, o.address, o.email, o.tel, o.extension_code, o.extension_id, " .1 V) }5 W/ a% v0 Q8 H- s
                    "(" . order_amount_field('o.') . ") AS total_fee, " .
) h& z" p( y' d                    "IFNULL(u.user_name, '" .$GLOBALS['_LANG']['anonymous']. "') AS buyer ".
7 [3 E* s6 p+ z/ g; T                " FROM " . $GLOBALS['ecs']->table('order_info') . " AS o " .  i7 t4 A, Z4 h  A
                " LEFT JOIN " .$GLOBALS['ecs']->table('users'). " AS u ON u.user_id=o.user_id ". $where .                        
' r9 `4 }  F% b  e/ t5 ]3 X                " ORDER BY $filter[sort_by] $filter[sort_order] ".
3 w5 F5 @* b( `8 G% d- `& S                " LIMIT " . ($filter['page'] - 1) * $filter['page_size'] . ",$filter[page_size]";  
- c3 x% x% `7 A; |' H- H修改为:
6 \8 |  Q0 h  u! q5 ]8 Q //* 查询 */
- n! w( e) x. a3 D" q      $sql = "SELECT o.*," .
0 T: Q, [6 R2 g6 \# y+ G                    "o.pay_status, o.consignee, o.firstname, o.lastname, o.address, o.email, o.tel, o.extension_code, o.extension_id, " .
. d0 \  X) x. u: Z                    "(" . order_amount_field('o.') . ") AS total_fee, " .* q* e' n8 q; {  j" y
                    "IFNULL(u.user_name, '" .$GLOBALS['_LANG']['anonymous']. "') AS buyer , p.user_name, p.order_picking_status, r.order_reply_status ".0 T& X5 A. v6 `$ o
                " FROM " . $GLOBALS['ecs']->table('order_info') . " AS o " .
, V) H! l5 a/ T7 u: q; e                " LEFT JOIN " .$GLOBALS['ecs']->table('users'). " AS u ON u.user_id=o.user_id ".        % `! U" i8 a5 {) b; E6 h9 D- Q
        " LEFT JOIN order_reply_status AS r ON r.order_id = o.order_id ".
5 h) S3 e1 F; E1 M# w% \2 U: G" LEFT JOIN order_picking_status AS p ON p.order_id = o.order_id ". $where .
% |$ p, f  U: w* k' v                " ORDER BY $filter[sort_by] $filter[sort_order] ".              1 j8 \& T% c( v9 k* E* B. A
                " LIMIT " . ($filter['page'] - 1) * $filter['page_size'] . ",$filter[page_size]";
  X8 s3 W3 r6 K$ ~; h5 d2 G7 i) M
: V- W! C2 E: \% B1 M
/ b5 _6 N: ^+ H% A
, P' P  g# z: b  o) T

SQL操作.zip

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

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

ecshop数据库操作指令

评论0

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

GMT+8, 2025-11-17 12:09 , Processed in 0.068011 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.