Bläddra i källkod

wesmiler ECY 画画交易平台

APPLE 3 år sedan
förälder
incheckning
3c7febe0fa

+ 6 - 6
application/api/controller/Index.php

@@ -116,13 +116,13 @@ class Index extends Api
             $amount = isset($item['pre_price']) ? $item['pre_price'] : 0;
             $releaseUsdt = isset($item['release_usdt']) ? $item['release_usdt'] : 0;
             $releaseAmount = $amount ? round($amount * $config['release_rate'] / 100 + $speedTotal, 2) : 0;
-            $releaseAmount = ($amount - $releaseAmount) < $releaseAmount ? ($amount - $releaseAmount) : $releaseAmount;
+            $releaseAmount = ($amount - $releaseAmount) < $releaseAmount ? max(0,$amount - $releaseAmount) : $releaseAmount;
             $totalUsdt = $releaseTotalUsdt ? $releaseTotalUsdt : round(CoinRate::transfer($amount, 'CNY', 'USD'), 2);
-            $usdt = $totalUsdt ? round($totalUsdt * $config['release_rate'] / 100 + $speedUsdt, 2) : 0;
-            $usdt = ($totalUsdt - $usdt) < $usdt ? ($totalUsdt - $usdt) : $usdt;
+            $usdt = $totalUsdt>0? round($totalUsdt * $config['release_rate'] / 100 + $speedUsdt, 2) : 0;
+            $usdt = ($totalUsdt - $releaseUsdt) < $usdt ? ($totalUsdt - $releaseUsdt) : $usdt;
 
             $releaseTotal = isset($item['release_total']) ? $item['release_total'] : 0;
-            if ($tradeUserId <= 0 || $amount <= 0 || $usdt <= 0 || $amount <= $releaseUsdt) {
+            if ($tradeUserId <= 0 || $amount <= 0 || $usdt <= 0 || $totalUsdt <= $releaseUsdt) {
                 $fail++;
                 continue;
             }
@@ -139,7 +139,7 @@ class Index extends Api
             // 释放到余额
             Db::startTrans();
             $balance = $user->usdt;
-            $user->usdt = $user->usdt + $usdt;
+            $user->usdt = $balance + $usdt;
             $user->updatetime = time();
             if (!$user->save()) {
                 $fail++;
@@ -207,7 +207,7 @@ class Index extends Api
             Db::commit();
         }
 
-        $this->success('请求处理成功', ['success' => $success, 'fail' => $fail]);
+        $this->success('请求处理成功', ['success' => $success, 'fail' => $fail,'total'=>count($tradeList)]);
     }
 
     /*预约上架*/

+ 335 - 13
application/api/controller/Trade.php

@@ -104,6 +104,7 @@ class Trade extends Api
                     'userid'=>$ginfo['userid'],
                     'goodsid'=>$goodsid,
                     'nums'=>$ginfo['price1'],
+                    'price'=>$ginfo['price'],
                     'ctime'=>time(),
                     'create_time'=>strtotime('today'),
                     'status'=>1,
@@ -276,8 +277,8 @@ class Trade extends Api
             $bcf=db('bonus_config')->where(['id'=>1])->find();
             $endprice=$tradeinfo['nums']*$bcf['value']*0.01+$tradeinfo['nums'];
             db()->startTrans();
-            $res1=db('trade')->where(['id'=>$id])->update(['confirm_time'=>time(),'endnums'=>$endprice,'pre_price'=> $endprice-$tradeinfo['nums'],'status'=>3]);
-            $res2=db('goods')->where(['id'=>$tradeinfo['goodsid']])->update(['userid'=>$tradeinfo['relevant_userid'],'update_time'=>time(),'price1'=>$endprice,'pre_price'=> $endprice-$tradeinfo['nums']]);
+            $res1=db('trade')->where(['id'=>$id])->update(['confirm_time'=>time(),'endnums'=>$endprice,'pre_price'=> $endprice-$tradeinfo['price'],'status'=>3]);
+            $res2=db('goods')->where(['id'=>$tradeinfo['goodsid']])->update(['userid'=>$tradeinfo['relevant_userid'],'update_time'=>time(),'price1'=>$endprice,'pre_price'=> $endprice-$tradeinfo['price']]);
             if($res1  && $res2)
             {
                 db()->commit();
@@ -427,7 +428,7 @@ class Trade extends Api
         $map['stuid'] = $this->auth->stuid;
         $map['status'] = ['in','1,2,3'];
         $p = $this->request->post('p');
-        $data_list = db('trade')->where($map)->page($p, 10)->order("id desc")->select();
+        $data_list = db('trade')->where($map)->page($p, 10)->order("status asc,id desc")->select();
         foreach ($data_list as &$v) {
             $goods=db('goods')->where(['id'=>$v['goodsid']])->find();
             $v['goods']=$goods;
@@ -665,6 +666,7 @@ class Trade extends Api
                 $v['iszc']=0;
             }
             $v['username']=get_user_data($v['userid'],'mobile');
+            $v['nickname']=get_user_data($v['userid'],'nickname');
         }
         if ($data_list) {
             $return['data'] = $data_list;
@@ -755,12 +757,86 @@ class Trade extends Api
     /*交易列表*/
     function gettradelist()
     {
+        $loginStu = db('studio')->where(['title' => $this->auth->login_studio])->find();
         $times=strtotime('today')-60*60*24*2;
         $map['ctime']=['gt',$times];
         $map['status']=['not in','0,-2'];
+        $map['stuid'] = isset($loginStu['id'])? $loginStu['id'] : 0;
         $map['userid|relevant_userid'] = $this->auth->id;
         $p = $this->request->post('p');
-        $data_list = db('trade')->where($map)->page($p, 10)->order("id desc")->select();
+        $data_list = db('trade')->where($map)->page($p, 10)->order("status asc,id desc")->select();
+        foreach ($data_list as &$v) {
+            $goods=db('goods')->where(['id'=>$v['goodsid']])->find();
+            $v['goods']=$goods? $goods : ['image'=>''];
+            $v['ctime1']=date('Y-m-d H:i:s',$v['ctime']);
+            $v['pay_time1']=date('Y-m-d H:i:s',$v['pay_time']);
+            $v['confirm_time1']=date('Y-m-d H:i:s',$v['confirm_time']);
+            $v['selluser']=get_user_info($v['userid'],'nickname','mobile');
+            $v['buyuser']=get_user_info($v['relevant_userid'],'nickname','mobile');
+            $v['flag']=0;
+            if($v['userid']== $this->auth->id)
+            {
+                $v['flag']=1;
+            }elseif($v['relevant_userid']== $this->auth->id)
+            {
+                $v['flag']=2;
+            }
+
+            if($v['status'] == 3 && $v['issell'] == 0)
+            {
+                $v['status_desc']='待上架';
+            }elseif($v['status'] == 3 && $v['issell'] == 1){
+                $v['status_desc']='待茶室长确认';
+            }elseif($v['status'] == 3 && $v['issell'] == 2){
+                $v['status_desc']='已上架';
+            }else{
+                if($v['status'] == 1 && $v['flag']==1){
+                    $v['status_desc']='等待买方支付';
+                }else  if($v['status'] == 1 && $v['flag']==2){
+                    $v['status_desc']='待付款';
+                }
+                else  if($v['status'] == 2 && $v['flag']==1){
+                    $v['status_desc']='待收款';
+                }
+                else  if($v['status'] == 2 && $v['flag']==2){
+                    $v['status_desc']='等待卖方确认';
+                }else{
+                    $v['status_desc']=config('tradeStatus')[$v['status']];
+                }
+
+            }
+
+
+        }
+        if ($data_list) {
+            $return['data'] = $data_list;
+        } else {
+            $return['data'] = null;
+        }
+        $count = db('trade' )->where($map)->count();
+        $return['total'] = ceil($count / 10);
+        return $return;
+    }
+    /*统计交易列表*/
+    function gettradelisttj()
+    {
+        $type = input('type', 0);
+        $loginStu = db('studio')->where(['title' => $this->auth->login_studio])->find();
+        $times=strtotime('today')-60*60*24*2;
+        $map['ctime']=['gt',$times];
+        $map['stuid'] = isset($loginStu['id'])? $loginStu['id'] : 0;
+
+        if($type){
+            $map['status']= $type;
+            if($type == 3){
+                $map['issell'] = [['egt',0],['elt',2]];
+            }
+        }else{
+            $map['status']=['not in','0,-2'];
+        }
+
+        $p = $this->request->post('p');
+        $data_list = db('trade')->where($map)->page($p, 10)->order("status asc,id desc")->select();
         foreach ($data_list as &$v) {
             $goods=db('goods')->where(['id'=>$v['goodsid']])->find();
             $v['goods']=$goods? $goods : ['image'=>''];
@@ -769,6 +845,7 @@ class Trade extends Api
             $v['confirm_time1']=date('Y-m-d H:i:s',$v['confirm_time']);
             $v['selluser']=get_user_info($v['userid'],'nickname','mobile');
             $v['buyuser']=get_user_info($v['relevant_userid'],'nickname','mobile');
+            $v['studio_name']= isset($loginStu['name'])? $loginStu['name'] : '';
             $v['flag']=0;
             if($v['userid']== $this->auth->id)
             {
@@ -811,6 +888,12 @@ class Trade extends Api
         }
         $count = db('trade' )->where($map)->count();
         $return['total'] = ceil($count / 10);
+
+        $datetime = strtotime(date('Y-m-d'));
+        $return['counts'] = [
+            'today_count'=> db('trade' )->where($map)->where('ctime','>=', $datetime)->count(),
+            'today_total'=>db('trade' )->where($map)->where('ctime','>=', $datetime)->sum('nums')
+        ];
         return $return;
     }
     function toselltrade()
@@ -970,6 +1053,7 @@ class Trade extends Api
     }
     function toyuyue()
     {
+
         $type=$this->request->request('type');
         if(empty($type))
         {
@@ -991,11 +1075,156 @@ class Trade extends Api
             $this->error('预约已关闭');
         }
         $bcf=db('bonus_config')->where(['id'=>5])->find();
-        $yuyue_count=db('trade')->where(['stuid'=>$sid,'type'=>1,'status'=>['neq',-2],'relevant_userid'=>$this->auth->id,'appoint_time'=>['gt',strtotime('today')]])->count();
-        if($yuyue_count >= $bcf['cap'])
+//        $yuyue_count=db('trade')->where(['stuid'=>$sid,'type'=>1,'status'=>['neq',-2],'relevant_userid'=>$this->auth->id,'appoint_time'=>['gt',strtotime('today')]])->count();
+//        if($yuyue_count >= $bcf['cap'])
+//        {
+//            $this->error('本商家今日预约已达上限');
+//        }
+        #价格区间
+        $appointPrice = '';
+        if($type == 5)
+        {
+            $map['endnums']=['egt',config('price_range')[$type]];
+            $gmap['price1']=['egt',config('price_range')[$type]];
+            $appointPrice = '大于'.config('price_range')[$type];
+        }else{
+            $price_range=explode('-',config('price_range')[$type]);
+            $map['endnums'][]=['egt',$price_range[0]];
+            $map['endnums'][]=['lt',$price_range[1]];
+            $gmap['price1'][]=['egt',$price_range[0]];
+            $gmap['price1'][]=['lt',$price_range[1]];
+            $appointPrice = "¥{$price_range[0]}~$price_range[1]";
+        }
+        /*下架的不算*/
+        $godis =[];
+        $ggids=db('goods')->where(['on_sale'=>['neq',1]])->column('id');
+        // 过滤自身已预约中和预约成功的订单商品
+        $ggids2=db('trade')->where(['status'=>0,'relevant_userid'=> $this->auth->id])->whereIn('yuyue_status',[1,2])->column('goodsid');
+        if($ggids)
+        {
+            if($ggids2)
+            {
+                $godis=array_merge($ggids,$ggids2);
+            }else{
+                $godis=$ggids;
+            }
+            $map['goodsid']=['not in',$godis];
+            $gmap['id']=['not in',$godis];
+        }else{
+            if($ggids2)
+            {
+                $map['goodsid']=['not in',$ggids2];
+                $gmap['id']=['not in',$godis];
+            }
+        }
+        $map['relevant_userid']=['neq',$this->auth->id];/*不匹配自身订单*/
+        $map['status']=3;
+        $map['issell']=2;
+        $map['isout']=0;
+        $info=db('trade')->where($map)->find();
+        if(empty($info))
+        {
+            $gmap['on_sale']=1;
+            $gmap['on_resale']=2;
+            $gmap['istrade']=0;
+            $gmap['userid']=['neq',$this->auth->id];
+            $goods=db('goods')->where($gmap)->find();
+            if(empty($goods))
+            {
+                $this->error('没有商品可以预约,请更换价格范围');
+            }else{
+                db()->startTrans();
+                $feebcf=db('bonus_config')->where(['id'=>2])->find();
+                $tradedata=[
+                    'orderNo'=>date('YmdHi').rand(100,999),
+                    'userid'=>$goods['userid'],
+                    'goodsid'=>$goods['id'],
+                    'nums'=>$goods['price1'],
+                    'pre_price'=>$goods['pre_price'],
+                    'ctime'=>time(),
+                    'create_time'=>strtotime('today'),
+                    'status'=>0,
+                    'yuyue_status'=> 1,
+                    'appoint_price'=> $appointPrice,
+                    'relevant_userid'=>$this->auth->id,
+                    'fee'=>$goods['price']*$feebcf['value']*0.01,
+                    'remark'=>date('Y-m-d H:i:s'),
+                    'catid'=>$goods['catid'],
+                    'stuid'=>$goods['stuid'],
+                    'appoint_time'=>time(),
+                    'type'=>1,
+                ];
+                $tradeid=db('trade')->insertGetId($tradedata);
+                //$res1=db('goods')->where(['id'=>$goods['id']])->update(['istrade'=>1]);
+                if($tradeid)
+                {
+                    db()->commit();
+                    $this->success('预约完成');
+                }else{
+                    db()->rollback();
+                    $this->error('预约失败');
+                }
+            }
+        }else{
+            $feebcf=db('bonus_config')->where(['id'=>2])->find();
+            $tradedata=[
+                'orderNo'=>date('YmdHi').rand(100,999),
+                'userid'=>$info['relevant_userid'],
+                'goodsid'=>$info['goodsid'],
+                'nums'=>$info['endnums'],
+                'pre_price'=>$info['pre_price'],
+                'ctime'=>time(),
+                'create_time'=>strtotime('today'),
+                'status'=>0,
+                'yuyue_status'=> 1,
+                'appoint_price'=> $appointPrice,
+                'relevant_userid'=>$this->auth->id,
+                'fee'=>$info['endnums']*$feebcf['value']*0.01,
+                'remark'=>date('Y-m-d H:i:s'),
+                'catid'=>$info['catid'],
+                'stuid'=>$info['stuid'],
+                'appoint_time'=>time(),
+                'type'=>1,
+            ];
+            $tradeid=db('trade')->insertGetId($tradedata);
+            if($tradeid)
+            {
+
+                $this->success('预约完成');
+            }else{
+                $this->error('预约失败');
+            }
+        }
+    }
+    function toyuyue1()
+    {
+        $this->error('功能未开放...');
+        $type=$this->request->request('type');
+        if(empty($type))
+        {
+            $this->error('请选择价值范围');
+        }
+        $sid=$this->request->request('sid');
+        if(empty($sid))
+        {
+            $this->error('请选择商家');
+        }else{
+            $map['stuid']=$sid;
+            $gmap['stuid']=$sid;
+        }
+        $studio=db('studio')->where(['id'=>$sid])->find();
+
+        $isappoint=db('studio_user')->where(['sid'=>$studio['id'],'userid'=>$this->auth->id])->find();
+        if($isappoint)
         {
-            $this->error('本商家今日预约已达上限');
+            $this->error('预约已关闭');
         }
+        $bcf=db('bonus_config')->where(['id'=>5])->find();
+//        $yuyue_count=db('trade')->where(['stuid'=>$sid,'type'=>1,'status'=>['neq',-2],'relevant_userid'=>$this->auth->id,'appoint_time'=>['gt',strtotime('today')]])->count();
+//        if($yuyue_count >= $bcf['cap'])
+//        {
+//            $this->error('本商家今日预约已达上限');
+//        }
         #价格区间
         if($type == 5)
         {
@@ -1103,6 +1332,33 @@ class Trade extends Api
             }
         }
     }
+    function toconfirmyuyue(){
+        $id=$this->request->request('id');
+        $status=$this->request->request('status');
+        $tradeinfo=db('trade')->where(['id'=>$id,'status'=>0])->find();
+        if(empty($tradeinfo)){
+            $this->error('预约记录不存在');
+        }
+
+        if($tradeinfo['yuyue_status'] != 1){
+            $this->error('预约记录已处理');
+        }
+
+        if(!in_array($status,[2,3])){
+            $this->error('操作类型错误');
+        }
+
+        db()->startTrans();
+        $res = db('trade')->where(['id'=>$id,'status'=>0])->update(['yuyue_status'=> $status]);
+        $res1=db('goods')->where(['id'=>$tradeinfo['goodsid']])->update(['istrade'=>1]);
+        if($res && $res1){
+            db()->commit();
+            $this->error('审核成功');
+        }else{
+            db()->rollback();
+            $this->error('审核失败');
+        }
+    }
     function toownchange()
     {
         $goodsid=$this->request->request('goodsid');
@@ -1152,26 +1408,27 @@ class Trade extends Api
         $sumpreprice=0;
         for($i=1;$i<=(int)$goodsinfo['son_nums'];$i++)
         {
+            $prePrice = $goodsinfo['price1'] - $goodsinfo['price'];
             if($i < (int)$goodsinfo['son_nums'])
             {
                 $price=round(($goodsinfo['price1']/$goodsinfo['son_nums']),0);
-                $preprice=round(($goodsinfo['pre_price']/$goodsinfo['son_nums']),0);
+                $preprice=$prePrice>0?round(($prePrice/$goodsinfo['son_nums']),0):0;
                 $sum+=$price;
                 $sumpreprice+=$preprice;
             }else{
                 $price=$goodsinfo['price1']-$sum;
-                $preprice=$goodsinfo['pre_price']-$sumpreprice;
+                $preprice=$prePrice>0?$prePrice-$sumpreprice:0;
             }
             $data=[
                 'catid'=>$goodsinfo['catid'],
                 'title'=>$goodsinfo['title'].$i,
-                'description'=>$goodsinfo['description'].'-'.$i,
+                'description'=>$goodsinfo['description']? $goodsinfo['description'].'-'.$i : 'G'.$goodsinfo['id'].'-'.$i,
                 'content'=>$goodsinfo['content'],
                 'image'=>$goodsinfo['image'],
                 'images'=>$goodsinfo['images'],
                 'on_sale'=>1,
-                'price'=>$price-$preprice,
-                'price1'=>$price,
+                'price'=>$goodsinfo['price'],
+                'price1'=>$goodsinfo['price']+$preprice,
                 'pre_price'=>$preprice,
                 'topprice'=>$goodsinfo['topprice'],
                 'son_nums'=>$goodsinfo['son_nums'],
@@ -1185,11 +1442,76 @@ class Trade extends Api
             $ids=db('goods')->insertGetId($data);
         }
 
-        db('goods')->where(['id'=>$goodsinfo['id']])->update(['on_sale'=>0,'price1'=>0,'price'=>0]);
+        db('goods')->where(['id'=>$goodsinfo['id']])->update(['on_sale'=>0,'price1'=>0,'price'=>0,'pre_price'=>0]);
         db('trade')->where(['goodsid'=>$goodsinfo['id'],'status'=>3])->update(['isout'=>1]);
     // }  
          
          $this->success('拆分成功');
          
     }
+
+    function toassign(){
+        $gid=input('id');
+        $mobile=input('mobile','');
+        if(empty($mobile)){
+            $this->error('请填写指派用户手机账号');
+        }
+        $studio=db('studio')->where(['title'=>$this->auth->login_studio])->find();
+        if(time()>=strtotime(date("Y-m-d {$studio['start']}")) && time()<=strtotime(date("Y-m-d {$studio['end']}"))){
+            $this->error('请在店铺营业时间外指派');
+        }
+        $goods=db('goods')->where(['id'=>$gid])->find();
+        if(empty($goods) || $goods['on_sale'] != 1){
+            $this->error('此商品不存在或未上架,不可指派');
+        }
+        if($goods['on_resale'] == 1){
+            $this->error('此商品已转售,不可指派');
+        }
+        $tradeinfo=db('trade')->where(['goodsid'=>$gid,'status'=>['in','1,2,-1']])->find();
+        if($tradeinfo || $goods['istrade'] != 0 || $tradeinfo['on_resale'] == 1)
+        {
+            $this->error('此商品交易中,不可指派');
+        }
+        $tradeinfo1=db('trade')->where(['goodsid'=>$gid,'status'=>3,'issell'=>0])->find();
+        if($tradeinfo1)
+        {
+            $this->error('此商品还未代售,不可指派');
+        }
+        $userInfo = \app\common\model\User::where(['mobile'=> $mobile,'status'=>1])->find();
+        if(empty($userInfo)){
+            $this->error('指派用户不存在或不可用,请核对或更换账号');
+        }
+        if($userInfo['id'] == $this->auth->id){
+            //$this->error('抱歉不能指派给自己');
+        }
+        $feebcf=db('bonus_config')->where(['id'=>2])->find();
+        db()->startTrans();
+        $tradedata=[
+            'orderNo'=>date('YmdHi').rand(100,999),
+            'userid'=>$goods['userid'],
+            'goodsid'=>$goods['id'],
+            'nums'=>$goods['price1'],
+            'pre_price'=>$goods['pre_price'],
+            'ctime'=>time(),
+            'create_time'=>strtotime('today'),
+            'status'=>1,
+            'relevant_userid'=> $userInfo['id'],
+            'fee'=>$goods['price1']*$feebcf['value']*0.01,
+            'remark'=>date('Y-m-d H:i:s'),
+            'catid'=>$goods['catid'],
+            'stuid'=>$goods['stuid'],
+            'appoint_time'=>time(),
+            'type'=>1,
+        ];
+        $tradeid=db('trade')->insertGetId($tradedata);
+        $res1=db('goods')->where(['id'=>$goods['id']])->update(['istrade'=>1]);
+        if($tradeid  && $res1)
+        {
+            db()->commit();
+            $this->success('指派成功',['id'=>$tradeid]);
+        }else{
+            db()->rollback();
+            $this->error('指派失败');
+        }
+    }
 }

+ 16 - 5
application/api/controller/User.php

@@ -330,10 +330,19 @@ class User extends Api
     function teamwithdrawdetaile()
     {
         $stuid=get_user_data($this->auth->id,'stuid');
-        $map['stuid'] = $stuid;
+        $map['a.stuid'] = $stuid;
         $p = $this->request->post('p');
-        $map['money_type'] = $this->request->post('money_type');
-        $data_list = db('withdrawals')->where($map)->page($p, 10)->order("id desc")->select();
+        $map['a.money_type'] = $this->request->post('money_type');
+        $data_list = db('withdrawals')->alias('a')
+            ->join('user b','b.id=a.userid','left')
+            ->where($map)
+            ->where(function($query){
+                $datetime = strtotime(date('Y-m-d'));
+                $query->where("process_status=1 or (process_status in (2,3) and withdraw_date>={$datetime})");
+            })
+            ->field('a.*,b.mobile,b.nickname')
+            ->page($p, 10)
+            ->order("a.process_status asc,a.id desc")->select();
         foreach ($data_list as $k => $v) {
             $data_list[$k]['times'] = date("Y-m-d H:i", $v['withdraw_date']);
             $data_list[$k]['click'] = 'onclick="review(\'' . $v['remark'] . '\')"';
@@ -344,7 +353,9 @@ class User extends Api
         } else {
             $return['data'] = null;
         }
-        $count = db('withdrawals')->where($map)->count();
+        $count = db('withdrawals')->alias('a')
+            ->join('user b','b.id=a.userid','left')
+            ->where($map)->count();
         $return['total'] = ceil($count / 10);
         return $return;
 
@@ -962,7 +973,7 @@ class User extends Api
         }else if($param['type'] == 3){
             if(!($user['bank'] && $user['bank_user_name'] && $user['bank_number']))
             {
-                $this->error('请完善y银行卡收款信息');
+                $this->error('请完善银行卡收款信息');
             }
             $prc='';
             $name=$user['bank'].'-'.$user['bank_user_name'].'-'.$user['bank_number'];

+ 5 - 0
application/cmgadm/controller/shop/Goods.php

@@ -2,6 +2,7 @@
 
 namespace app\cmgadm\controller\shop;
 
+use app\cmgadm\model\Studio;
 use app\common\controller\Backend;
 use app\cmgadm\model\Goodscats;
 use Think\Db;
@@ -55,6 +56,10 @@ class Goods extends Backend
                 return $this->selectpage();
             }
             list($where, $sort, $order, $offset, $limit) = $this->buildparams();
+            if(isset($where['stuid']) && $where['stuid']){
+                $where['stuid'] = Studio::where('title','=',$where['stuid'])->value('id');
+            }
+
             $total = $this->model                    
                     ->where($where)
                     ->order($sort, $order)

+ 5 - 5
application/common/model/Trade.php

@@ -55,14 +55,14 @@ class Trade Extends Model
      */
     public static function getReleaseTotal($userId)
     {
-        $total = Trade::where(['status'=> 4,'on_resale'=>1,'relevant_userid'=> $userId])->sum('endnums');
+        //$total = Trade::where(['status'=> 4,'on_resale'=>1,'relevant_userid'=> $userId])->column('id');
+        $totalUsdt = Trade::where(['status'=> 4,'on_resale'=>1,'relevant_userid'=> $userId])->sum('release_total_usdt');
         $releaseTotal = Trade::where(['status'=> 4,'on_resale'=>1,'relevant_userid'=> $userId])->sum('release_usdt');
-        $totalUsdt = round(CoinRate::transfer($total), 2);
+        //$totalUsdt = round(CoinRate::transfer($total), 2);
         $counts = [
-            'total'=> $total,
             'total_usdt'=> $totalUsdt,
             'release_usdt'=> round($releaseTotal, 2),
-            'surplus_usdt'=> round($totalUsdt-$releaseTotal, 2),
+            'surplus_usdt'=> round(max(0, $totalUsdt-$releaseTotal), 2),
         ];
 
         return $counts;
@@ -84,7 +84,7 @@ class Trade Extends Model
         }
 
         // 下线销售额,包括自己
-        $total = Trade::where(['status'=> 4,'on_resale'=>2])->whereIn('userid', $uids)->sum('endnums');
+        $total = Trade::where(['status'=> 4,'on_resale'=>2])->whereIn('userid', $uids)->sum('pre_price');
 
         // 加速参数
         $config = Config::getConfigByGroup('trade');

+ 3 - 0
application/index/controller/User.php

@@ -409,6 +409,7 @@ class User extends Frontend
         $myset= \app\common\model\Config::getConfigByGroup('basic');
         $this->view->assign("logoimg",$myset['web_site_logo']['value']);
         $this->view->assign("loginbg",$myset['loginBg']['value']);
+        $this->view->assign("register_agree",$myset['register_agree']['value']);
         $this->view->assign('code',$code);
     	return $this->view->fetch();
     }
@@ -511,6 +512,8 @@ class User extends Frontend
         $this->view->assign("siteName",$myset['name']['value']);
         $this->view->assign("logoimg",$myset['web_site_logo']['value']);
         $this->view->assign("loginbg",$myset['loginBg']['value']);
+        $this->view->assign("app_download1",$myset['appdowm']['value']);
+        $this->view->assign("app_download2",$myset['appdowm_two']['value']);
         return $this->view->fetch();
     }
 	function invest()

+ 90 - 3
application/index/view/user/login.html

@@ -30,6 +30,60 @@
 			color: #fff;
 			font-weight: bold;
 		}
