Browse Source

角色管理翻译

master
wanghongjun 2 days ago
parent
commit
27244a727b
  1. 24
      app/Http/Controllers/Admin/RolesController.php
  2. 14
      app/Models/AdminRoles.php
  3. 18
      app/Services/AdminRolesService.php
  4. 1
      app/Services/AdminTranslationService.php
  5. 16
      app/Services/AdminUsersService.php

24
app/Http/Controllers/Admin/RolesController.php

@ -6,6 +6,7 @@ use App\Exceptions\CustomException;
use App\Models\AdminRoleMenu; use App\Models\AdminRoleMenu;
use App\Models\AdminRoles; use App\Models\AdminRoles;
use App\Services\AdminMenuService; use App\Services\AdminMenuService;
use App\Services\AdminTranslationService;
use App\Services\ApiResponseService; use App\Services\ApiResponseService;
use App\Services\AdminRolesService; use App\Services\AdminRolesService;
use App\Services\OperationLogService; use App\Services\OperationLogService;
@ -54,6 +55,12 @@ class RolesController extends BaseController
$items = $query->latest()->forPage($page, $perPage)->get() $items = $query->latest()->forPage($page, $perPage)->get()
->each(function ($item) { ->each(function ($item) {
$item['non_operable'] = $item['name'] == '超级管理员' ? 1 : 0; $item['non_operable'] = $item['name'] == '超级管理员' ? 1 : 0;
$item['name']
= AdminTranslationService::getTranslationTypeName(
$item['id'],
11,
$item['name']
);
return $item; return $item;
}); });
@ -163,15 +170,20 @@ class RolesController extends BaseController
try { try {
$this->validateId($id, AdminRoles::class); $this->validateId($id, AdminRoles::class);
$data = [ $data = [
'menu_list' => (new AdminMenuService(new OperationLogService()))->getMenuTreeCacheList( 'menu_ids' => AdminRoleMenu::getMenuIdArr($id),
AdminRoleMenu::getMenuIdArr($id) 'item' => AdminRoles::query()
),
'menu_ids' => AdminRoleMenu::getMenuIdArr($id),
'item' => AdminRoles::query()
->where('id', $id) ->where('id', $id)
->get() ->get()
->toArray() ->toArray(),
'menu_list' => (new AdminMenuService(
new OperationLogService()
))->getMenuTreeCacheList(
AdminRoleMenu::getMenuIdArr($id)
)
]; ];
$Translation = AdminTranslationService::getTranslation($id, 11);
$data['item'][0]['en_name'] = $Translation['en'] ?? '';
$data['item'][0]['tw_name'] = $Translation['zh_tw'] ?? '';
return $this->responseService->success($data); return $this->responseService->success($data);
} catch (Exception $e) { } catch (Exception $e) {
return $this->responseService->systemError( return $this->responseService->systemError(

14
app/Models/AdminRoles.php

@ -2,6 +2,7 @@
namespace App\Models; namespace App\Models;
use App\Services\AdminTranslationService;
use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsToMany; use Illuminate\Database\Eloquent\Relations\BelongsToMany;
@ -39,8 +40,17 @@ class AdminRoles extends Model
{ {
$where = ['status' => 1]; $where = ['status' => 1];
$columns = ['id', 'name']; $columns = ['id', 'name'];
return self::query()->where($where)->select($columns)->get() $data = self::query()->where($where)->select($columns)->get()->toArray(
->toArray(); );
foreach ($data as $key => $item) {
$data[$key]['name']
= AdminTranslationService::getTranslationTypeName(
$item['id'],
11,
$item['name']
);
}
return $data;
} }
public function adminUsers(): BelongsToMany public function adminUsers(): BelongsToMany

18
app/Services/AdminRolesService.php

@ -69,6 +69,14 @@ final class AdminRolesService
$this->addAdminRoleMenu($id, $menu_ids); $this->addAdminRoleMenu($id, $menu_ids);
} }
AdminTranslationService::saveTranslation(
$data['name'],
$data['en_name'] ?? '',
$data['tw_name'] ?? '',
$id,
11
);
DB::commit(); DB::commit();
return $model; return $model;
} catch (Exception $e) { } catch (Exception $e) {
@ -161,6 +169,14 @@ final class AdminRolesService
$this->addAdminRoleMenu($model->id, $menu_ids); $this->addAdminRoleMenu($model->id, $menu_ids);
AdminTranslationService::saveTranslation(
$data['name'],
$data['en_name'] ?? '',
$data['tw_name'] ?? '',
$model->id,
11
);
DB::commit(); DB::commit();
return $model; return $model;
} catch (Exception $e) { } catch (Exception $e) {
@ -191,6 +207,8 @@ final class AdminRolesService
$this->delAdminRoleMenu($id); $this->delAdminRoleMenu($id);
AdminTranslationService::syncDelete($id, 11);
DB::commit(); DB::commit();
return true; return true;
} catch (Exception $e) { } catch (Exception $e) {

1
app/Services/AdminTranslationService.php

@ -223,6 +223,7 @@ class AdminTranslationService
8 离场原因 8 离场原因
9 设备管理 9 设备管理
10 模式管理 10 模式管理
11 权限管理
100 - 199 告警信息 100 - 199 告警信息
*/ */
public static function getTranslationTypeName($type_id, $type, $name) public static function getTranslationTypeName($type_id, $type, $name)

16
app/Services/AdminUsersService.php

@ -209,11 +209,17 @@ final class AdminUsersService
: __('admin.freeze'); : __('admin.freeze');
$item['role_name'] = $item->roles->value('name'); $item['role_name'] = $item->roles->value('name');
$item['packing_name'] = ''; $item['packing_name'] = '';
if ($is_edit) { $item['role_id'] = 0;
if (isset($item['roles'][0])) { if (isset($item['roles'][0])) {
$item['role_id'] = $item['roles'][0]['id']; $item['role_id'] = $item['roles'][0]['id'];
} }
//$item['packing_id'] = ''; $item['role_name'] = AdminTranslationService::getTranslationTypeName(
$item['role_id'],
11,
$item['role_name']
);
if (!$is_edit) {
unset($item['role_id']);
} }
unset($item['roles']); unset($item['roles']);
return $item; return $item;

Loading…
Cancel
Save