链街Dcat后台
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

98 lines
4.2 KiB

<?php
namespace App\Admin\Controllers\v3;
use App\Admin\Actions\Lazy\CsInfo;
use App\Admin\Actions\Tools\SalesmanOption;
use App\Admin\Actions\Tools\SalesmanOptionCopy;
use App\Http\Controllers\TestController;
use App\Models\LanzuMarket;
use App\Models\v3\SalesmanData;
use Dcat\Admin\Controllers\AdminController;
use Dcat\Admin\Grid;
use Dcat\Admin\Widgets\Modal;
use Maatwebsite\Excel\Facades\Excel;
class Salesman extends AdminController
{
protected function grid()
{
if (false) {
return Grid::make(new SalesmanData(), function (Grid $grid) {
$grid->paginate(10);
$grid->column('person_id', '懒ID');
$grid->column('nick_name', '拓展员');
$grid->column('total', '社区总数');
$grid->column('t_num', '今日订单数');
$grid->column('t_amount', '今日成交额');
$grid->column('y_num', '昨日订单数');
$grid->column('y_amount', '昨日成交额');
$grid->column('w_num', '本周订单数');
$grid->column('w_amount', '本周成交额');
$grid->column('m_num', '本月订单数');
$grid->column('m_amount', '本月成交额');
$grid->disableActions();
$grid->filter(function (Grid\Filter $filter) {
$filter->equal('person_id', '拓展员懒ID');
});
});
} else {
return Grid::make(new \App\Admin\Repositories\v3\Salesman(), function (Grid $grid) {
$grid->tools(new SalesmanOption());
$name = request()->get('name') ?(request()->get('name')=='全部'?'总':request()->get('name')): '';
$option = request()->get('option') ?? 0;
$searchTime = request()->input('created_at');//搜索时间
if ($searchTime){
$content = "<a href='salesman_export?option={$option}&name={$name}&created_at[start]={$searchTime['start']}&created_at[end]={$searchTime['end']}' class='btn btn-primary feather icon-download'> 导出 </a>";
}else{
$content = "<a href='salesman_export?option={$option}&name={$name}' class='btn btn-primary feather icon-download'> 导出 </a>";
}
$grid->paginate(10);
$grid->tools($content);
$grid->column('person_id', '懒ID');
$grid->column('nick_name', '拓展员');
$grid->column('total', '社区总数');
$grid->column('user_id', '绑定用户数')->display(function ($uid) {
if ($uid) {
return count(explode(',', $uid));
}
return 0;
});
//$grid->column('order_user_num', $name.'下单人数');
$grid->column('order_num', $name . '订单数');
$grid->column('order_amount', $name . '成交额');
$grid->actions(function (Grid\Displayers\Actions $actions) use ($name, $option,$searchTime) {
$row = $actions->row->toArray();
$actions->append(new \App\Admin\Extensions\Salesman($row['admin_user_id'], $name, $option,$searchTime, '详情'));
});
$grid->disableCreateButton();
$grid->disableEditButton();
$grid->disableDeleteButton();
$grid->disableViewButton();
$grid->filter(function (Grid\Filter $filter)use ($option) {
$filter->equal('person_id', '拓展员懒ID');
if ($option==0){
$filter->between('created_at','日期')->datetime();
}
});
});
}
}
/**
* 数据导出
* @return \Symfony\Component\HttpFoundation\BinaryFileResponse
*/
public function export()
{
$name = request()->get('name');
$option = request()->get('option');
$time = date('Y-m-d H:i:s',time());
return Excel::download(new \App\Admin\Actions\Exporter\SalesMan($option,$name), $time.'.xlsx');
}
}