+
+		#appdown {
+			position: fixed;
+			top: 0;
+			left: 0;
+			width: 100%;
+			height: 100%;
+			overflow-y: scroll;
+			z-index: 99;
+		}
+
+		#appdown img {
+			top: 0;
+			left: 0;
+			position: absolute;
+			width: 100%;
+			z-index: 1;
+		}
+		#appdown .close {
+			position: absolute;
+			z-index: 2;
+			left: 15px;
+			top: 15px;
+			width: 24px;
+			height: 24px;
+			line-height: 24px;
+			border-radius: 100%;
+			font-size: 12px;
+			color: #fff;
+			background-color: #dd514c;
+			text-align: center;
+		}
+
+		#appdown .info {
+			width: 100%;
+			position: absolute;
+			z-index: 2;
+			top: 50px;
+			padding: 0px 15px;
+			text-align: center;
+			color: #fff;
+			font-size: 16px;
+			font-weight: bold;
+			line-height: 32px;
+		}
+
+		#appdown .info .copy {
+			margin-left: 15px;
+			border-radius: 10px;
+			background-color: #dd514c;
+			color: #fff;
+			font-weight: normal;
+			padding: 2px 6px;
+		}
 	</style>
 </head>
 <body data-html="login">
@@ -59,11 +113,20 @@
 				<button type="button" class="am-btn am-btn-danger am-round am-btn-block " id="submit">登录</button>
 			</div>
 			<div class="am-g">
-				<a href="findpwd.html" class="am-u-sm-6" style="color: #fff;">忘记密码</a>
-				<a href="{:config('site')['appdowm']}" style="color: #fff;" class="am-u-sm-6 am-text-right">下载App</a>
+				<a href="findpwd.html"  style="color: #fff;">忘记密码</a><span style="margin: 0 4px; color: #fff;">|</span><a href="register.html"  style="color: #fff;">注册</a>
+				<a data-href="{$app_download2}" onclick="downloadApp('{$app_download2}')" style="color: #fff;float: right;" class=" am-text-right">下载二</a><span style="margin: 0 4px; color: #fff; float: right;">|</span><a data-href="{$app_download1}" onclick="downloadApp('{$app_download1}')" style="color: #fff;float: right;" class=" am-text-right">下载一</a>
 			</div>
 		</form>
 
+		<div id="appdown">
+			<span class="close">x</span>
+			<div class="info">
+				<p>用苹果自带浏览器打开首页</p>
+				<p>网址:<span id="url">cmgj.vip</span><span class="copy" onclick="copy()">复制</span></p>
+				<p>点击底部按钮,添加到主屏幕</p>
+			</div>
+			<img src="__CDN__/assets/shop/img/download.png" alt="">
+		</div>
 	</div>
 
 </div>
@@ -73,7 +136,7 @@
 <!--<script src="__CDN__/assets/shop/js/mdd.js"></script>-->
 <script src="__CDN__/assets/libs/layer/layer.js"></script>
 <script>
-
+	$('#url').text(location.hostname);
     $('#submit').click(function(){
         var formData = new FormData($('#form1')[0]);
         $.ajax({
@@ -99,6 +162,30 @@
             }
         });
     });
+
+	function copy() {
+		var input = document.createElement("input");
+		input.value = $("#url").text();
+		document.body.appendChild(input);
+		input.select();
+		input.setSelectionRange(0, input.value.length), document.execCommand('Copy');
+		document.body.removeChild(input);
+		layer.msg("{:__('复制成功')}");
+	}
+
+    function downloadApp(url){
+		if(isIos()){
+
+		}else{
+			location.href = url;
+		}
+	}
+
+	function isIos(){
+		var u = navigator.userAgent; var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1; //android终端
+		var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端
+		return isiOS;
+	}
 </script>
 </body>
 </html>

+ 7 - 6
application/index/view/user/register.html

@@ -5,7 +5,7 @@
 	<meta http-equiv="X-UA-Compatible" content="IE=edge">
 	<meta name="description" content="">
 	<meta name="keywords" content="">
-	<meta name="viewport" content="width=device-width, initial-scale=1">
+	<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
 	<title>注册</title>
 	<meta name="renderer" content="webkit">
 	<link rel="stylesheet" href="__CDN__/assets/index/css/amazeui.css">
@@ -60,9 +60,10 @@
 			</div>
 			<div class="am-form-group">
 				<div class="am-checkbox am-padding-left-0">
-					<label class="am-checkbox am-secondary am-padding-top-0">
-						<input type="checkbox" data-am-ucheck value=""> 我同意<a class="publish">《注册协议》</a>条款
+					<label class="am-checkbox am-secondary am-padding-top-0" style="color: #fff;">
+						<input type="checkbox" data-am-ucheck value=""> 我同意<a class="publish" style="color: #dd514c;">《注册协议》</a>条款
 					</label>
+					<a href="login.html"  style="color: #fff; float: right;">立即登录</a>
 				</div>
 			</div>
 		</form>
@@ -75,13 +76,13 @@
 		<a class="am-btn am-btn-danger am-btn-block am-round" href="{:config('site')['appdowm']}" style="background:#fff;color:#dd514c">下载APP</a>
 	</div>
 </div>
