Commit 9b2caa2a authored by 朱招明's avatar 朱招明

update

parent 4ea84903
......@@ -35,7 +35,8 @@ return new class extends Migration
Schema::create('admin_menus', function (Blueprint $table) {
$table->increments('id');
$table->integer('parent_id')->default(0);
$table->integer('parent_id')->default(0)->comment('上级ID');
$table->integer('order')->default(0)->comment('排序');
$table->string('key',50)->comment('前端路由标识');
$table->string('title', 50)->comment('标题');
$table->string('icon', 50)->nullable();
......@@ -82,8 +83,6 @@ return new class extends Migration
Schema::dropIfExists('admin_users');
Schema::dropIfExists('admin_roles');
Schema::dropIfExists('admin_menus');
Schema::dropIfExists('admin_role_users');
Schema::dropIfExists('admin_role_menus');
Schema::dropIfExists('admin_operation_logs');
}
};
......@@ -16,7 +16,7 @@ use Modules\Admin\Http\Utils\Helper;
class AdminMenu extends Model
{
protected $fillable = [
'title','key', 'api', 'parent_id', 'icon', 'is_menu'
'title','key','order', 'api', 'parent_id', 'icon', 'is_menu'
];
public static function boot()
......
......@@ -46,7 +46,7 @@ class MenuController extends BaseController
*
*/
public function list(){
$menu = AdminMenu::all();
$menu = AdminMenu::orderBy('order','asc')->get();
return $this->response->collection($menu,new AdminMenuTransformer());
}
......@@ -197,6 +197,54 @@ class MenuController extends BaseController
}
/**
* @OA\Put(
* tags={"菜单"},
* summary="保存数据更改",
* path="api/menu/{id}/edit",
* security={
* {"jwt_auth": {}}
* },
* @OA\RequestBody(
* @OA\MediaType(
* mediaType="application/x-www-form-urlencoded",
* @OA\Schema(
* type="object",
* required={"change_data"},
* @OA\Property(
* property="change_data",
* type="array"
* ),
* )
* )
* ),
* @OA\Response(
* response="204",
* description="",
* )
* )
*
*/
public function saveChange(Request $request){
$params = $request->all(['change_data']);
if(!is_array($params['change_data'])){
abort(500,'数据错误');
}
$list = AdminMenu::whereIn('id',array_keys($params['change_data']))->get();
if(!$list){
abort(500,'数据错误');
}
DB::transaction(function ()use ($list,$params){
$list->each(function ($menu)use ($params){
$menu->update($params['change_data'][$menu->id]);
});
});
return $this->response->noContent()->statusCode(204);
}
/**
* @OA\Delete(
* tags={"菜单"},
* summary="删除",
......
......@@ -28,6 +28,7 @@ class AdminMenuTransformer extends BaseTransformer
* schema="Menu",
* @OA\Property(property="id", type="integer", description="ID"),
* @OA\Property(property="parent_id", type="string", description="上级ID"),
* @OA\Property(property="order", type="integer", description="排序"),
* @OA\Property(property="title", type="string", description="标题"),
* @OA\Property(property="icon", type="string", description="图标"),
* @OA\Property(property="key", type="string", description="路由标识"),
......@@ -38,7 +39,7 @@ class AdminMenuTransformer extends BaseTransformer
public function transform(AdminMenu $menu)
{
$return = ['id','parent_id','title','key','icon','is_menu','created_at'];
$return = ['id','parent_id','order','title','key','icon','is_menu','created_at'];
return Helper::mapAttr($menu,$return);
}
......
......@@ -25,7 +25,7 @@ class Helper
{
return json_decode($menu, TRUE);
}
$menu = AdminMenu::get()->toArray();
$menu = AdminMenu::orderBy('order','asc')->get()->toArray();
if ($menu)
{
Cache::put("ALL_MENU", json_encode($menu));
......@@ -86,7 +86,7 @@ class Helper
$menu_ids = $role->menus?:[];
if($menu_ids){
$menu = AdminMenu::whereIn('id',$menu_ids)->where('is_menu', 1)->get();
$menu = AdminMenu::orderBy('order','asc')->whereIn('id',$menu_ids)->where('is_menu', 1)->get();
$menu = $menu->toArray();
}else{
$menu = [];
......
......@@ -37,6 +37,7 @@ $api->version('v1', [
$api->group(['middleware' => ['admin.permission','admin.log_operation']], function ($api){
#菜单
\Modules\Admin\Http\Utils\RouteRegister::registerApi($api,'menu','MenuController');
$api->put('menu/save_change', 'MenuController@saveChange');
#用户
\Modules\Admin\Http\Utils\RouteRegister::registerApi($api,'user','UserController');
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment