+ 分红类型 - 分红比例 + + + [[ scope.row.type_name ]]
+ [[ scope.row.level_name ]] + - 比例[[ scope.row.dividend_rate ]]% + +
From 65c7244380794e68d138fc98d32dd79f6904a500 Mon Sep 17 00:00:00 2001 From: wuhui_zzw <1760308791@qq.com> Date: Wed, 24 Apr 2024 18:02:50 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=EF=BC=9A=E7=BB=8F=E9=94=80?= =?UTF-8?q?=E5=95=86=20-=20=E6=8F=90=E6=88=90=E6=98=8E=E7=BB=86=E6=9F=A5?= =?UTF-8?q?=E7=9C=8B=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../team-dividend/src/PluginApplication.php | 27 +- .../src/admin/TeamDividendController.php | 58 ++++ .../src/models/TeamDividendModel.php | 27 ++ .../views/admin/group-list.blade.php | 272 ++++++++++++++++++ 4 files changed, 381 insertions(+), 3 deletions(-) create mode 100644 plugins/team-dividend/views/admin/group-list.blade.php diff --git a/plugins/team-dividend/src/PluginApplication.php b/plugins/team-dividend/src/PluginApplication.php index c01da7ad..c56bf254 100644 --- a/plugins/team-dividend/src/PluginApplication.php +++ b/plugins/team-dividend/src/PluginApplication.php @@ -404,7 +404,7 @@ class PluginApplication extends \app\common\services\PluginApplication ], ] ], - 'team_dividend_admin_dividend' => [ + /*'team_dividend_admin_dividend' => [ 'name' => '提成明细', 'url' => 'plugin.team-dividend.admin.team-dividend.get-list', 'url_params' => '', @@ -414,7 +414,6 @@ class PluginApplication extends \app\common\services\PluginApplication 'item' => 'team_dividend_admin_dividend', 'parents' => ['team_dividend'], 'child' => [ - 'team_dividend_admin_dividend_index' => [ 'name' => '浏览列表', 'url' => 'plugin.team-dividend.admin.team-dividend.get-list', @@ -425,7 +424,6 @@ class PluginApplication extends \app\common\services\PluginApplication 'item' => 'team_dividend_admin_dividend_index', 'parents' => ['team_dividend', 'team_dividend_admin_dividend'], ], - 'plugin_team_dividend_level_export' => [ 'name' => '导出 EXCEL', 'url' => 'plugin.team-dividend.admin.team-dividend.export', @@ -447,7 +445,30 @@ class PluginApplication extends \app\common\services\PluginApplication 'parents' => ['team_dividend', 'team_dividend_admin_dividend'], ], ] + ],*/ + 'team_dividend_admin_dividend_new' => [ + 'name' => '提成明细', + 'url' => 'plugin.team-dividend.admin.team-dividend.group-list', + 'url_params' => '', + 'permit' => 1, + 'menu' => 1, + 'icon' => '', + 'item' => 'team_dividend_admin_dividend', + 'parents' => ['team_dividend'], + 'child' => [ + 'team_dividend_admin_dividend_index_new' => [ + 'name' => '浏览列表', + 'url' => 'plugin.team-dividend.admin.team-dividend.group-list', + 'url_params' => '', + 'permit' => 1, + 'menu' => 0, + 'icon' => '', + 'item' => 'team_dividend_admin_dividend_index', + 'parents' => ['team_dividend', 'team_dividend_admin_dividend'], + ], + ] ], + 'team_dividend_admin_redpack' => [ 'name' => '红包奖励记录', 'url' => 'plugin.team-dividend.admin.RedpackLog.index', diff --git a/plugins/team-dividend/src/admin/TeamDividendController.php b/plugins/team-dividend/src/admin/TeamDividendController.php index 11c65c61..f0f4c144 100644 --- a/plugins/team-dividend/src/admin/TeamDividendController.php +++ b/plugins/team-dividend/src/admin/TeamDividendController.php @@ -8,6 +8,7 @@ use app\common\components\BaseController; use app\common\helpers\PaginationHelper; use app\common\models\Order; use app\common\services\ExportService; +use Illuminate\Support\Facades\DB; use Yunshop\TeamDividend\Listener\OrderCreatedListener; use Yunshop\TeamDividend\models\Lose; use Yunshop\TeamDividend\models\TeamDividendLevelModel; @@ -116,6 +117,63 @@ class TeamDividendController extends BaseController } $exportService->export($file_name, $exportData, \Request::query('route')); } + /** + * Common: 分组内容 + * Author: wu-hui + * Time: 2024/04/24 17:17 + * @return array|\Illuminate\Http\JsonResponse|string + * @throws \Throwable + */ + public function groupList(){ + if(request()->isMethod('post')){ + //参数获取 + $pageSize = request()->input('page_size',10); + $search = request()->input('search'); + // 获取列表信息 + $field = [ + 'id', + 'order_sn', + 'created_at', + DB::raw('sum(amount) as total_amount') + ]; + + $model = TeamDividendModel::getSearch($search, $field) + ->groupBy('order_sn') + ->orderBy('id','desc'); + $list = $model->paginate($pageSize); + $result = $list ? $list->toArray() : []; + + return $this->successJson('success',[ + 'current_page' => $result['current_page'], + 'data' => $result['data'], + 'last_page' => $result['last_page'], + ]); + } + + return view('Yunshop\TeamDividend::admin.group-list')->render(); + } + /** + * Common: 分组详情 + * Author: wu-hui + * Time: 2024/04/24 17:29 + * @return \Illuminate\Http\JsonResponse + */ + public function groupListDetail(){ + //参数获取 + $pageSize = request()->input('page_size',10); + $search = request()->input('search'); + // 获取列表信息 + $model = TeamDividendModel::getSearch($search); + $list = $model->paginate($pageSize); + $result = $list ? $list->toArray() : []; + + return $this->successJson('success',[ + 'current_page' => $result['current_page'], + 'data' => $result['data'], + 'last_page' => $result['last_page'], + ]); + } + public function test(){ // date_default_timezone_set("PRC"); diff --git a/plugins/team-dividend/src/models/TeamDividendModel.php b/plugins/team-dividend/src/models/TeamDividendModel.php index 1ef71c3d..96c934f6 100644 --- a/plugins/team-dividend/src/models/TeamDividendModel.php +++ b/plugins/team-dividend/src/models/TeamDividendModel.php @@ -470,4 +470,31 @@ class TeamDividendModel extends BaseModel return $query->orderBy('yz_team_dividend.id', 'desc'); } + /** + * Common: 搜索内容 + * Author: wu-hui + * Time: 2024/04/24 17:16 + * @param $search + * @param array|string[] $field + * @return mixed + */ + public static function getSearch($search,array $field = ['*']){ + // 条件生成 + $where = []; + if($search['member_id'] > 0) $where[] = ['member_id','=',$search['member_id']]; + if(!empty($search['order_sn'])) $where[] = ['order_sn','=',$search['order_sn']]; + if(isset($search['type']) && $search['type'] != '') $where[] = ['type','=',$search['type']]; + // 列表获取 + return self::uniacid() + ->select($field) + ->where($where) + ->when(isset($search['status']) && $search['status'] != '',function($query) use ($search){ + $query->where('status', $search['status']); + }) + ->with([ + 'hasOneMember' => function($query){ + $query->select(['uid','nickname','realname','avatar']); + } + ]); + } } \ No newline at end of file diff --git a/plugins/team-dividend/views/admin/group-list.blade.php b/plugins/team-dividend/views/admin/group-list.blade.php new file mode 100644 index 00000000..4c41d48a --- /dev/null +++ b/plugins/team-dividend/views/admin/group-list.blade.php @@ -0,0 +1,272 @@ +@extends('layouts.base') + +@section('content') +