From 8caae2f633ab96241acfbd8765b8860ffb58abe1 Mon Sep 17 00:00:00 2001 From: wuhui_zzw <1760308791@qq.com> Date: Mon, 24 Jun 2024 09:43:11 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=EF=BC=9A=E4=BC=9A=E5=91=98?= =?UTF-8?q?=E4=BB=98=E8=B4=B9=E6=9D=83=E7=9B=8A=E6=94=AF=E6=8C=81=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E5=92=8C=E5=88=A0=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../user/MemberinterestsRepository.php | 90 ++++++++++++------- app/controller/admin/user/MemberInterests.php | 7 +- route/admin/member.php | 3 + 3 files changed, 66 insertions(+), 34 deletions(-) diff --git a/app/common/repositories/user/MemberinterestsRepository.php b/app/common/repositories/user/MemberinterestsRepository.php index 02495b6..0f96327 100644 --- a/app/common/repositories/user/MemberinterestsRepository.php +++ b/app/common/repositories/user/MemberinterestsRepository.php @@ -111,36 +111,64 @@ class MemberinterestsRepository extends BaseRepository return $this->dao->getSearch(['type' => $type,'status' => 1])->whereIn('interests_id',$ids)->select(); } - public function svipForm(int $id) - { - $data = $this->dao->get($id); - if (!$data) throw new ValidateException('数据不存在'); - $form = Elm::createForm(Route::buildUrl('systemUserSvipInterestsUpdate', ['id' => $id])->build()); - $formData = $data->toArray(); - $rules = [ - Elm::select('has_type', '权益名称')->options(function(){ - foreach (self::INTERESTS_TYPE as $k => $v) { - $res[] = ['value' => $k, 'label' => $v['label']]; - } - return $res; - })->disabled(true), - Elm::input('name', '展示名称')->required(), - Elm::input('info', '权益简介')->required(), - Elm::frameImage('pic', '未开通图标', '/' . config('admin.admin_prefix') . '/setting/uploadPicture?field=pic&type=1') - ->value($formData['pic'] ?? '')->required() - ->modal(['modal' => false]) - ->width('1000px') - ->height('600px'), - Elm::frameImage('on_pic', '已开通图标', '/' . config('admin.admin_prefix') . '/setting/uploadPicture?field=on_pic&type=1') - ->value($formData['on_pic'] ?? '')->required() - ->modal(['modal' => false]) - ->width('1000px') - ->height('600px'), - Elm::input('link', '跳转内部链接'), - ]; - $msg = self::INTERESTS_TYPE[$formData['has_type']]['msg']; - if ($msg) $rules[] = Elm::number('value',$msg,0); - $form->setRule($rules); - return $form->setTitle('编辑会员权益')->formData($formData); + public function svipForm(int $id){ + // 根据是否存在id 判断为添加还是修改 + if($id > 0){ + $data = $this->dao->get($id); + $form = Elm::createForm(Route::buildUrl('systemUserSvipInterestsUpdate', ['id' => $id])->build()); + $formData = $data ? $data->toArray() : []; + $rules = [ + Elm::select('has_type', '权益名称')->options(function(){ + foreach (self::INTERESTS_TYPE as $k => $v) { + $res[] = ['value' => $k, 'label' => $v['label']]; + } + return $res ?? []; + }), + Elm::input('name', '展示名称')->required(), + Elm::input('info', '权益简介')->required(), + Elm::frameImage('pic', '未开通图标', '/' . config('admin.admin_prefix') . '/setting/uploadPicture?field=pic&type=1') + ->value($formData['pic'] ?? '')->required() + ->modal(['modal' => false]) + ->width('1000px') + ->height('600px'), + Elm::frameImage('on_pic', '已开通图标', '/' . config('admin.admin_prefix') . '/setting/uploadPicture?field=on_pic&type=1') + ->value($formData['on_pic'] ?? '')->required() + ->modal(['modal' => false]) + ->width('1000px') + ->height('600px'), + Elm::switches('status', '状态', (int)$data['status'])->activeValue(1)->inactiveValue(0)->inactiveText('隐藏')->activeText('显示'), + Elm::input('link', '跳转内部链接'), + ]; + $msg = self::INTERESTS_TYPE[$formData['has_type']]['msg'] ?? ''; + if ($msg) $rules[] = Elm::number('value',$msg,0); + $form->setRule($rules); + return $form->setTitle('编辑会员权益')->formData($formData); + }else{ + $form = Elm::createForm(Route::buildUrl('systemUserSvipInterestsCreate')->build()); + $rules = [ + Elm::select('has_type', '权益名称')->options(function(){ + foreach (self::INTERESTS_TYPE as $k => $v) { + $res[] = ['value' => $k, 'label' => $v['label']]; + } + return $res; + }), + Elm::input('name', '展示名称')->required(), + Elm::input('info', '权益简介')->required(), + Elm::frameImage('pic', '未开通图标', '/' . config('admin.admin_prefix') . '/setting/uploadPicture?field=pic&type=1') + ->required() + ->modal(['modal' => false]) + ->width('1000px') + ->height('600px'), + Elm::frameImage('on_pic', '已开通图标', '/' . config('admin.admin_prefix') . '/setting/uploadPicture?field=on_pic&type=1') + ->required() + ->modal(['modal' => false]) + ->width('1000px') + ->height('600px'), + Elm::switches('status', '状态', 1)->activeValue(1)->inactiveValue(0)->inactiveText('隐藏')->activeText('显示'), + Elm::input('link', '跳转内部链接'), + ]; + $form->setRule($rules); + return $form->setTitle('编辑会员权益')->formData([]); + } } } diff --git a/app/controller/admin/user/MemberInterests.php b/app/controller/admin/user/MemberInterests.php index 1846eec..2d5d130 100644 --- a/app/controller/admin/user/MemberInterests.php +++ b/app/controller/admin/user/MemberInterests.php @@ -76,7 +76,7 @@ class MemberInterests extends BaseController public function checkParams() { - $data = $this->request->params(['brokerage_level', 'name', 'info', 'pic', 'type',['has_type',0],['link',''],['value',''],['on_pic','']]); + $data = $this->request->params(['brokerage_level', 'name', 'info', 'pic', 'type',['has_type',0],['link',''],['value',''],['on_pic',''],['status', 1]]); if ($data['type'] == $this->repository::TYPE_FREE) { if(!$data['name'] || !$data['pic'] || empty($data['brokerage_level'])) throw new ValidateException('请填写正确的权益信息'); @@ -94,9 +94,10 @@ class MemberInterests extends BaseController public function getSvipInterests() { + [$page, $limit] = $this->getPage(); $where['type'] = $this->repository::TYPE_SVIP; - $data = $this->repository->getList($where,1,10); - return app('json')->success($data['list']); + $data = $this->repository->getList($where,$page,$limit); + return app('json')->success($data); } public function updateSvipForm($id) { diff --git a/route/admin/member.php b/route/admin/member.php index 23fb2e6..779501b 100644 --- a/route/admin/member.php +++ b/route/admin/member.php @@ -118,6 +118,9 @@ Route::group(function () { Route::post('update/:id', '/update')->name('systemUserSvipInterestsUpdate')->option([ '_alias' => '编辑', ]); + Route::post('create', '/create')->name('systemUserSvipInterestsCreate')->option([ + '_alias' => '添加', + ]); Route::post('status/:id', '/switchWithStatus')->name('systemUserSvipInterestsStatus')->option([ '_alias' => '编辑状态', ]);