Browse Source

角色管理翻译

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

14
app/Models/AdminRoles.php

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

18
app/Services/AdminRolesService.php

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

1
app/Services/AdminTranslationService.php

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

16
app/Services/AdminUsersService.php

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

Loading…
Cancel
Save