From bfdb74718bf9a5442fd349207b9684c3f4cd6aca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=94=A1=E7=8E=B2?= <8702040+cai-ling@user.noreply.gitee.com> Date: Mon, 23 Dec 2024 17:35:19 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9B=BD=E9=99=85=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 1 + src/components/header.vue | 25 ++-- src/config/rem.js | 3 +- src/i18n/i18n.js | 46 +++++++ src/i18n/langs/en.js | 23 ++++ src/i18n/langs/es.js | 23 ++++ src/i18n/langs/zh.js | 23 ++++ src/main.js | 4 + src/pages/modules/index2.vue | 212 ++++++++++++++++++++------------- src/pages/modules/style.stylus | 70 +++++------ src/router/index.js | 2 +- src/vuex/modules/com.js | 4 +- yarn.lock | 5 + 13 files changed, 306 insertions(+), 135 deletions(-) create mode 100644 src/i18n/i18n.js create mode 100644 src/i18n/langs/en.js create mode 100644 src/i18n/langs/es.js create mode 100644 src/i18n/langs/zh.js diff --git a/package.json b/package.json index 1e77821..7650e0c 100644 --- a/package.json +++ b/package.json @@ -22,6 +22,7 @@ "stylus": "^0.54.5", "stylus-loader": "^3.0.2", "vue": "^2.5.2", + "vue-i18n": "8.2.1", "vue-particles": "^1.0.9", "vue-router": "^3.0.1", "vue-seamless-scroll": "^1.1.16", diff --git a/src/components/header.vue b/src/components/header.vue index 2975c30..eb4ac1d 100644 --- a/src/components/header.vue +++ b/src/components/header.vue @@ -2,7 +2,7 @@
-

{{ title1 }}

+

{{ title1 }}

{{ title2 }}

