添加后台获奖列表查看

main
liutk 2024-05-19 22:34:31 +08:00
parent 74f018c37d
commit 54faeb2ca7
10 changed files with 143 additions and 9 deletions

View File

@ -44,11 +44,11 @@ class ActivityController extends AdminController
"0"=>"<span class='label label-default'>未发布</span>",
"1"=>"<span class='label label-danger'>进行中</span>",
"2"=>"<span class='label label-success'>已结束</span>",
"*"=> '其他:${gender}'
"*"=> '其他:${state}'
]),
amis()->TableColumn('logs_count', __('admin.activities.user_count')),
amis()->TableColumn('start_at', __('admin.activities.start_at')),
amis()->TableColumn('end_at', __('admin.activities.end_at')),
amis()->TableColumn('start_at', __('admin.activities.start_at'))->type('datetime'),
amis()->TableColumn('end_at', __('admin.activities.end_at'))->type('datetime'),
amis()->TableColumn('created_at', __('admin.created_at'))->type('datetime')->sortable(true),
Operation::make()->label(__('admin.actions'))->buttons([
@ -156,7 +156,7 @@ class ActivityController extends AdminController
"0"=>"<span class='label label-default'>未发布</span>",
"1"=>"<span class='label label-info'>进行中</span>",
"2"=>"<span class='label label-success'>已结束</span>",
"*"=> '其他:${gender}'
"*"=> '其他:${state}'
]),
amis()->TableColumn('home_field', __('admin.activity_games.home_field')),
amis()->TableColumn('home_logo', __('admin.activity_games.home_logo'))->type('image')->height('30px')->width('30px'),

View File

@ -0,0 +1,77 @@
<?php
namespace App\Admin\Controllers;
use Slowlyo\OwlAdmin\Admin;
use Slowlyo\OwlAdmin\Renderers\Page;
use Slowlyo\OwlAdmin\Renderers\Form;
use Slowlyo\OwlAdmin\Renderers\Operation;
use Slowlyo\OwlAdmin\Controllers\AdminController;
use App\Services\Admin\UserGiftService;
use App\Admin\Components;
class UserGiftController extends AdminController
{
protected string $serviceName = UserGiftService::class;
public function list(): Page
{
$crud = $this->baseCRUD()->tableLayout('fixed')
->headerToolbar([
amis('reload')->align('right'),
amis('filter-toggler')->align('right'),
])
->filter($this->baseFilter()->labelWidth('80px')->body([
]))
->columns([
amis()->TableColumn('activity.name', __('admin.activities.name')),
amis()->TableColumn('gift.name', __('admin.activity_gifts.name')),
amis()->TableColumn('user.nick_name', __('admin.users.nick_name')),
amis()->TableColumn('user.phone', __('admin.users.phone')),
amis()->TableColumn('state', __('admin.user_gifts.state'))->type('mapping')->map([
"0"=>"<span class='label label-default'>未领取</span>",
"1"=>"<span class='label label-danger'>未发货</span>",
"2"=>"<span class='label label-success'>已发货</span>",
"*"=> '其他:${state}'
]),
amis()->TableColumn('consignee', __('admin.user_gifts.consignee')),
amis()->TableColumn('address', __('admin.user_gifts.address')),
amis()->TableColumn('phone', __('admin.user_gifts.phone')),
amis()->TableColumn('shipping_company', __('admin.user_gifts.shipping_company')),
amis()->TableColumn('shipping_number', __('admin.user_gifts.shipping_number')),
]);
return $this->baseList($crud);
}
public function form($isEdit = false): Form
{
return $this->baseForm()->body([
]);
}
public function detail()
{
$form = amisMake()->form()->title('')->panelClassName('border-r border-t-0 border-b-0 border-l-0')->mode('horizontal')
->static(true)->actions([])
->body([
]);
return amisMake()->Grid()->columns([
amis()->Column()->body($form)->md(4),
amis()->Column()->body([
])->md(8),
]);
}
public function detailActions()
{
return [
//返回
amis()->Button()->actionType('cancel')->label(__('admin.back'))->primary()
];
}
}

View File

@ -42,6 +42,8 @@ Route::group([
$router->resource('activity_gifts', \App\Admin\Controllers\ActivityGiftController::class);
$router->resource('user_gifts', \App\Admin\Controllers\UserGiftController::class);
//修改上传
$router->post('upload_file', [\App\Admin\Controllers\IndexController::class, 'uploadFile']);
$router->post('upload_image', [\App\Admin\Controllers\IndexController::class, 'uploadImage']);

View File

@ -0,0 +1,11 @@
<?php
namespace App\Models\Filters;
use Illuminate\Support\Arr;
use EloquentFilter\ModelFilter;
class UserGiftFilter extends ModelFilter
{
}

View File

@ -4,16 +4,27 @@ namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use EloquentFilter\Filterable;
class UserGift extends Model
{
use HasFactory;
use HasFactory,Filterable;
public function scopeSort($q)
{
$q->orderBy('created_at', 'desc');
}
public function user()
{
return $this->belongsTo(User::class, 'user_id');
}
public function activity()
{
return $this->belongsTo(Activity::class, 'activity_id');
}
public function gift()
{
return $this->belongsTo(ActivityGift::class, 'gift_id');

View File

@ -0,0 +1,24 @@
<?php
namespace App\Services\Admin;
use App\Models\UserGift;
use App\Models\Filters\UserGiftFilter;
use App\Traits\UploadTrait;
use Illuminate\Support\Arr;
use Illuminate\Support\Facades\Storage;
/**
* @method UserGift getModel()
* @method UserGift|\Illuminate\Database\Query\Builder query()
*/
class UserGiftService extends BaseService
{
use UploadTrait;
protected string $modelName = UserGift::class;
protected string $modelFilterName = UserGiftFilter::class;
protected array $withRelationships = ['user', 'gift', 'activity'];
}

View File

@ -25,7 +25,7 @@ class AdminMenuSeeder extends Seeder
['title' => 'activity', 'icon' => 'akar-icons:star', 'url' => '/activity', 'order' => 3,
'children' => [
['title'=> 'activites', 'icon'=> 'bx:football', 'url' => '/activities', 'order'=>1],
['title'=> 'activity_gifts', 'icon'=> 'akar-icons:gift', 'url' => '/activity_gifts', 'order'=>1],
['title'=> 'user_gifts', 'icon'=> 'akar-icons:gift', 'url' => '/user_gifts', 'order'=>1],
]
],
['title' => 'web_content', 'icon' => 'ic:outline-collections-bookmark', 'url' => '', 'order'=>4,

View File

@ -346,7 +346,8 @@ return [
'away_logo' => '客场logo',
'game_at' => '比赛时间',
'mark' => '奖励',
'score' => '比分'
'score' => '比分',
'state' => '状态'
],
'activity_gifts' => [
'name' => '奖品名称',
@ -354,4 +355,12 @@ return [
'rank' => '奖励名次',
'explain' => '领奖说明',
],
'user_gifts' => [
'consignee' => '收货人',
'address' => '收货地址',
'phone' => '联系电话',
'shipping_company' => '快递公司',
'shipping_number' => '快递号码',
'state' => '状态',
]
];

View File

@ -15,6 +15,6 @@ return [
'ads' => '广告管理',
'activity' => '活动中心',
'activites'=> '足彩竞猜',
'activity_gifts' => '获奖列表',
'user_gifts' => '获奖列表',
'users' => '会员管理'
];