Explorar o código

国际化配置,智能体大小写修改

张涛 hai 1 ano
pai
achega
d367820f0c

+ 71 - 4
public/i18n/lang-en.json

@@ -79,10 +79,77 @@
     "refresh": "Refresh",
     "density": "Density",
 
-    "role": "Role",
-    "account": "Account",
-    "organization": "Organization",
-    "resource": "Resource",
+    "role": {
+      "name": "Role",
+      "add": "Add Role",
+      "edit": "Edit",
+      "permissionEdit": "Permission Configuration",
+      "deptEdit": "Department Configuration",
+      "delete": "Delete",
+      "confirmDelete": "Are you sure you want to delete this record?",
+
+      "roleName": "Role Name",
+      "remark": "Remark",
+      "roleNameRequired": "Role Name is required",
+      "permissionConfig": "Permission Configuration",
+      "deptConfig": "Department Configuration",
+      "menuFunctions": "Menu Functions",
+      "roleMenuPermissions": "Role Menu Permissions",
+      "organization": "Organization",
+      "roleDepartments": "Role Departments"
+    },
+    "account": {
+      "new_user": "New User",
+      "reset_password": "Reset Password",
+      "edit": "Edit",
+      "view_permission": "View Permission",
+      "dept_config": "Department Configuration",
+      "delete": "Delete",
+      "user_permission": "User Permission",
+      "menu_function": "Menu Function",
+      "knowledge_base": "Knowledge Base",
+      "agent": "Agent",
+      "organization": "Organization",
+      "user_department": "User Department",
+      "department_roles": "Department Roles",
+      "username": "Username",
+      "name": "Name",
+      "phone": "Phone",
+      "email": "Email",
+      "password": "Password",
+      "roles": "Roles"
+    },
+    "org": {
+      "organization": "Organization",
+      "details": "Details",
+      "add": "Add",
+      "parent_org": "Parent Organization",
+      "status": "Organization Status",
+      "org_name": "Organization Name",
+      "leader": "Leader",
+      "phone": "Phone",
+      "address": "Address",
+      "save": "Save",
+      "reset": "Reset"
+    },
+    "resource": {
+      "organization": "Resource",
+      "details": "Details",
+      "add": "Add",
+      "parent_org": "Parent Resource",
+      "status": "Resource Status",
+      "org_name": "Resource Name",
+      "leader": "Leader",
+      "phone": "Phone",
+      "address": "Resource Address",
+      "save": "Save",
+      "reset": "Reset",
+      "icon": "Resource Icon",
+      "menuType": "Resource Type",
+      "description": "Description",
+      "perms": "Resource Permission Character",
+      "component": "Component Address"
+    },
     "group": {
       "name": "User Group",
       "createUserGroup": "Create User Group",

+ 71 - 4
public/i18n/lang-zh.json

@@ -78,11 +78,78 @@
     "reset": "重置",
     "refresh": "刷新",
     "density": "密度",
-    "role": "角色",
+    "role": {
+      "name": "角色",
+      "add": "新建角色",
+      "edit": "编辑",
+      "permissionEdit": "权限配置",
+      "deptEdit": "部门配置",
+      "delete": "删除",
+      "confirmDelete": "确定删除该条数据吗?",
+
+      "roleName": "角色名称",
+      "remark": "备注",
+      "roleNameRequired": "角色名称必填",
+      "permissionConfig": "权限配置",
+      "deptConfig": "部门配置",
+      "menuFunctions": "菜单功能",
+      "roleMenuPermissions": "角色菜单权限",
+      "organization": "机构",
+      "roleDepartments": "角色所属部门"
+    },
 
-    "account": "用户",
-    "organization": "机构",
-    "resource": "资源",
+    "account": {
+      "new_user": "新建用户",
+      "reset_password": "重置密码",
+      "edit": "编辑",
+      "view_permission": "查看权限",
+      "dept_config": "部门配置",
+      "delete": "删除",
+      "user_permission": "用户权限",
+      "menu_function": "菜单功能",
+      "knowledge_base": "知识库",
+      "agent": "智能体",
+      "organization": "机构",
+      "user_department": "用户所属部门",
+      "department_roles": "部门角色",
+      "username": "用户名",
+      "name": "姓名",
+      "phone": "手机号",
+      "email": "邮箱",
+      "password": "密码",
+      "roles": "角色"
+    },
+    "org": {
+      "organization": "机构",
+      "details": "详情",
+      "add": "新增",
+      "parent_org": "上级机构",
+      "status": "机构状态",
+      "org_name": "机构名称",
+      "leader": "联系人",
+      "phone": "联系电话",
+      "address": "机构地址",
+      "save": "保存",
+      "reset": "重置"
+    },
+    "resource": {
+      "organization": "资源",
+      "details": "详情",
+      "add": "新增",
+      "parent_org": "上级资源",
+      "status": "资源状态",
+      "org_name": "资源名称",
+      "leader": "联系人",
+      "phone": "联系电话",
+      "address": "资源地址",
+      "save": "保存",
+      "reset": "重置",
+      "icon": "资源图标",
+      "menuType": "资源类型",
+      "description": "提示词",
+      "perms": "资源控制权限字符",
+      "component": "组件地址"
+    },
     "group": {
       "name": "用户组",
       "createUserGroup": "新建用户组",

+ 1 - 0
src/directive/hasPermi/index.js

@@ -14,6 +14,7 @@ function hasPermissionDirective(el, binding) {
       console.error('用户权限不是字符串格式');
       return;
     }
+
     let permissions;
     try {
       const user_info_obj = JSON.parse(user_info);

+ 6 - 6
src/modules/permission/account/AccountForm.vue

@@ -2,7 +2,7 @@
   <a-form :model="edit_form" auto-label-width>
     <a-row :gutter="24" class="flex-row">
       <a-col :span="12" v-if="!is_edit_mode" class="flex-col">
-        <a-form-item field="userName" label="用户名" :rules="[
+        <a-form-item field="userName" :label="$t('permission.account.username')" :rules="[
           { required: true, message: '用户名必填' },
           { maxLength: 50, message: '长度不超过50' },
         ]">
@@ -10,19 +10,19 @@
         </a-form-item>
       </a-col>
       <a-col :span="12" class="flex-col">
-        <a-form-item field="loginName" label="姓名">
+        <a-form-item field="loginName" :label="$t('permission.account.name')">
           <a-input v-model="edit_form.loginName" />
         </a-form-item>
       </a-col>
     </a-row>
     <a-row :gutter="24" class="flex-row">
       <a-col :span="12" class="flex-col">
-        <a-form-item field="phone" label="手机号">
+        <a-form-item field="phone" :label="$t('permission.account.phone')">
           <a-input v-model="edit_form.phone" />
         </a-form-item>
       </a-col>
       <a-col :span="12" class="flex-col">
-        <a-form-item required field="email" label="邮箱" :rules="[
+        <a-form-item required field="email" :label="$t('permission.account.email')" :rules="[
           { required: true, message: '邮箱必填' },
           { maxLength: 50, message: '长度不超过50' },
         ]">
@@ -32,12 +32,12 @@
     </a-row>
     <a-row :gutter="24" class="flex-row">
       <a-col v-if="!is_edit_mode" :span="12" class="flex-col">
-        <a-form-item field="pwd" label="密码">
+        <a-form-item field="pwd" :label="$t('permission.account.password')">
           <a-input v-model="edit_form.pwd" type="password" />
         </a-form-item>
       </a-col>
       <a-col :span="12" class="flex-col">
-        <a-form-item field="roles" label="角色">
+        <a-form-item field="roles" :label="$t('permission.account.roles')">
           <a-select multiple v-model="edit_form.roles" :options="role_list"
             :field-names="{ value: 'roleId', label: 'roleName' }" @change="roleChange">
           </a-select>

+ 5 - 4
src/modules/permission/account/DeptConfigModal.vue

@@ -1,7 +1,8 @@
 <template>
-  <a-modal width="50%" v-model:visible="visible" title="部门配置" @cancel="handleCancel" @ok="editDeptHandleOk">
+  <a-modal width="50%" v-model:visible="visible" :title="$t('permission.account.dept_config')" @cancel="handleCancel"
+    @ok="editDeptHandleOk">
     <div style="display: flex;">
-      <a-card class="card-body" title="机构" hoverable>
+      <a-card class="card-body" :title="$t('permission.account.organization')" hoverable>
         <a-tree :data="dept_list" v-model:checked-keys="checked_keys" v-model:expanded-keys="expand_keys"
           :checkable="true" :check-strictly="true" :show-line="true" @check="onCheck" :fieldNames="{
             key: 'deptId',
@@ -10,14 +11,14 @@
           }">
         </a-tree>
       </a-card>
