科恒数字网-持续研发、集成、交付、运营方案资源库

标题: 给ecshop订单流程增加拣货状态,最新版本,支持ECSHOP3.6系统 [打印本页]

作者: admin    时间: 2020-6-12 09:15
标题: 给ecshop订单流程增加拣货状态,最新版本,支持ECSHOP3.6系统
针对ecshop订单中的物品,需要支持拣货的状态,比如未拣货、拣货中、拣货完成,以及显示拣货人姓名。$ T1 Q5 @' f5 P9 x6 |
: R' Z- n  J1 O1 e! v" r8 j
1.SQL操作:
! k7 R- V. u0 u8 R) h4 E6 H% v9 i  w# r" u: _+ `5 D
2.在文件languages\zh_cn\admin\order.php中增加:7 b* G9 ]. U7 O& Z- d

& d# \" v7 T* I7 T, z/ A/* 拣货 */
' x; G  C7 F* B0 ]1 r1 e$_LANG['order_picking_status'] = '拣货状态';
* i3 B, {2 \2 p4 E& b$_LANG['order_picking_status_none'] = '未拣货';2 _5 |. }* I! Y1 ]9 k( Z
$_LANG['order_picking_status_processing'] = '拣货中';
9 h/ _4 T6 T& ]0 a$_LANG['order_picking_status_finish'] = '拣货完成';9 h! h' x5 _/ ]# E1 B
$_LANG['invalid_order_picking_status'] = '拣货状态无效。0:未拣货;1:拣货中;2:拣货完成';5 [, F: I9 l7 X2 l3 L

2 [& K- v( C2 \! M$ k- u% C# V) D
1 q* J, t4 p+ h4 q3.文件admin\templates\order_list.htm中在一下两行之间:+ ?# _4 y, a0 N  ]/ p4 }/ s
    第一个地方
5 i% |6 |3 t* r3 j. Q! \<th>{$lang.all_status}</th>! t5 d+ S) u4 K5 W, z
<th>{$lang.handler}</th>
3 L$ x, q: g8 ]& X: F# ~中间加上1 O9 {1 o0 D$ Q- {$ W0 l
<th>{$lang.order_picking_status}</th>5 c9 u7 h: u! b) c+ `. P
* ]; G2 l% Y- O- y: `3 I" v
第二个地方3 K, n' L% T. d( F$ E% ~) f& _/ b
在<td align="center" valign="top" nowrap="nowrap">{$lang.os[$order.order_status]},{$lang.ps[$order.pay_status]},{$lang.ss[$order.shipping_status]}</td>
" Q' X6 ?7 f  I5 o+ |后面加上
. A. j( Y  _6 d. \) Q$ X4 ^<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>
2 b+ A3 O: p  m! q- P2 D0 ?! Y

  g4 d8 [+ o$ |' R' W/ |6 p: e3 c
+ e6 [+ B; y5 e5 b' L4.admin\js\listtable.js中,listTable.edit的响应函数修改如下:
7 U0 l, Q; J* _/ F7 O- Q  T* @& a  p% L- T

5 {" }/ s: v% ^$ \/ ^! I

/**

* 创建一个可编辑区

*/

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

    {

        

    }

  }


% s" Y; B, A" v7 O1 @

}

! F) R! o# a; h  ?1 |
5.admin\order.php文件中增加下面的函数:/ j6 ]$ j% }5 R4 v, t# @$ O( u- D' m