@@ -46,37 +46,36 @@ export default { left 0 top 0 width 100% - height 88px + height .88rem background center / 100% url('../images/header_bg_s.png') no-repeat .n_header_h1 width: 100%; height: 100%; - // padding-top 12px text-align center h1 - font-size: 19px; + font-size: .19rem; font-weight: 700; color: #fff; - line-height: 40px; - height: 40px; + line-height: .4rem; + height: .4rem; text-align center; - letter-spacing 3px - padding-left 3px + letter-spacing .03rem + padding-left .03rem .p_title position absolute left 1% top 11% - font-size 14px + font-size .14rem color #AECAF5 .exit_btn position absolute right 1% top 11% z-index 100 - height 16px - width 16px - line-height 16px - font-size 16px + height .16rem + width .16rem + line-height .16rem + font-size .16rem color #AECAF5 text-align center diff --git a/src/config/rem.js b/src/config/rem.js index 1d082b1..7215f85 100644 --- a/src/config/rem.js +++ b/src/config/rem.js @@ -4,10 +4,9 @@ var recalc = function () { var clientWidth = docEl.clientWidth if (!clientWidth) return - docEl.style.fontSize = 100 * (clientWidth / 1920) + 'px' + docEl.style.fontSize = 100 * (clientWidth / 960) + 'px' document.body.style.display = 'block' } if (!doc.addEventListener) return win.addEventListener(resizeEvt, recalc, false) doc.addEventListener('DOMContentLoaded', recalc, false) })(document, window) -// 晟华大屏尺寸2560*1440,屏幕太大用rem样式会错乱,现在使用px、% diff --git a/src/i18n/i18n.js b/src/i18n/i18n.js new file mode 100644 index 0000000..575f46d --- /dev/null +++ b/src/i18n/i18n.js @@ -0,0 +1,46 @@ +import Vue from 'vue' +import VueI18n from 'vue-i18n' +import enLocale from 'element-ui/lib/locale/lang/en' +import zhLocale from 'element-ui/lib/locale/lang/zh-CN' +import caLocale from 'element-ui/lib/locale/lang/ca' +import locale from 'element-ui/lib/locale' +import zh from './langs/zh' +import en from './langs/en' +import es from './langs/es' + +Vue.use(VueI18n) + +// 引入本地包 +const messages = { + 'en': Object.assign(en, enLocale), + 'zh': Object.assign(zh, zhLocale), + 'es': Object.assign(es, caLocale) +} + +// 获取当前系统使用语言字符串 +export const getLanguage = () => { + // 本地缓存获取 + let language = window.localStorage.getItem('lang') + if (language) { + return language + } + // 返回当前浏览器的语言设置 + language = (navigator.language || navigator.browserLanguage).toLowerCase() + const locales = Object.keys(messages) + for (const local of locales) { + if (local.indexOf(language) > -1) { + return local + } + } + return 'zh' +} + +// 创建国际化实例 +const i18n = new VueI18n({ + locale: getLanguage(), + messages +}) + +locale.i18n((key, value) => i18n.t(key, value)) // 为了实现element插件的多语言切换 + +export default i18n diff --git a/src/i18n/langs/en.js b/src/i18n/langs/en.js new file mode 100644 index 0000000..564dafb --- /dev/null +++ b/src/i18n/langs/en.js @@ -0,0 +1,23 @@ +module.exports = { + page: { + title: 'Warehouse monitoring', + logo: 'Hengshen WMS', + lxkjk: 'Monitoring of material box warehouse', + hwsy: 'Location usage', + lxtotal: 'Total', + lxused: 'Used', + lxfree: 'Free', + unit: 'piece', + unit1: '', + jrcrk: 'Today in / out Warehouse', + rk: 'IN', + ck: 'OUT', + total: 'Total', + box: 'Box', + time: 'Time', + sskcfx: 'Real time inventory analysis', + crkqs: 'In / out Warehouse', + tpkjk: 'Tray warehouse monitoring', + total1: 'Total' + } +} diff --git a/src/i18n/langs/es.js b/src/i18n/langs/es.js new file mode 100644 index 0000000..a72f2ec --- /dev/null +++ b/src/i18n/langs/es.js @@ -0,0 +1,23 @@ +module.exports = { + page: { + title: 'Monitoreo de almacenes', + logo: 'Hengshen WMS', + lxkjk: 'Monitoreo del almacén de cajas de materiales', + hwsy: 'Uso de plazas', + lxtotal: 'Todo', + lxused: 'Se ha utilizado', + lxfree: 'Gratis', + unit: 'Bloque', + unit1: '', + jrcrk: 'Salir y entrar en el almacén hoy', + rk: 'In', + ck: 'Salir', + total: 'Todo', + box: 'Caja', + time: 'Tiempo', + sskcfx: 'Análisis de inventario en tiempo real', + crkqs: 'Tendencia de entrada y salida', + tpkjk: 'Monitoreo de la Biblioteca de paletas', + total1: 'Cantidad total' + } +} diff --git a/src/i18n/langs/zh.js b/src/i18n/langs/zh.js new file mode 100644 index 0000000..c1d57f0 --- /dev/null +++ b/src/i18n/langs/zh.js @@ -0,0 +1,23 @@ +module.exports = { + page: { + title: '仓储监控', + logo: '恒森集团WMS仓储看板', + lxkjk: '料箱库监控', + hwsy: '货位使用', + lxtotal: '总货位数', + lxused: '已用货位', + lxfree: '空余货位', + unit: '个', + unit1: '箱', + jrcrk: '今日出入库', + rk: '入库', + ck: '出库', + total: '总数量', + box: '箱数', + time: '耗时', + sskcfx: '实时库存分析', + crkqs: '出入库趋势', + tpkjk: '托盘库监控', + total1: '总数' + } +} diff --git a/src/main.js b/src/main.js index fd6664d..6490f20 100644 --- a/src/main.js +++ b/src/main.js @@ -6,6 +6,8 @@ import store from './vuex/store' import './style/reset.css' import './style/iconfont.styl' import './style/layout.styl' +import i18n from './i18n/i18n' +import './config/rem.js' import * as echarts from 'echarts' import 'default-passive-events' import scroll from 'vue-seamless-scroll' @@ -17,11 +19,13 @@ Vue.prototype.$message = Message Vue.use(Select) Vue.use(Option) Vue.config.productionTip = false + /* eslint-disable no-new */ new Vue({ el: '#app', router, store, + i18n, components: { App }, template: '' }) diff --git a/src/pages/modules/index2.vue b/src/pages/modules/index2.vue index b0abc33..6585667 100644 --- a/src/pages/modules/index2.vue +++ b/src/pages/modules/index2.vue @@ -1,10 +1,11 @@