-      <a-card class="card-body" title="用户所属部门">
+      <a-card class="card-body" :title="$t('permission.account.user_department')">
         <a-space wrap>
           <a-tag v-for="item of check_strictly" :key="item.deptId">
             {{ item.deptName }}
           </a-tag>
         </a-space>
         <a-divider />
-        <div style="margin-bottom: 8px;">部门角色:</div>
+        <div style="margin-bottom: 8px;">{{ $t('permission.account.department_roles') }}:</div>
         <a-space wrap>
           <a-tag v-for="item of check_strictly_dept_role" :key="item.roleId" color="arcoblue">
             {{ item.roleName }}

+ 5 - 4
src/modules/permission/account/ViewPermission.vue

@@ -1,22 +1,23 @@
 <template>
-  <a-modal width="50%" v-model:visible="visible" title="用户权限" okText="关闭" hide-cancel="true" @ok="handleOk">
+  <a-modal width="50%" v-model:visible="visible" :title="$t('permission.account.user_permission')" okText="关闭"
+    hide-cancel="true" @ok="handleOk">
     <div :style="{ 'display': 'flex', 'flex-direction': 'column' }">
       <a-card class="card-body" hoverable>
-        <div class="title-box"><icon-menu size="18" />菜单功能:</div>
+        <div class="title-box"><icon-menu size="18" />{{ $t('permission.account.menu_function') }}:</div>
         <a-space wrap>
           <a-tag v-for="item in menu_permissions_list" :key="item.id">
             {{ item.name }}
           </a-tag>
         </a-space>
         <a-divider />
