作者 徐治堂
1 个管道 的构建 通过 耗费 6 秒

后台物流订阅及物流轨迹完成、订单分类完成,订单退款未完成

... ... @@ -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);
}
}
}
... ...
... ... @@ -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>&nbsp;&nbsp;&nbsp;{$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>
... ...
... ... @@ -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
... ...