Skip to content

Commit 123852e

Browse files
committed
修复菜单排序字段默认值
1 parent ef719aa commit 123852e

File tree

3 files changed

+36
-4
lines changed

3 files changed

+36
-4
lines changed

app/Enums/MySqlEnum.php

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
<?php
2+
/*
3+
|-----------------------------------------------------------------------------------------------------------
4+
| laravel-admin-cms [ 简单高效的开发插件系统 ]
5+
|-----------------------------------------------------------------------------------------------------------
6+
| Licensed ( MIT )
7+
| ----------------------------------------------------------------------------------------------------------
8+
| Copyright (c) 2020-2021 https://gitee.com/liaodeiy/laravel-admin-cms All rights reserved.
9+
| ----------------------------------------------------------------------------------------------------------
10+
| Author: 廖春贵 < liaodeity@gmail.com >
11+
|-----------------------------------------------------------------------------------------------------------
12+
*/
13+
14+
namespace App\Enums;
15+
16+
17+
class MySqlEnum extends BaseEnum
18+
{
19+
const SMALLINT_MIN = -32767;//
20+
const SMALLINT_MAX = 32767;//
21+
}

app/Http/Controllers/Admin/MenuController.php

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515

1616
use App\Enums\MenuStatusEnum;
1717
use App\Enums\MenuTypeEnum;
18+
use App\Enums\MySqlEnum;
1819
use App\Http\Controllers\Controller;
1920
use App\Libs\QueryWhere;
2021
use App\Models\Log;
@@ -95,11 +96,13 @@ public function create ()
9596
if (!check_admin_auth ($this->module_name . '_' . __FUNCTION__)) {
9697
return auth_error_return ();
9798
}
98-
$menu = $this->repository->makeModel ();
99+
$menu = $this->repository->makeModel ();
99100
$_method = 'POST';
100101
$menus = Menu::orderBy ('sort', 'asc')->get ();
101102
$menus = $menus->toArray ();
102103
$menuPidList = list_to_tree ($menus);
104+
$maxSort = Menu::max ('sort');
105+
$menu->sort = $maxSort ? $maxSort + 1 : 99;
103106

104107
return view ('admin.' . $this->module_name . '.add', compact ('menu', '_method', 'menuPidList'));
105108
}
@@ -115,9 +118,11 @@ public function store (Request $request)
115118
$request->validate ([
116119
'Menu.title' => 'required',
117120
'Menu.status' => 'required',
121+
'Menu.sort' => 'integer|between:' . MySqlEnum::SMALLINT_MIN . ',' . MySqlEnum::SMALLINT_MAX
118122
], [], [
119123
'Menu.title' => '菜单名称',
120124
'Menu.status' => '状态',
125+
'Menu.sort' => '排序'
121126
]);
122127
if (!check_admin_auth ($this->module_name . ' edit')) {
123128
return auth_error_return ();
@@ -127,7 +132,7 @@ public function store (Request $request)
127132
try {
128133
$input['type'] = MenuTypeEnum::MENU;
129134
$input['uuid'] = get_uuid ();
130-
$menu = $this->repository->create ($input);
135+
$menu = $this->repository->create ($input);
131136
if ($menu) {
132137
Log::createLog (Log::EDIT_TYPE, '添加菜单', $menu->toArray (), $menu->id, Menu::class);
133138

@@ -187,9 +192,11 @@ public function update (Request $request, Menu $menu)
187192
$request->validate ([
188193
'Menu.title' => 'required',
189194
'Menu.status' => 'required',
195+
'Menu.sort' => 'integer|between:' . MySqlEnum::SMALLINT_MIN . ',' . MySqlEnum::SMALLINT_MAX
190196
], [], [
191197
'Menu.title' => '菜单名称',
192198
'Menu.status' => '状态',
199+
'Menu.sort' => '排序'
193200
]);
194201
if (!check_admin_auth ($this->module_name . ' edit')) {
195202
return auth_error_return ();
@@ -213,9 +220,13 @@ public function update (Request $request, Menu $menu)
213220

214221
private function formatRequestInput (string $__FUNCTION__, $input)
215222
{
216-
if(isset($input['pid']) && empty($input['pid'])){
223+
if (isset($input['pid']) && empty($input['pid'])) {
217224
$input['pid'] = 0;
218225
}
226+
if (isset($input['sort']) && $input['sort'] == '') {
227+
unset($input['sort']);
228+
}
229+
219230
return $input;
220231
}
221232

resources/views/admin/menu/add.blade.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ class="layui-input">
7777
<div class="layui-form-item">
7878
<label class="layui-form-label">排序 <span class="color-red"></span></label>
7979
<div class="layui-input-block">
80-
<input type="number" name="Menu[sort]" value="{{$menu->sort ?? ''}}" maxlength="100" autocomplete="off"
80+
<input type="number" name="Menu[sort]" value="{{$menu->sort ?? 99}}" maxlength="100" autocomplete="off"
8181
placeholder=""
8282
class="layui-input">
8383
</div>

0 commit comments

Comments
 (0)