-        <div class="title-box"><icon-bookmark size="18" />知识库:</div>
+        <div class="title-box"><icon-bookmark size="18" />{{ $t('permission.account.knowledge_base') }}:</div>
         <a-space wrap>
           <a-tag v-for="item in knowledge_permissions_list" color="arcoblue" :key="item.id">
             {{ item.name }}
           </a-tag>
         </a-space>
         <a-divider />
-        <div class="title-box"><icon-relation size="18" /> 智能体:</div>
+        <div class="title-box"><icon-relation size="18" /> {{ $t('permission.account.agent') }}:</div>
         <a-space wrap>
           <a-tag v-for="item in dialog_permissions_list" color="green" :key="item.id">
             {{ item.name }}

+ 16 - 12
src/modules/permission/account/index.vue

@@ -1,30 +1,34 @@
 <template>
   <a-card class="account-page-card">
-    <Action :btn_text="'新建用户'" :btn_permission="'system:user:add'" @searchClick="searchClick" @resetClick="resetClick"
-      @createClick="createClick" @sizeChange="tableSizeChange" @refreshClick="refreshClick"></Action>
+    <Action :btn_text="$t('permission.account.new_user')" :btn_permission="'system:user:add'" @searchClick="searchClick"
+      @resetClick="resetClick" @createClick="createClick" @sizeChange="tableSizeChange" @refreshClick="refreshClick">
+    </Action>
     <DataTable :data="table_data" :columns="table_columns" row-key="userId" :size="table_size" :loading="table_loading"
       :pagination="pagination_props" @pageChange="handlePageChange">
       <template #status="{ record }">
         <a-switch v-model="record.status" @change="statusChange(record)" checked-value="1" unchecked-value="0" />
       </template>
       <template #operationSlot="{ record }">
-        <a-popconfirm content="确定重置该用户密码吗?" @ok="handleResetPassword(record)">
-          <a-button v-hasPermi="'system:role:resetPassword'" type="text">重制密码</a-button>
+        <a-popconfirm :content="$t('permission.account.reset_password')" @ok="handleResetPassword(record)">
+          <a-button v-hasPermi="'system:role:resetPassword'" type="text">{{ $t('permission.account.reset_password')
+            }}</a-button>
         </a-popconfirm>
