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

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

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

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

×
针对ecshop订单中的物品,需要支持拣货的状态,比如未拣货、拣货中、拣货完成,以及显示拣货人姓名。
3 S) `3 E/ G" m6 G7 z3 X& _1 l  O8 w+ O+ j" x
1.SQL操作:2 ^3 p- x2 {1 D: C2 V5 C

$ i# F1 F% s9 @' f7 _) g7 i( E2.在文件languages\zh_cn\admin\order.php中增加:. i$ X  ?; V# T3 r- w
3 Y+ |8 U! w: C. D& H4 K- t
/* 拣货 */# r, y3 a, A0 p7 m+ b) H
$_LANG['order_picking_status'] = '拣货状态';
; v; C+ m, g. }( B. Z5 e; O$_LANG['order_picking_status_none'] = '未拣货';2 g  b) X: i# x( `, A4 W/ d
$_LANG['order_picking_status_processing'] = '拣货中';  D0 M0 r# Y3 S5 w0 E  l* O
$_LANG['order_picking_status_finish'] = '拣货完成';
# P2 D4 V1 [! f  y- b" G6 j$_LANG['invalid_order_picking_status'] = '拣货状态无效。0:未拣货;1:拣货中;2:拣货完成';
$ c& b* @6 s& E7 @' ^: \& x/ h2 K/ b, j' Z/ i) h
9 W" n7 a7 O" n& [
3.文件admin\templates\order_list.htm中在一下两行之间:  G! h+ F% s3 D4 C6 a2 ~
    第一个地方) I# c9 [# v9 H9 R
