15
15
16
16
use App \Enums \MenuStatusEnum ;
17
17
use App \Enums \MenuTypeEnum ;
18
+ use App \Enums \MySqlEnum ;
18
19
use App \Http \Controllers \Controller ;
19
20
use App \Libs \QueryWhere ;
20
21
use App \Models \Log ;
@@ -95,11 +96,13 @@ public function create ()
95
96
if (!check_admin_auth ($ this ->module_name . '_ ' . __FUNCTION__ )) {
96
97
return auth_error_return ();
97
98
}
98
- $ menu = $ this ->repository ->makeModel ();
99
+ $ menu = $ this ->repository ->makeModel ();
99
100
$ _method = 'POST ' ;
100
101
$ menus = Menu::orderBy ('sort ' , 'asc ' )->get ();
101
102
$ menus = $ menus ->toArray ();
102
103
$ menuPidList = list_to_tree ($ menus );
104
+ $ maxSort = Menu::max ('sort ' );
105
+ $ menu ->sort = $ maxSort ? $ maxSort + 1 : 99 ;
103
106
104
107
return view ('admin. ' . $ this ->module_name . '.add ' , compact ('menu ' , '_method ' , 'menuPidList ' ));
105
108
}
@@ -115,9 +118,11 @@ public function store (Request $request)
115
118
$ request ->validate ([
116
119
'Menu.title ' => 'required ' ,
117
120
'Menu.status ' => 'required ' ,
121
+ 'Menu.sort ' => 'integer|between: ' . MySqlEnum::SMALLINT_MIN . ', ' . MySqlEnum::SMALLINT_MAX
118
122
], [], [
119
123
'Menu.title ' => '菜单名称 ' ,
120
124
'Menu.status ' => '状态 ' ,
125
+ 'Menu.sort ' => '排序 '
121
126
]);
122
127
if (!check_admin_auth ($ this ->module_name . ' edit ' )) {
123
128
return auth_error_return ();
@@ -127,7 +132,7 @@ public function store (Request $request)
127
132
try {
128
133
$ input ['type ' ] = MenuTypeEnum::MENU ;
129
134
$ input ['uuid ' ] = get_uuid ();
130
- $ menu = $ this ->repository ->create ($ input );
135
+ $ menu = $ this ->repository ->create ($ input );
131
136
if ($ menu ) {
132
137
Log::createLog (Log::EDIT_TYPE , '添加菜单 ' , $ menu ->toArray (), $ menu ->id , Menu::class);
133
138
@@ -187,9 +192,11 @@ public function update (Request $request, Menu $menu)
187
192
$ request ->validate ([
188
193
'Menu.title ' => 'required ' ,
189
194
'Menu.status ' => 'required ' ,
195
+ 'Menu.sort ' => 'integer|between: ' . MySqlEnum::SMALLINT_MIN . ', ' . MySqlEnum::SMALLINT_MAX
190
196
], [], [
191
197
'Menu.title ' => '菜单名称 ' ,
192
198
'Menu.status ' => '状态 ' ,
199
+ 'Menu.sort ' => '排序 '
193
200
]);
194
201
if (!check_admin_auth ($ this ->module_name . ' edit ' )) {
195
202
return auth_error_return ();
@@ -213,9 +220,13 @@ public function update (Request $request, Menu $menu)
213
220
214
221
private function formatRequestInput (string $ __FUNCTION__ , $ input )
215
222
{
216
- if (isset ($ input ['pid ' ]) && empty ($ input ['pid ' ])){
223
+ if (isset ($ input ['pid ' ]) && empty ($ input ['pid ' ])) {
217
224
$ input ['pid ' ] = 0 ;
218
225
}
226
+ if (isset ($ input ['sort ' ]) && $ input ['sort ' ] == '' ) {
227
+ unset($ input ['sort ' ]);
228
+ }
229
+
219
230
return $ input ;
220
231
}
221
232
0 commit comments