-        <a-button v-hasPermi="'system:user:edit'" type="text" @click="handleEdit(record, true)">编辑</a-button>
-        <a-button v-hasPermi="'system:user:viewPermission'" type="text"
-          @click="handleView(record, true)">查看权限</a-button>
-        <a-button v-hasPermi="'system:user:deptEdit'" type="text"
-          @click="handleDeptConfig(record, true)">部门配置</a-button>
-        <a-popconfirm content="确定删除该条数据吗?" type="warning" @ok="handleDelete(record.userId)">
-          <a-button v-hasPermi="'system:user:delete'" type="text" status="warning">删除</a-button>
+        <a-button v-hasPermi="'system:user:edit'" type="text" @click="handleEdit(record, true)">{{
+          $t('permission.account.edit') }}</a-button>
+        <a-button v-hasPermi="'system:user:viewPermission'" type="text" @click="handleView(record, true)">{{
+          $t('permission.account.view_permission') }}</a-button>
+        <a-button v-hasPermi="'system:user:deptEdit'" type="text" @click="handleDeptConfig(record, true)">{{
+          $t('permission.account.dept_config') }}</a-button>
+        <a-popconfirm :content="$t('permission.account.delete')" type="warning" @ok="handleDelete(record.userId)">
+          <a-button v-hasPermi="'system:user:delete'" type="text" status="warning">{{ $t('permission.account.delete')
+            }}</a-button>
         </a-popconfirm>
       </template>
     </DataTable>
   </a-card>
 
   <Modal :visible.sync="edit_visible" @ok="modalSave" @cancel="handleEdit(null, false)"
-    :title="is_edit_mode ? '编辑' : '新增'">
+    :title="is_edit_mode ? $t('permission.account.edit') : $t('permission.account.new_user')">
     <AccountForm :edit_form="edit_form" :is_edit_mode="is_edit_mode" :role_list="role_list" />
   </Modal>
 

+ 6 - 6
src/modules/permission/org/OrgForm.vue

@@ -1,25 +1,25 @@
 <template>
   <a-form :model="org_form" layout="horizontal" ref="formRef">
-    <a-form-item field="parentName" label="上级机构" disabled>
+    <a-form-item field="parentName" :label="$t('permission.org.parent_org')" disabled>
       <a-input v-model="org_form.parentName" />
     </a-form-item>
-    <a-form-item field="status" label="机构状态">
+    <a-form-item field="status" :label="$t('permission.org.status')">
       <a-switch v-model="org_form.status" @change="statusChange(org_form.status)" checked-value="1"
         unchecked-value="0"></a-switch>
     </a-form-item>
-    <a-form-item field="deptName" label="机构名称"
+    <a-form-item field="deptName" :label="$t('permission.org.org_name')"
       :rules="[{ required: true, message: '机构名称必填' }, { maxLength: 50, message: '长度不超过50' }]">
       <a-input v-model="org_form.deptName" />
     </a-form-item>
-    <a-form-item field="leader" label="联系人"
+    <a-form-item field="leader" :label="$t('permission.org.leader')"
       :rules="[{ required: true, message: '联系人必填' }, { maxLength: 50, message: '长度不超过50' }]">
       <a-input v-model="org_form.leader" />
     </a-form-item>
-    <a-form-item field="phone" label="联系电话"
+    <a-form-item field="phone" :label="$t('permission.org.phone')"
       :rules="[{ required: true, message: '联系电话必填' }, { maxLength: 50, message: '长度不超过50' }]">
       <a-input v-model="org_form.phone" />
     </a-form-item>
-    <a-form-item field="address" label="机构地址">
+    <a-form-item field="address" :label="$t('permission.org.address')">
       <a-input v-model="org_form.address" />
     </a-form-item>
     <a-form-item>

+ 7 - 5
src/modules/permission/org/index.vue

@@ -1,7 +1,7 @@
 <template>
   <div class="organization-container">
     <div class="left">
-      <TreeParts :treeData="org_tree_data" :title="'机构'" :showLock="true" :fieldNames="{
+      <TreeParts :treeData="org_tree_data" :title="$t('permission.org.organization')" :showLock="true" :fieldNames="{
         key: 'deptId',
         title: 'deptName',
         children: 'children',
@@ -9,18 +9,20 @@
         @deleteBtnClick="onDeleteBtnClick" @drop="onNodeDrop" />
     </div>
     <div class="right">
