diff --git a/jero-web/src/App.vue b/jero-web/src/App.vue index 7be0eaa18..503a5c37a 100644 --- a/jero-web/src/App.vue +++ b/jero-web/src/App.vue @@ -1,17 +1,13 @@ diff --git a/jero-web/src/common/lang/en-us.js b/jero-web/src/common/lang/en-us.js index 82eb56ddb..368bf85c4 100644 --- a/jero-web/src/common/lang/en-us.js +++ b/jero-web/src/common/lang/en-us.js @@ -28,7 +28,7 @@ module.exports = { term:'term', empty:'empty', edit:'edit', - more:'更多', + more:'more', areYouSure:'Are you sure to delete?', details:'details', password:'password', @@ -210,5 +210,130 @@ module.exports = { selectSameDatabase:'Please select the same database table and data ID for comparison', DataComparison:'Data comparison', PromptInformation:'Prompt information', + enterAccountNumber:'Please enter the account number', + AddExistingUsers:'Add existing users', + newUser:'new user', + disassociate:'disassociate', + AssignDepartmentRoles:'Assign Department roles', + userDetail:'user details', + AreYouCancelAssociation:' Are you sure to cancel the association with the selected department?', + setURLListAttribute:'Please set the url.list attribute!', + setURLDeletebatchAttribute:'Please set the URL Deletebatch attribute!', + NoDepartmentSelected:'No department is selected, unable to cancel the association between department and user!', + ConfirmCancellation:'Confirm cancellation', + CancelAssociation:'Cancel the association between the user and the selected department?', + SuccessfullyDeleted:'Successfully deleted the relationship between the user and the selected department!', + setURLDeleteAttribute:'Please set the url.delete attribute!', + DepartmentRole:'Department role assignment', + DepartmentRoleName:'Department role name', + enterDepartmentRole:'Please enter department role', + NewDepartmentRole:'New department role', + DepartmentRoleInformation:'Department role information', + DepartmentRoleCode:'Department role code', + enterUserAccount:'Please enter user account', + NoConfigurableRoles:'No configurable roles!', + AreYouWantDiscardEditing:'Are you sure you want to discard editing?', + determine:'determine', + DictionaryCoding:'Dictionary coding', + enterDictionaryCode:'Please enter dictionary code', + DictionaryList:'Dictionary list', + enterName:'Please enter a name', + disable:'disable', + DataValue:'Data value', + enterDataValue:'Please enter a data value', + DictionaryRetrieval:'Dictionary retrieval', + CompletelyDelete:'Completely delete', + FirstLevelMenu:'First level menu', + Submenu:'Submenu', + ButtonsPermissions:'buttons/permissions', + enterMenuName:'Please enter menu name', + SuperiorMenu:'superior menu', + selectSuperiorMenu:'Please select superior menu', + selectParentMenu:'Please select parent menu', + MenuPath:'Menu path', + enterMenuPath:'Please enter the menu path', + FrontAssembly:'Front end assembly', + enterFrontComponents:'Please enter front-end components', + DefaultJumpAddress:'Default jump address', + enterRoutingParameters:'Please enter routing parameters', + AuthorizationID:' Authorization ID', + enterAuthorizationID:'Please enter the authorization ID, such as:', + PleaseEnterAuthorizationID:'Please enter authorization ID!', + AuthorizationPolicy:'Authorization policy', + selectAuthorizationPolicy:'Please select authorization policy', + selectStatus:'Please select a status', + MenuIcon:'Menu icon', + ClickSelectIcon:'Click the select icon', + enterMenuSort:'Please enter menu sort', + RouteMenu:'Route menu', + HideRoute:'Hide route', + CacheRoute:'Cache route', + AggregateRouting:'Aggregate routing', + OpenMode:'Open mode', + external:'external', + inside:'inside', + enterMenuTitle:'Please enter the menu title', + enterAuthorizationPolicy:'Please enter authorization policy', + AuthorizationIDExists:'Authorization ID already exists', + enterPositiveInteger:'Please enter a positive integer', + RuleName:'Rule name', + enterRuleName:'Please enter a rule name', + RuleField:'Rule field', + enterRuleField:'Please enter the rule field', + ConditionalRules:'Conditional rules', + enterConditionRule:'Please enter condition rule', + RuleValue:'Rule value', + enterRuleValue:'Please enter a rule value', + effective:'effective', + invalid:'invalid', + selectCondition:'Please select a condition', + DataPermissionRules:'Data permission rules', + LoginPassword:'Login password', + enterLoginPassword:'Please enter the login password', + ConfirmPassword:'Confirm password', + reenterLoginPassword:'Please re-enter your login password', + enterUserName:'Please enter user name', + RoleAssignment:'Role assignment', + selectUserRole:'Please select user role', + DepartmentAllocation:'Department allocation', + ClickSelectDepartment:'Click to select a department', + choice:'choice', + identity:'identity', + OrdinaryUsers:'Ordinary users', + superior:'superior', + ResponsibleDepartment:'Responsible department', + selectResponsibleDepartment:'Please select the responsible department', + selectGender:'Please select gender', + mailbox:'mailbox', + enterEmailAddress:'Please enter email address', + enterMobileNumber:'Please enter your mobile phone number', + submit:'submit', + passwordConsists:'The password consists of 8 digits, upper and lower case letters and special symbols!', + enterUserName:'Please enter user name', + enterJobNumber:'Please enter the job number', + enterCorrectLandline:'Please enter the correct landline number', + passwordsEnteredTwice:'The passwords entered twice are different', + PnumberExists:'Phone number already exists', + enterPhoneCorrect:'Please enter the phone number in the correct format', + MailboxExists:'Mailbox already exists', + enterMailboxCorrect:'Please enter a mailbox in the correct format', + UserExists:'User name already exists', + nameExists:'User name already exists', + uploadPictures:'Please upload pictures', + DepartmentSearch:'Department search', + selectSuperiorDepartment:'Please select superior department', + upload1:'upload', + UploadFailed:'Upload failed', + ResetPassword:'Reset password', + ClearSelection:'Clear selection', + BatchRestore:'Batch restore', + RestoreUser:'Restore user', + FailedQuery:'Failed to query deleted users:', + headPortrait:'head portrait', + RestorUser:'Restore user', + sureRestore:'Are you sure you want to restore this', + Users:'users', + reduction:'reduction', + UsersSucceeded:'users succeeded!', } \ No newline at end of file diff --git a/jero-web/src/common/lang/zh-cn.js b/jero-web/src/common/lang/zh-cn.js index 090f3669c..7beff7d4d 100644 --- a/jero-web/src/common/lang/zh-cn.js +++ b/jero-web/src/common/lang/zh-cn.js @@ -211,5 +211,130 @@ module.exports = { selectSameDatabase:'请选择相同的数据库表和数据ID进行比较', DataComparison:'数据比较', PromptInformation:'提示信息', + enterAccountNumber:'请输入账号', + AddExistingUsers:'添加已有用户', + newUser:'新建用户', + disassociate:'取消关联', + AssignDepartmentRoles:'分配部门角色', + userDetail:'用户详情', + AreYouCancelAssociation:'确定取消与选中部门关联吗?', + setURLListAttribute:'请设置url.list属性!', + setURLDeletebatchAttribute:'请设置url.deleteBatch属性!', + NoDepartmentSelected:'未选中任何部门,无法取消部门与用户的关联!', + ConfirmCancellation:'确认取消', + CancelAssociation:'是否取消用户与选中部门的关联?', + SuccessfullyDeleted:'删除用户与选中部门关系成功!', + setURLDeleteAttribute:'请设置url.delete属性!', + DepartmentRole:'部门角色分配', + DepartmentRoleName:'部门角色名称', + enterDepartmentRole:'请输入部门角色', + NewDepartmentRole:'新建部门角色', + DepartmentRoleInformation:'部门角色信息', + DepartmentRoleCode:'部门角色编码', + enterUserAccount:'请输入用户账号', + NoConfigurableRoles:'无可配置角色!', + AreYouWantDiscardEditing:'确定放弃编辑?', + determine:'确定', + DictionaryCoding:'字典编码', + enterDictionaryCode:'请输入字典编码', + DictionaryList:'字典列表', + enterName:'请输入名称', + disable:'禁用', + DataValue:'数据值', + enterDataValue:'请输入数据值', + DictionaryRetrieval:'字典取回', + CompletelyDelete:'彻底删除', + FirstLevelMenu:'一级菜单', + Submenu:'子菜单', + ButtonsPermissions:'按钮/权限', + enterMenuName:'请输入菜单名称', + SuperiorMenu:'上级菜单', + selectSuperiorMenu:'请选择上级菜单', + selectParentMenu:'请选择父级菜单', + MenuPath:'菜单路径', + enterMenuPath:'请输入菜单路径', + FrontAssembly:'前端组件', + enterFrontComponents:'请输入前端组件', + DefaultJumpAddress:'默认跳转地址', + enterRoutingParameters:'请输入路由参数', + AuthorizationID:'授权标识', + enterAuthorizationID:'请输入授权标识, 如:', + PleaseEnterAuthorizationID:'请输入授权标识!', + AuthorizationPolicy:'授权策略', + selectAuthorizationPolicy:'请选择授权策略', + selectStatus:'请选择状态', + MenuIcon:'菜单图标', + ClickSelectIcon:'点击选择图标', + enterMenuSort:'请输入菜单排序', + RouteMenu:'是否路由菜单', + HideRoute:'隐藏路由', + CacheRoute:'是否缓存路由', + AggregateRouting:'聚合路由', + OpenMode:'打开方式', + external:'外部', + inside:'内部', + enterMenuTitle:'请输入菜单标题', + enterAuthorizationPolicy:'请输入授权策略', + AuthorizationIDExists:'授权标识已存在', + enterPositiveInteger:'请输入正整数', + RuleName:'规则名称', + enterRuleName:'请输入规则名称', + RuleField:'规则字段', + enterRuleField:'请输入规则字段', + ConditionalRules:'条件规则', + enterConditionRule:'请输入条件规则', + RuleValue:'规则值', + enterRuleValue:'请输入规则值', + effective:'有效', + invalid:'无效', + selectCondition:'请选择条件', + DataPermissionRules:'数据权限规则', + LoginPassword:'登录密码', + enterLoginPassword:'请输入登录密码', + ConfirmPassword:'确认密码', + reenterLoginPassword:'请重新输入登录密码', + enterUserName:'请输入用户姓名', + RoleAssignment:'角色分配', + selectUserRole:'请选择用户角色', + DepartmentAllocation:'部门分配', + ClickSelectDepartment:'点击选择部门', + choice:'选择', + identity:'身份', + OrdinaryUsers:'普通用户', + superior:'上级', + ResponsibleDepartment:'负责部门', + selectResponsibleDepartment:'请选择负责部门', + selectGender:'请选择性别', + mailbox:'邮箱', + enterEmailAddress:'请输入邮箱', + enterMobileNumber:'请输入手机号码', + submit:'提交', + passwordConsists:'密码由8位数字、大小写字母和特殊符号组成!', + enterUserName:'请输入用户名称', + enterJobNumber:'请输入工号', + enterCorrectLandline:'请输入正确的座机号码', + passwordsEnteredTwice:'两次输入的密码不一样', + PnumberExists:'手机号已存在', + enterPhoneCorrect:'请输入正确格式的手机号码', + MailboxExists:'邮箱已存在', + enterMailboxCorrect:'请输入正确格式的邮箱', + UserExists:'用户名已存在', + nameExists:'工号已存在', + uploadPictures:'请上传图片', + DepartmentSearch:'部门搜索', + selectSuperiorDepartment:'请选择上级部门', + upload1:'上传', + UploadFailed:'上传失败', + ResetPassword:'重新设定密码', + ClearSelection:'清空选择', + BatchRestore:'批量还原', + RestoreUser:'还原用户', + FailedQuery:'查询已删除的用户失败:', + headPortrait:'头像', + RestorUser:'恢复用户', + sureRestore:'您确定要恢复这', + Users:'个用户吗?', + reduction:'还原', + UsersSucceeded:'个用户成功!', } \ No newline at end of file diff --git a/jero-web/src/components/jero/JImageUpload.vue b/jero-web/src/components/jero/JImageUpload.vue index e6e66a564..d15afd02a 100644 --- a/jero-web/src/components/jero/JImageUpload.vue +++ b/jero-web/src/components/jero/JImageUpload.vue @@ -54,7 +54,7 @@ text:{ type:String, required:false, - default:"上传" + default:'上传' }, /*这个属性用于控制文件上传的业务路径*/ bizPath:{ @@ -135,7 +135,7 @@ beforeUpload: function(file){ var fileType = file.type; if(fileType.indexOf('image')<0){ - this.$message.warning('请上传图片'); + this.$message.warning(this.$t('uploadPictures')); return false; } }, @@ -159,7 +159,7 @@ } //this.$message.success(`${info.file.name} 上传成功!`); }else if (info.file.status === 'error') { - this.$message.error(`${info.file.name} 上传失败.`); + this.$message.error(`${info.file.name} `+this.$t('UploadFailed')); }else if(info.file.status === 'removed'){ this.handleDelete(info.file) } diff --git a/jero-web/src/components/tools/UserMenu.vue b/jero-web/src/components/tools/UserMenu.vue index 02a51edb7..41dd98dd3 100644 --- a/jero-web/src/components/tools/UserMenu.vue +++ b/jero-web/src/components/tools/UserMenu.vue @@ -107,6 +107,7 @@ import { UI_CACHE_DB_DICT_DATA } from "@/store/mutation-types" import moment from 'moment' import zhCN from 'ant-design-vue/lib/locale-provider/zh_CN' + import enUS from 'ant-design-vue/es/locale/en_US'; import 'moment/locale/zh-cn' moment.locale('zh-cn') const EN = 'en-us' @@ -153,6 +154,7 @@ this.updateCurrentDepart() } } + this.localeval=localStorage.getItem('language') }, computed: { ...mapState({ @@ -197,6 +199,7 @@ return that.Logout({}).then(() => { // update-begin author:wangshuai date:20200601 for: 退出登录跳转登录页面 that.$router.push({ path: '/user/login' }); + localStorage.removeItem('language') // update-end author:wangshuai date:20200601 for: 退出登录跳转登录页面 //window.location.reload() }).catch(err => { @@ -267,18 +270,20 @@ /*update_end author:liushaoqian date:20200507 for: 刷新缓存*/ moment, changeLocale (localeval) { + console.log('loacal',localeval) + this.$root.Bus.$emit('switchLanguage',localeval) this.localeval = localeval if (localeval === EN) { moment.locale(EN) this.$i18n.locale = EN - this.locale = null - localStorage.setItem('language', EN) + this.locale = enUS + // localStorage.setItem('language', EN) // location.reload(); } else { moment.locale(ZH) this.$i18n.locale = ZH this.locale = zhCN - localStorage.setItem('language', ZH) + // localStorage.setItem('language', ZH) // location.reload(); } console.log('this.locale',this.locale) diff --git a/jero-web/src/main.js b/jero-web/src/main.js index 95aee4fa0..7e361c908 100644 --- a/jero-web/src/main.js +++ b/jero-web/src/main.js @@ -98,6 +98,9 @@ function main() { store.commit('SET_TOKEN', Vue.ls.get(ACCESS_TOKEN)) store.commit('SET_MULTI_PAGE', Vue.ls.get(DEFAULT_MULTI_PAGE, config.multipage)) }, - render: h => h(App) + render: h => h(App), + data:{ + Bus: new Vue() + } }).$mount('#app') } diff --git a/jero-web/src/views/system/DepartList.vue b/jero-web/src/views/system/DepartList.vue index c8182a0c1..948236bd3 100644 --- a/jero-web/src/views/system/DepartList.vue +++ b/jero-web/src/views/system/DepartList.vue @@ -93,7 +93,7 @@ + :label="$t('OrganizationCode')"> - 字典取回 + {{$t('DictionaryRetrieval')}} - 彻底删除 + {{$t('CompletelyDelete')}} @@ -36,7 +36,7 @@ return { modalWidth: '90%', modalStyle: { 'top': '20px'}, - title: '操作', + title: this.$t('operation'), visible: false, loading: false, dataSource:[], @@ -52,22 +52,22 @@ } }, { - title: '字典名称', + title: this.$t('DictionaryName'), align: "left", dataIndex: 'dictName' }, { - title: '字典编号', + title: this.$t('DictionaryNumber'), align: "left", dataIndex: 'dictCode' }, { - title: '描述', + title: this.$t('describe'), align: "left", dataIndex: 'description' }, { - title: '操作', + title: this.$t('operation'), dataIndex: 'action', align: "center", scopedSlots: {customRender: 'action'} diff --git a/jero-web/src/views/system/DictItemList.vue b/jero-web/src/views/system/DictItemList.vue index 4ab21dc77..a96291007 100644 --- a/jero-web/src/views/system/DictItemList.vue +++ b/jero-web/src/views/system/DictItemList.vue @@ -2,7 +2,7 @@ - - + + - + - 正常 - 禁用 + {{$t('normal')}} + {{$t('disable')}} - 搜索 - 重置 + {{$t('query')}} + {{$t('reset')}} - 新增 + {{$t('add')}} @@ -62,10 +62,10 @@ > - 编辑 + {{$t('edit')}} - - 删除 + + {{$t('delete')}} @@ -91,17 +91,17 @@ return { columns: [ { - title: '名称', + title: this.$t('name'), align: "center", dataIndex: 'itemText', }, { - title: '数据值', + title: this.$t('DataValue'), align: "center", dataIndex: 'itemValue', }, { - title: '操作', + title: this.$t('operation'), dataIndex: 'action', align: "center", scopedSlots: {customRender: 'action'}, @@ -114,7 +114,7 @@ delFlag: "1", status: [], }, - title: "操作", + title: this.$t('operation'), visible: false, screenWidth: 800, model: {}, @@ -130,8 +130,8 @@ }, form: this.$form.createForm(this), validatorRules: { - itemText: {rules: [{required: true, message: '请输入名称!'}]}, - itemValue: {rules: [{required: true, message: '请输入数据值!'}]}, + itemText: {rules: [{required: true, message: this.$t('enterName')}]}, + itemValue: {rules: [{required: true, message: this.$t('enterDataValue')}]}, }, url: { list: "/sys/dictItem/page", @@ -185,7 +185,7 @@ // 添加字典数据 handleAdd() { this.$refs.modalForm.add(this.dictId); - this.$refs.modalForm.title = "新增"; + this.$refs.modalForm.title = this.$t('add'); }, showDrawer() { this.visible = true diff --git a/jero-web/src/views/system/DictList.vue b/jero-web/src/views/system/DictList.vue index bfcc44322..9bb0bf894 100644 --- a/jero-web/src/views/system/DictList.vue +++ b/jero-web/src/views/system/DictList.vue @@ -52,7 +52,7 @@ {{$t('DictionaryConfiguration')}} - + {{$t('delete')}} diff --git a/jero-web/src/views/system/PermissionDataRuleList.vue b/jero-web/src/views/system/PermissionDataRuleList.vue index 5274e0f19..7bb806927 100644 --- a/jero-web/src/views/system/PermissionDataRuleList.vue +++ b/jero-web/src/views/system/PermissionDataRuleList.vue @@ -1,6 +1,6 @@ - 还原用户 + {{$t('RestoreUser')}} - 彻底删除 + {{$t('CompletelyDelete')}} @@ -65,8 +65,8 @@ throw new Error(res.message) } }).catch(e => { - console.error('查询已删除的用户失败:', e) - this.$message.warning('查询已删除的用户失败:' + (e.message || e)) + console.error(this.$t('FailedQuery'), e) + this.$message.warning(this.$t('FailedQuery') + (e.message || e)) }).finally(() => { this.loading = false }) @@ -89,11 +89,11 @@ dataSource: [], columns: [ { title: '#', align: 'center', key: 'rowIndex', width: 80, customRender: (t, r, i) => i + 1 }, - { title: '账号', align: 'center', dataIndex: 'username' }, - { title: '姓名', align: 'center', dataIndex: 'realname', }, - { title: '头像', align: 'center', dataIndex: 'avatar', scopedSlots: { customRender: 'avatarslot' } }, - { title: '部门', align: 'center', dataIndex: 'orgCode' }, - { title: '操作', align: 'center', dataIndex: 'action', width: 200, scopedSlots: { customRender: 'action' } } + { title: this.$t('account'), align: 'center', dataIndex: 'username' }, + { title: this.$t('userName'), align: 'center', dataIndex: 'realname', }, + { title: this.$t('headPortrait'), align: 'center', dataIndex: 'avatar', scopedSlots: { customRender: 'avatarslot' } }, + { title: this.$t('department'), align: 'center', dataIndex: 'orgCode' }, + { title: this.$t('operation'), align: 'center', dataIndex: 'action', width: 200, scopedSlots: { customRender: 'action' } } ], url: { getAvatar: (path) => getFileAccessHttpUrl(`${path}`), @@ -136,15 +136,15 @@ // 还原用户 handleRevert(userIds) { this.$confirm({ - title: '恢复用户', - content: `您确定要恢复这 ${userIds.length} 个用户吗?`, + title: this.$t('RestorUser'), + content: this.$t('sureRestore')+` ${userIds.length} `+this.$t('Users'), centered: true, onOk: () => { putAction(this.url.putRecycleBin,{userIds:userIds.join(',')}).then((res)=>{ if(res.success){ this.handleOk() this.handleClearSelection() - this.$message.success(`还原 ${userIds.length} 个用户成功!`) + this.$message.success(this.$t('reduction')+` ${userIds.length} `+this.$t('UsersSucceeded')) } }) }