<th>{$lang.all_status}</th>% B% [  Y1 d# X, c+ Q8 B+ I! P
<th>{$lang.handler}</th>1 l$ @4 F( b/ P, I- O
中间加上
6 n' L- ]8 x+ j& K/ E& J- t<th>{$lang.order_picking_status}</th># [7 P5 \1 `" o5 D- B; e2 ^' R9 Q6 E" O1 K

! r! }" I, U0 h. L3 p第二个地方
) q) ~6 [) m6 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>
9 U* X3 k" ^. ?: Q+ ?! u( N+ n3 `4 r后面加上0 O( r; w* `) r, 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>
7 `# A: g* P- l& B/ T
8 w& s, g9 v6 ?, z  j& w- |$ _* o1 S2 q6 m9 o& ^7 }

6 n# F. C, a. E0 h3 p4.admin\js\listtable.js中,listTable.edit的响应函数修改如下:
, d7 l" v5 t& a7 l* D" H1 [" Y: U% }! r
0 c4 e- t: Y$ Z) p1 M( b- _- X' o; p

/**

* 创建一个可编辑区

*/

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

    {

        

    }

  }

; O9 n. [5 z6 |9 x7 S

}

! y. ]$ l3 k  m3 O
5.admin\order.php文件中增加下面的函数:
4 ]7 Q. P5 W* H+ o2 L

: v9 X+ L; c+ |; g/ @. g/*------------------------------------------------------ */
1 n$ P$ m+ }' a) }2 R//-- 订单拣货状态查询! H) f4 G4 A* E4 i/ J
/*------------------------------------------------------ */
7 J# ^5 C5 \! I5 s7 ~4 M  x 8 |" t: a8 J) n! |
if ($_REQUEST['act'] == 'edit_order_picking_status')3 b* j0 I! n1 Z- ]5 }
{2 w5 r; v1 P* a) T$ O0 Q) W4 l
    /* 检查权限 */  F: G+ M: D8 e) g" m2 _, z! p0 q
   check_authz_json('users_manage');7 F5 v- ^" \3 k

( ^1 H& q0 y! W" Z0 s    $id =empty($_REQUEST['id']) ? 0 : intval($_REQUEST['id']);, ^9 u/ b0 F0 {# s  t
    $order_picking_status =empty($_REQUEST['val']) ? '' : json_str_iconv(trim($_REQUEST['val']));
7 R5 I% G$ x. b! |5 c
/ L8 @- p8 z& H1 _3 i    $sql = "DELETE fromorder_picking_status WHERE order_id = '". $id ."' LIMIT 1";
5 C2 K0 R* r& H8 N+ X, y    $db->query($sql);
6 e" v4 k" G+ z% _4 N   # S- ^' }6 @" N- P* T: I
    $sql = "INSERT INTOorder_picking_status (order_id, user_name, order_picking_status) VALUES('". $id ."', '". $_SESSION['admin_name'] ."', '".$order_picking_status ."')";! f+ F2 V6 y/ J2 y
    $db->query($sql);
8 S0 k7 i  ?( |. E7 c   & l0 x# K/ M  \3 q* i
    if ($order_picking_status> 2 || $order_picking_status < 0)! [( _" @! ~: |2 C( {
    {
6 ]. X, r! A2 T" n7 L/ w, a! p! [6 {         make_json_error($GLOBALS['_LANG']['invalid_order_picking_status']);" C* S1 |) C1 q2 Z8 x
    }
. ~0 ]4 D4 k* H$ o. A6 t, d    else& F: F0 j1 k! I- b+ S
    {
* a6 h* }! |) K) J6 o: \* k( ^+ v         make_json_result($order_picking_status);
' u/ @* {( z' Y: I  L5 m  Q    }% X, w( M4 X, _' p' p! S/ T" a
}1 w' |: K6 C* ]4 h: m

* h; D# B( K9 W6、admin\order.php文件中增加下面的函数将以下代码
- r8 @2 ?# @4 U5 j' |- Y+ e/ p /* 查询 */! k  z, h  {" p
$sql = "SELECT o.*," .7 P5 d* c- d+ B
                    "o.pay_status, o.consignee, o.firstname, o.lastname, o.address, o.email, o.tel, o.extension_code, o.extension_id, " .
# g3 n! ]- O" C% w0 N                    "(" . order_amount_field('o.') . ") AS total_fee, " .( |+ E/ y; L% h
                    "IFNULL(u.user_name, '" .$GLOBALS['_LANG']['anonymous']. "') AS buyer ".9 x3 W, Z' a7 r  x3 x$ t
                " FROM " . $GLOBALS['ecs']->table('order_info') . " AS o " .7 p% g' r0 O: A* n( |5 ]! A
                " LEFT JOIN " .$GLOBALS['ecs']->table('users'). " AS u ON u.user_id=o.user_id ". $where .                        % Y  T) c9 e6 y9 R
                " ORDER BY $filter[sort_by] $filter[sort_order] ".
, u( G+ ~- Q0 H7 D: o. J# j                " LIMIT " . ($filter['page'] - 1) * $filter['page_size'] . ",$filter[page_size]";  
& u7 M9 v9 b. A: k/ a8 R4 D修改为:0 D  v' l/ G0 Z' r: A$ z% `
//* 查询 */
( \( `1 e! h+ C; U0 e  x2 u8 k. P      $sql = "SELECT o.*," .4 }: y& r4 h7 Y0 m# ?
                    "o.pay_status, o.consignee, o.firstname, o.lastname, o.address, o.email, o.tel, o.extension_code, o.extension_id, " .
# a" ]2 l. Y4 V1 a3 _5 C6 i                    "(" . order_amount_field('o.') . ") AS total_fee, " .# v, V$ c4 X1 \& b. S! o. F
                    "IFNULL(u.user_name, '" .$GLOBALS['_LANG']['anonymous']. "') AS buyer , p.user_name, p.order_picking_status, r.order_reply_status ".
8 ?, r& {" W+ Y# w# a                " FROM " . $GLOBALS['ecs']->table('order_info') . " AS o " .# a* y, p4 ]8 x, g0 m
                " LEFT JOIN " .$GLOBALS['ecs']->table('users'). " AS u ON u.user_id=o.user_id ".        
4 U9 j- E- `* o, }, s1 R        " LEFT JOIN order_reply_status AS r ON r.order_id = o.order_id ".   C6 z) C) B( Y
" LEFT JOIN order_picking_status AS p ON p.order_id = o.order_id ". $where .
9 F" R: g3 F' {! f! k$ s                " ORDER BY $filter[sort_by] $filter[sort_order] ".              ! Z% e: x. B7 r, K  b
                " LIMIT " . ($filter['page'] - 1) * $filter['page_size'] . ",$filter[page_size]";4 q  E1 z! Y! L( e" N1 U

: T0 N  M% M- c) [. p: l) L
5 _# m: I- G. C" Y. _4 Y9 x

6 P' a! b) `, l) n

SQL操作.zip

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

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

ecshop数据库操作指令

评论0

手机版|小黑屋|源码模版|全球支付|VISA信用卡|MASTER信用卡|科恒数字网

GMT+8, 2025-4-30 18:04 , Processed in 0.183811 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.