1 {) K9 j+ T7 h/*------------------------------------------------------ */
) r4 ~8 D" R% f& p7 k3 A//-- 订单拣货状态查询* h+ w* _3 i" [2 k4 @
/*------------------------------------------------------ */$ X: [7 o& U; J+ _# I7 C9 _

9 q7 \' x5 r* `' {$ u3 }if ($_REQUEST['act'] == 'edit_order_picking_status')7 O% |4 S) \, W2 j1 m
{( V3 q9 w# X6 ]' j' s& @
    /* 检查权限 */
$ p3 n+ f$ a4 D3 d1 n- ]8 Q1 t& x   check_authz_json('users_manage');
3 B/ z* Q2 y. h* a3 S
8 V% I0 ~5 P: w    $id =empty($_REQUEST['id']) ? 0 : intval($_REQUEST['id']);
- i$ A4 L/ `6 \9 T7 K1 i    $order_picking_status =empty($_REQUEST['val']) ? '' : json_str_iconv(trim($_REQUEST['val']));
& }9 h) {$ |$ Q1 z) t' h6 I( |0 z
* x( P  J  o! n' t$ j    $sql = "DELETE fromorder_picking_status WHERE order_id = '". $id ."' LIMIT 1";
$ `3 P  L+ `$ m6 _, e1 q, f    $db->query($sql);- b' r3 |5 ?4 _1 y- R8 B% j
   
  O  b( z$ M, J) e5 _) N8 d    $sql = "INSERT INTOorder_picking_status (order_id, user_name, order_picking_status) VALUES('". $id ."', '". $_SESSION['admin_name'] ."', '".$order_picking_status ."')";2 R3 H: y4 a  F. O% B
    $db->query($sql);) g8 y. z0 V4 C6 b: {9 p% e
   ; K) g) h6 e# |- Y7 U8 B; }
    if ($order_picking_status> 2 || $order_picking_status < 0)+ q# F4 Q$ ]8 }8 W; H  a
    {
& m8 f/ ]4 `! D; b' O* I/ T         make_json_error($GLOBALS['_LANG']['invalid_order_picking_status']);
) j% q5 a; ^$ M1 y  }- |    }6 ~  {7 h6 Z( J+ o0 K$ Z  }
    else5 R3 y/ x( i, B* `
    {
0 x' [! L2 w4 Y* C. T         make_json_result($order_picking_status);' \3 C. [/ x6 u
    }, r& d4 ?7 B- f
}
" \; [; x* S) s$ g

9 r% L4 w* E$ ^6、admin\order.php文件中增加下面的函数将以下代码9 Q" j, l' x+ ]+ e3 i6 m% ?1 O* S
/* 查询 */
/ C9 r, Z& Z5 u4 c; V; {- S$sql = "SELECT o.*," .2 @8 ]8 q* c& T
                    "o.pay_status, o.consignee, o.firstname, o.lastname, o.address, o.email, o.tel, o.extension_code, o.extension_id, " .% j4 C4 ]6 U  r, ~
                    "(" . order_amount_field('o.') . ") AS total_fee, " .3 z0 d1 p( ^9 k# f. r. q
                    "IFNULL(u.user_name, '" .$GLOBALS['_LANG']['anonymous']. "') AS buyer ".
, ]/ y7 u7 Z5 }! \* Z                " FROM " . $GLOBALS['ecs']->table('order_info') . " AS o " .
# F4 k$ D3 z2 l6 b" q! k* J                " LEFT JOIN " .$GLOBALS['ecs']->table('users'). " AS u ON u.user_id=o.user_id ". $where .                        
  x- ~" S1 A. s7 H- M                " ORDER BY $filter[sort_by] $filter[sort_order] ".& }. R* [9 u! ?0 l9 M
                " LIMIT " . ($filter['page'] - 1) * $filter['page_size'] . ",$filter[page_size]";  9 n1 T; O' w, i, Y8 P$ J
修改为:
9 J/ r9 T& }. {' s; p //* 查询 */  d1 Y, d$ N! @, _: h
      $sql = "SELECT o.*," .
5 k1 r6 O/ `0 G- Z                    "o.pay_status, o.consignee, o.firstname, o.lastname, o.address, o.email, o.tel, o.extension_code, o.extension_id, " .( m; a  D$ f9 d7 S; i
                    "(" . order_amount_field('o.') . ") AS total_fee, " .
- y5 G/ F: R( f" v6 ~% K2 R                    "IFNULL(u.user_name, '" .$GLOBALS['_LANG']['anonymous']. "') AS buyer , p.user_name, p.order_picking_status, r.order_reply_status ".
# X- M+ K; ~4 s                " FROM " . $GLOBALS['ecs']->table('order_info') . " AS o " .0 l/ [3 h/ W; A) \8 ~
                " LEFT JOIN " .$GLOBALS['ecs']->table('users'). " AS u ON u.user_id=o.user_id ".        
6 w) L0 N4 b8 S! @        " LEFT JOIN order_reply_status AS r ON r.order_id = o.order_id ".
, k$ E8 S& ]3 g' K, n: D" LEFT JOIN order_picking_status AS p ON p.order_id = o.order_id ". $where .
- A( ^& `5 j8 F1 \9 N% p                " ORDER BY $filter[sort_by] $filter[sort_order] ".              
8 Z& r. ~! l" Q. z- ?- Q6 C                " LIMIT " . ($filter['page'] - 1) * $filter['page_size'] . ",$filter[page_size]";; |$ ]; j( u% D$ K4 m& Q. K
9 `! {9 V" J7 V* E1 a! C

* X2 Z& [9 T' v

( G0 g( p; i; ~2 n




欢迎光临 科恒数字网-持续研发、集成、交付、运营方案资源库 (https://www.khcic.com/) Powered by Discuz! X3.5