增加:会员付费权益支持增加和删除

This commit is contained in:
wuhui_zzw 2024-06-24 09:43:11 +08:00
parent 9009aac90f
commit 8caae2f633
3 changed files with 66 additions and 34 deletions

View File

@ -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([]);
}
}
}

View File

@ -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)
{

View File

@ -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' => '编辑状态',
]);