-      <a-card title="详情" style="height: 100%">
+      <a-card :title="$t('permission.org.details')" style="height: 100%">
         <OrgForm :org_form="org_form" @statusChange="resourceFromStatusChange" @save="resourceFromSave"
           @reset="resourceFromReset">
           <template #actions>
-            <a-button v-hasPerm="'system:dept:edit'" @click="resourceFromSave">保存</a-button>
-            <a-button @click="resourceFromReset">重置</a-button>
+            <a-button v-hasPerm="'system:dept:edit'" @click="resourceFromSave">{{ $t('permission.org.save')
+              }}</a-button>
+            <a-button @click="resourceFromReset">{{ $t('permission.org.reset') }}</a-button>
           </template>
         </OrgForm>
       </a-card>
     </div>
 
-    <Modal :visible.sync="org_visible" @ok="resourceFromSave" @cancel="resourceFromCancel" :title="'新增'">
+    <Modal :visible.sync="org_visible" @ok="resourceFromSave" @cancel="resourceFromCancel"
+      :title="$t('permission.org.add')">
       <OrgForm :org_form="org_form"></OrgForm>
     </Modal>
   </div>

+ 10 - 9
src/modules/permission/resource/ResourceForm.vue

@@ -1,35 +1,36 @@
 <template>
   <a-form :model="resource_form" layout="horizontal">
-    <a-form-item field="parentName" label="上级资源" disabled>
+    <a-form-item field="parentName" :label="$t('permission.resource.parent_org')" disabled>
       <a-input v-model="resource_form.parentName" />
     </a-form-item>
-    <a-form-item field="status" label="资源状态">
+    <a-form-item field="status" :label="$t('permission.resource.status')">
       <a-switch v-model="resource_form.status" @change="statusChange(resource_form.status)" checked-value="1"
         unchecked-value="0"></a-switch>
     </a-form-item>
-    <a-form-item field="menuName" label="资源名称"
+    <a-form-item field="menuName" :label="$t('permission.resource.org_name')"
       :rules="[{ required: true, message: '资源名称必填' }, { maxLength: 50, message: '长度不超过50' }]">
       <a-input v-model="resource_form.menuName" />
     </a-form-item>
-    <a-form-item field="path" label="资源地址"
+    <a-form-item field="path" :label="$t('permission.resource.address')"
       :rules="[{ required: true, message: '资源地址必填' }, { maxLength: 50, message: '长度不超过50' }]">
       <a-input v-model="resource_form.path" />
     </a-form-item>
-    <a-form-item field="icon" label="资源图标">
+    <a-form-item field="icon" :label="$t('permission.resource.icon')">
       <IconPicker v-model="resource_form.icon" />
     </a-form-item>
-    <a-form-item field="menuType" label="资源类型" :rules="[{ required: true, message: '资源类型必填' }]">
+    <a-form-item field="menuType" :label="$t('permission.resource.menuType')"
+      :rules="[{ required: true, message: '资源类型必填' }]">
       <a-select v-model="resource_form.menuType" :options="options" :field-names="fieldNames"
         :style="{ width: '320px' }" placeholder="请选择" />
     </a-form-item>
-    <a-form-item field="description" label="提示词">
+    <a-form-item field="description" :label="$t('permission.resource.description')">
       <a-input v-model="resource_form.description" placeholder="请输入提示词" />
     </a-form-item>
-    <a-form-item field="perms" label="资源控制权限字符"
+    <a-form-item field="perms" :label="$t('permission.resource.perms')"
       :rules="[{ required: true, message: '资源控制权限字符必填' }, { maxLength: 50, message: '长度不超过50' }]">
       <a-input v-model="resource_form.perms" />
     </a-form-item>
-    <a-form-item field="component" label="组件地址" style="align: start"
+    <a-form-item field="component" :label="$t('permission.resource.component')" style="align: start"
       :rules="[{ required: true, message: '组件地址必填' }, { maxLength: 50, message: '长度不超过50' }]">
       <a-input v-model="resource_form.component" />
     </a-form-item>

+ 5 - 5
src/modules/permission/resource/index.vue

@@ -1,7 +1,7 @@
 <template>
   <div class="organization-container">
     <div class="left">
-      <TreeParts :treeData="resourcetree_data" :title="'资源'" :fieldNames="{
+      <TreeParts :treeData="resourcetree_data" :title="$t('permission.resource.organization')" :fieldNames="{
         key: 'menuId',
         title: 'menuName',
         children: 'children',
