Browse Source

Merge branch 'qs_local_master'

master
lanzu_qinsheng 5 years ago
parent
commit
0cc5b697ed
  1. 40
      app/Admin/Controllers/HomeController.php
  2. 6
      app/Admin/Controllers/ImsCjdcOrderMainController.php
  3. 12
      app/Admin/Controllers/LanzuCsInfoController.php
  4. 2
      app/Admin/Extensions/MyDetailPage.php
  5. 8
      app/Admin/Metrics/Examples/Community/TotalUser.php
  6. 100
      app/Admin/Metrics/Examples/Order/OrderData.php
  7. 4
      public/css/detail.css
  8. 1
      resources/views/orderdetail.php

40
app/Admin/Controllers/HomeController.php

@ -7,6 +7,7 @@ use App\Admin\Common\Type;
use App\Admin\Metrics\Examples; use App\Admin\Metrics\Examples;
use App\Http\Controllers\Controller; use App\Http\Controllers\Controller;
use App\Models\LanzuMpInfo; use App\Models\LanzuMpInfo;
use App\Models\LanzuUserRelationBind;
use App\Models\v3\Market; use App\Models\v3\Market;
use Dcat\Admin\Controllers\Dashboard; use Dcat\Admin\Controllers\Dashboard;
use Dcat\Admin\Layout\Column; use Dcat\Admin\Layout\Column;
@ -98,35 +99,56 @@ class HomeController extends Controller
protected function lanzu_biz(Content $content) protected function lanzu_biz(Content $content)
{ {
$uid = LanzuUserRelationBind::pluck('user_id')->toArray();
return $content->header('控制面板') return $content->header('控制面板')
->description('欢迎回到懒族后台') ->description('欢迎回到懒族后台')
->body(function (Row $row) {
$row->column(4, function (Column $column) {
$column->row(new Examples\ServiceCard\TotalMp());
});
->body(function (Row $row)use ($uid) {
// $row->column(4, function (Column $column) {
// $column->row(new Examples\ServiceCard\TotalMp());
// });
$row->column(4, function (Column $column) {
$row->column(3, function (Column $column) {
$column->row(new Examples\Community\TotalCommunity()); $column->row(new Examples\Community\TotalCommunity());
}); });
$row->column(4, function (Column $column) {
$row->column(3, function (Column $column) {
$column->row(new Examples\Community\TotalUser()); $column->row(new Examples\Community\TotalUser());
}); });
$row->column(3, function (Column $column)use ($uid) {
$column->row(new Examples\Order\OrderData('user',null,'下单人数',$uid));
});
$row->column(3, function (Column $column)use ($uid) {
$column->row(new Examples\Order\OrderData('number',null,'订单数',$uid));
});
$row->column(3, function (Column $column)use ($uid) {
$column->row(new Examples\Order\OrderData('amount',null,'订单金额(元)',$uid));
});
}); });
} }
protected function lanzu_cs(Content $content) protected function lanzu_cs(Content $content)
{ {
$uid = LanzuUserRelationBind::where('source_id',Admin::user()->id)->pluck('user_id')->toArray();//获取绑定社区的所有用户
return $content->header('控制面板') return $content->header('控制面板')
->description('欢迎回到懒族后台') ->description('欢迎回到懒族后台')
->body(function (Row $row) {
$row->column(4, function (Column $column) {
->body(function (Row $row) use ($uid) {
$row->column(3, function (Column $column) {
$column->row(new Examples\Community\TotalAmount(Admin::user()->id,Type::BALANCE_USER_TYPE_CS)); $column->row(new Examples\Community\TotalAmount(Admin::user()->id,Type::BALANCE_USER_TYPE_CS));
}); });
$row->column(4, function (Column $column) {
$row->column(3, function (Column $column) {
$column->row(new Examples\Community\TotalUser()); $column->row(new Examples\Community\TotalUser());
}); });
$row->column(3, function (Column $column) use ($uid) {
$column->row(new Examples\Order\OrderData('user',null,'下单人数',$uid));
});
$row->column(3, function (Column $column) use ($uid) {
$column->row(new Examples\Order\OrderData('number',null,'订单数',$uid));
});
$row->column(3, function (Column $column) use ($uid) {
$column->row(new Examples\Order\OrderData('amount',null,'订单金额(元)',$uid));
});
}); });
} }

