From b7eb149907954fca17831a1781f173355e09aa3b Mon Sep 17 00:00:00 2001 From: xuzhitang <xzt@bronet.cn> Date: Wed, 17 Oct 2018 10:55:05 +0800 Subject: [PATCH] 后台物流订阅及物流轨迹完成、订单分类完成,订单退款未完成 --- app/admin/controller/ZjOrderController.php | 67 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------ public/themes/admin_simpleboot3/admin/zj_order/detail.html | 17 +++++++++++++++-- public/themes/admin_simpleboot3/admin/zj_order/index.html | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 126 insertions(+), 8 deletions(-) diff --git a/app/admin/controller/ZjOrderController.php b/app/admin/controller/ZjOrderController.php index 3de3c40..983d8ab 100644 --- a/app/admin/controller/ZjOrderController.php +++ b/app/admin/controller/ZjOrderController.php @@ -9,6 +9,7 @@ namespace app\admin\controller; +use app\kdnapi\controller\KdnApiController; use cmf\controller\AdminBaseController; use think\Db; @@ -26,6 +27,12 @@ class ZjOrderController extends AdminBaseController if (!empty($arr['uid'])){ $where['o.uid']=$arr['uid']; } + if (!empty($arr['yi'])){ + $where['o.cid']=$arr['yi']; + } + if (!empty($arr['er'])){ + $where['o.cids']=['like','%-'.$arr['er'].'-%']; + } if (!empty($arr['step'])){ $where['o.step']=$arr['step']; } @@ -45,9 +52,23 @@ class ZjOrderController extends AdminBaseController $where1['o.create_time']=['elt',strtotime($arr['end_time'])]; } } - $all=Db::name('zj_order')->alias('o')->join('user u','o.uid=u.id','left')->where($where)->where($where1) - ->order('create_time','desc')->field('o.*,u.user_nickname')->paginate(15); + $all=Db::name('zj_order')->alias('o')->join('user u','o.uid=u.id','left') + ->where($where)->where($where1)->order('create_time','desc')->field('o.*,u.user_nickname')->paginate(15); $all->appends($arr); + + //查询商品分类 + $cate=Db::name('zj_category')->where(['delete_time'=>'0'])->field('name,id,cid,grade')->select()->toArray(); + $cate1=[]; + $cate2=[]; + foreach ($cate as $k=>$v){ + if ($cate[$k]['grade']==1){ + $cate1[$k]=$cate[$k]; + }else{ + $cate2[$k]=$cate[$k]; + } + } + $cate1=array_values($cate1); + $cate2=array_values($cate2); $this->assign('start_time', !empty($arr['start_time']) ? $arr['start_time'] : ''); $this->assign('end_time', !empty($arr['end_time']) ? $arr['end_time'] : ''); $this->assign('uid',!empty($arr['uid'])?$arr['uid']:''); @@ -55,8 +76,12 @@ class ZjOrderController extends AdminBaseController $this->assign('num',!empty($arr['num'])?$arr['num']:''); $this->assign('name',!empty($arr['name'])?$arr['name']:''); $this->assign('mobile',!empty($arr['mobile'])?$arr['mobile']:''); + $this->assign('yi',!empty($arr['yi'])?$arr['yi']:''); + $this->assign('er',!empty($arr['er'])?$arr['er']:''); $this->assign('page',$all->render()); $this->assign('all',$all->items()); + $this->assign('cate1',$cate1); + $this->assign('cate2',$cate2); return $this->fetch(); } @@ -77,6 +102,11 @@ class ZjOrderController extends AdminBaseController $kd=Db::name('zj_kd')->select(); $all=Db::name('zj_order_goods')->alias('og')->join('zj_goods g','og.gid=g.id')->where('oid',$id) ->field('g.name,og.num')->select(); + if ($one['step']>2&&$one['kid']!=0){ + $kdgj=Db::name('zj_kd_order')->where(['kd_num'=>$one['kd_num']])->value('text'); + $kdgj=json_decode($kdgj,true); + $this->assign('kdgj',$kdgj); + } $this->assign('kd',$kd); $this->assign('url',$url); $this->assign('one',$one); @@ -91,10 +121,25 @@ class ZjOrderController extends AdminBaseController if ($this->request->param()){ $param=input('param.'); $edit=Db::name('zj_order')->update($param); + if ($param['step']=='3'){ + if ($param['kid']=='0'){ + $kds='自提订单'; + }else{ + //引入快递订阅接口 + $kd=new KdnApiController(); + $kds=$kd->orderTracesSubByJson($param['id']); + $kds=json_decode($kds,true); + if ($kds['Success']==true){ + $kds='快递状态订阅成功'; + }else{ + $kds='快递状态订阅失败'; + } + } + } if (empty($edit)){ - $this->error('修改失败'); + $this->error('修改失败,'.$kds); }else{ - $this->success('修改成功'); + $this->success('修改成功,'.$kds); } } } @@ -180,12 +225,22 @@ class ZjOrderController extends AdminBaseController if (empty($param['kd_num'])){ $this->error('快递单号不能为空'); } + $param['step']=3; $edit=Db::name('zj_order')->update($param); + //引入快递订阅接口 + $kd=new KdnApiController(); + $kds=$kd->orderTracesSubByJson($param['id']); + $kds=json_decode($kds,true); + if ($kds['Success']==true){ + $kds='快递状态订阅成功'; + }else{ + $kds='快递状态订阅失败'; + } if (empty($edit)){ - $this->error('订单状态更新失败'); + $this->error('订单状态更新失败,'.$kds); }else{ - $this->success('订单状态更新成功'); + $this->success('订单状态更新成功,'.$kds); } } } diff --git a/public/themes/admin_simpleboot3/admin/zj_order/detail.html b/public/themes/admin_simpleboot3/admin/zj_order/detail.html index e69d893..ea13d74 100644 --- a/public/themes/admin_simpleboot3/admin/zj_order/detail.html +++ b/public/themes/admin_simpleboot3/admin/zj_order/detail.html @@ -87,7 +87,7 @@ <td> <span> <if condition="$one.step eq 5||$one.step eq 9"> - {:date('Y-m-d H:i',$vo.end_time)} + {:date('Y-m-d H:i',$one.end_time)} <elseif condition="$one.step lt 5"> 订单未完成 <elseif condition="$one.step gt 5&&$one.step neq 9"> @@ -108,6 +108,17 @@ <span>{$one.whole_num}</span> </td> </tr> + <if condition="$one.step gt 2 && $one.kid neq 0"> + <tr> + <th>物流轨迹</th> + <td> + <foreach name="kdgj" item="vo"> + <p><span>{$vo.AcceptTime}</span> {$vo.AcceptStation}</p> + </foreach> + </td> + </tr> + </if> + </table> <if condition="$one.step gt 5"> @@ -197,7 +208,8 @@ <tr> <th>快递公司</th> <td> - <select name="step" class="form-control" style="width: 120px;"> + <select name="kid" class="form-control" style="width: 120px;"> + <option value="0">自提</option> <foreach name="kd" item="vo"> <option value="{$vo.id}" <eq name="$one.kid" value="$vo.id">selected</eq>>{$vo.name}</option> </foreach> @@ -245,6 +257,7 @@ </table> <if condition="$one.step elt 5"> <input type="hidden" value="{$one.id}" name="id"> + <input type="hidden" value="{$one.step}" name="step"> <div class="form-group"> <div class="col-sm-offset-2 col-sm-10"> <button type="submit" class="btn btn-primary js-ajax-submit">保存</button> diff --git a/public/themes/admin_simpleboot3/admin/zj_order/index.html b/public/themes/admin_simpleboot3/admin/zj_order/index.html index 485f770..00acab1 100644 --- a/public/themes/admin_simpleboot3/admin/zj_order/index.html +++ b/public/themes/admin_simpleboot3/admin/zj_order/index.html @@ -25,9 +25,22 @@ 收货人: <input class="form-control" type="text" name="name" style="width: 200px;" value="{$name|default=''}" placeholder="请输入收货姓名"> + 一级分类: + <select name="yi" class="form-control" style="width: 120px;" onchange="lie(this.value,0)"> + <option value>请选择分类</option> + <foreach name="cate1" item="vo"> + <option value="{$vo.id}" <eq name="$yi" value="$vo.id"> selected </eq> >{$vo.name}</option> + </foreach> + </select> + 二级分类: + <select name="er" class="form-control" style="width: 120px;" id="er"> + <option value>请选择分类</option> + </select> + <br/> 手机号: <input class="form-control" type="number" name="mobile" style="width: 200px;" value="{$mobile|default=''}" placeholder="请输入收货手机号"> + 下单时间: <input type="text" class="form-control js-bootstrap-datetime" name="start_time" value="{$start_time|default=''}" @@ -118,5 +131,42 @@ </form> </div> <script src="__STATIC__/js/admin.js"></script> +<script> + //分类默认选中 + var yi="{$yi}"; + var er0="{$er}"; + var er1={:json_encode($cate2)}; + + function lie(ii,ll) { + var ee=document.getElementById('er') + var op=document.createElement('option') + rem(ee) + op.text='请选择分类'; + op.value=''; + ee.add(op); + if (ii!=''){ + for (i=0;i<=er1.length-1;i++){ + if (ii==er1[i]['cid']){ + var opt=document.createElement('option'); + opt.text=er1[i]['name'] + opt.value=er1[i]['id'] + if (ll==er1[i]['id']){ + opt.selected =true + } + ee.add(opt) + } + } + } + } + + lie(yi,er0); + + //删除option + function rem(ii) { + for (i=ii.options.length-1;i>=0;i--){ + ii.remove(i) + } + } +</script> </body> </html> \ No newline at end of file -- libgit2 0.24.0