@@ -10,18 +10,18 @@
     </div>
 
     <div class="right">
-      <a-card title="详情" style="height: 100%;">
+      <a-card :title="$t('permission.resource.details')" style="height: 100%;">
         <ResourceForm :resource_form="resource_form" @statusChange="orgFromStatusChange" @save="orgFromSave"
           @reset="orgFromReset">
           <template #actions>
-            <a-button v-hasPerm="'system:resource:edit'" @click="orgFromSave">保存</a-button>
-            <a-button @click="orgFromReset">重置</a-button>
+            <a-button v-hasPerm="'system:resource:edit'" @click="orgFromSave">{{ $t('permission.resource.save') }}</a-button>
+            <a-button @click="orgFromReset">{{ $t('permission.resource.reset') }}</a-button>
           </template>
         </ResourceForm>
       </a-card>
     </div>
 
-    <Modal :visible.sync="resourcevisible" @ok="orgFromSave" @cancel="orgFromCancel" :title="'新增'">
+    <Modal :visible.sync="resourcevisible" @ok="orgFromSave" @cancel="orgFromCancel" :title="$t('permission.resource.add')">
       <ResourceForm :resource_form="resource_form"></ResourceForm>
     </Modal>
   </div>

+ 4 - 3
src/modules/permission/role/DeptConfigModal.vue

@@ -1,7 +1,8 @@
 <template>
-  <a-modal width="50%" v-model:visible="visible" title="部门配置" @cancel="handleCancel" @ok="editDeptHandleOk">
+  <a-modal width="50%" v-model:visible="visible" :title="$t('permission.role.deptConfig')" @cancel="handleCancel"
+    @ok="editDeptHandleOk">
     <div :style="{ display: 'flex' }">
-      <a-card class="card-body" title="机构" hoverable>
+      <a-card class="card-body" :title="$t('permission.role.organization')" hoverable>
         <a-tree :data="dept_list" v-model:checked-keys="checked_keys" v-model:expanded-keys="expand_keys"
           :checkable="true" :check-strictly="true" :show-line="true" @check="onCheck" :fieldNames="{
             key: 'deptId',
@@ -10,7 +11,7 @@
           }">
         </a-tree>
       </a-card>
-      <a-card class="card-body" title="角色所属部门">
+      <a-card class="card-body" :title="$t('permission.role.roleDepartments')">
         <a-space wrap>
           <a-tag v-for="item of check_strictly" :key="item.deptId">
             {{ item.deptName }}

+ 5 - 5
src/modules/permission/role/PermissionConfigModal.vue

@@ -1,7 +1,8 @@
 <template>
-  <a-modal width="50%" v-model:visible="visible" title="权限配置" @cancel="handleCancel" @ok="editDeptHandleOk">
+  <a-modal width="50%" v-model:visible="visible" :title="$t('permission.role.permissionConfig')" @cancel="handleCancel"
+    @ok="editDeptHandleOk">
     <div style="display: flex;">
-      <a-card class="card-body" :title="getCurrentTabTitle" hoverable>
+      <a-card class="card-body" :title="$t('permission.role.menuFunctions')" hoverable>
         <a-tree :data="menu_list" v-model:checked-keys="checked_menu" v-model:expanded-keys="expand_keys"
           :checkable="true" :show-line="true" @check="onCheck" :fieldNames="{
             key: 'menuId',
@@ -9,10 +10,9 @@
             children: 'children',
           }">
         </a-tree>
-
       </a-card>
-      <a-card class="card-body" title="角色菜单权限">
-        <div style="margin: 8px 0;">菜单功能:</div>
+      <a-card class="card-body" :title="$t('permission.role.roleMenuPermissions')">
+        <div style="margin: 8px 0;">{{ $t('permission.role.menuFunctions') }}:</div>
         <a-space wrap>
           <a-tag v-for="tag of checked_menu_list" :key="tag.menuId">
             {{ tag.menuName }}

+ 3 - 3
src/modules/permission/role/RoleForm.vue

@@ -2,8 +2,8 @@
   <a-form :model="edit_form" auto-label-width>
     <a-row :gutter="24">
       <a-col :span="22">