6
app/Admin/Controllers/ImsCjdcOrderMainController.php

@ -156,10 +156,10 @@ class ImsCjdcOrderMainController extends AdminController
$oid = request()->get('order_id'); $oid = request()->get('order_id');
$page = request()->get('page'); $page = request()->get('page');
// 实例化表单类并传递自定义参数 // 实例化表单类并传递自定义参数
$detail = MyDetailPage::make(['order_id' => $oid]);
return $content->header('订单详情')
$detail = MyDetailPage::make(['order_id' => $oid,'page'=>$page]);
return $content->header("<a href='order?page={$page}'><<返回</a>")
->breadcrumb( ->breadcrumb(
['text' => '列表', 'url' => "order?page={$page}"],
['text' => '返回', 'url' => "order?page={$page}"],
['text' => '详情', 'url' => 'detail'] ['text' => '详情', 'url' => 'detail']
) )
->body(Lazy::make($detail)); ->body(Lazy::make($detail));

12
app/Admin/Controllers/LanzuCsInfoController.php

@ -41,6 +41,7 @@ class LanzuCsInfoController extends AdminController
$grid->disableCreateButton(); $grid->disableCreateButton();
$grid->disableEditButton(); $grid->disableEditButton();
$grid->disableFilterButton(); $grid->disableFilterButton();
$grid->disableActions();
} }
$grid->id->sortable(); $grid->id->sortable();
$grid->name; $grid->name;
@ -152,6 +153,17 @@ class LanzuCsInfoController extends AdminController
$row = $model::find($id); $row = $model::find($id);
$ad = $adu->find($row->admin_user_id); $ad = $adu->find($row->admin_user_id);
$ad->status = $form->status; $ad->status = $form->status;
$images = new Images();
$param = "p=index&sid={$row->admin_user_id}";
$path = 'zh_cjdianc/pages/Liar/loginindex';
$qrcode = $images->createQrCode($param, $path);
$fileName = 'public/upload/' . 'qrcode' . '/' . date('Y') . '/' . date('m-d') . '/' . rand(100000000000000, 999999999999999) . '.png';
$result = $images->uploadOss($qrcode, $fileName);
if ($result == true) {
//>>3.保存二维码路径
$row->qrcode_path = $fileName;
$row->save();
}
$ad->save(); $ad->save();
} }
}); });

2
app/Admin/Extensions/MyDetailPage.php