-{php}$art1=db('article')->where(['catid'=>3,'status'=>1])->find();{/php}
+
 <script src="__CDN__/assets/index/js/jquery.min.js"></script>
 <script src="__CDN__/assets/index/js/amazeui.min.js"></script>
 <script src="__CDN__/assets/libs/layer/layer.js"></script>
 <script>
     $('.publish').click(function(){
-        layer.alert('{$art1["content"]}',{title:'注册协议',area:['90%','90%']});
+        layer.alert('{$register_agree}',{title:'注册协议',area:['90%','90%']});
     });
     //提交
     $('#submit').click(function(){
@@ -95,7 +96,7 @@
             ,btn: ['已阅读', '取消']
             ,btnAlign: 'c'
             ,moveType: 1 //拖拽模式,0或者1
-            ,content: '<div style="padding:  10px; line-height: 22px; background-color: #393D49; color: #fff; font-weight: 300;">{$art1["content"]}</div>'
+            ,content: '<div style="padding:  10px; line-height: 22px; background-color: #393D49; color: #fff; font-weight: 300;">{$register_agree}</div>'
             ,yes: function(){
                 layer.close(layer.index);
                     parent.$('input[type=checkbox]').prop('checked',true);

+ 19 - 1
application/shop/controller/Goods.php

@@ -53,7 +53,7 @@ class Goods extends Frontend
         $awards = [
             'total'=> isset($awards['total'])? $awards['total'] : 0,
             'total_usdt'=> isset($awards['total_usdt'])? $awards['total_usdt'] : 0,
-            'release_total_usdt'=> isset($counts['total'])? $counts['total'] : 0,
+            'release_total_usdt'=> isset($counts['total_usdt'])? $counts['total_usdt'] : 0, //
             'surplus_usdt'=> isset($counts['surplus_usdt'])? $counts['surplus_usdt'] : 0,
             'release_usdt'=> isset($counts['release_usdt'])? $counts['release_usdt'] : 0,
         ];
@@ -61,10 +61,21 @@ class Goods extends Frontend
         $rates['release_rate'] = isset($config['release_rate'])? floatval($config['release_rate']['value']) : 0;
         $rates['award_rate'] = isset($config['award_rate'])? floatval($config['award_rate']['value']) : 0;
 
+        $loginStu = db('studio')->where(['title' => $this->auth->login_studio])->find();
+        $stuid = isset($loginStu['id'])? $loginStu['id'] : 0;
+        $counts = [
+            'status1'=> db('trade')->where(['relevant_userid'=>$this->auth->id,'status'=>1,'stuid'=>$stuid])->count('id'),
+            'status2'=> db('trade')->where(['relevant_userid'=>$this->auth->id,'status'=>2,'stuid'=>$stuid])->count('id'),
+            'status3'=> db('trade')->where(['relevant_userid'=>$this->auth->id,'status'=>3,'issell'=>[['egt',0],['elt',2]],'stuid'=>$stuid])->count('id'),
+        ];
+
+        $config = Config::getConfigByGroup('basic');
         $this->view->assign('config', $rates);
         $this->view->assign('awards', $awards);
         $this->view->assign('cats', $cats);
+        $this->view->assign('counts', $counts);
         $this->view->assign('logo', Image::makeLogo($sinfo['name']));
+        $this->view->assign('product_img', isset($config['product_img']['value'])? $config['product_img']['value'] : '');
         return $this->fetch();
     }
 
@@ -92,6 +103,13 @@ class Goods extends Frontend
         }elseif(time() > strtotime(date("Y-m-d {$studio['end']}"))){
             $status='停业中';
         }
+        if(empty($user['bank_number'])  && empty($user['wxprc'])  &&empty($user['alipayprc']) && empty($user['usdt_address']) && empty($user['thb_bank_number']) && empty($user['idr_bank_number']))
+        {
+            $this->view->assign('no_auth', true);
+        }else{
+            $this->view->assign('no_auth', false);
+        }
+
         $isappoint=db('studio_user')->where(['sid'=>$studio['id'],'userid'=>$this->auth->id])->find();
         if($isappoint)
         {

+ 29 - 7
application/shop/controller/Trade.php

@@ -51,10 +51,14 @@ class Trade extends Frontend{
         $this->view->assign('release_rate', $releaseRate);
         return $this->fetch();
     }
+
+
 	/*待付款订单*/
     function trade1()
     {
-        $list=db('trade')->where(['relevant_userid'=>$this->auth->id,'status'=>1])->select();
+        $loginStu = db('studio')->where(['title' => $this->auth->login_studio])->find();
+        $stuid = isset($loginStu['id'])? $loginStu['id'] : 0;
+        $list=db('trade')->where(['relevant_userid'=>$this->auth->id,'status'=>1,'stuid'=>$stuid])->select();
         foreach ($list as &$v)
         {
             $goods=db('goods')->where(['id'=>$v['goodsid']])->find();
@@ -77,7 +81,9 @@ class Trade extends Frontend{
     /*待确认*/
     function trade2()
     {
-        $list=db('trade')->where(['userid'=>$this->auth->id,'status'=>2])->select();
+        $loginStu = db('studio')->where(['title' => $this->auth->login_studio])->find();
+        $stuid = isset($loginStu['id'])? $loginStu['id'] : 0;
+        $list=db('trade')->where(['userid'=>$this->auth->id,'status'=>2,'stuid'=>$stuid])->select();
         foreach ($list as &$v)
         {
             $goods=db('goods')->where(['id'=>$v['goodsid']])->find();
@@ -105,7 +111,9 @@ class Trade extends Frontend{
     }
     function trade5()
     {
-        $list=db('trade')->where(['userid|relevant_userid'=>$this->auth->id,'status'=>-1])->select();
+        $loginStu = db('studio')->where(['title' => $this->auth->login_studio])->find();
+        $stuid = isset($loginStu['id'])? $loginStu['id'] : 0;
+        $list=db('trade')->where(['userid|relevant_userid'=>$this->auth->id,'status'=>-1,'stuid'=>$stuid])->select();
         foreach ($list as &$v)
         {
             $goods=db('goods')->where(['id'=>$v['goodsid']])->find();
@@ -129,7 +137,9 @@ class Trade extends Frontend{
     /**/
     function trade3()
     {
-        $list=db('trade')->where(['relevant_userid'=>$this->auth->id,'status'=>3,'issell'=>[['egt',0],['elt',2]]])->order('issell asc,ctime desc')->select();
+        $loginStu = db('studio')->where(['title' => $this->auth->login_studio])->find();
+        $stuid = isset($loginStu['id'])? $loginStu['id'] : 0;
+        $list=db('trade')->where(['relevant_userid'=>$this->auth->id,'status'=>3,'issell'=>[['egt',0],['elt',2]],'stuid'=>$stuid])->order('issell asc,ctime desc')->select();
         foreach ($list as &$v)
         {
             $goods=db('goods')->where(['id'=>$v['goodsid']])->find();
@@ -200,6 +210,7 @@ class Trade extends Frontend{
         {
             $map['stuid']=$sid;
         }
+
         $time=input('starttime');
         if(empty($time))
         {
@@ -211,7 +222,7 @@ class Trade extends Frontend{
             $map['ctime']=[['egt',$start],['lt',$end]];
         }
         ##订单数
-        $data_list=db('trade')->where($map)->order('id asc')->select();
+        $data_list=db('trade')->where($map)->where('status','>',0)->order('id asc')->select();
         Vendor('PHPExcel.PHPExcel.IOFactory');
         $objPHPExcel = new \PHPExcel();
         $objPHPExcel->getActiveSheetIndex(0);
@@ -343,7 +354,12 @@ class Trade extends Frontend{
     }
     function yuyuecode()
     {
-        $list=db('trade')->where(['relevant_userid'=>$this->auth->id,'status'=>0])->select();
+        $list=db('trade')->alias('a')
+            ->join('user b','b.id=a.userid','left')
+            ->join('user c','c.id=a.relevant_userid','left')
+            ->where(['a.relevant_userid'=>$this->auth->id,'a.status'=>0])
+            ->field('a.*,b.nickname,b.mobile,c.nickname as c_nickname,c.mobile as c_mobile')
+            ->select();
         foreach ($list as &$v)
         {
             $goods=db('goods')->where(['id'=>$v['goodsid']])->find();
@@ -360,7 +376,13 @@ class Trade extends Frontend{
     }
     function hostappoint()
     {
-        $list=db('trade')->where(['stuid'=>$this->auth->stuid,'status'=>0])->select();
+        $list=db('trade')->alias('a')
+            ->join('user b','b.id=a.userid','left')
+            ->join('user c','c.id=a.relevant_userid','left')
+            ->where(['a.stuid'=>$this->auth->stuid,'a.status'=>0])
+            ->field('a.*,b.nickname,b.mobile,c.nickname as c_nickname,c.mobile as c_mobile')
+            ->order('a.yuyue_status asc,a.ctime desc')
+            ->select();
         foreach ($list as &$v)
         {
             $goods=db('goods')->where(['id'=>$v['goodsid']])->find();

+ 193 - 141
application/shop/controller/User.php

@@ -1,52 +1,67 @@
 <?php
 
 namespace app\shop\controller;
+
 use app\common\controller\Frontend;
 use app\common\library\CoinRate;
 use app\common\model\Config;
 
-class User extends Frontend{
-	
-	protected $noNeedLogin = ['findpwd','register','login'];
-	protected $noNeedRight = '*';
-	protected $layout = '';
-	
-	public function _initialize()
-	{
-		parent::_initialize();
-	}
+class User extends Frontend
+{
+
+    protected $noNeedLogin = ['findpwd', 'register', 'login'];
+    protected $noNeedRight = '*';
+    protected $layout = '';
+
+    public function _initialize()
+    {
+        parent::_initialize();
+    }
+
     function index()
     {
         $info = db('user')->where(['id' => $this->auth->id])->find();
-         $this->view->assign([
+        $loginStu = db('studio')->where(['title' => $this->auth->login_studio])->find();
+        $stuid = isset($loginStu['id'])? $loginStu['id'] : 0;
+        $counts = [
+            'status1'=> db('trade')->where(['relevant_userid'=>$this->auth->id,'status'=>1,'stuid'=>$stuid])->count('id'),
+            'status2'=> db('trade')->where(['relevant_userid'=>$this->auth->id,'status'=>2,'stuid'=>$stuid])->count('id'),
+            'status3'=> db('trade')->where(['relevant_userid'=>$this->auth->id,'status'=>3,'issell'=>[['egt',0],['elt',2]],'stuid'=>$stuid])->count('id'),
+        ];
+        $this->view->assign('counts', $counts);
+        $this->view->assign([
             "user" => $info,
         ]);
         return $this->fetch();
     }
+
     function myhost()
     {
-        $studio=db('studio')->where(['id'=>$this->auth->stuid])->find();
-        $total1=db('goods')->where(['stuid'=>$studio['id'],'on_sale'=>1,'on_resale'=>2])->count();
-        $total2=db('trade')->where(['status'=>0,'stuid'=>$studio['id']])->count();
+        $studio = db('studio')->where(['id' => $this->auth->stuid])->find();
+        $total1 = db('goods')->where(['stuid' => $studio['id'], 'on_sale' => 1, 'on_resale' => 2])->count();
+        $total2 = db('trade')->where(['status' => 0, 'stuid' => $studio['id']])->count();
         $this->view->assign([
             "studio" => $studio,
-            "total1"=>$total1,
-            "total2"=>$total2,
+            "total1" => $total1,
+            "total2" => $total2,
         ]);
         return $this->fetch();
     }
+
     function safecenter()
     {
         return $this->fetch();
     }
+
     function xieyi()
     {
-        $list=db('article')->where(['catid'=>5])->select();
+        $list = db('article')->where(['catid' => 5])->select();
         $this->view->assign([
             "list" => $list,
         ]);
         return $this->fetch();
     }
+
     /**
      * 注销登录
      */
@@ -56,93 +71,106 @@ class User extends Frontend{
         $this->auth->logout();
         $this->redirect("/index/user/login");
     }
-      function userteam()
-    {
-        $user=db('user')->where(['id'=>$this->auth->id])->find();
-        $total=db('user')->where(['refereeids'=>['like','%,'.$this->auth->id.',%']])->count();
-        $total=db('user')->where(['refereeids'=>['like','%,'.$this->auth->id.',%'],'isuser'=>1])->count();
-        $today_cnt=db('user')->where(['refereeids'=>['like','%,'.$this->auth->id.',%'],'createtime'=>['gt',strtotime('today')]])->count();
-        $today_upload=db('user')->where(['refereeids'=>['like','%,'.$this->auth->id.',%'],'isuser'=>1,'intime'=>['gt',strtotime('today')]])->count();
-        $list=db('user')->where(['refereeid'=>$this->auth->id])->select();
-    	if(empty($list))
-        {
-            $list=[];
+
+    function userteam()
+    {
+        $user = db('user')->where(['id' => $this->auth->id])->find();
+        $total = db('user')->where(['refereeids' => ['like', '%,' . $this->auth->id . ',%'], 'status' => 1])->count();
+        $total1 = db('user')->where(['refereeids' => ['like', '%,' . $this->auth->id . ',%'], 'isuser' => 1, 'status' => 1])->count();
+        $today_cnt = db('user')->where(['refereeids' => ['like', '%,' . $this->auth->id . ',%'], 'createtime' => ['gt', strtotime('today')], 'status' => 1])->count();
+        $today_upload = db('user')->where(['refereeids' => ['like', '%,' . $this->auth->id . ',%'], 'isuser' => 1, 'intime' => ['gt', strtotime('today')], 'status' => 1])->count();
+        $list = db('user')->where(['refereeid' => $this->auth->id, 'status' => 1])->select();
+        if (empty($list)) {
+            $list = [];
         }
-    	$this->view->assign([
-    	    "list"=>$list,
-            "total"=>$total,
-            "total1"=>$total,
-            "today_cnt"=>$today_cnt,
-            'today_upload'=>$today_upload,
-            ]);
-    	return $this->view->fetch();
+        $this->view->assign([
+            "list" => $list,
+            "total" => $total,
+            "total1" => $total1,
+            "today_cnt" => $today_cnt,
+            'today_upload' => $today_upload,
+        ]);
+        return $this->view->fetch();
     }
+
     function tjpv()
     {
-        $uids=db('user')->where(['refereeids'=>['like','%,'.$this->auth->id.',%']])->column('id');
-        if($uids)
-        {
-            $total_nums=db('trade')->where(['status'=>['egt',3],'relevant_userid'=>['in',$uids]])->sum('nums');
-            $total_cnt=db('trade')->where(['status'=>['egt',3],'relevant_userid'=>['in',$uids]])->count();
-            $totalt_nums=db('trade')->where(['status'=>['egt',3],'create_time'=>strtotime('today'),'relevant_userid'=>['in',$uids]])->sum('nums');
-            $totalt_cnt=db('trade')->where(['status'=>['egt',3],'create_time'=>strtotime('today'),'relevant_userid'=>['in',$uids]])->count();
-        }else{
-            $total_nums=0;
-            $total_cnt=0;
-            $totalt_nums=0;
-            $totalt_cnt=0;
+        $config = Config::getConfigByGroup('trade');
+        $releaseRate = isset($config['release_rate'])? floatval($config['release_rate']['value']) : 0;
+        $this->view->assign('release_rate', $releaseRate);
+        return $this->fetch();
+    }
+
+    function tjpv1()
+    {
+        $uids = db('user')->where(['refereeids' => ['like', '%,' . $this->auth->id . ',%']])->column('id');
+        if ($uids) {
+            $total_nums = db('trade')->where(['status' => ['egt', 3], 'relevant_userid' => ['in', $uids]])->sum('nums');
+            $total_cnt = db('trade')->where(['status' => ['egt', 3], 'relevant_userid' => ['in', $uids]])->count();
+            $totalt_nums = db('trade')->where(['status' => ['egt', 3], 'create_time' => strtotime('today'), 'relevant_userid' => ['in', $uids]])->sum('nums');
+            $totalt_cnt = db('trade')->where(['status' => ['egt', 3], 'create_time' => strtotime('today'), 'relevant_userid' => ['in', $uids]])->count();
+        } else {
+            $total_nums = 0;
+            $total_cnt = 0;
+            $totalt_nums = 0;
+            $totalt_cnt = 0;
         }
         $this->view->assign([
-            "total_nums"=>$total_nums,
-            "total_cnt"=>$total_cnt,
-            "totalt_nums"=>$totalt_nums,
-            "totalt_cnt"=>$totalt_cnt,
+            "total_nums" => $total_nums,
+            "total_cnt" => $total_cnt,
+            "totalt_nums" => $totalt_nums,
+            "totalt_cnt" => $totalt_cnt,
         ]);
         return $this->view->fetch();
     }
+
+
+
     function sonteam()
     {
-        $id=input('id');
-        $list=db('user')->where(['refereeid'=>$id])->select();
-        if(empty($list))
-        {
-            $list=[];
+        $id = input('id');
+        $list = db('user')->where(['refereeid' => $id])->select();
+        if (empty($list)) {
+            $list = [];
         }
         $this->view->assign([
-        "list"=>$list,
-            'id'=>$id
+            "list" => $list,
+            'id' => $id
         ]);
         return $this->view->fetch();
 
     }
-     function bonusdetailed()
+
+    function bonusdetailed()
     {
-        $user=db('user')->where(['id'=>$this->auth->id])->find();
-        $zt=db('detailed_cash')->where(['userid'=>$this->auth->id,'type'=>16])->sum('money');
-        $jt=db('detailed_cash')->where(['userid'=>$this->auth->id,'type'=>20])->sum('money');
-        $manager=db('detailed_cash')->where(['userid'=>$this->auth->id,'type'=>['in','17,18']])->sum('money');
+        $user = db('user')->where(['id' => $this->auth->id])->find();
+        $zt = db('detailed_cash')->where(['userid' => $this->auth->id, 'type' => 16])->sum('money');
+        $jt = db('detailed_cash')->where(['userid' => $this->auth->id, 'type' => 20])->sum('money');
+        $manager = db('detailed_cash')->where(['userid' => $this->auth->id, 'type' => ['in', '17,18']])->sum('money');
         //今日
-        $zt1=db('detailed_cash')->where(['userid'=>$this->auth->id,'type'=>16,'create_time'=>['egt',strtotime('today')]])->sum('money');
-        $jt1=db('detailed_cash')->where(['userid'=>$this->auth->id,'type'=>20,'create_time'=>['egt',strtotime('today')]])->sum('money');
-        $manager1=db('detailed_cash')->where(['userid'=>$this->auth->id,'type'=>['in','17,18'],'create_time'=>['egt',strtotime('today')]])->sum('money');
+        $zt1 = db('detailed_cash')->where(['userid' => $this->auth->id, 'type' => 16, 'create_time' => ['egt', strtotime('today')]])->sum('money');
+        $jt1 = db('detailed_cash')->where(['userid' => $this->auth->id, 'type' => 20, 'create_time' => ['egt', strtotime('today')]])->sum('money');
+        $manager1 = db('detailed_cash')->where(['userid' => $this->auth->id, 'type' => ['in', '17,18'], 'create_time' => ['egt', strtotime('today')]])->sum('money');
         $this->view->assign([
-            'user'=> $user,
-            'zt'=>$zt,
-            'jt'=>$jt,
-            'manager'=>$manager,
-            'zt1'=>$zt1,
-            'jt1'=>$jt1,
-            'manager1'=>$manager1,
+            'user' => $user,
+            'zt' => $zt,
+            'jt' => $jt,
+            'manager' => $manager,
+            'zt1' => $zt1,
+            'jt1' => $jt1,
+            'manager1' => $manager1,
         ]);
         return $this->view->fetch();
     }
+
     function xieyidetail()
     {
-        $id=input('id');
-        $info=db('article')->where("id",$id)->find();
-        $this->view->assign("info",$info);
+        $id = input('id');
+        $info = db('article')->where("id", $id)->find();
+        $this->view->assign("info", $info);
         return $this->view->fetch();
     }
+
     function sharelink()
     {
         $user = get_user_data($this->auth->id);
@@ -151,8 +179,8 @@ class User extends Frontend{
         $save_path = 'uploads/tj/';
         put_file_from_url_content($img_url, $user['id'] . ".png", $save_path);
         $this->assign("imgurl", 'http://' . $_SERVER['HTTP_HOST'] . '/uploads/tj/' . $user['id'] . '.png');
-        $myset= \app\common\model\Config::getConfigByGroup('Iindex');
-        $this->view->assign("shareBg",$myset['share_bg']['value']);
+        $myset = \app\common\model\Config::getConfigByGroup('Iindex');
+        $this->view->assign("shareBg", $myset['share_bg']['value']);
         $this->view->assign("tjurl", $tjurl);
         $this->view->assign("user", $user);
         return $this->view->fetch();
@@ -166,20 +194,22 @@ class User extends Frontend{
      * @throws \think\db\exception\ModelNotFoundException
      * @throws \think\exception\DbException
      */
-    function material(){
-        $lists=db('material')->where(['status'=>1])
+    function material()
+    {
+        $lists = db('material')->where(['status' => 1])
             ->order('create_time desc,id desc')
             ->limit(100)
             ->select();
-        if($lists){
-            foreach ($lists as &$item){
-                $item['images'] = $item['images']? explode(',', $item['images']) : [];
+        if ($lists) {
+            foreach ($lists as &$item) {
+                $item['images'] = $item['images'] ? explode(',', $item['images']) : [];
             }
         }
 
         $this->view->assign("lists", $lists);
         return $this->view->fetch();
     }
+
     function setting()
     {
         $user = db('user')->where(['id' => $this->auth->id])->find();
@@ -191,20 +221,22 @@ class User extends Frontend{
      * 联系我们
      * @return mixed
      */
-    function aboutus(){
+    function aboutus()
+    {
         $config = Config::getConfigByGroup('basic');
-        $about = isset($config['site_about'])? htmlspecialchars_decode($config['site_about']['value']) : '';
+        $about = isset($config['site_about']) ? htmlspecialchars_decode($config['site_about']['value']) : '';
         $this->view->assign('about', $about);
-         return $this->fetch();
+        return $this->fetch();
     }
 
     /*修改资料*/
     function updatenickname()
     {
-        $user=$this->auth->getUserinfo();
-        $this->view->assign("user",$user);
+        $user = $this->auth->getUserinfo();
+        $this->view->assign("user", $user);
         return $this->view->fetch();
     }
+
     /* 流水 */
     function detailed()
     {
@@ -213,50 +245,57 @@ class User extends Frontend{
         $this->view->assign('mate_title', get_detailed_type_text($group));
         return $this->view->fetch();
     }
+
     function updatepwd1()
     {
         return $this->view->fetch();
     }
+
     function updatepwd2()
     {
         return $this->view->fetch();
     }
+
     function isreal()
     {
-         $user=db('user')->where(['id'=>$this->auth->id])->find();
-        $this->view->assign("user",$user);
+        $user = db('user')->where(['id' => $this->auth->id])->find();
+        $this->view->assign("user", $user);
         return $this->view->fetch();
     }
+
     function profile()
     {
-        $user=db('user')->where(['id'=>$this->auth->id])->find();
-        $this->view->assign("user",$user);
+        $user = db('user')->where(['id' => $this->auth->id])->find();
+        $this->view->assign("user", $user);
         return $this->view->fetch();
     }
+
     function trans()
     {
-        $user=get_user_data($this->auth->id);
-        $this->view->assign("user",$user);
-        $this->view->assign("money_type",input('money_type'));
+        $user = get_user_data($this->auth->id);
+        $this->view->assign("user", $user);
+        $this->view->assign("money_type", input('money_type'));
         return $this->view->fetch();
     }
+
     function transfer()
     {
-        $user=get_user_data($this->auth->id);
-        $this->view->assign("user",$user);
+        $user = get_user_data($this->auth->id);
+        $this->view->assign("user", $user);
         return $this->view->fetch();
     }
+
     function withdraw()
     {
         $tradeConfig = Config::getConfigByGroup('trade');
-        $config['withdraw_min'] = isset($tradeConfig['withdraw_min'])? $tradeConfig['withdraw_min']['value'] : 0;
-        $config['withdraw_cap'] = isset($tradeConfig['withdraw_cap'])? $tradeConfig['withdraw_cap']['value'] : 0;
-        $config['withdraw_fee'] = isset($tradeConfig['withdraw_fee'])? $tradeConfig['withdraw_fee']['value'] : 0;
-        $this->view->assign("config",$config);
-        $user=get_user_data($this->auth->id);
-        $user['usdt_address_text'] = $user['usdt_address']? substr($user['usdt_address'],0,4).'***'.substr($user['usdt_address'],-4,4) : '';
-        $this->view->assign("user",$user);
-        $this->view->assign("coinRate",CoinRate::getRate());
+        $config['withdraw_min'] = isset($tradeConfig['withdraw_min']) ? $tradeConfig['withdraw_min']['value'] : 0;
+        $config['withdraw_cap'] = isset($tradeConfig['withdraw_cap']) ? $tradeConfig['withdraw_cap']['value'] : 0;
+        $config['withdraw_fee'] = isset($tradeConfig['withdraw_fee']) ? $tradeConfig['withdraw_fee']['value'] : 0;
+        $this->view->assign("config", $config);
+        $user = get_user_data($this->auth->id);
+        $user['usdt_address_text'] = $user['usdt_address'] ? substr($user['usdt_address'], 0, 4) . '***' . substr($user['usdt_address'], -4, 4) : '';
+        $this->view->assign("user", $user);
+        $this->view->assign("coinRate", CoinRate::getRate());
         return $this->view->fetch();
     }
 
@@ -271,54 +310,66 @@ class User extends Frontend{
     function withdraw1()
     {
         $tradeConfig = Config::getConfigByGroup('trade');
-        $config['withdraw_min'] = isset($tradeConfig['withdraw_min'])? $tradeConfig['withdraw_min']['value'] : 0;
-        $config['withdraw_cap'] = isset($tradeConfig['withdraw_cap'])? $tradeConfig['withdraw_cap']['value'] : 0;
-        $config['withdraw_fee'] = isset($tradeConfig['withdraw_bonus_fee'])? $tradeConfig['withdraw_bonus_fee']['value'] : 0;
-        $this->view->assign("config",$config);
-        $user=get_user_data($this->auth->id);
-        $this->view->assign("user",$user);
-        $this->view->assign("coinRate",CoinRate::getRate());
+        $config['withdraw_min'] = isset($tradeConfig['withdraw_min']) ? $tradeConfig['withdraw_min']['value'] : 0;
+        $config['withdraw_cap'] = isset($tradeConfig['withdraw_cap']) ? $tradeConfig['withdraw_cap']['value'] : 0;
+        $config['withdraw_fee'] = isset($tradeConfig['withdraw_bonus_fee']) ? $tradeConfig['withdraw_bonus_fee']['value'] : 0;
+        $this->view->assign("config", $config);
+        $user = get_user_data($this->auth->id);
+        $this->view->assign("user", $user);
+        $this->view->assign("coinRate", CoinRate::getRate());
         return $this->view->fetch();
     }
+
     function withdrawdetaile()
     {
         return $this->view->fetch();
     }
+
     function withdrawdetaile1()
     {
         return $this->view->fetch();
     }
+
     function releaselog()
     {
         return $this->view->fetch();
     }
+
     function bonuspage()
     {
-        $user=get_user_data($this->auth->id);
-        if($user['stuid']>0)
-        {
-            $studio=db('studio')->where(['id'=>$user['stuid']])->find();
-            $this->view->assign('studio',$studio);
+        $user = get_user_data($this->auth->id);
+        if ($user['stuid'] > 0) {
+            $studio = db('studio')->where(['id' => $user['stuid']])->find();
+            $this->view->assign('studio', $studio);
         }
-        $total=db('withdrawals')->where(['process_status'=>2,'userid'=>$user['id']])->sum('amount');
-        $fensi=db('user')->where(['refereeid'=>$user['id']])->count();
+        $total = db('withdrawals')->where(['process_status' => 2, 'userid' => $user['id']])->sum('amount');
+        $fensi = db('user')->where(['refereeid' => $user['id']])->count();
 
         //var_dump($user);
-        $loginStu=db('studio')->where(['title'=>$this->auth->login_studio])->find();
-        
+        $loginStu = db('studio')->where(['title' => $this->auth->login_studio])->find();
+        $stuid = isset($loginStu['id'])? $loginStu['id'] : 0;
+        $counts = [
+            'status1'=> db('trade')->where(['relevant_userid'=>$this->auth->id,'status'=>1,'stuid'=>$stuid])->count('id'),
+            'status2'=> db('trade')->where(['relevant_userid'=>$this->auth->id,'status'=>2,'stuid'=>$stuid])->count('id'),
+            'status3'=> db('trade')->where(['relevant_userid'=>$this->auth->id,'status'=>3,'issell'=>[['egt',0],['elt',2]],'stuid'=>$stuid])->count('id'),
+        ];
+        $this->view->assign('counts', $counts);
+
         $this->view->assign([
-            "user"=>$user,
-            'total'=>$total,
-            'fensi'=>$fensi,
-            'studio'=>$loginStu,
-            'login_studio'=> $this->auth->login_studio,
+            "user" => $user,
+            'total' => $total,
+            'fensi' => $fensi,
+            'studio' => $loginStu,
+            'login_studio' => $this->auth->login_studio,
         ]);
         return $this->view->fetch();
     }
+
     function viewwithdraw()
     {
         return $this->view->fetch();
     }
+
     public function login()
     {
         if ($this->auth->id) {
@@ -330,20 +381,20 @@ class User extends Frontend{
             $keeplogin = (int)$this->request->post('keeplogin');
             $token = $this->request->post('__token__');
             $rule = [
-                'account'   => 'require|length:3,50',
-                'password'  => 'require|length:6,30',
+                'account' => 'require|length:3,50',
+                'password' => 'require|length:6,30',
                 '__token__' => 'require|token',
             ];
 
             $msg = [
-                'account.require'  => 'Account can not be empty',
-                'account.length'   => 'Account must be 3 to 50 characters',
+                'account.require' => 'Account can not be empty',
+                'account.length' => 'Account must be 3 to 50 characters',
                 'password.require' => 'Password can not be empty',
-                'password.length'  => 'Password must be 6 to 30 characters',
+                'password.length' => 'Password must be 6 to 30 characters',
             ];
             $data = [
-                'account'   => $account,
-                'password'  => $password,
+                'account' => $account,
+                'password' => $password,
                 '__token__' => $token,
             ];
             $validate = new Validate($rule, $msg);
@@ -364,23 +415,24 @@ class User extends Frontend{
             && !preg_match("/(user\/login|user\/register|user\/logout)/i", $referer)) {
             $url = $referer;
         }
-        $myset=config('site');
-        $this->view->assign("logoimg",$myset['web_site_logo']);
+        $myset = config('site');
+        $this->view->assign("logoimg", $myset['web_site_logo']);
         return $this->view->fetch();
     }
+
     /**
      * 注册会员
      */
     public function register()
     {
-        $code=input('code');
-        if(empty($code))
-        {
-            $code='';
+        $code = input('code');
+        if (empty($code)) {
+            $code = '';
         }
-        $this->view->assign('code',$code);
+        $this->view->assign('code', $code);
         return $this->view->fetch();
     }
+
     function findpwd()
     {
         return $this->view->fetch();

+ 17 - 0
application/shop/view/goods/goodslist.html

@@ -165,6 +165,7 @@
 		<script src="__CDN__/assets/shop/time/TweenMax.min.js"></script>
 		<script src="__CDN__/assets/shop/js/amazeui.min.js"></script>
 		<script src="__CDN__/assets/shop/js/app.js"></script>
+		<script src="__CDN__/assets/libs/layer/layer.js"></script>
 		<script type="text/javascript">
 			// Create Countdown
 			var Countdown = {
@@ -333,6 +334,22 @@
                     });
 				}, time);
 
+				var no_auth = "{$no_auth}";
+				var checkAuth = sessionStorage.getItem('checkAuth');
+				checkAuth = typeof(checkAuth) != 'undefined'? checkAuth : false;
+				if(!checkAuth && no_auth>0){
+					layer.confirm('至少绑定一个收款方式才能竞拍?', {
+						btn: ['去绑定','取消'],
+						area: ['280px'],
+						title:'提示',
+						align: 'center'
+					}, function(){
+						sessionStorage.setItem('checkAuth', true);
+						location= '/shop/user/profile';
+					}, function(){
+					});
+				}
+
 
 			});
 

+ 52 - 5
application/shop/view/goods/index.html

@@ -26,6 +26,11 @@
     <link rel="stylesheet" href="__CDN__/assets/shop/css/app.css">
     <script src="__CDN__/assets/shop/js/jquery.min.js"></script>
     <style>
+        body {
+            position: relative;
+            height: 100%;
+            width: 100%;
+        }
         .header {
             width: 100%;
             position: relative;
@@ -126,6 +131,7 @@
             font-family: "宋体";
             font-size: 18px;
             font-weight: bold;
+            position: relative;
         }
 
         .orders ul li img {
@@ -134,6 +140,20 @@
             display: inline-block;
         }
 
+        .orders ul li .count {
+            position: absolute;
+            top: 5px;
+            right: 15%;
+            border-radius: 100%;
+            width: 24px;
+            font-size: 12px;
+            height: 24px;
+            line-height: 24px;
+            text-align: center;
+            color: #fff;
+            background-color: #F37B1D;
+            z-index: 2;
+        }
         .menu {
             border-radius: 2px;
             margin: 10px 0;
@@ -271,16 +291,16 @@
         <div class="orders bg-purple">
             <ul>
                 <li onclick="window.location='/shop/trade/trade1'" >
-                    <div class="text"><img src="__CDN__/assets/shop/img/goods/icon-order1.png" width="75%" style="border-radius:100%;"/></div>
+                    <div class="text">{if $counts.status1}<span class="count">{$counts.status1}</span>{/if}<img src="__CDN__/assets/shop/img/goods/icon-order1.png" width="75%" style="border-radius:100%;"/></div>
                     <div class="am-padding-top-xs">等待付款</div>
                 </li>
                 <li  onclick="window.location='/shop/trade/trade2'">
-                    <div class="text"><img src="__CDN__/assets/shop/img/goods/icon-order2.png" width="75%" style="border-radius:100%;"/></div>
+                    <div class="text">{if $counts.status2}<span class="count">{$counts.status2}</span>{/if}<img src="__CDN__/assets/shop/img/goods/icon-order2.png" width="75%" style="border-radius:100%;"/></div>
                     <div class="am-padding-top-xs">收款确认</div>
                 </li>
                 <li  onclick="window.location='/shop/trade/trade3'">
-                    <div class=""><img src="__CDN__/assets/shop/img/goods/icon-order3.png" width="75%" style="border-radius:100%;"/></div>
-                    <div class="am-padding-top-xs">委托代卖</div>
+                    <div class="">{if $counts.status3}<span class="count">{$counts.status1}</span>{/if}<img src="__CDN__/assets/shop/img/goods/icon-order3.png" width="75%" style="border-radius:100%;"/></div>
+                    <div class="am-padding-top-xs">待上架</div>
                 </li>
             </ul>
         </div>
@@ -289,7 +309,7 @@
         <div class="title"><img src="__CDN__/assets/shop/img/goods/goods-header.png" alt=""></div>
         <div class="good-list">
             <div class="goods-img">
-                <img src="__CDN__/assets/shop/img/goods/goods.jpeg" alt="">
+                <img src="{$product_img? $product_img : '__CDN__/assets/shop/img/goods/goods.jpeg'}" alt="">
             </div>
             <!--<div class="list-item">
                 <p class="thumb"><img src="__CDN__/assets/shop/img/goods/goods1.jpeg" alt=""></p>
@@ -320,6 +340,8 @@
         </ul>
         <audio id="menuAudio" src="__CDN__/assets/shop/mp3/btn.wav" style="display: none;"></audio>
     </div>
+
+
 </div>
 
 <!--[if (gte IE 9)|!(IE)]><!-->
@@ -347,6 +369,31 @@
                 }, 800)
             }
         })
+
+        var hasOrder1 = "{$counts.status1}";
+        var hasOrder2 = "{$counts.status2}";
+        var hasOrder3 = "{$counts.status3}";
+        var checkOrder = sessionStorage.getItem('hasOrder');
+        checkOrder = typeof(checkOrder) != 'undefined'? checkOrder : false;
+        if(!checkOrder && (hasOrder1>0 || hasOrder2>0 || hasOrder3>0)){
+            var text = hasOrder1? '待付款订单等待确认': (hasOrder2? '待收款订单等待确认':'待上架订单等待上架');
+            layer.confirm('您有一个'+text+'?', {
+                btn: [((hasOrder1 || hasOrder2)?'去确认':'去上架'),'取消'],
+                area: ['280px'],
+                title:'提示',
+                align: 'center'
+            }, function(){
+                sessionStorage.setItem('hasOrder', true);
+                if(hasOrder1){
+                    location= '/shop/trade/trade1';
+                }else if (hasOrder2){
+                    location= '/shop/trade/trade2';
+                }else{
+                    location= '/shop/trade/trade3';
+                }
+            }, function(){
+            });
+        }
     })
 
     /**

+ 49 - 8
application/shop/view/trade/hostappoint.html

@@ -25,6 +25,15 @@
     <style type="text/css">
         .am-list-news-default .am-list .am-list-thumb img {width: 86%;}
         .bg1{background:#4c4c4c;}
+        .am-appoint {
+            position: relative;
+        }
+        .am-action {
+            position: absolute;
+            top: 32px;
+            right: 10px;
+            z-index: 9;
+        }
     </style>
 </head>
 
@@ -45,9 +54,18 @@
             <div class="am-list am-padding-xs">
                 {volist name="list" id="v"}
                 <div class="am-margin-bottom-xs am-bg-white">
-                    <div class="am-g   am-padding-xs am-text-left  ">
-                        <div class="am-u-sm-8">预约单号:{$v.orderNo}</div>
-                        <div class="am-u-sm-4 am-text-right am-text-danger">预约中</div>
+                    <div class="am-g am-appoint am-padding-xs am-text-left  ">
+                        <div class="am-u-sm-10">预约单号:{$v.orderNo}</div>
+                        <div class="am-u-sm-12 am-text-right am-action">
+                            {if $v.yuyue_status==1}
+                            <div class=" am-text-right am-text-danger" onclick="toConfirm('{$v.id}', 2)" style="display: inline-block;">确定预约</div>
+                            <div class=" am-text-right am-text-danger" onclick="toConfirm('{$v.id}', 3)" style="margin-left: 10px;display: inline-block;">驳回预约</div>
+                            {elseif $v.yuyue_status==2}
+                            <div class="am-text-right am-text-danger" style="display: inline-block;">预约成功</div>
+                            {elseif $v.yuyue_status==3}
+                            <div class="am-text-right am-text-danger" style="display: inline-block;">已驳回</div>
+                            {/if}
+                        </div>
                     </div>
                 <div class="am-padding-xs am-text-left">
                     <div class="am-g">
@@ -55,10 +73,12 @@
                             <img src="{$v.goods.image}" width="100%" height="68"/>
                         </div>
                         <div class="am-u-sm-9 am-padding-left-0">
-                            <p  class="text-line1 am-bold">{$v.goods.title}</p>
-                            <p  class="">售价:¥{$v.nums}</p>
-                            <p  class="am-text-danger">预约人:{$v.relevant_userid|get_user_data=###,'mobile'}</p>
-                            <p  class="am-text-danger">所属人:{$v.userid|get_user_data=###,'mobile'}</p>
+                            <p  class="text-line1 am-bold">{$v.goods.title}
+
+                            </p>
+                            <p  class="am-bold">售价:¥{$v.nums}</p>
+                            <p  class="am-text-danger">预约人:{$v.c_mobile} <span style="margin-left: 10px">{$v.c_nickname}</span></p>
+                            <p  class="am-text-danger">所属人:{$v.mobile} <span style="margin-left: 10px">{$v.nickname}</span></p>
                         </div>
                     </div>
                     <div class="am-padding-sm">预约时间:{$v.appoint_time|time_format=###,'Y-m-d H:i:s'}</div>
@@ -85,7 +105,28 @@
 <script src="__CDN__/assets/index/js/app.js"></script>
 <script src="__CDN__/assets/libs/layer/layer.js"></script>
 <script type="text/javascript">
-
+    function toConfirm(id,status){
+        layer.confirm('确认'+(status==2?'审核通过':'驳回')+'该预约?',{
+            btn: ['确定','取消'],
+            area: ['280px'],
+            title:'提示',
+            align: 'center'
+        }, function(){
+            // 按钮1的事件
+            jQuery.post("{:url('api/trade/toconfirmyuyue')}" ,{id:id,status: status},function(data) {
+                if(data.code>=0)
+                {
+                    layer.msg(data.msg);
+                    setTimeout(function (){
+                        location.reload();
+                    }, 800)
+                }else{
+                    layer.msg(data.msg);
+                }
+            });
+        }, function(){
+        });
+    }
 </script>
 </body>
 

+ 121 - 1
application/shop/view/trade/managergoods.html

@@ -24,6 +24,68 @@
     <link rel="stylesheet" href="__CDN__/assets/shop/css/app.css">
     <style type="text/css">
         .am-list-news-default .am-list .am-list-thumb img {width: 86%;}
+        #modal {
+            display: none;
+            position: fixed;
+            width: 100%;
+            height: 100%;
+            margin-top: 50px;
+            top: 0;
+            left: 0;
+            z-index: 991;
+        }
+        .modal-box .bg {
+            background-color: rgba(69, 67, 67, 0.3);
+            width: 100%;
+            height: 100%;
+            position: absolute;
+            z-index: 1;
+        }
+        .modal-box .modal {
+            width: calc(100% - 60px);
+            height: 180px;
+            overflow-y: scroll;
+            position: absolute;
+            z-index: 2;
+            left: 0;
+            top: 30%;
+            right: 0;
+            bottom: 0;
+            margin: 0 auto;
+            background-color: #fff;
+            border-radius: 4px;
+            padding: 10px;
+        }
+
+        .modal-box .modal .title {
+            height: 36px;
+            line-height: 36px;
+            text-align: center;
+            margin-bottom: 10px;
+            font-size: 18px;
+            font-weight: bold;
+        }
+        .modal-box .modal .content {
+            margin-bottom: 30px;
+        }
+        .modal-box .modal .content span {
+            width: 100px;
+        }
+        .modal-box .modal .content input {
+            padding: 4px 8px;
+            height: 32px;
+            line-height: 32px;
+            border: 1px solid #ccc;
+            width: calc(100% - 100px);
+        }
+        .modal-box .modal .action {
+            text-align: center;
+            display: flex;
+        }
+        .modal-box .modal .action button {
+            width: 48%;
+            margin-right: 2%;
+        }
     </style>
 </head>
 
@@ -51,6 +113,19 @@
         </div>
     </div>
 </div>
+<div id="modal" class="modal-box">
+    <div class="bg"></div>
+    <div class="modal">
+        <div class="title">指派确认</div>
+        <div class="content">
+            <div class="input"><span class="label">指派会员:</span><input id="assignName" type="text" placeholder="输入指派会员手机账号" maxlength="18"></div>
+        </div>
+        <div class="action">
+            <button class="am-btn am-btn-default  am-text-xs" onclick="tohideassign()">取消</button>
+            <button class="am-btn am-btn-warning  am-text-xs" onclick="toassign()">确定</button>
+        </div>
+    </div>
+</div>
 <!--[if (gte IE 9)|!(IE)]><!-->
 <script src="__CDN__/assets/index/js/jquery.min.js"></script>
 <!--<![endif]-->
@@ -83,6 +158,7 @@
                          desc='出售中';
                          btn='<botton class="am-btn am-btn-warning  am-text-xs" onclick="tosongoods('+json[i].id+')">&nbsp;拆分&nbsp;</botton>&nbsp;'+
                              '<botton class="am-btn am-btn-success  am-text-xs" onclick="tochange('+json[i].id+')">&nbsp;转场&nbsp;</botton>&nbsp;'+
+                             '<botton class="am-btn am-btn-warning  am-text-xs" style="background-color: #ecba63" onclick="toshowassign('+json[i].id+',\''+json[i].title+'\')">&nbsp;指派&nbsp;</botton>&nbsp;'+
                              '<botton class="am-btn am-btn-primary  am-text-xs" onclick="toownchange('+json[i].id+')">&nbsp;转会员&nbsp;</botton>&nbsp;'+
                              '<botton class="am-btn am-btn-danger  am-text-xs" onclick="djgoods('+json[i].id+',-1)">&nbsp;封存&nbsp;</botton>';
                     }else if(json[i].on_sale == 1 && json[i].iszc == 1){
@@ -104,7 +180,7 @@
                                     '</div>'+
                                     '<div class="am-u-sm-9 am-padding-left-0">'+
                                         '<p  class="text-line1 am-bold">'+json[i].title+'</p>'+
-                                        '<p  class="am-text-danger">持有人:'+json[i].username+'</p>'+
+                                        '<p  class="am-text-danger">持有人:'+json[i].username+' '+json[i].nickname+'</p>'+
                                         '<p  class="">价格:'+json[i].price1+'</p>'+
                                         '<p  class="">代拍金:'+json[i].pre_price+'</p>'+
                                      '</div>'+
@@ -155,6 +231,50 @@ function toownchange(id)
 {
     location='/shop/trade/ownchange/goodsid/'+id;
 }
+
+var goods = {id: 0};
+function toshowassign(id,title){
+    goods.id = id;
+    goods.title = title;
+    $("#modal").show();
+    $(".modal-box .bg").click(function(){
+        $("#modal").hide();
+    })
+}
+function tohideassign(){
+    $("#modal").hide();
+}
+function toassign(){
+    var mobile = $.trim($("#assignName").val());
+    if(goods.id<=0){
+        layer.msg('请选择指派的商品');
+        return false;
+    }
+    if(goods.id<=0){
+        layer.msg('请选择指派的商品');
+        return false;
+    }
+    if(mobile == ''){
+        layer.msg('请填写指派用户的手机账号');
+        return false;
+    }
+    layer.confirm('确定要指派该商品给用户【'+mobile+'】吗?', {
+        btn: ['确定','取消'] //按钮
+    }, function(){
+        jQuery.post("{:url('api/trade/toassign')}" ,{id: goods.id, mobile: mobile},function(data) {
+            if(data.code>0)
+            {
+                layer.msg(data.msg,{time:1000},function(){
+                    location=location;
+                });
+            }else{
+                layer.msg(data.msg);
+            }
+        });
+    }, function(){
+
+    });
+}
 function tosongoods(id)
 {
         layer.confirm('确定要拆分订单吗?', {

+ 1 - 1
application/shop/view/trade/trade1.html

@@ -140,7 +140,7 @@
     }
 
     $('.am-tabs-nav li').click(function(){
-        window.location=$(this).find('a').attr('data-href');
+        window.location='/shop/trade/'+$(this).find('a').attr('data-href');
     });
     function topay(e)
     {

+ 1 - 1
application/shop/view/trade/trade2.html

@@ -158,7 +158,7 @@
         location="/shop/trade/showtrade/id/"+e;
     }
     $('.am-tabs-nav li').click(function(){
-        window.location=$(this).find('a').attr('data-href');
+        window.location='/shop/trade/'+$(this).find('a').attr('data-href');
     });
    $('.confirmorder').one('click',function(){
        var id=$(this).attr('data-id');

+ 2 - 2
application/shop/view/trade/trade3.html

@@ -165,7 +165,7 @@
     }
 
     $('.am-tabs-nav li').click(function(){
-        window.location=$(this).find('a').attr('data-href');
+        window.location='/shop/trade/'+$(this).find('a').attr('data-href');
     });
     function tosell(id, fee)
     {
@@ -191,7 +191,7 @@
     function toresell(e)
     {
         //询问框
-        layer.confirm('确认转售此商品,享受平台流拍资金池每日{$release_rate}%返回本金? ', {
+        layer.confirm('确认转售此商品,享受平台流拍资金池每日{$release_rate}%返回本金? <p style="color: red;text-align: center;">(注:转售后不可撤销,请慎重确认)</p> ', {
             title:'提示',
             btn: ['确认','取消'] //按钮
         }, function(){

+ 1 - 1
application/shop/view/trade/trade4.html

@@ -107,7 +107,7 @@
     }
 
     $('.am-tabs-nav li').click(function(){
-        window.location=$(this).find('a').attr('data-href');
+        window.location='/shop/trade/'+$(this).find('a').attr('data-href');
     });
     var pag = 1, page;  //p当前页,page总页数
     getList();

+ 1 - 1
application/shop/view/trade/trade5.html

@@ -142,7 +142,7 @@
     }
 
     $('.am-tabs-nav li').click(function(){
-        window.location=$(this).find('a').attr('data-href');
+        window.location='/shop/trade/'+$(this).find('a').attr('data-href');
     });
     function showtrade(e)
     {

+ 1 - 1
application/shop/view/trade/tradelist.html

@@ -214,7 +214,7 @@
     function toresell(e)
     {
         //询问框
-        layer.confirm('确认转售此商品,享受平台流拍资金池每日{$release_rate}%返回本金? ', {
+        layer.confirm('确认转售此商品,享受平台流拍资金池每日{$release_rate}%返回本金? <p style="color: red;text-align: center;">(注:转售后不可撤销,请慎重确认)</p>', {
             title:'提示',
             btn: ['确认','取消'] //按钮
         }, function(){

+ 19 - 4
application/shop/view/trade/yuyuecode.html

@@ -46,8 +46,14 @@
                 {volist name="list" id="v"}
                 <div class="am-margin-bottom-xs am-bg-white">
                     <div class="am-g   am-padding-xs am-text-left  ">
-                        <div class="am-u-sm-6">单号:{$v.orderNo}</div>
-                        <div class="am-u-sm-6 am-text-right am-text-danger">预约成功</div>
+                        <div class="am-u-sm-8">单号:{$v.orderNo}</div>
+                        {if $v.yuyue_status==1}
+                        <div class="am-u-sm-4 am-text-right am-text-danger">预约中</div>
+                        {elseif $v.yuyue_status==2}
+                        <div class="am-u-sm-4 am-text-right am-text-danger">预约成功</div>
+                        {elseif $v.yuyue_status==3}
+                        <div class="am-u-sm-4 am-text-right am-text-danger">预约失败</div>
+                        {/if}
                     </div>
                 <div class="am-padding-xs am-text-left">
                     <div class="am-g">
@@ -57,15 +63,24 @@
                         <div class="am-u-sm-9 am-padding-left-0">
                             <p  class="text-line1 am-bold">{$v.goods.title}</p>
                             <p  class="">产品编号:{$v.goods.description}</p>
+                            {if $v.yuyue_status == 2}
                             <div>
-                                <span class="am-text-danger">售价:¥{$v.nums}</span>
-                                <span class="am-fr">×1</span>
+                                <span class="am-text-danger am-bold">售价:¥{$v.nums}</span>
+                                <span class="am-text-danger am-bold">代拍金:¥{$v.pre_price}</span>
+                                <span class="am-fr ">x1</span>
                             </div>
+                            {else}
+                            <div>
+                                <span class="am-text-danger am-bold">预约范围:{$v.appoint_price}</span>
+                            </div>
+                            {/if}
                         </div>
                     </div>
                     <div class="am-g">
                         <div class="am-u-sm-9">预约时间:{$v.appoint_time|time_format=###,'Y-m-d H:i:s'}</div>
+                        {if $v.yuyue_status == 1}
                         <div class="am-u-sm-3"><botton class="am-btn am-btn-danger am-round am-text-xs" onclick="tocancel({$v.id})">取消预约</botton></div>
+                        {/if}
                     </div>
                 </div>
                 </div>

+ 25 - 0
application/shop/view/user/bonuspage.html

@@ -163,6 +163,31 @@
 				}, 800)
 			}
 		})
+
+		var hasOrder1 = "{$counts.status1}";
+		var hasOrder2 = "{$counts.status2}";
+		var hasOrder3 = "{$counts.status3}";
+		var checkOrder = sessionStorage.getItem('hasOrder');
+		checkOrder = typeof(checkOrder) != 'undefined'? checkOrder : false;
+		if(!checkOrder && (hasOrder1>0 || hasOrder2>0 || hasOrder3>0)){
+			var text = hasOrder1? '待付款订单等待确认': (hasOrder2? '待收款订单等待确认':'待上架订单等待上架');
+			layer.confirm('您有一个'+text+'?', {
+				btn: [((hasOrder1 || hasOrder2)?'去确认':'去上架'),'取消'],
+				title:'提示',
+				area: ['280px'],
+				align: 'center'
+			}, function(){
+				sessionStorage.setItem('hasOrder', true);
+				if(hasOrder1){
+					location= '/shop/trade/trade1';
+				}else if (hasOrder2){
+					location= '/shop/trade/trade2';
+				}else{
+					location= '/shop/trade/trade3';
+				}
+			}, function(){
+			});
+		}
 	})
 
 	/**

+ 26 - 0
application/shop/view/user/index.html

@@ -179,6 +179,32 @@
 				}, 800)
 			}
 		})
+
+		var hasOrder1 = "{$counts.status1}";
+		var hasOrder2 = "{$counts.status2}";
+		var hasOrder3 = "{$counts.status3}";
+		console.log(hasOrder1+'++'+hasOrder2+'++'+hasOrder3)
+		var checkOrder = sessionStorage.getItem('hasOrder');
+		checkOrder = typeof(checkOrder) != 'undefined'? checkOrder : false;
+		if(!checkOrder && (hasOrder1>0 || hasOrder2>0 || hasOrder3>0)){
+			var text = hasOrder1? '待付款订单等待确认': (hasOrder2? '待收款订单等待确认':'待上架订单等待上架');
+			layer.confirm('您有一个'+text+'?', {
+				btn: [((hasOrder1 || hasOrder2)?'去确认':'去上架'),'取消'],
+				title:'提示',
+				area: ['280px'],
+				align: 'center'
+			}, function(){
+				sessionStorage.setItem('hasOrder', true);
+				if(hasOrder1){
+					location= '/shop/trade/trade1';
+				}else if (hasOrder2){
+					location= '/shop/trade/trade2';
+				}else{
+					location= '/shop/trade/trade3';
+				}
+			}, function(){
+			});
+		}
 	})
 
 	/**

+ 6 - 2
application/shop/view/user/material.html

@@ -69,10 +69,11 @@
             top: 0;
             left: 0;
             display: none;
+            /*overflow-y: scroll;*/
         }
 
         #preview .close {
-            position: absolute;
+            position: fixed;
             font-size: 14px;
             font-style: normal;
             /*padding: 4px;*/
@@ -98,12 +99,14 @@
             bottom: 0;
             left: 0;
             margin: auto;
+            /*margin-top: 48px;*/
+            max-height: 65%;
         }
 
         #download {
             max-width: 120px;
             z-index: 9;
-            position: absolute;
+            position: fixed;
             right: 0;
             bottom: 30px;
             left: 0;
@@ -155,6 +158,7 @@
 <script src="__CDN__/assets/shop/js/amazeui.min.js"></script>
 <script src="__CDN__/assets/shop/js/app.js"></script>
 <script src="__CDN__/assets/libs/layer/layer.js"></script>
+<script src="__CDN__/assets/shop/js/jweixin.js"></script>
 <script>
     /**
      * 批量

+ 296 - 45
application/shop/view/user/tjpv.html

@@ -5,74 +5,325 @@
 	<meta http-equiv="X-UA-Compatible" content="IE=edge">
 	<meta name="description" content="">
 	<meta name="keywords" content="">
-	<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
+	<meta name="viewport" content="width=device-width,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
+
 	<title>业绩统计</title>
 	<!-- Set render engine for 360 browser -->
 	<meta name="renderer" content="webkit">
+	<!-- No Baidu Siteapp-->
+	<meta http-equiv="Cache-Control" content="no-siteapp" />
+	<!-- Add to homescreen for Chrome on Android -->
+	<meta name="mobile-web-app-capable" content="yes">
+	<!-- Add to homescreen for Safari on iOS -->
+	<meta name="apple-mobile-web-app-capable" content="yes">
+	<meta name="apple-mobile-web-app-status-bar-style" content="black">
+	<meta name="apple-mobile-web-app-title" content="积分商城" />
+	<!-- Tile icon for Win8 (144x144 + tile color) -->
+	<meta name="msapplication-TileColor" content="#0e90d2">
+
 	<link rel="stylesheet" href="__CDN__/assets/shop/css/amazeui.css">
+	<link rel="stylesheet" href="__CDN__/assets/shop/css/menu/normalize.min.css">
+	<link rel="stylesheet" href="__CDN__/assets/shop/css/menu/bootstrapmb.com.css">
 	<link rel="stylesheet" href="__CDN__/assets/shop/css/app.css">
 	<style type="text/css">
-		div[data-html=form] .am-form .am-form-group{
-			margin-bottom: 1rem;
-			border-radius: 10px;
-		}
-
+		.am-list-news-default .am-list .am-list-thumb img {width: 86%;}
 	</style>
 </head>
 
-<body class="">
+<body>
 <!-- Header -->
 <header data-am-widget="header" class="am-header am-header-default">
-	<div class="am-header-left am-header-nav">
-		<a href="javascript:void(0);" onclick="javascript:history.back(-1);return false;"><i class="am-header-icon am-icon-angle-left"></i></a>
-	</div>
 	<h1 class="am-header-title">
 		<a href="#title-link">业绩统计</a>
 	</h1>
 </header>
 <!-- Content -->
-<div class="wapper " data-html="form" style="padding-top:49px">
-	<div class="  am-form am-form-horizontal invest-form am-padding-bottom-xs" >
-	    <!-- 
-		<div class="am-link-muted am-padding-xs">总业绩统计</div>
-		<div class="am-bg-white">
-			<div class="am-form-group sc-bg">
-				<label class="am-u-sm-4 am-form-label">交易总金额</label>
-				<div class="am-u-sm-8 am-form-label am-text-right">
-					{$total_nums}(元)
-				</div>
-			</div>
-			<div class="am-form-group sc-bg">
-				<label class="am-u-sm-4 am-form-label">交易总单数</label>
-				<div class="am-u-sm-8 am-form-label am-text-right">
-					{$total_cnt}(笔)
-				</div>
-			</div>
+<div class="wapper" data-html="tabs">
+	<div data-am-widget="tabs" class="am-tabs am-tabs-d2">
+		<div class="am-padding-sm am-text-white" style="background: #f37b1d">
+			今日订单笔数:<span id="today">0</span> , 今日订单总金额:<span id="total">0</span>
 		</div>
-		-->
-		<div class="am-link-muted am-padding-xs">今天业绩统计</div>
-		<div class="am-bg-white">
-			<div class="am-form-group sc-bg">
-				<label class="am-u-sm-4 am-form-label">今日交易总金额</label>
-				<div class="am-u-sm-8 am-form-label am-text-right">
-					{$totalt_nums}(元)
-				</div>
-			</div>
-			<div class="am-form-group sc-bg">
-				<label class="am-u-sm-4 am-form-label">今日交易总单数</label>
-				<div class="am-u-sm-8 am-form-label am-text-right">
-					{$totalt_cnt}(笔)
-				</div>
+		<ul class="am-tabs-nav am-cf">
+			<li class="am-active"><a href="[data-tab-panel-0]" data-type="0">全部</a></li>
+			<li class=""><a href="[data-tab-panel-1]" data-type="1">待付款</a></li>
+			<li class=""><a href="[data-tab-panel-2]" data-type="2">待收款</a></li>
+			<li class=""><a href="[data-tab-panel-3]" data-type="3">待上架</a></li>
+			<li class=""><a href="[data-tab-panel-4]" data-type="4">已完成</a></li>
+		</ul>
+		<div class="am-tabs-bd">
+			<div class="am-list am-padding-xs">
+
 			</div>
 		</div>
-
 	</div>
 </div>
-<script src="__CDN__/assets/shop/js/jquery.min.js"></script>
-<script src="__CDN__/assets/shop/js/amazeui.min.js"></script>
+
+<!-- Footer-Menu -->
+<div id="navbar">
+	<ul id="menu">
+		<li class="item"><a data-href="{:url('shop/index/index')}">首页</a></li>
+		<li class="item"><a data-href="{:url('/shop/goods/index')}" >商城</a></li>
+		<li class="item active"><a data-href="{:url('shop/trade/tradelist')}" >全部订单</a></li>
+		<li class="item"><a data-href="{:url('shop/user/bonuspage')}" >分销中心</a></li>
+		<li class="item"><a data-href="{:url('shop/user/index')}">个人中心</a></li>
+	</ul>
+	<audio id="menuAudio" src="__CDN__/assets/shop/mp3/btn.wav" style="display: none;" volume="0.5"></audio>
+</div>
+<!--[if (gte IE 9)|!(IE)]><!-->
+<script src="__CDN__/assets/index/js/jquery.min.js"></script>
+<!--<![endif]-->
+<!--[if lte IE 8 ]>
+<script src="http://libs.baidu.com/jquery/1.11.3/jquery.min.js"></script>
+<script src="http://cdn.staticfile.org/modernizr/2.8.3/modernizr.js"></script>
+<script src="__CDN__/assets/index/js/amazeui.ie8polyfill.min.js"></script>
+<![endif]-->
+<script src="__CDN__/assets/index/js/amazeui.min.js"></script>
+<script src="__CDN__/assets/index/js/amazeui.dialog.js"></script>
+<script src="__CDN__/assets/index/js/app.js"></script>
 <script src="__CDN__/assets/libs/layer/layer.js"></script>
-<script>
+<script type="text/javascript">
+	$(function() {
+		// 导航跳转
+		$("#navbar a").click(function(){
+			var url = $(this).attr('data-href');
+			if(url){
+				playMusic();
+				setTimeout(function(){
+					location=url;
+				}, 800)
+			}
+		})
+	})
+
+	/**
+	 * 按钮声音
+	 */
+	function playMusic(){
+		var audio = document.getElementById('menuAudio');
+		if (audio.paused) {
+			$(audio).attr('autoplay', true);
+			$(audio).attr('controls', true);
+			audio.volume = 0.5
+			audio.play();
+		} else {
+			$(audio).removeAttr('autoplay');
+			$(audio).removeAttr('controls');
+			audio.pause();
+		}
+	}
+
+	var type = 0;
+	var pag = 1, page;  //p当前页,page总页数
+	getList();
+	$('.am-tabs-nav li').click(function(){
+		type = parseInt($(this).find('a').attr('data-type'));
+		$('.am-list').html('');
+		pag=1;
+		getList();
+	});
+
+	function getList(){
+		console.log(type)
+		jQuery.post("{:url('api/trade/gettradelisttj')}" ,{p:pag, type: type},function(data) {
+			console.log(data.data);
+			if(data.data != null && data.data.length != 0){
+				page=data.total;
+				var json=data.data;
+				var counts = data.counts
+				if(counts.today_count>0){
+					$("#today").text(counts.today_count)
+					$("#total").text(counts.today_total)
+				}
+				for(var i = 0; i < json.length; i++){
+					var btn='';
+					var cfirm='';
+					var newprice='';
+					if(json[i].status == 3 || json[i].status == 4) {
+
+						cfirm = '<div class="am-g  am-padding-bottom-xs am-padding-top-xs  ubb">' +
+								'<div class="am-u-sm-8">确认时间:' + json[i].confirm_time1 + '</div>' +
+								'<div class="am-u-sm-4 am-padding-left-0 am-text-right am-text-danger">上架费¥' + json[i].fee + '</div>' +
+								'</div>';
+					}
+					if(json[i].status == 4 || (json[i].status ==3 && json[i].issell==2 ))
+					{
+						newprice=json[i].endnums;
+					}else{
+						newprice=json[i].nums
+					}
+
+					if(json[i].status == 2)
+					{
+						btn='<span><input type="button" class="am-btn am-btn-danger am-btn-xs" value="确认订单" onclick="confirmorder('+json[i].id+')"></span>&nbsp;';
+					}
+
+					var _ =
+							'<div class="am-margin-bottom-xs am-bg-white">'+
+							'<div class="am-g   am-padding-xs am-text-left ubb">'+
+							'<div class="am-u-sm-8">单号:'+json[i].orderNo+'</div>'+
+							'<div class="am-u-sm-4 am-text-right am-text-danger">'+json[i].status_desc+'</div>'+
+							'</div>'+
+							'<div class="am-padding-xs am-text-left">'+
+							'<div class="am-g ">'+
+							'<div class="am-u-sm-3">'+
+							'<img src="'+json[i].goods.image+'" width="100%" height="68"/>'+
+							'</div>'+
+							'<div class="am-u-sm-9 am-padding-left-0">'+
+							'<p  class="text-line1 am-bold">'+json[i].goods.title+'【编号'+json[i].goods.description+'】</p>'+
+
+							'<p  class=""><span class="am-btn-warning" style="margin-right: 5px;">卖家</span>'+json[i].selluser+'</p>'+
+							'<p  class=""><span class="am-btn-success" style="margin-right: 5px;">买家</span>'+json[i].buyuser+'</p>'+
+							'<p  class=""><span class="am-btn-warning" style="margin-right: 5px;">买入价格</span>¥'+json[i].nums+'</p>'+
+							'<p  class=""><span class="am-btn-success" style="margin-right: 5px;">茶室</span>'+json[i].studio_name+'</p>'+
+							'</div>'+
+							'</div>'+
+							'<div class="am-g am-padding-top-xs ubb">' +
+							'<div class="am-u-sm-12 am-padding-right-0 am-text-right">买入单时间:'+json[i].ctime1+'</div>'+
+							'</div>'+
+							cfirm+
+							'<div class="am-padding-top-sm am-text-right">'+
+							btn+
+							'<span><input type="button" class="am-btn am-btn-default am-btn-xs" value="订单详情" onclick="showtrade('+json[i].id+')"></span>'+
+							'</div>'+
+							'</div>'+
+							'</div>';
+					$('.am-list').append(_);
+				}
+			}else{
+				$('.am-list').html('<li class="am-padding-top-xs am-padding-bottom-xs am-text-center am-link-muted">{:__("暂无数据")}</li>')
+			}
+		});
+	}
+	//滚动分页
+	window.onscroll = function(){
+		var top = document.body.scrollTop || document.documentElement.scrollTop;
+		var height = document.body.scrollHeight || document.documentElement.scrollHeight;
+		if((top + window.innerHeight) >= height-49){
+			pag = pag + 1;
+			if(pag > page){
+				pag = page;
+				$('.tips-text').show();
+				return;
+			}
+			//从后台获取列表数据
+			getList();
+		}
+	}
+	function toresell(e)
+	{
+		//询问框
+		layer.confirm('确认转售此商品,享受平台流拍资金池每日{$release_rate}%返回本金? <p style="color: red;text-align: center;">(注:转售后不可撤销,请慎重确认)</p>', {
+			title:'提示',
+			btn: ['确认','取消'] //按钮
+		}, function(){
+			jQuery.post("{:url('api/trade/resaletrade')}" ,{id:e,type:1},function(data) {
+				if(data.code>0)
+				{
+					layer.msg(data.msg,{time:1000},function(){
+						location=location;
+					});
+				}else{
+					layer.msg(data.msg);
+				}
+			});
+		}, function(){
+
+		});
+	}
+	function showtrade(e)
+	{
+		location="/shop/trade/showtrade/id/"+e;
+	}
+	function topay(e)
+	{
+		location="/shop/trade/topay/id/"+e;
+	}
+
+	function confirmorder(e)
+	{
+		jQuery.post("{:url('api/trade/toconfirm')}" ,{id:e},function(data) {
+			if(data.code>0)
+			{
+				layer.msg('确认完成',{time:1000},function(){
+					location=location;
+				});
+			}else{
+				layer.msg(data.msg);
+			}
+		});
+	}
+	function appeal(e)
+	{
+		location="/shop/trade/appeal/id/"+e;
+	}
+	function tocancelappeal(e)
+	{
+		layer.confirm("确认取消此交易的申诉?",{
+			btn: ['确认', '取消']
+		}, function () {
+			// 按钮1的事件
+			jQuery.post("{:url('api/trade/tocancelappeal')}" ,{id:e},function(data) {
+				if(data.code>0)
+				{
+					layer.msg('操作完成',{time:1000},function(){
+						location=location;
+					});
+				}else{
+					layer.msg(data.msg);
+				}
+			});
+		}, function(){
+			// 按钮2的事件
+		});
+	}
+	function tosell(id, fee)
+	{
+		//询问框
+		layer.confirm('确认要上架此商品,上架费:¥'+fee, {
+			title:'提示',
+			btn: ['确认','取消'] //按钮
+		}, function(){
+			jQuery.post("{:url('api/trade/toupdatetrade')}" ,{id:id,type:1},function(data) {
+				if(data.code>0)
+				{
+					layer.msg('操作完成',{time:1000},function(){
+						location=location;
+					});
+				}else{
+					layer.msg(data.msg);
+				}
+			});
+		}, function(){
+
+		});
+	}
+	function toorder(e,t)
+	{
+		//询问框
+		layer.confirm('确认要将此都订单发货?', {
+			title:'提示',
+			btn: ['确认','取消'] //按钮
+		}, function(){
+			jQuery.post("{:url('api/trade/toupdatetrade')}" ,{id:e,type:2,isadd:t},function(data) {
+				if(data.code>0)
+				{
+					layer.msg('操作完成',{time:1000},function(){
+						location=location;
+					});
+				}else{
+					layer.msg(data.msg);
+				}
+			});
+		}, function(){
+
+		});
+	}
+	function tochange(e)
+	{
+		location="/shop/trade/changestudio/goodsid/"+e;
+	}
 
 </script>
 </body>
+
 </html>

+ 78 - 0
application/shop/view/user/tjpv1.html

@@ -0,0 +1,78 @@
+<!doctype html>
+<html class="no-js">
+<head>
+	<meta charset="utf-8">
+	<meta http-equiv="X-UA-Compatible" content="IE=edge">
+	<meta name="description" content="">
+	<meta name="keywords" content="">
+	<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
+	<title>业绩统计</title>
+	<!-- Set render engine for 360 browser -->
+	<meta name="renderer" content="webkit">
+	<link rel="stylesheet" href="__CDN__/assets/shop/css/amazeui.css">
+	<link rel="stylesheet" href="__CDN__/assets/shop/css/app.css">
+	<style type="text/css">
+		div[data-html=form] .am-form .am-form-group{
+			margin-bottom: 1rem;
+			border-radius: 10px;
+		}
+
+	</style>
+</head>
+
+<body class="">
+<!-- Header -->
+<header data-am-widget="header" class="am-header am-header-default">
+	<div class="am-header-left am-header-nav">
+		<a href="javascript:void(0);" onclick="javascript:history.back(-1);return false;"><i class="am-header-icon am-icon-angle-left"></i></a>
+	</div>
+	<h1 class="am-header-title">
+		<a href="#title-link">业绩统计</a>
+	</h1>
+</header>
+<!-- Content -->
+<div class="wapper " data-html="form" style="padding-top:49px">
+	<div class="  am-form am-form-horizontal invest-form am-padding-bottom-xs" >
+	    <!-- 
+		<div class="am-link-muted am-padding-xs">总业绩统计</div>
+		<div class="am-bg-white">
+			<div class="am-form-group sc-bg">
+				<label class="am-u-sm-4 am-form-label">交易总金额</label>
+				<div class="am-u-sm-8 am-form-label am-text-right">
+					{$total_nums}(元)
+				</div>
+			</div>
+			<div class="am-form-group sc-bg">
+				<label class="am-u-sm-4 am-form-label">交易总单数</label>
+				<div class="am-u-sm-8 am-form-label am-text-right">
+					{$total_cnt}(笔)
+				</div>
+			</div>
+		</div>
+		-->
+		<div class="am-link-muted am-padding-xs">今天业绩统计</div>
+		<div class="am-bg-white">
+			<div class="am-form-group sc-bg">
+				<label class="am-u-sm-4 am-form-label">今日交易总金额</label>
+				<div class="am-u-sm-8 am-form-label am-text-right">
+					{$totalt_nums}(元)
+				</div>
+			</div>
+			<div class="am-form-group sc-bg">
+				<label class="am-u-sm-4 am-form-label">今日交易总单数</label>
+				<div class="am-u-sm-8 am-form-label am-text-right">
+					{$totalt_cnt}(笔)
+				</div>
+			</div>
+		</div>
+
+	</div>
+</div>
+<script src="__CDN__/assets/shop/js/jquery.min.js"></script>
+<script src="__CDN__/assets/shop/js/amazeui.min.js"></script>
+<script src="__CDN__/assets/libs/layer/layer.js"></script>
+<script>
+
+</script>
+</body>
+</html>

+ 97 - 3
application/shop/view/user/viewwithdraw.html

@@ -19,6 +19,63 @@
 				margin-bottom: 1rem;
 			}
 			body{color:#333;}
+			#preview {
+				width: 100%;
+				height: 100%;
+				background-color: rgba(97, 94, 92, 0.85);
+				position: fixed;
+				z-index: 99;
+				top: 0;
+				left: 0;
+				display: none;
+				/*overflow-y: scroll;*/
+			}
+
+			#preview .close {
+				position: fixed;
+				font-size: 14px;
+				font-style: normal;
+				/*padding: 4px;*/
+				text-align: center;
+				right: 30px;
+				top: 80px;
+				z-index: 9;
+				width: 36px;
+				height: 36px;
+				line-height: 36px;
+				background-color: #333;
+				color: #fff;
+				border-radius: 100%;
+
+			}
+
+			#preview-img {
+				width: 100%;
+				position: absolute;
+				z-index: 1;
+				top: 0;
+				right: 0;
+				bottom: 0;
+				left: 0;
+				margin: auto;
+				/*margin-top: 48px;*/
+				max-height: 65%;
+			}
+
+			#download {
+				max-width: 120px;
+				z-index: 9;
+				position: fixed;
+				right: 0;
+				bottom: 30px;
+				left: 0;
+				margin: auto;
+				background-color: #666;
+				color: #fff;
+				border: none;
+				padding: 8px 10px;
+				border-radius: 4px;
+			}
 		</style>
 	</head>
 
@@ -41,13 +98,49 @@
 				<div class="am-alert tips-text am-text-center" style="display: none;">{:__('加载完毕')}</div>
 			</div>
 		</div>
-		
+		<div id="preview">
+			<p><span class="close" onclick="closePic()">x</span></p>
+			<p><img id="preview-img" src="" alt=""></p>
+			<p><button id="download" onclick="downloadPic()">保存收款码</button></p>
+		</div>
 		<script src="__CDN__/assets/shop/js/jquery.min.js"></script>
 		<script src="__CDN__/assets/shop/js/amazeui.min.js"></script>
 		<script src="__CDN__/assets/libs/layer/layer.js"></script>
 		<script>
 			var pag = 1, page;  //p当前页,page总页数
 			getList();
+
+
+			function showPic(url){
+				if(url){
+					$("#preview-img").attr('src', url);
+					$("#preview").show();
+				}
+			}
+
+			function closePic(){
+				console.log(666)
+				$("#preview").hide();
+			}
+
+			/**
+			 * 下载
+			 * @param imgUrl
+			 */
+			function downloadPic(){
+				var imgUrl = $("#preview-img").attr('src');
+				let triggerEvent = "touchstart"; //指定下载方式
+				let blob=new Blob([''], {type:'application/octet-stream'});
+				let url = URL.createObjectURL(blob); //创建一个字符串路径空位
+				let a = document.createElement('a');
+				a.href = imgUrl;  //把路径赋到a标签的href上
+				a.download = imgUrl.replace(/(.*\/)*([^.]+.*)/ig,"$2").split("?")[0];
+				let e = new MouseEvent('click', ( true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null));
+				a.dispatchEvent(e);
+				//释放一个已经存在的路径(有创建createObjectURL就要释放revokeObjectURL)
+				URL.revokeObjectURL(url);
+			}
+
 			function getList(){
 				jQuery.post("{:url('api/user/teamwithdrawdetaile')}" ,{p:pag,money_type:'bonus'},function(data) {
 					console.log(data.data);
@@ -78,9 +171,10 @@
 									    '<div >{:__("手续费")}<em class="am-text-warning am-padding-left-xs">'+json[i].fee+'</em></div>'+
 										'<div class="am-margin-right">{:__("到账金额")}<em class="am-text-warning am-padding-left-xs">'+json[i].fack_receive+'</em></div>'+
                                 		'<div >{:__("时间")}<em class="am-text-warning am-padding-left-xs">'+json[i].times+'</em></div>'+
-										'<div class=" am-margin-right"><div style="display: inline-block;vertical-align: middle;">{:__("收款信息")}</div><div class="am-text-warning am-padding-left-xs" style="display: inline-block; vertical-align: top;">'+json[i].name+'</div></div>';
+										'<div class=" am-margin-right"><div style="display: inline-block;vertical-align: middle;">{:__("收款用户")}</div><div class="am-text-warning am-padding-left-xs" style="display: inline-block; vertical-align: top;">'+json[i].mobile+' '+json[i].nickname+'</div></div>'+
+										'<div class=" am-margin-right"><div style="display: inline-block;vertical-align: middle;">{:__("收款信息")}</div><div class="am-text-warning am-padding-left-xs" style="display: inline-block; vertical-align: top;">'+(json[i].name? json[i].name : '暂无')+'</div></div>';
 							if(json[i].prc){
-								_ +='<div class=" am-margin-right" style="margin-bottom: 10px;"><div style="display: inline-block;vertical-align: middle;">{:__("收款码")}</div><div class="am-text-warning am-padding-left-xs" style="display: inline-block; vertical-align: top;"><img src="'+json[i].prc+'" alt="" style="display: inline-block; width: 120px; height: 120px; vertical-align: top;"></div></div>';
+								_ +='<div class=" am-margin-right" style="margin-bottom: 10px;"><div style="display: inline-block;vertical-align: middle;">{:__("收款码")}</div><div class="am-text-warning am-padding-left-xs" style="display: inline-block; vertical-align: top;"><img src="'+json[i].prc+'" alt="" style="display: inline-block; width: 120px; height: 120px; vertical-align: top;" onclick="showPic(\''+json[i].prc+'\')"></div></div>';
 
 							}
 										_ +='<div>' +