-        <a-form-item field="roleName" label="用户名" :rules="[
-          { required: true, message: '用户名必填' },
+        <a-form-item field="roleName" :label="$t('permission.role.roleName')" :rules="[
+          { required: true, message: $t('permission.role.roleNameRequired') },
         ]">
           <a-input v-model="edit_form.roleName" />
         </a-form-item>
@@ -11,7 +11,7 @@
     </a-row>
     <a-row :gutter="24">
       <a-col :span="22">
-        <a-form-item field="remark" label="备注">
+        <a-form-item field="remark" :label="$t('permission.role.remark')">
           <a-textarea v-model="edit_form.remark" />
         </a-form-item>
       </a-col>

+ 13 - 10
src/modules/permission/role/index.vue

@@ -1,27 +1,30 @@
 <template>
   <a-card class="role-page-card">
-    <Action :btn_text="'新建角色'" :btn_permission="'system:role:add'" @searchClick="searchClick" @resetClick="resetClick"
-      @createClick="createClick" @sizeChange="tableSizeChange" @refreshClick="refreshClick"></Action>
+    <Action :btn_text="$t('permission.role.add')" :btn_permission="'system:role:add'" @searchClick="searchClick"
+      @resetClick="resetClick" @createClick="createClick" @sizeChange="tableSizeChange" @refreshClick="refreshClick">
+    </Action>
     <DataTable :data="table_data" :columns="table_columns" row-key="roleId" :size="table_size" :loading="table_loading"
       :pagination="pagination_props" @pageChange="handlePageChange">
       <template #status="{ record }">
         <a-switch v-model="record.status" @change="statusChange(record)" checked-value="1" unchecked-value="0" />
       </template>
       <template #operationSlot="{ record }">
-        <a-button v-hasPermi="'system:role:edit'" type="text" @click="handleEdit(record, true)">编辑</a-button>
-        <a-button v-hasPermi="'system:role:permissionEdit'" type="text"
-          @click="handlePermissionConfig(record, true)">权限配置</a-button>
-        <a-button v-hasPermi="'system:role:deptEdit'" type="text"
-          @click="handleDeptConfig(record, true)">部门配置</a-button>
-        <a-popconfirm content="确定删除该条数据吗?" type="warning" @ok="handleDelete(record.roleId)">
-          <a-button v-hasPermi="'system:role:delete'" type="text" status="warning">删除</a-button>
+        <a-button v-hasPermi="'system:role:edit'" type="text" @click="handleEdit(record, true)">{{
+          $t('permission.role.edit') }}</a-button>
+        <a-button v-hasPermi="'system:role:permissionEdit'" type="text" @click="handlePermissionConfig(record, true)">{{
+          $t('permission.role.permissionEdit') }}</a-button>
+        <a-button v-hasPermi="'system:role:deptEdit'" type="text" @click="handleDeptConfig(record, true)">{{
+          $t('permission.role.deptEdit') }}</a-button>
+        <a-popconfirm :content="$t('permission.role.confirmDelete')" type="warning" @ok="handleDelete(record.roleId)">
+          <a-button v-hasPermi="'system:role:delete'" type="text" status="warning">{{ $t('permission.role.delete')
+            }}</a-button>
         </a-popconfirm>
       </template>
     </DataTable>
   </a-card>
 
   <Modal :visible.sync="edit_visible" @ok="modalSave" @cancel="handleEdit(null, false)"
-    :title="is_edit_mode ? '编辑' : '新增'">
+    :title="is_edit_mode ? $t('permission.role.edit') : $t('permission.role.add')">
     <RoleForm :edit_form="edit_form" :is_edit_mode="is_edit_mode" />
   </Modal>
 

+ 1 - 4
src/router/guard.js

@@ -11,10 +11,7 @@ router.beforeEach((to, from, next) => {
   const isLoginPage = to.path === '/login'; // 判断目标路径是否为登录页
   const firstLogin = from.path === '/login'; // 判断当前路径是否为登录页
   const isInWhiteList = whiteList.includes(to.path); // 检查目标路径是否在白名单中
-  const hasAccess = accessFlatRoutes.some((route) => {
-    // 检查用户是否有权访问目标路径
-    return route.path == to.path;
-  });
+  const hasAccess = accessFlatRoutes.some((route) => route.path == to.path);
 
   // 用户已授权的情况
   if (isAuthorized) {