@ -31,6 +31,7 @@ class MyDetailPage extends LazyRenderable
$result = ImsCjdcOrder::getOrdersData($order['global_order_id'],$order['id']); $result = ImsCjdcOrder::getOrdersData($order['global_order_id'],$order['id']);
$orders = json_encode($result['orders']); $orders = json_encode($result['orders']);
$showRefund = json_encode($result['show_refund']); $showRefund = json_encode($result['show_refund']);
$path = "order?page=".$this->page;
Admin::script( Admin::script(
<<<JS <<<JS
var orders = JSON.stringify($orders) var orders = JSON.stringify($orders)
@ -70,6 +71,7 @@ class MyDetailPage extends LazyRenderable
order_child_id:null, order_child_id:null,
show_refund_2:true, show_refund_2:true,
show_refund_3:false, show_refund_3:false,
path:"{$path}"
}, },
methods: { methods: {
refundNote(name,order_goods_id,order_child_id) { refundNote(name,order_goods_id,order_child_id) {

8
app/Admin/Metrics/Examples/Community/TotalUser.php

@ -10,10 +10,16 @@ use Dcat\Admin\Widgets\Metrics\Card;
class TotalUser extends Card class TotalUser extends Card
{ {
public function __construct($title = null, $icon = null)
{
parent::__construct($title, $icon);
}
protected function init() protected function init()
{ {
parent::init(); parent::init();
$this->title = '社区绑定用户数';
$this->title = '绑定人数';
$adu = Admin::user(); $adu = Admin::user();
if ($adu->isRole('lanzu_cs')){ if ($adu->isRole('lanzu_cs')){
$this->content(LanzuUserRelationBind::getCount($adu->id)); $this->content(LanzuUserRelationBind::getCount($adu->id));

100
app/Admin/Metrics/Examples/Order/OrderData.php

@ -1,6 +1,6 @@
<?php <?php
namespace App\Admin\Metrics\Examples\Order;
namespace App\Admin\Metrics\Examples\Order;
use App\Models\ImsCjdcOrder; use App\Models\ImsCjdcOrder;
@ -14,11 +14,14 @@ class OrderData extends Card
protected $title; protected $title;
protected $data_type; protected $data_type;
protected $market_id; protected $market_id;
public function __construct($data_type=null,$market_id=null,$title = null, $icon = null)
protected $user_ids;
public function __construct($data_type = null, $market_id = null, $title = null, $uid = [], $icon = null)
{ {
$this->title = $title; $this->title = $title;
$this->data_type = $data_type; $this->data_type = $data_type;
$this->market_id = $market_id; $this->market_id = $market_id;
$this->user_ids = $uid;
parent::__construct($title, $icon); parent::__construct($title, $icon);
} }
@ -26,11 +29,13 @@ class OrderData extends Card
{ {
parent::init(); // TODO: Change the autogenerated stub parent::init(); // TODO: Change the autogenerated stub
$this->dropdown([ $this->dropdown([
'1'=>'今日',
'-1'=>'昨日',
'7'=>'过去一周',
'30'=>'本月',
'-30'=>'上月'
'1' => '今日',
'-1' => '昨日',
'7' => '最近7天',
'w' => '本周',
'lw' => '上周',
'30' => '本月',
'-30' => '上月'
]); ]);
} }
@ -40,64 +45,84 @@ class OrderData extends Card
$type = $request->get('option');//数据选项 $type = $request->get('option');//数据选项
$data_type = $request->get('data_type');//数据类型 $data_type = $request->get('data_type');//数据类型
$market_id = $request->get('market_id');//市场id $market_id = $request->get('market_id');//市场id
$this->content($this->orderNum($data_type,$type,$market_id));
$user_ids = $request->get('user_ids');//市场id
$this->content($this->orderNum($data_type, $type, $market_id, $user_ids));
} }
public function orderDataBuild($type=null,$marketId=null)
public function orderDataBuild($type = null, $marketId = null)
{ {
$where = []; $where = [];
$where['type'] = 1; $where['type'] = 1;
if ($marketId){
if (is_array($marketId)){
$where[] = ['in'=>['market_id'=>$marketId]];
}else{
if ($marketId) {
if (is_array($marketId)) {
$where[] = ['in' => ['market_id' => $marketId]];
} else {
$where['market_id'] = $marketId; $where['market_id'] = $marketId;
} }
} }
switch ($type){
switch ($type) {
case '1': case '1':
$beginTime=mktime(0,0,0,date('m'),date('d'),date('Y'));
$endTime=mktime(0,0,0,date('m'),date('d')+1,date('Y'))-1;
$beginTime = mktime(0, 0, 0, date('m'), date('d'), date('Y'));
$endTime = mktime(0, 0, 0, date('m'), date('d') + 1, date('Y')) - 1;
break; break;
case '-1': case '-1':
$beginTime=mktime(0,0,0,date('m'),date('d')-1,date('Y'));
$endTime=mktime(0,0,0,date('m'),date('d'),date('Y'))-1;
$beginTime = mktime(0, 0, 0, date('m'), date('d') - 1, date('Y'));
$endTime = mktime(0, 0, 0, date('m'), date('d'), date('Y')) - 1;
break; break;
case '7': case '7':
$beginTime=mktime(0,0,0,date('m'),date('d')-7,date('Y'));
$endTime=mktime(0,0,0,date('m'),date('d')+1,date('Y'))-1;
$beginTime = mktime(0, 0, 0, date('m'), date('d') - 7, date('Y'));
$endTime = mktime(0, 0, 0, date('m'), date('d') + 1, date('Y')) - 1;
break;
case 'w':
$beginTime = mktime(0, 0, 0, date("m"), date("d") - date("w") + 1, date("Y"));
$endTime = mktime(23, 59, 59, date("m"), date("d") - date("w") + 7, date("Y"));
break;
case 'lw':
$beginTime = mktime(0, 0, 0, date("m"), date("d") - date("w") + 1 - 7, date("Y"));
$endTime = mktime(23, 59, 59, date("m"), date("d") - date("w") + 7 - 7, date("Y"));
break; break;
case '30': case '30':
$beginTime=mktime(0,0,0,date('m'),1,date('Y'));
$endTime=mktime(23,59,59,date('m'),date('t'),date('Y'));
$beginTime = mktime(0, 0, 0, date('m'), 1, date('Y'));
$endTime = mktime(23, 59, 59, date('m'), date('t'), date('Y'));
break; break;
case '-30': case '-30':
$beginTime=mktime(0,0,0,date('m')-1,1,date('Y'));
$endTime=strtotime(date("Y-m-d H:i:s",mktime(23,59,59,date("m") ,0,date("Y"))));
$beginTime = mktime(0, 0, 0, date('m') - 1, 1, date('Y'));
$endTime = strtotime(date("Y-m-d H:i:s", mktime(23, 59, 59, date("m"), 0, date("Y"))));
break; break;
default: default:
$beginTime=mktime(0,0,0,date('m'),date('d'),date('Y'));
$endTime=mktime(0,0,0,date('m'),date('d')+1,date('Y'))-1;
$beginTime = mktime(0, 0, 0, date('m'), date('d'), date('Y'));
$endTime = mktime(0, 0, 0, date('m'), date('d') + 1, date('Y')) - 1;
break; break;
} }
$build = ImsCjdcOrderMain $build = ImsCjdcOrderMain
::whereBetween('created_at',[$beginTime,$endTime])
->whereIn('state',[3,4,5,10])
::whereBetween('created_at', [$beginTime, $endTime])
->whereIn('state', [3, 4, 5, 10])
->where($where); ->where($where);
return $build; return $build;
} }
public function orderNum($data_type,$type,$marketId)
public function orderNum($data_type, $type, $marketId, $user_ids)
{ {
$build = $this->orderDataBuild($type,$marketId);
if ($data_type=='number'){
$build = $this->orderDataBuild($type, $marketId);
if ($user_ids){
$build = $build->whereIn('user_id',$user_ids);
}
if ($data_type == 'number') {
$result = $build->count(); $result = $build->count();
}elseif ($data_type=='amount'){
} elseif ($data_type == 'amount') {
$result = $build->sum('money'); $result = $build->sum('money');
}else{
} elseif ($data_type == 'user') {
if ($user_ids){
$result = $build->groupBy('user_id')
->pluck('user_id')
->toArray();
$result = count($result);
}else{
$result = 0;
}
} else {
$result = 0; $result = 0;
} }
return $result; return $result;
@ -105,11 +130,12 @@ class OrderData extends Card
// 传递自定义参数到 handle 方法 // 传递自定义参数到 handle 方法
public function parameters() : array
public function parameters(): array
{ {
return [ return [
'data_type'=>$this->data_type,
'market_id'=>$this->market_id,
'data_type' => $this->data_type,
'market_id' => $this->market_id,
'user_ids' => $this->user_ids
]; ];
} }

4
public/css/detail.css

@ -47,3 +47,7 @@
float: right; float: right;
font-size: 1.4rem; font-size: 1.4rem;
} }
.return{
float: left;
font-size: 1.4rem;
}

1
resources/views/orderdetail.php

@ -56,6 +56,7 @@
</div> </div>
<p v-if="item.note">店铺备注: ({{item.note}})</p> <p v-if="item.note">店铺备注: ({{item.note}})</p>
</div> </div>
<a class="return" :href="path"><<返回</a>
<div class="money"> <div class="money">
总金额: {{total_money}} 总金额: {{total_money}}
&ensp;&ensp; &ensp;&ensp;

Loading…
Cancel
Save