mirror of
				https://github.com/nsnail/NetAdmin.git
				synced 2025-11-01 03:35:28 +08:00 
			
		
		
		
	chore: 🔨 补充语言文件
This commit is contained in:
		| @@ -42,5 +42,21 @@ | |||||||
|   { |   { | ||||||
|     "ApiId": "api/sys/user/set.session.user.app.config", |     "ApiId": "api/sys/user/set.session.user.app.config", | ||||||
|     "RoleId": 371729946431493, |     "RoleId": 371729946431493, | ||||||
|  |   }, | ||||||
|  |   { | ||||||
|  |     "ApiId": "api/sys/login.log/paged.query", | ||||||
|  |     "RoleId": 371729946431493, | ||||||
|  |   }, | ||||||
|  |   { | ||||||
|  |     "ApiId": "api/sys/login.log/get", | ||||||
|  |     "RoleId": 371729946431493, | ||||||
|  |   }, | ||||||
|  |   { | ||||||
|  |     "ApiId": "api/sys/login.log/count.by", | ||||||
|  |     "RoleId": 371729946431493, | ||||||
|  |   }, | ||||||
|  |   { | ||||||
|  |     "ApiId": "api/sys/login.log/export", | ||||||
|  |     "RoleId": 371729946431493, | ||||||
|   } |   } | ||||||
| ] | ] | ||||||
| @@ -23,7 +23,7 @@ | |||||||
|         "sortablejs": "1.15.6", |         "sortablejs": "1.15.6", | ||||||
|         "vkbeautify": "0.99.3", |         "vkbeautify": "0.99.3", | ||||||
|         "vue": "3.5.13", |         "vue": "3.5.13", | ||||||
|         "vue-i18n": "10.0.5", |         "vue-i18n": "11.0.1", | ||||||
|         "vue-router": "4.5.0", |         "vue-router": "4.5.0", | ||||||
|         "vue3-ace-editor": "2.2.4", |         "vue3-ace-editor": "2.2.4", | ||||||
|         "vue3-json-viewer": "2.2.2", |         "vue3-json-viewer": "2.2.2", | ||||||
| @@ -36,7 +36,7 @@ | |||||||
|         "prettier-plugin-organize-attributes": "1.0.0", |         "prettier-plugin-organize-attributes": "1.0.0", | ||||||
|         "sass": "1.83.0", |         "sass": "1.83.0", | ||||||
|         "terser": "5.37.0", |         "terser": "5.37.0", | ||||||
|         "vite": "6.0.5" |         "vite": "6.0.6" | ||||||
|     }, |     }, | ||||||
|     "browserslist": [ |     "browserslist": [ | ||||||
|         "> 1%", |         "> 1%", | ||||||
|   | |||||||
| @@ -56,9 +56,11 @@ export default { | |||||||
|             this.data = this.$TOOL.sortProperties(res.data) |             this.data = this.$TOOL.sortProperties(res.data) | ||||||
|             if (queryEs) { |             if (queryEs) { | ||||||
|                 this.esData = {} |                 this.esData = {} | ||||||
|                 this.$API.adm_tools.queryEsLog.post(queryEs).then((res) => { |                 try { | ||||||
|                     this.esData = res.data |                     this.$API.adm_tools.queryEsLog.post(queryEs).then((res) => { | ||||||
|                 }) |                         this.esData = res.data | ||||||
|  |                     }) | ||||||
|  |                 } catch {} | ||||||
|             } |             } | ||||||
|             return this |             return this | ||||||
|         }, |         }, | ||||||
|   | |||||||
| @@ -525,7 +525,7 @@ export default { | |||||||
|             this.loading = true |             this.loading = true | ||||||
|             try { |             try { | ||||||
|                 await this.exportApi.post(this.getQueryParams(), { responseType: 'blob' }) |                 await this.exportApi.post(this.getQueryParams(), { responseType: 'blob' }) | ||||||
|                 this.$message.success(`数据已导出(上限5万条)`) |                 this.$message.success(this.$t('数据已导出(上限 {n} 条)', { n: 50000 })) | ||||||
|             } catch {} |             } catch {} | ||||||
|             this.loading = false |             this.loading = false | ||||||
|         }, |         }, | ||||||
|   | |||||||
| @@ -2,7 +2,7 @@ export default { | |||||||
|     email: (_this) => { |     email: (_this) => { | ||||||
|         return { |         return { | ||||||
|             required: true, |             required: true, | ||||||
|             message: '您的邮箱地址', |             message: _this.$t('您的邮箱地址'), | ||||||
|             pattern: _this.$GLOBAL.chars.RGXL_EMAIL, |             pattern: _this.$GLOBAL.chars.RGXL_EMAIL, | ||||||
|         } |         } | ||||||
|     }, |     }, | ||||||
| @@ -20,16 +20,16 @@ export default { | |||||||
|                 } catch { |                 } catch { | ||||||
|                     // |                     // | ||||||
|                 } |                 } | ||||||
|                 callback(new Error('邮箱已被使用')) |                 callback(new Error(_this.$t('邮箱已被使用'))) | ||||||
|             }, |             }, | ||||||
|             trigger: 'blur', |             trigger: 'blur', | ||||||
|         } |         } | ||||||
|     }, |     }, | ||||||
|  |  | ||||||
|     code: () => { |     code: (_this) => { | ||||||
|         return { |         return { | ||||||
|             required: true, |             required: true, | ||||||
|             message: '请输入4位数字验证码', |             message: _this.$t('请输入4位数字验证码'), | ||||||
|         } |         } | ||||||
|     }, |     }, | ||||||
| } | } | ||||||
| @@ -2,17 +2,17 @@ export default { | |||||||
|     passwordText: (_this) => { |     passwordText: (_this) => { | ||||||
|         return { |         return { | ||||||
|             required: true, |             required: true, | ||||||
|             message: '8位以上数字字母组合', |             message: _this.$t('8位以上数字字母组合'), | ||||||
|             pattern: _this.$GLOBAL.chars.RGX_PASSWORD, |             pattern: _this.$GLOBAL.chars.RGX_PASSWORD, | ||||||
|         } |         } | ||||||
|     }, |     }, | ||||||
|  |  | ||||||
|     passwordText2: (passwordText) => [ |     passwordText2: (_this, passwordText) => [ | ||||||
|         { required: true, message: '请再次输入密码' }, |         { required: true, message: _this.$t('请再次输入密码') }, | ||||||
|         { |         { | ||||||
|             validator: (rule, value, callback) => { |             validator: (rule, value, callback) => { | ||||||
|                 if (value !== passwordText()) { |                 if (value !== passwordText()) { | ||||||
|                     callback(new Error('两次输入密码不一致')) |                     callback(new Error(_this.$t('两次输入密码不一致'))) | ||||||
|                 } else { |                 } else { | ||||||
|                     callback() |                     callback() | ||||||
|                 } |                 } | ||||||
|   | |||||||
| @@ -2,7 +2,7 @@ export default { | |||||||
|     mobile: (_this) => { |     mobile: (_this) => { | ||||||
|         return { |         return { | ||||||
|             required: true, |             required: true, | ||||||
|             message: '您的手机号码', |             message: _this.$t('您的手机号码'), | ||||||
|             pattern: _this.$GLOBAL.chars.RGX_MOBILE, |             pattern: _this.$GLOBAL.chars.RGX_MOBILE, | ||||||
|         } |         } | ||||||
|     }, |     }, | ||||||
| @@ -20,16 +20,16 @@ export default { | |||||||
|                 } catch { |                 } catch { | ||||||
|                     // |                     // | ||||||
|                 } |                 } | ||||||
|                 callback(new Error('手机号已被使用')) |                 callback(new Error(_this.$t('手机号已被使用'))) | ||||||
|             }, |             }, | ||||||
|             trigger: 'blur', |             trigger: 'blur', | ||||||
|         } |         } | ||||||
|     }, |     }, | ||||||
|  |  | ||||||
|     code: () => { |     code: (_this) => { | ||||||
|         return { |         return { | ||||||
|             required: true, |             required: true, | ||||||
|             message: '请输入4位数字验证码', |             message: _this.$t('请输入4位数字验证码'), | ||||||
|         } |         } | ||||||
|     }, |     }, | ||||||
| } | } | ||||||
| @@ -9,9 +9,9 @@ export default (el, binding) => { | |||||||
|         value = value * 1000 |         value = value * 1000 | ||||||
|     } |     } | ||||||
|     if (modifiers.tip) { |     if (modifiers.tip) { | ||||||
|         el.innerHTML = tool.time.getFormatTime(value) |         el.innerHTML = tool.time.getFormatTime(binding.instance, value) | ||||||
|         el.__timeout__ = setInterval(() => { |         el.__timeout__ = setInterval(() => { | ||||||
|             el.innerHTML = tool.time.getFormatTime(value) |             el.innerHTML = tool.time.getFormatTime(binding.instance, value) | ||||||
|         }, 60000) |         }, 60000) | ||||||
|     } else { |     } else { | ||||||
|         const format = el.getAttribute('format') || undefined |         const format = el.getAttribute('format') || undefined | ||||||
|   | |||||||
| @@ -9,7 +9,7 @@ | |||||||
|                 <component :is="navMenu.meta.icon || 'el-icon-menu'" /> |                 <component :is="navMenu.meta.icon || 'el-icon-menu'" /> | ||||||
|             </el-icon> |             </el-icon> | ||||||
|             <template #title> |             <template #title> | ||||||
|                 <span>{{ navMenu.meta.title }}</span> |                 <span>{{ this.$t(navMenu.meta.title) }}</span> | ||||||
|                 <span v-if="navMenu.meta.tag" class="menu-tag">{{ navMenu.meta.tag }}</span> |                 <span v-if="navMenu.meta.tag" class="menu-tag">{{ navMenu.meta.tag }}</span> | ||||||
|             </template> |             </template> | ||||||
|         </el-menu-item> |         </el-menu-item> | ||||||
| @@ -18,7 +18,7 @@ | |||||||
|                 <el-icon v-if="navMenu.meta && navMenu.meta.icon"> |                 <el-icon v-if="navMenu.meta && navMenu.meta.icon"> | ||||||
|                     <component :is="navMenu.meta.icon || 'el-icon-menu'" /> |                     <component :is="navMenu.meta.icon || 'el-icon-menu'" /> | ||||||
|                 </el-icon> |                 </el-icon> | ||||||
|                 <span>{{ navMenu.meta.title }}</span> |                 <span>{{ this.$t(navMenu.meta.title) }}</span> | ||||||
|                 <span v-if="navMenu.meta.tag" class="menu-tag">{{ navMenu.meta.tag }}</span> |                 <span v-if="navMenu.meta.tag" class="menu-tag">{{ navMenu.meta.tag }}</span> | ||||||
|             </template> |             </template> | ||||||
|             <NavMenu :navMenus="navMenu.children"></NavMenu> |             <NavMenu :navMenus="navMenu.children"></NavMenu> | ||||||
|   | |||||||
| @@ -7,7 +7,7 @@ | |||||||
|                 :class="[isActive(tag) ? 'active' : '', tag.meta.affix ? 'affix' : '']" |                 :class="[isActive(tag) ? 'active' : '', tag.meta.affix ? 'affix' : '']" | ||||||
|                 @contextmenu.prevent="openContextMenu($event, tag)"> |                 @contextmenu.prevent="openContextMenu($event, tag)"> | ||||||
|                 <router-link :to="tag"> |                 <router-link :to="tag"> | ||||||
|                     <span>{{ tag.meta.title }}</span> |                     <span>{{ $t(tag.meta.title) }}</span> | ||||||
|                     <el-icon v-if="!tag.meta.affix" @click.prevent.stop="closeSelectedTag(tag)"> |                     <el-icon v-if="!tag.meta.affix" @click.prevent.stop="closeSelectedTag(tag)"> | ||||||
|                         <el-icon-close /> |                         <el-icon-close /> | ||||||
|                     </el-icon> |                     </el-icon> | ||||||
| @@ -22,39 +22,39 @@ | |||||||
|                 <el-icon> |                 <el-icon> | ||||||
|                     <el-icon-refresh /> |                     <el-icon-refresh /> | ||||||
|                 </el-icon> |                 </el-icon> | ||||||
|                 刷新 |                 {{ $t('刷新') }} | ||||||
|             </li> |             </li> | ||||||
|             <li @click="scheduledRefresh()"> |             <li @click="scheduledRefresh()"> | ||||||
|                 <el-icon> |                 <el-icon> | ||||||
|                     <el-icon-alarm-clock /> |                     <el-icon-alarm-clock /> | ||||||
|                 </el-icon> |                 </el-icon> | ||||||
|                 定时刷新 |                 {{ $t('定时刷新') }} | ||||||
|             </li> |             </li> | ||||||
|             <hr /> |             <hr /> | ||||||
|             <li :class="contextMenuItem.meta.affix ? 'disabled' : ''" @click="closeTabs()"> |             <li :class="contextMenuItem.meta.affix ? 'disabled' : ''" @click="closeTabs()"> | ||||||
|                 <el-icon> |                 <el-icon> | ||||||
|                     <el-icon-close /> |                     <el-icon-close /> | ||||||
|                 </el-icon> |                 </el-icon> | ||||||
|                 关闭标签 |                 {{ $t('关闭标签') }} | ||||||
|             </li> |             </li> | ||||||
|             <li @click="closeOtherTabs()"> |             <li @click="closeOtherTabs()"> | ||||||
|                 <el-icon> |                 <el-icon> | ||||||
|                     <el-icon-folder-delete /> |                     <el-icon-folder-delete /> | ||||||
|                 </el-icon> |                 </el-icon> | ||||||
|                 关闭其他标签 |                 {{ $t('关闭其他标签') }} | ||||||
|             </li> |             </li> | ||||||
|             <hr /> |             <hr /> | ||||||
|             <li @click="maximize()"> |             <li @click="maximize()"> | ||||||
|                 <el-icon> |                 <el-icon> | ||||||
|                     <el-icon-full-screen /> |                     <el-icon-full-screen /> | ||||||
|                 </el-icon> |                 </el-icon> | ||||||
|                 最大化 |                 {{ $t('最大化') }} | ||||||
|             </li> |             </li> | ||||||
|             <li @click="openWindow()"> |             <li @click="openWindow()"> | ||||||
|                 <el-icon> |                 <el-icon> | ||||||
|                     <el-icon-copy-document /> |                     <el-icon-copy-document /> | ||||||
|                 </el-icon> |                 </el-icon> | ||||||
|                 在新的窗口中打开 |                 {{ $t('在新的窗口中打开') }} | ||||||
|             </li> |             </li> | ||||||
|         </ul> |         </ul> | ||||||
|     </transition> |     </transition> | ||||||
| @@ -200,9 +200,9 @@ export default { | |||||||
|         async scheduledRefresh() { |         async scheduledRefresh() { | ||||||
|             this.closeMenu() |             this.closeMenu() | ||||||
|             try { |             try { | ||||||
|                 const sleep = await this.$prompt('刷新时间间隔(秒)', '定时刷新', { |                 const sleep = await this.$prompt(this.$t('刷新时间间隔(秒)'), this.$t('定时刷新'), { | ||||||
|                     inputPattern: /^[1-9]\d*$/, |                     inputPattern: /^[1-9]\d*$/, | ||||||
|                     inputErrorMessage: '时间必须为数字', |                     inputErrorMessage: this.$t('时间必须为数字'), | ||||||
|                     inputValue: '10', |                     inputValue: '10', | ||||||
|                 }) |                 }) | ||||||
|                 const sleepSecs = parseInt(sleep.value) |                 const sleepSecs = parseInt(sleep.value) | ||||||
|   | |||||||
| @@ -2,7 +2,7 @@ | |||||||
|     <el-container v-loading="loading"> |     <el-container v-loading="loading"> | ||||||
|         <el-header class="flex" style="justify-content: space-evenly; height: unset"> |         <el-header class="flex" style="justify-content: space-evenly; height: unset"> | ||||||
|             <div v-if="failJobs"> |             <div v-if="failJobs"> | ||||||
|                 <el-badge :hidden="fail === 0" :value="`${$TOOL.time.getFormatTime(new Date(failJobViewTime).getTime())} 至今 ${fail}个`"> |                 <el-badge :hidden="fail === 0" :value="`${$TOOL.time.getFormatTime(this, new Date(failJobViewTime).getTime())} 至今 ${fail}个`"> | ||||||
|                     <el-button |                     <el-button | ||||||
|                         @click=" |                         @click=" | ||||||
|                             () => { |                             () => { | ||||||
| @@ -41,9 +41,9 @@ | |||||||
|                 <el-col :lg="12"> |                 <el-col :lg="12"> | ||||||
|                     <el-empty v-if="!failJobs"> |                     <el-empty v-if="!failJobs"> | ||||||
|                         <template #description> |                         <template #description> | ||||||
|                             <p>{{ $TOOL.time.getFormatTime(new Date(failJobViewTime).getTime()) }}</p> |                             <p>{{ $TOOL.time.getFormatTime(this, new Date(failJobViewTime).getTime()) }}</p> | ||||||
|                             <p>至今</p> |                             <p>{{ $t('至今') }}</p> | ||||||
|                             <p>未发现新的异常作业</p> |                             <p>{{ $t('未发现新的异常作业') }}</p> | ||||||
|                         </template> |                         </template> | ||||||
|                     </el-empty> |                     </el-empty> | ||||||
|                     <el-card |                     <el-card | ||||||
| @@ -88,9 +88,9 @@ | |||||||
|                             <div class="jobMain"> |                             <div class="jobMain"> | ||||||
|                                 <div class="title"> |                                 <div class="title"> | ||||||
|                                     <h2>{{ job.jobName }}</h2> |                                     <h2>{{ job.jobName }}</h2> | ||||||
|                                     <p>{{ $t('上次执行:') }}<span v-time.tip="job.lastExecTime" :title="job.lastExecTime"></span></p> |                                     <p>{{ $t('上次执行') }}:<span v-time.tip="job.lastExecTime" :title="job.lastExecTime"></span></p> | ||||||
|                                     <p> |                                     <p> | ||||||
|                                         下次执行:<span>{{ job.nextExecTime }}</span> |                                         {{ $t('下次执行') }}:<span>{{ job.nextExecTime }}</span> | ||||||
|                                     </p> |                                     </p> | ||||||
|                                 </div> |                                 </div> | ||||||
|                                 <div class="bottom"> |                                 <div class="bottom"> | ||||||
|   | |||||||
| @@ -501,4 +501,125 @@ export default { | |||||||
|     本页: 'Page', |     本页: 'Page', | ||||||
|     'JSON 格式化': 'JSON formatting', |     'JSON 格式化': 'JSON formatting', | ||||||
|     格式错误: 'Format error', |     格式错误: 'Format error', | ||||||
|  |     模块信息: 'Module information', | ||||||
|  |     当前项目模块信息: 'Current project module information', | ||||||
|  |     本周: 'This week', | ||||||
|  |     本月: 'This month', | ||||||
|  |     后退一月: 'Back a month', | ||||||
|  |     最近整点: 'Last hour', | ||||||
|  |     '手机号 / 邮箱': 'Phone / Email', | ||||||
|  |     后退一周: 'Back a week', | ||||||
|  |     用户数量: 'Number of users', | ||||||
|  |     复制角色: 'Copy the role', | ||||||
|  |     删除角色: 'Delete the role', | ||||||
|  |     删除部门: 'Delete a department', | ||||||
|  |     作业日志: 'Job logs', | ||||||
|  |     上次执行状态: 'Last Execution Status', | ||||||
|  |     立即执行: 'Execute it now', | ||||||
|  |     复制作业: 'Copy the job', | ||||||
|  |     '项名 / 项值 / 备注': 'Item Name / Item Value / Notes', | ||||||
|  |     设置项值: 'Set the item value', | ||||||
|  |     过期时间: 'Expiration time', | ||||||
|  |     查看缓存: 'View the cache', | ||||||
|  |     删除缓存: 'Delete the cache', | ||||||
|  |     文档分类: 'Document classification', | ||||||
|  |     档案可见性: 'Archive visibility', | ||||||
|  |     文档标题: 'The title of the document', | ||||||
|  |     错误码: 'Error codes', | ||||||
|  |     登录用户名: 'Login username', | ||||||
|  |     客户端IP地址: 'Client IP address', | ||||||
|  |     授权信息: 'Authorization Information', | ||||||
|  |     用户标识: 'User ID', | ||||||
|  |     授权令牌: 'Authorization tokens', | ||||||
|  |     复制授权令牌: 'Copy the authorization token', | ||||||
|  |     异常日志: 'Exception logs', | ||||||
|  |     没有正在执行的作业: 'There are no jobs in progress', | ||||||
|  |     空闲: 'Idle', | ||||||
|  |     请输入用户名: 'Please enter a username', | ||||||
|  |     请输入密码: 'Please enter your password', | ||||||
|  |     '用户名 / 手机 / 邮箱': 'Username / Phone / Email', | ||||||
|  |     您的手机号码: 'Your mobile phone number', | ||||||
|  |     请输入4位数字验证码: 'Please enter a 4-digit verification code', | ||||||
|  |     '8位以上数字字母组合': 'A combination of more than 8 digits of numbers and letters', | ||||||
|  |     请再次输入密码: 'Please enter your password again', | ||||||
|  |     发送成功: 'The sending was successful', | ||||||
|  |     操作指引: 'How-to instructions', | ||||||
|  |     '按下 {key} 可关闭当前标签页': 'Press {key} to close the current tab', | ||||||
|  |     '按下 {key} 可关闭其它标签页': 'Press {key} to close other tabs', | ||||||
|  |     '按下 {key} 快速查找菜单功能': 'Press {key} to quickly find the menu function', | ||||||
|  |     原手机验证码: 'The verification code of the original mobile phone', | ||||||
|  |     原手机号码: 'Original mobile phone number', | ||||||
|  |     手机验证码: 'Mobile phone verification code', | ||||||
|  |     邮箱已被使用: 'The email is already in use', | ||||||
|  |     您的邮箱地址: 'Your email address', | ||||||
|  |     自定义首页布局: 'Customize the homepage layout', | ||||||
|  |     '喜欢就点个 Star⭐️ 吧!': 'If you like, order a Star⭐️!', | ||||||
|  |     完成: 'Finish', | ||||||
|  |     没有部件啦: 'There are no parts', | ||||||
|  |     恢复默认: 'Restore the default', | ||||||
|  |     添加部件: 'Add a part', | ||||||
|  |     添加自定义布局: 'Add custom layouts', | ||||||
|  |     '请输入以空格分隔的24分栏布局:如【24】或【12 12】或【8 8 8】': 'Please enter a 24-column layout separated by spaces: e.g. 24 or 12 12 or 8 8 8', | ||||||
|  |     添加一行: 'Add a line', | ||||||
|  |     '第 {n} 行': 'Line {n}', | ||||||
|  |     版本信息: 'Version information', | ||||||
|  |     外部组件: 'External components', | ||||||
|  |     至今: 'Ever since', | ||||||
|  |     未发现新的异常作业: 'No new anomalous jobs were found', | ||||||
|  |     刚刚: 'Newly', | ||||||
|  |     '{n} 天前': '{n} days ago', | ||||||
|  |     '{n} 分钟前': '{n} minutes ago', | ||||||
|  |     '{n} 小时前': '{n} hours ago', | ||||||
|  |     下次执行: 'Next time', | ||||||
|  |     成功率: 'Success rate', | ||||||
|  |     总数: 'Total', | ||||||
|  |     随机延时: 'Random delay', | ||||||
|  |     '结束值(毫秒)': 'End Value (ms)', | ||||||
|  |     '起始值(毫秒)': 'Starting Value (ms)', | ||||||
|  |     复制: 'Copy', | ||||||
|  |     新增: 'New', | ||||||
|  |     '数据已导出(上限 {n} 条)': 'Data exported (Maximum {n} entries)', | ||||||
|  |     同步成功: 'Synchronization succeeded', | ||||||
|  |     缓存详情: 'Cache details', | ||||||
|  |     操作日志: 'Operation logs', | ||||||
|  |     数据权限: 'Data Permissions', | ||||||
|  |     首页视图: 'Home view', | ||||||
|  |     删除配置: 'Delete the configuration', | ||||||
|  |     所属字典目录: 'Dictionary catalog', | ||||||
|  |     删除字典项: 'Delete dictionary entries', | ||||||
|  |     接口总数: 'Total number of apis', | ||||||
|  |     所属文档分类: 'Document catalog', | ||||||
|  |     请选择所属文档分类: 'Please select the document category', | ||||||
|  |     请输入文档标题: 'Please enter a title for the document', | ||||||
|  |     请输入文档内容: 'Please enter the content of the document', | ||||||
|  |     请选择档案可见性: 'Please select profile visibility', | ||||||
|  |     文档内容: 'Document content', | ||||||
|  |     主控面板: 'Dashboard', | ||||||
|  |     权限管理: 'Permissions', | ||||||
|  |     用户管理: 'User', | ||||||
|  |     角色管理: 'Role', | ||||||
|  |     部门管理: 'Department', | ||||||
|  |     菜单管理: 'Menu', | ||||||
|  |     系统管理: 'System', | ||||||
|  |     计划作业: 'Schedule jobs', | ||||||
|  |     字典管理: 'Dictionary', | ||||||
|  |     消息管理: 'Message', | ||||||
|  |     接口管理: 'API', | ||||||
|  |     缓存管理: 'Cache', | ||||||
|  |     档案管理: 'Archives', | ||||||
|  |     文档管理: 'Document', | ||||||
|  |     日志管理: 'Log', | ||||||
|  |     开发管理: 'Development', | ||||||
|  |     代码生成: 'Code generation', | ||||||
|  |     定时刷新: 'Refresh on interval', | ||||||
|  |     关闭标签: 'Close the tab', | ||||||
|  |     关闭其他标签: 'Close other tabs', | ||||||
|  |     最大化: 'Maximum', | ||||||
|  |     在新的窗口中打开: 'Opens in a new window', | ||||||
|  |     '刷新时间间隔(秒)': 'Refresh interval (seconds)', | ||||||
|  |     时间必须为数字: 'The time must be a number', | ||||||
|  |     菜单: 'Menu', | ||||||
|  |     链接: 'Link', | ||||||
|  |     框架: 'IFrame', | ||||||
|  |     按钮: 'Button', | ||||||
| } | } | ||||||
| @@ -501,4 +501,123 @@ export default { | |||||||
|     '按下 {key} 可关闭当前标签页': '按下 {key} 可关闭当前标签页', |     '按下 {key} 可关闭当前标签页': '按下 {key} 可关闭当前标签页', | ||||||
|     '按下 {key} 可关闭其它标签页': '按下 {key} 可关闭其它标签页', |     '按下 {key} 可关闭其它标签页': '按下 {key} 可关闭其它标签页', | ||||||
|     '按下 {key} 快速查找菜单功能': '按下 {key} 快速查找菜单功能', |     '按下 {key} 快速查找菜单功能': '按下 {key} 快速查找菜单功能', | ||||||
|  |     模块信息: '模块信息', | ||||||
|  |     当前项目模块信息: '当前项目模块信息', | ||||||
|  |     本周: '本周', | ||||||
|  |     本月: '本月', | ||||||
|  |     后退一月: '后退一月', | ||||||
|  |     最近整点: '最近整点', | ||||||
|  |     '手机号 / 邮箱': '手机号 / 邮箱', | ||||||
|  |     后退一周: '后退一周', | ||||||
|  |     用户数量: '用户数量', | ||||||
|  |     复制角色: '复制角色', | ||||||
|  |     删除角色: '删除角色', | ||||||
|  |     删除部门: '删除部门', | ||||||
|  |     作业日志: '作业日志', | ||||||
|  |     上次执行状态: '上次执行状态', | ||||||
|  |     立即执行: '立即执行', | ||||||
|  |     复制作业: '复制作业', | ||||||
|  |     '项名 / 项值 / 备注': '项名 / 项值 / 备注', | ||||||
|  |     设置项值: '设置项值', | ||||||
|  |     过期时间: '过期时间', | ||||||
|  |     查看缓存: '查看缓存', | ||||||
|  |     删除缓存: '删除缓存', | ||||||
|  |     文档分类: '文档分类', | ||||||
|  |     档案可见性: '档案可见性', | ||||||
|  |     文档标题: '文档标题', | ||||||
|  |     错误码: '错误码', | ||||||
|  |     登录用户名: '登录用户名', | ||||||
|  |     客户端IP地址: '客户端IP地址', | ||||||
|  |     授权信息: '授权信息', | ||||||
|  |     用户标识: '用户标识', | ||||||
|  |     授权令牌: '授权令牌', | ||||||
|  |     复制授权令牌: '复制授权令牌', | ||||||
|  |     重置为默认值: '重置为默认值', | ||||||
|  |     异常日志: '异常日志', | ||||||
|  |     没有正在执行的作业: '没有正在执行的作业', | ||||||
|  |     空闲: '空闲', | ||||||
|  |     请输入用户名: '请输入用户名', | ||||||
|  |     '用户名 / 手机 / 邮箱': '用户名 / 手机 / 邮箱', | ||||||
|  |     请输入密码: '请输入密码', | ||||||
|  |     您的手机号码: '您的手机号码', | ||||||
|  |     请输入4位数字验证码: '请输入4位数字验证码', | ||||||
|  |     '8位以上数字字母组合': '8位以上数字字母组合', | ||||||
|  |     请再次输入密码: '请再次输入密码', | ||||||
|  |     发送成功: '发送成功', | ||||||
|  |     操作指引: '操作指引', | ||||||
|  |     原手机验证码: '原手机验证码', | ||||||
|  |     原手机号码: '原手机号码', | ||||||
|  |     手机验证码: '手机验证码', | ||||||
|  |     邮箱已被使用: '邮箱已被使用', | ||||||
|  |     您的邮箱地址: '您的邮箱地址', | ||||||
|  |     自定义首页布局: '自定义首页布局', | ||||||
|  |     '喜欢就点个 Star⭐️ 吧!': '喜欢就点个 Star⭐️ 吧!', | ||||||
|  |     完成: '完成', | ||||||
|  |     没有部件啦: '没有部件啦', | ||||||
|  |     恢复默认: '恢复默认', | ||||||
|  |     添加部件: '添加部件', | ||||||
|  |     添加自定义布局: '添加自定义布局', | ||||||
|  |     '请输入以空格分隔的24分栏布局:如【24】或【12 12】或【8 8 8】': '请输入以空格分隔的24分栏布局:如【24】或【12 12】或【8 8 8】', | ||||||
|  |     添加一行: '添加一行', | ||||||
|  |     '第 {n} 行': '第 {n} 行', | ||||||
|  |     版本信息: '版本信息', | ||||||
|  |     外部组件: '外部组件', | ||||||
|  |     至今: '至今', | ||||||
|  |     未发现新的异常作业: '未发现新的异常作业', | ||||||
|  |     刚刚: '刚刚', | ||||||
|  |     '{n} 天前': '{n} 天前', | ||||||
|  |     '{n} 分钟前': '{n} 分钟前', | ||||||
|  |     '{n} 小时前': '{n} 小时前', | ||||||
|  |     下次执行: '下次执行', | ||||||
|  |     成功率: '成功率', | ||||||
|  |     总数: '总数', | ||||||
|  |     随机延时: '随机延时', | ||||||
|  |     '结束值(毫秒)': '结束值(毫秒)', | ||||||
|  |     '起始值(毫秒)': '起始值(毫秒)', | ||||||
|  |     复制: '复制', | ||||||
|  |     新增: '新增', | ||||||
|  |     '数据已导出(上限 {n} 条)': '数据已导出(上限 {n} 条)', | ||||||
|  |     同步成功: '同步成功', | ||||||
|  |     缓存详情: '缓存详情', | ||||||
|  |     操作日志: '操作日志', | ||||||
|  |     数据权限: '数据权限', | ||||||
|  |     首页视图: '首页视图', | ||||||
|  |     删除配置: '删除配置', | ||||||
|  |     所属字典目录: '所属字典目录', | ||||||
|  |     删除字典项: '删除字典项', | ||||||
|  |     接口总数: '接口总数', | ||||||
|  |     所属文档分类: '所属文档分类', | ||||||
|  |     请选择所属文档分类: '请选择所属文档分类', | ||||||
|  |     请输入文档标题: '请输入文档标题', | ||||||
|  |     请输入文档内容: '请输入文档内容', | ||||||
|  |     请选择档案可见性: '请选择档案可见性', | ||||||
|  |     文档内容: '文档内容', | ||||||
|  |     主控面板: '主控面板', | ||||||
|  |     权限管理: '权限管理', | ||||||
|  |     用户管理: '用户管理', | ||||||
|  |     角色管理: '角色管理', | ||||||
|  |     部门管理: '部门管理', | ||||||
|  |     菜单管理: '菜单管理', | ||||||
|  |     系统管理: '系统管理', | ||||||
|  |     计划作业: '计划作业', | ||||||
|  |     字典管理: '字典管理', | ||||||
|  |     消息管理: '消息管理', | ||||||
|  |     接口管理: '接口管理', | ||||||
|  |     缓存管理: '缓存管理', | ||||||
|  |     档案管理: '档案管理', | ||||||
|  |     文档管理: '文档管理', | ||||||
|  |     日志管理: '日志管理', | ||||||
|  |     开发管理: '开发管理', | ||||||
|  |     代码生成: '代码生成', | ||||||
|  |     定时刷新: '定时刷新', | ||||||
|  |     关闭标签: '关闭标签', | ||||||
|  |     关闭其他标签: '关闭其他标签', | ||||||
|  |     最大化: '最大化', | ||||||
|  |     在新的窗口中打开: '在新的窗口中打开', | ||||||
|  |     '刷新时间间隔(秒)': '刷新时间间隔(秒)', | ||||||
|  |     时间必须为数字: '时间必须为数字', | ||||||
|  |     菜单: '菜单', | ||||||
|  |     链接: '链接', | ||||||
|  |     框架: '框架', | ||||||
|  |     按钮: '按钮', | ||||||
| } | } | ||||||
| @@ -37,7 +37,7 @@ tool.time = { | |||||||
|         return date.getFullYear() + '-' + month + '-' + day |         return date.getFullYear() + '-' + month + '-' + day | ||||||
|     }, |     }, | ||||||
|     //转换时间 |     //转换时间 | ||||||
|     getFormatTime: function (timestamp) { |     getFormatTime: function (_this, timestamp) { | ||||||
|         timestamp = new Date(timestamp) |         timestamp = new Date(timestamp) | ||||||
|         const now = this.getUnix() |         const now = this.getUnix() | ||||||
|         const today = this.getTodayUnix() |         const today = this.getTodayUnix() | ||||||
| @@ -46,15 +46,15 @@ tool.time = { | |||||||
|         let tip |         let tip | ||||||
|  |  | ||||||
|         if (timer <= 0) { |         if (timer <= 0) { | ||||||
|             tip = '刚刚' |             tip = _this.$t('刚刚') | ||||||
|         } else if (Math.floor(timer / 60) <= 0) { |         } else if (Math.floor(timer / 60) <= 0) { | ||||||
|             tip = '刚刚' |             tip = _this.$t('刚刚') | ||||||
|         } else if (timer < 3600) { |         } else if (timer < 3600) { | ||||||
|             tip = Math.floor(timer / 60) + '分钟前' |             tip = _this.$t('{n} 分钟前', { n: Math.floor(timer / 60) }) | ||||||
|         } else if (timer >= 3600 && (timestamp - today >= 0 || Math.floor(timer / 86400) <= 0)) { |         } else if (timer >= 3600 && (timestamp - today >= 0 || Math.floor(timer / 86400) <= 0)) { | ||||||
|             tip = Math.floor(timer / 3600) + '小时前' |             tip = _this.$t('{n} 小时前', { n: Math.floor(timer / 3600) }) | ||||||
|         } else if (timer / 86400 <= 31) { |         } else if (timer / 86400 <= 31) { | ||||||
|             tip = Math.floor(timer / 86400) + '天前' |             tip = _this.$t('{n} 天前', { n: Math.floor(timer / 86400) }) | ||||||
|         } else { |         } else { | ||||||
|             tip = this.getLastDate(timestamp) |             tip = this.getLastDate(timestamp) | ||||||
|         } |         } | ||||||
|   | |||||||
| @@ -109,7 +109,7 @@ export default { | |||||||
|                         }, |                         }, | ||||||
|                     }, |                     }, | ||||||
|                 ], |                 ], | ||||||
|                 passwordText2: naFormPassword.passwordText2(() => this.form.passwordText), |                 passwordText2: naFormPassword.passwordText2(this, () => this.form.passwordText), | ||||||
|                 passwordText: naFormPassword.passwordText(this), |                 passwordText: naFormPassword.passwordText(this), | ||||||
|                 userName: [ |                 userName: [ | ||||||
|                     { required: true, message: this.$t('请输入用户名') }, |                     { required: true, message: this.$t('请输入用户名') }, | ||||||
|   | |||||||
| @@ -61,7 +61,7 @@ export default { | |||||||
|                     destDevice: phoneConfig.mobile(this), |                     destDevice: phoneConfig.mobile(this), | ||||||
|                     code: phoneConfig.code(this), |                     code: phoneConfig.code(this), | ||||||
|                 }, |                 }, | ||||||
|                 passwordText2: naFormPassword.passwordText2(() => this.form.passwordText), |                 passwordText2: naFormPassword.passwordText2(this, () => this.form.passwordText), | ||||||
|                 passwordText: naFormPassword.passwordText(this), |                 passwordText: naFormPassword.passwordText(this), | ||||||
|             }, |             }, | ||||||
|         } |         } | ||||||
|   | |||||||
| @@ -3,19 +3,21 @@ | |||||||
|         <el-form :model="form" ref="form"> |         <el-form :model="form" ref="form"> | ||||||
|             <el-form-item |             <el-form-item | ||||||
|                 v-for="(row, index) in form.rows" |                 v-for="(row, index) in form.rows" | ||||||
|                 :label="`第${index + 1}行`" |                 :label="$t('第 {n} 行', { n: index + 1 })" | ||||||
|                 :prop="'rows.' + index + '.value'" |                 :prop="'rows.' + index + '.value'" | ||||||
|                 :rules="{ |                 :rules="{ | ||||||
|                     required: true, |                     required: true, | ||||||
|                     message: '请输入以空格分隔的24分栏布局:如【24】或【12 12】或【8 8 8】', |                     message: $t('请输入以空格分隔的24分栏布局:如【24】或【12 12】或【8 8 8】'), | ||||||
|                     trigger: 'blur', |                     trigger: 'blur', | ||||||
|                 }"> |                 }"> | ||||||
|                 <el-input |                 <el-input | ||||||
|                     v-model="form.rows[index].value" |                     v-model="form.rows[index].value" | ||||||
|                     :input="form.rows[index].value = form.rows[index].value.replace(/[^0-9 ]/g, '')" |                     :input="form.rows[index].value = form.rows[index].value.replace(/[^0-9 ]/g, '')" | ||||||
|                     placeholder="请输入以空格分隔的24分栏布局:如【24】或【12 12】或【8 8 8】"> |                     :placeholder="$t('请输入以空格分隔的24分栏布局:如【24】或【12 12】或【8 8 8】')"> | ||||||
|                     <template #append> |                     <template #append> | ||||||
|                         <el-button @click.prevent="form.rows.splice(index, 1)" icon="delete">删除</el-button> |                         <el-button @click.prevent="form.rows.splice(index, 1)" icon="el-icon-delete"> | ||||||
|  |                             {{ $t('删除') }} | ||||||
|  |                         </el-button> | ||||||
|                     </template> |                     </template> | ||||||
|                 </el-input> |                 </el-input> | ||||||
|             </el-form-item> |             </el-form-item> | ||||||
| @@ -32,7 +34,7 @@ export default { | |||||||
|     components: {}, |     components: {}, | ||||||
|     data() { |     data() { | ||||||
|         return { |         return { | ||||||
|             title: '添加自定义布局', |             title: this.$t('添加自定义布局'), | ||||||
|             visible: false, |             visible: false, | ||||||
|             form: { |             form: { | ||||||
|                 rows: [{ value: '' }], |                 rows: [{ value: '' }], | ||||||
|   | |||||||
| @@ -33,7 +33,7 @@ | |||||||
|                                                 <el-icon> |                                                 <el-icon> | ||||||
|                                                     <component :is="allComps[element].icon" /> |                                                     <component :is="allComps[element].icon" /> | ||||||
|                                                 </el-icon> |                                                 </el-icon> | ||||||
|                                                 {{ allComps[element].title }}</label |                                                 {{ $t(allComps[element].title) }}</label | ||||||
|                                             > |                                             > | ||||||
|                                         </div> |                                         </div> | ||||||
|                                     </div> |                                     </div> | ||||||
| @@ -51,7 +51,7 @@ | |||||||
|                         <el-icon> |                         <el-icon> | ||||||
|                             <el-icon-circle-plus-filled /> |                             <el-icon-circle-plus-filled /> | ||||||
|                         </el-icon> |                         </el-icon> | ||||||
|                         添加部件 |                         {{ $t('添加部件') }} | ||||||
|                     </div> |                     </div> | ||||||
|                     <div> |                     <div> | ||||||
|                         <el-button v-if="customizing" @click="save" icon="el-icon-check" round type="primary">{{ $t('完成') }}</el-button> |                         <el-button v-if="customizing" @click="save" icon="el-icon-check" round type="primary">{{ $t('完成') }}</el-button> | ||||||
| @@ -77,7 +77,9 @@ | |||||||
|                     </div> |                     </div> | ||||||
|                 </el-header> |                 </el-header> | ||||||
|                 <el-header style="height: auto"> |                 <el-header style="height: auto"> | ||||||
|                     <el-button @click="this.dialog.customLayout = { title: '添加自定义布局' }" style="margin: 0 auto">添加自定义布局</el-button> |                     <el-button @click="this.dialog.customLayout = { title: this.$t('添加自定义布局') }" style="margin: 0 auto"> | ||||||
|  |                         {{ this.$t('添加自定义布局') }} | ||||||
|  |                     </el-button> | ||||||
|                 </el-header> |                 </el-header> | ||||||
|                 <el-main class="nopadding"> |                 <el-main class="nopadding"> | ||||||
|                     <div class="widgets-list"> |                     <div class="widgets-list"> | ||||||
|   | |||||||
| @@ -62,7 +62,7 @@ export default { | |||||||
|                 }, |                 }, | ||||||
|  |  | ||||||
|                 destDevice: [emailConfig.email(this)], |                 destDevice: [emailConfig.email(this)], | ||||||
|                 code: emailConfig.code(), |                 code: emailConfig.code(this), | ||||||
|             }, |             }, | ||||||
|             visible: false, |             visible: false, | ||||||
|         } |         } | ||||||
|   | |||||||
| @@ -58,7 +58,7 @@ export default { | |||||||
|             rules: { |             rules: { | ||||||
|                 oldPassword: naFormPassword.passwordText(this), |                 oldPassword: naFormPassword.passwordText(this), | ||||||
|                 newPassword: naFormPassword.passwordText(this), |                 newPassword: naFormPassword.passwordText(this), | ||||||
|                 confirmNewPassword: naFormPassword.passwordText2(() => this.form.newPassword), |                 confirmNewPassword: naFormPassword.passwordText2(this, () => this.form.newPassword), | ||||||
|             }, |             }, | ||||||
|             visible: false, |             visible: false, | ||||||
|         } |         } | ||||||
|   | |||||||
| @@ -10,7 +10,7 @@ | |||||||
|             <scTable |             <scTable | ||||||
|                 :export-api="$API.sys_api.export" |                 :export-api="$API.sys_api.export" | ||||||
|                 :query-api="$API.sys_api.query" |                 :query-api="$API.sys_api.query" | ||||||
|                 :summary-method="(x) => ['接口总数', countTotalRows(x.data)]" |                 :summary-method="(x) => [$t('接口总数'), countTotalRows(x.data)]" | ||||||
|                 default-expand-all |                 default-expand-all | ||||||
|                 hidePagination |                 hidePagination | ||||||
|                 ref="table" |                 ref="table" | ||||||
| @@ -68,7 +68,7 @@ export default { | |||||||
|             this.loading = true |             this.loading = true | ||||||
|             try { |             try { | ||||||
|                 await this.$API.sys_api.sync.post() |                 await this.$API.sys_api.sync.post() | ||||||
|                 this.$message.success('同步成功') |                 this.$message.success(this.$t('同步成功')) | ||||||
|             } catch { |             } catch { | ||||||
|                 // |                 // | ||||||
|             } |             } | ||||||
|   | |||||||
| @@ -87,14 +87,14 @@ | |||||||
|                     :buttons="[ |                     :buttons="[ | ||||||
|                         { |                         { | ||||||
|                             icon: 'el-icon-view', |                             icon: 'el-icon-view', | ||||||
|                             title: '查看缓存', |                             title: $t('查看缓存'), | ||||||
|                             click: viewClick, |                             click: viewClick, | ||||||
|                         }, |                         }, | ||||||
|                         { |                         { | ||||||
|                             icon: 'el-icon-delete', |                             icon: 'el-icon-delete', | ||||||
|                             type: 'danger', |                             type: 'danger', | ||||||
|                             confirm: true, |                             confirm: true, | ||||||
|                             title: '删除缓存', |                             title: $t('删除缓存'), | ||||||
|                             click: delClick, |                             click: delClick, | ||||||
|                         }, |                         }, | ||||||
|                     ]" |                     ]" | ||||||
|   | |||||||
| @@ -4,7 +4,7 @@ | |||||||
|             <el-row :gutter="15"> |             <el-row :gutter="15"> | ||||||
|                 <el-col :lg="24"> |                 <el-col :lg="24"> | ||||||
|                     <el-card shadow="never"> |                     <el-card shadow="never"> | ||||||
|                         <scStatistic :value="statistics.total" group-separator title="总数"></scStatistic> |                         <scStatistic :title="$t('总数')" :value="statistics.total" group-separator></scStatistic> | ||||||
|                     </el-card> |                     </el-card> | ||||||
|                 </el-col> |                 </el-col> | ||||||
|             </el-row> |             </el-row> | ||||||
| @@ -90,7 +90,7 @@ | |||||||
|                     </template> |                     </template> | ||||||
|                 </el-table-column> |                 </el-table-column> | ||||||
|                 <naColOperation |                 <naColOperation | ||||||
|                     :buttons="naColOperation.buttons.concat(naColOperation.delButton('删除部门', $API.sys_config.delete))" |                     :buttons="naColOperation.buttons.concat(naColOperation.delButton(this.$t('删除配置'), $API.sys_config.delete))" | ||||||
|                     :vue="this" |                     :vue="this" | ||||||
|                     width="150" /> |                     width="150" /> | ||||||
|             </scTable> |             </scTable> | ||||||
|   | |||||||
| @@ -4,7 +4,7 @@ | |||||||
|             <el-row :gutter="15"> |             <el-row :gutter="15"> | ||||||
|                 <el-col :lg="24"> |                 <el-col :lg="24"> | ||||||
|                     <el-card shadow="never"> |                     <el-card shadow="never"> | ||||||
|                         <scStatistic :value="statistics.total" group-separator title="总数"></scStatistic> |                         <scStatistic :title="$t('总数')" :value="statistics.total" group-separator></scStatistic> | ||||||
|                     </el-card> |                     </el-card> | ||||||
|                 </el-col> |                 </el-col> | ||||||
|             </el-row> |             </el-row> | ||||||
| @@ -103,7 +103,7 @@ | |||||||
|                     </template> |                     </template> | ||||||
|                 </el-table-column> |                 </el-table-column> | ||||||
|                 <naColOperation |                 <naColOperation | ||||||
|                     :buttons="naColOperation.buttons.concat(naColOperation.delButton('删除部门', $API.sys_dept.delete))" |                     :buttons="naColOperation.buttons.concat(naColOperation.delButton(this.$t('删除部门'), $API.sys_dept.delete))" | ||||||
|                     :vue="this" |                     :vue="this" | ||||||
|                     width="120" /> |                     width="120" /> | ||||||
|             </scTable> |             </scTable> | ||||||
|   | |||||||
| @@ -4,7 +4,7 @@ | |||||||
|             <el-row :gutter="15"> |             <el-row :gutter="15"> | ||||||
|                 <el-col :lg="24"> |                 <el-col :lg="24"> | ||||||
|                     <el-card shadow="never"> |                     <el-card shadow="never"> | ||||||
|                         <scStatistic :value="statistics.total" group-separator title="总数"></scStatistic> |                         <scStatistic :title="$t('总数')" :value="statistics.total" group-separator></scStatistic> | ||||||
|                     </el-card> |                     </el-card> | ||||||
|                 </el-col> |                 </el-col> | ||||||
|             </el-row> |             </el-row> | ||||||
| @@ -100,7 +100,7 @@ | |||||||
|                     </template> |                     </template> | ||||||
|                 </el-table-column> |                 </el-table-column> | ||||||
|                 <naColOperation |                 <naColOperation | ||||||
|                     :buttons="naColOperation.buttons.concat(naColOperation.delButton('删除字典项', $API.sys_dic.deleteContent))" |                     :buttons="naColOperation.buttons.concat(naColOperation.delButton(this.$t('删除字典项'), $API.sys_dic.deleteContent))" | ||||||
|                     :vue="this" |                     :vue="this" | ||||||
|                     width="120" /> |                     width="120" /> | ||||||
|             </scTable> |             </scTable> | ||||||
|   | |||||||
| @@ -4,7 +4,7 @@ | |||||||
|             <el-row :gutter="15"> |             <el-row :gutter="15"> | ||||||
|                 <el-col :lg="24"> |                 <el-col :lg="24"> | ||||||
|                     <el-card shadow="never"> |                     <el-card shadow="never"> | ||||||
|                         <scStatistic :value="statistics.total" group-separator title="总数"></scStatistic> |                         <scStatistic :title="$t('总数')" :value="statistics.total" group-separator></scStatistic> | ||||||
|                     </el-card> |                     </el-card> | ||||||
|                 </el-col> |                 </el-col> | ||||||
|             </el-row> |             </el-row> | ||||||
|   | |||||||
| @@ -60,10 +60,10 @@ export default { | |||||||
|             mode: 'add', |             mode: 'add', | ||||||
|             //验证规则 |             //验证规则 | ||||||
|             rules: { |             rules: { | ||||||
|                 catalogId: [{ required: true, message: '请选择所属文档分类' }], |                 catalogId: [{ required: true, message: this.$t('请选择所属文档分类') }], | ||||||
|                 title: [{ required: true, message: '请输入文档标题' }], |                 title: [{ required: true, message: this.$t('请输入文档标题') }], | ||||||
|                 body: [{ required: true, message: '请输入文档内容' }], |                 body: [{ required: true, message: this.$t('请输入文档内容') }], | ||||||
|                 visibility: [{ required: true, message: '请选择档案可见性' }], |                 visibility: [{ required: true, message: this.$t('请选择档案可见性') }], | ||||||
|             }, |             }, | ||||||
|             titleMap: { |             titleMap: { | ||||||
|                 add: this.$t('新增文档'), |                 add: this.$t('新增文档'), | ||||||
|   | |||||||
| @@ -4,7 +4,7 @@ | |||||||
|             <el-row :gutter="15"> |             <el-row :gutter="15"> | ||||||
|                 <el-col :lg="24"> |                 <el-col :lg="24"> | ||||||
|                     <el-card shadow="never"> |                     <el-card shadow="never"> | ||||||
|                         <scStatistic :value="statistics.total" group-separator title="总数"></scStatistic> |                         <scStatistic :title="$t('总数')" :value="statistics.total" group-separator></scStatistic> | ||||||
|                     </el-card> |                     </el-card> | ||||||
|                 </el-col> |                 </el-col> | ||||||
|             </el-row> |             </el-row> | ||||||
| @@ -211,16 +211,16 @@ | |||||||
|                         naColOperation.buttons.concat( |                         naColOperation.buttons.concat( | ||||||
|                             { |                             { | ||||||
|                                 icon: 'el-icon-video-play', |                                 icon: 'el-icon-video-play', | ||||||
|                                 title: '立即执行', |                                 title: $t('立即执行'), | ||||||
|                                 click: execute, |                                 click: execute, | ||||||
|                             }, |                             }, | ||||||
|                             { |                             { | ||||||
|                                 icon: 'el-icon-document-copy', |                                 icon: 'el-icon-document-copy', | ||||||
|                                 confirm: true, |                                 confirm: true, | ||||||
|                                 title: '复制作业', |                                 title: $t('复制作业'), | ||||||
|                                 click: copyJob, |                                 click: copyJob, | ||||||
|                             }, |                             }, | ||||||
|                             naColOperation.delButton('删除作业', $API.sys_job.delete), |                             naColOperation.delButton($t('删除作业'), $API.sys_job.delete), | ||||||
|                         ) |                         ) | ||||||
|                     " |                     " | ||||||
|                     :vue="this" |                     :vue="this" | ||||||
|   | |||||||
| @@ -4,12 +4,12 @@ | |||||||
|             <el-row :gutter="15"> |             <el-row :gutter="15"> | ||||||
|                 <el-col :span="12"> |                 <el-col :span="12"> | ||||||
|                     <el-card shadow="never"> |                     <el-card shadow="never"> | ||||||
|                         <scStatistic :value="statistics.total" group-separator title="总数"></scStatistic> |                         <scStatistic :title="$t('总数')" :value="statistics.total" group-separator></scStatistic> | ||||||
|                     </el-card> |                     </el-card> | ||||||
|                 </el-col> |                 </el-col> | ||||||
|                 <el-col :span="12"> |                 <el-col :span="12"> | ||||||
|                     <el-card shadow="never"> |                     <el-card shadow="never"> | ||||||
|                         <scStatistic :value="statistics.rate" suffix="%" title="成功率"></scStatistic> |                         <scStatistic :title="$t('成功率')" :value="statistics.rate" suffix="%"></scStatistic> | ||||||
|                     </el-card> |                     </el-card> | ||||||
|                 </el-col> |                 </el-col> | ||||||
|             </el-row> |             </el-row> | ||||||
|   | |||||||
| @@ -4,7 +4,7 @@ | |||||||
|             <el-row :gutter="15"> |             <el-row :gutter="15"> | ||||||
|                 <el-col :lg="24"> |                 <el-col :lg="24"> | ||||||
|                     <el-card shadow="never"> |                     <el-card shadow="never"> | ||||||
|                         <scStatistic :value="statistics.total" group-separator title="总数"></scStatistic> |                         <scStatistic :title="$t('总数')" :value="statistics.total" group-separator></scStatistic> | ||||||
|                     </el-card> |                     </el-card> | ||||||
|                 </el-col> |                 </el-col> | ||||||
|             </el-row> |             </el-row> | ||||||
|   | |||||||
| @@ -4,7 +4,7 @@ | |||||||
|             <el-row :gutter="15"> |             <el-row :gutter="15"> | ||||||
|                 <el-col :lg="24"> |                 <el-col :lg="24"> | ||||||
|                     <el-card shadow="never"> |                     <el-card shadow="never"> | ||||||
|                         <scStatistic :value="statistics.total" group-separator title="总数"></scStatistic> |                         <scStatistic :title="$t('总数')" :value="statistics.total" group-separator></scStatistic> | ||||||
|                     </el-card> |                     </el-card> | ||||||
|                 </el-col> |                 </el-col> | ||||||
|             </el-row> |             </el-row> | ||||||
|   | |||||||
| @@ -14,7 +14,7 @@ | |||||||
|                         :filter-node-method="treeFilterNode" |                         :filter-node-method="treeFilterNode" | ||||||
|                         :props="{ |                         :props="{ | ||||||
|                             label: (data) => { |                             label: (data) => { | ||||||
|                                 return data.meta.title + ' - ' + data.sort |                                 return this.$t(data.meta.title) + ' - ' + data.sort | ||||||
|                             }, |                             }, | ||||||
|                         }" |                         }" | ||||||
|                         @node-click="treeClick" |                         @node-click="treeClick" | ||||||
|   | |||||||
| @@ -26,7 +26,9 @@ | |||||||
|                     </el-form-item> |                     </el-form-item> | ||||||
|                     <el-form-item :label="$t('类型')" prop="meta.type"> |                     <el-form-item :label="$t('类型')" prop="meta.type"> | ||||||
|                         <el-radio-group v-model="form.meta.type"> |                         <el-radio-group v-model="form.meta.type"> | ||||||
|                             <el-radio-button v-for="(item, i) in this.$GLOBAL.enums.menuTypes" :key="i" :label="i">{{ item[1] }}</el-radio-button> |                             <el-radio-button v-for="(item, i) in this.$GLOBAL.enums.menuTypes" :key="i" :label="i">{{ | ||||||
|  |                                 this.$t(item[1]) | ||||||
|  |                             }}</el-radio-button> | ||||||
|                         </el-radio-group> |                         </el-radio-group> | ||||||
|                     </el-form-item> |                     </el-form-item> | ||||||
|                     <el-form-item :label="$t('别名')" prop="name"> |                     <el-form-item :label="$t('别名')" prop="name"> | ||||||
|   | |||||||
| @@ -4,7 +4,7 @@ | |||||||
|             <el-row :gutter="15"> |             <el-row :gutter="15"> | ||||||
|                 <el-col :lg="24"> |                 <el-col :lg="24"> | ||||||
|                     <el-card shadow="never"> |                     <el-card shadow="never"> | ||||||
|                         <scStatistic :value="statistics.total" group-separator title="总数"></scStatistic> |                         <scStatistic :title="$t('总数')" :value="statistics.total" group-separator></scStatistic> | ||||||
|                     </el-card> |                     </el-card> | ||||||
|                 </el-col> |                 </el-col> | ||||||
|             </el-row> |             </el-row> | ||||||
| @@ -92,7 +92,7 @@ | |||||||
|                 <el-table-column :label="$t('消息摘要')" min-width="400" prop="summary" show-overflow-tooltip sortable="custom" /> |                 <el-table-column :label="$t('消息摘要')" min-width="400" prop="summary" show-overflow-tooltip sortable="custom" /> | ||||||
|  |  | ||||||
|                 <naColOperation |                 <naColOperation | ||||||
|                     :buttons="naColOperation.buttons.concat(naColOperation.delButton('删除消息', $API.sys_sitemsg.delete))" |                     :buttons="naColOperation.buttons.concat(naColOperation.delButton($t('删除消息'), $API.sys_sitemsg.delete))" | ||||||
|                     :vue="this" |                     :vue="this" | ||||||
|                     width="120" /> |                     width="120" /> | ||||||
|             </scTable> |             </scTable> | ||||||
|   | |||||||
| @@ -4,7 +4,7 @@ | |||||||
|             <el-row :gutter="15"> |             <el-row :gutter="15"> | ||||||
|                 <el-col :lg="24"> |                 <el-col :lg="24"> | ||||||
|                     <el-card shadow="never"> |                     <el-card shadow="never"> | ||||||
|                         <scStatistic :value="statistics.total" group-separator title="总数"></scStatistic> |                         <scStatistic :title="$t('总数')" :value="statistics.total" group-separator></scStatistic> | ||||||
|                     </el-card> |                     </el-card> | ||||||
|                 </el-col> |                 </el-col> | ||||||
|             </el-row> |             </el-row> | ||||||
| @@ -176,10 +176,10 @@ | |||||||
|                             { |                             { | ||||||
|                                 icon: 'el-icon-document-copy', |                                 icon: 'el-icon-document-copy', | ||||||
|                                 confirm: true, |                                 confirm: true, | ||||||
|                                 title: '复制角色', |                                 title: $t('复制角色'), | ||||||
|                                 click: copyRole, |                                 click: copyRole, | ||||||
|                             }, |                             }, | ||||||
|                             naColOperation.delButton('删除角色', $API.sys_role.delete), |                             naColOperation.delButton(this.$t('删除角色'), $API.sys_role.delete), | ||||||
|                         ) |                         ) | ||||||
|                     " |                     " | ||||||
|                     :vue="this" |                     :vue="this" | ||||||
|   | |||||||
| @@ -4,7 +4,7 @@ | |||||||
|             <el-row :gutter="15"> |             <el-row :gutter="15"> | ||||||
|                 <el-col :lg="24"> |                 <el-col :lg="24"> | ||||||
|                     <el-card shadow="never"> |                     <el-card shadow="never"> | ||||||
|                         <scStatistic :value="statistics.total" group-separator title="总数"></scStatistic> |                         <scStatistic :title="$t('总数')" :value="statistics.total" group-separator></scStatistic> | ||||||
|                     </el-card> |                     </el-card> | ||||||
|                 </el-col> |                 </el-col> | ||||||
|             </el-row> |             </el-row> | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user