更新 微工厂英文,哥伦比亚视频替换
This commit is contained in:
parent
8219400e8f
commit
9fc3f9078a
@ -315,5 +315,34 @@ export default {
|
|||||||
'年':'Año',
|
'年':'Año',
|
||||||
'月':'Mes',
|
'月':'Mes',
|
||||||
'日':'Fecha',
|
'日':'Fecha',
|
||||||
|
},
|
||||||
|
"default":{
|
||||||
|
'年': 'Year',
|
||||||
|
'月': 'Month',
|
||||||
|
'日': 'Date',
|
||||||
|
'日产量': 'Daily output',
|
||||||
|
'计划产量': 'Planned output',
|
||||||
|
'实际产量': 'Actual output ',
|
||||||
|
'工作': 'Work',
|
||||||
|
'急停': 'Scram',
|
||||||
|
'停机': 'Shutdown',
|
||||||
|
'待机': 'Standby',
|
||||||
|
'启动': 'Start',
|
||||||
|
"总数":"Total",
|
||||||
|
"在线":"Online",
|
||||||
|
"台":"unit",
|
||||||
|
"序号":"No.",
|
||||||
|
"设备名称":"Equipment",
|
||||||
|
"编号":"Number",
|
||||||
|
"状态":"State",
|
||||||
|
"稼动率":"Utilization",
|
||||||
|
"工作时长":"Work time",
|
||||||
|
},
|
||||||
|
"MicroExhibition":{
|
||||||
|
"富怡服装微工厂物联管理平台":"Richpeace Garment Micro Factory IoT Management Platform",
|
||||||
|
"裁剪设备":"cutting",
|
||||||
|
"缝前设备":"Before sewing",
|
||||||
|
"缝中设备":"on sewing",
|
||||||
|
"后整设备":"Post-processing finishing",
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -321,8 +321,37 @@ export default {
|
|||||||
'日产量':'日产量',
|
'日产量':'日产量',
|
||||||
'计划产量':'计划产量',
|
'计划产量':'计划产量',
|
||||||
'实际产量':'实际产量',
|
'实际产量':'实际产量',
|
||||||
'年':'年',
|
'年':'Year',
|
||||||
'月':'月',
|
'月':'Month',
|
||||||
'日':'日',
|
'日':'Date',
|
||||||
|
},
|
||||||
|
"default":{
|
||||||
|
'年': 'Year',
|
||||||
|
'月': 'Month',
|
||||||
|
'日': 'Date',
|
||||||
|
'日产量': 'Daily output',
|
||||||
|
'计划产量': 'Planned output',
|
||||||
|
'实际产量': 'Actual output ',
|
||||||
|
'工作': 'Work',
|
||||||
|
'急停': 'Scram',
|
||||||
|
'停机': 'Shutdown',
|
||||||
|
'待机': 'Standby',
|
||||||
|
'启动': 'Start',
|
||||||
|
"总数":"Total",
|
||||||
|
"在线":"Online",
|
||||||
|
"台":"unit",
|
||||||
|
"序号":"No.",
|
||||||
|
"设备名称":"Equipment",
|
||||||
|
"编号":"Num",
|
||||||
|
"状态":"State",
|
||||||
|
"稼动率":"rate",
|
||||||
|
"工作时长":"Working",
|
||||||
|
},
|
||||||
|
"MicroExhibition":{
|
||||||
|
"富怡服装微工厂物联管理平台":"Richpeace Garment Micro Factory IoT Management Platform",
|
||||||
|
"裁剪设备":"cutting",
|
||||||
|
"缝前设备":"Before sewing",
|
||||||
|
"缝中设备":"on sewing",
|
||||||
|
"后整设备":"finishing",
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -323,7 +323,34 @@ export default {
|
|||||||
'年': '年',
|
'年': '年',
|
||||||
'月': '月',
|
'月': '月',
|
||||||
'日': '日',
|
'日': '日',
|
||||||
|
},
|
||||||
|
"default":{
|
||||||
|
'年': '年',
|
||||||
|
'月': '月',
|
||||||
|
'日': '日',
|
||||||
|
'计划产量': '计划产量',
|
||||||
|
'实际产量': '实际产量',
|
||||||
|
'日产量': '日产量',
|
||||||
|
'工作': '工作',
|
||||||
|
'急停': '急停',
|
||||||
|
'停机': '停机',
|
||||||
|
'待机': '待机',
|
||||||
|
'启动': '启动',
|
||||||
|
"总数":"总数",
|
||||||
|
"在线":"在线",
|
||||||
|
"台":"台",
|
||||||
|
"序号":"序号",
|
||||||
|
"设备名称":"设备名称",
|
||||||
|
"编号":"编号",
|
||||||
|
"状态":"状态",
|
||||||
|
"稼动率":"稼动率",
|
||||||
|
"工作时长":"工作时长",
|
||||||
|
},
|
||||||
|
"MicroExhibition":{
|
||||||
|
"富怡服装微工厂物联管理平台":"富怡服装微工厂物联管理平台",
|
||||||
|
"裁剪设备":"裁剪设备",
|
||||||
|
"缝前设备":"缝前设备",
|
||||||
|
"缝中设备":"缝中设备",
|
||||||
|
"后整设备":"后整设备",
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -103,7 +103,7 @@ if (lang &&languageHash(lang)&&languageHash(lang) != getStoredLanguage()) {
|
|||||||
window.location.reload()
|
window.location.reload()
|
||||||
}
|
}
|
||||||
|
|
||||||
let videoUrl = ref('https://d.tufting222.cn/video/yzy/a.mp4')
|
let videoUrl = ref('https://d.tufting222.cn/video/yzy/Spanish.mp4')
|
||||||
const videoElement = ref(null)
|
const videoElement = ref(null)
|
||||||
let timer = null
|
let timer = null
|
||||||
let timers = null
|
let timers = null
|
||||||
|
@ -4,7 +4,8 @@
|
|||||||
|
|
||||||
<script setup lang='ts'>
|
<script setup lang='ts'>
|
||||||
import { ref, getCurrentInstance, onMounted, watch } from 'vue'
|
import { ref, getCurrentInstance, onMounted, watch } from 'vue'
|
||||||
|
import { useI18n } from 'vue-i18n'
|
||||||
|
let { t } = useI18n();
|
||||||
|
|
||||||
const prop = defineProps({
|
const prop = defineProps({
|
||||||
xData: {
|
xData: {
|
||||||
@ -28,7 +29,7 @@ const setCharts = () => {
|
|||||||
// },
|
// },
|
||||||
backgroundColor: '#0E0E0E',
|
backgroundColor: '#0E0E0E',
|
||||||
legend: {
|
legend: {
|
||||||
data: ['计划产量', '实际产量'],
|
data: [t('default.计划产量'), t('default.实际产量')],
|
||||||
textStyle: {
|
textStyle: {
|
||||||
fontSize: 14
|
fontSize: 14
|
||||||
},
|
},
|
||||||
@ -55,7 +56,7 @@ const setCharts = () => {
|
|||||||
yAxis: [
|
yAxis: [
|
||||||
{
|
{
|
||||||
type: 'value',
|
type: 'value',
|
||||||
name: '日产量',
|
name: t('default.日产量'),
|
||||||
axisLabel:{
|
axisLabel:{
|
||||||
fontSize:14
|
fontSize:14
|
||||||
}
|
}
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
-->
|
-->
|
||||||
<template>
|
<template>
|
||||||
<div class="rbottom-container">
|
<div class="rbottom-container">
|
||||||
<div class="rbottom-title">后整设备</div>
|
<div class="rbottom-title">{{t('MicroExhibition.后整设备')}}</div>
|
||||||
<div class="rbottom-content">
|
<div class="rbottom-content">
|
||||||
<div class="rbottom-bg" v-for="i in (prop.data as any)">
|
<div class="rbottom-bg" v-for="i in (prop.data as any)">
|
||||||
<div class="dev-name">{{ i.name }}</div>
|
<div class="dev-name">{{ i.name }}</div>
|
||||||
@ -23,8 +23,8 @@
|
|||||||
<div>{{ i.ratio }}</div>
|
<div>{{ i.ratio }}</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="dev-status">
|
<div class="dev-status">
|
||||||
<div class="status1">编号:{{ i.num }}</div>
|
<div class="status1">{{t('default.编号')}}:{{ i.num }}</div>
|
||||||
<div class="status2">状态:
|
<div class="status2">{{t('default.状态')}}:
|
||||||
<div style="width: 50%;height: 100%;display: flex;justify-content: center;align-items: center;">
|
<div style="width: 50%;height: 100%;display: flex;justify-content: center;align-items: center;">
|
||||||
<div
|
<div
|
||||||
style="width:24px;height:24px;border-radius: 50%;"
|
style="width:24px;height:24px;border-radius: 50%;"
|
||||||
@ -35,7 +35,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="dev-status">
|
<div class="dev-status">
|
||||||
工作时长:{{ i.workTime }}
|
{{t('default.工作时长')}}:{{ i.workTime }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -43,8 +43,9 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang='ts'>
|
<script setup lang='ts'>
|
||||||
import {computed } from 'vue'
|
import {computed,ref } from 'vue'
|
||||||
|
import { useI18n } from 'vue-i18n'
|
||||||
|
let { t } = useI18n();
|
||||||
|
|
||||||
const prop = defineProps({
|
const prop = defineProps({
|
||||||
data: {
|
data: {
|
||||||
|
@ -10,19 +10,19 @@
|
|||||||
-->
|
-->
|
||||||
<template>
|
<template>
|
||||||
<div class="headerbg" :style="prop.wh">
|
<div class="headerbg" :style="prop.wh">
|
||||||
<span>{{ prop.title }}</span>
|
<div class="head-title" :style="{'font-size':lang!='简体中文'?'24px':'40px'}">{{ prop.title }}</div>
|
||||||
<div class="left-tip-type">
|
<div class="left-tip-type">
|
||||||
<div class="left-tip-type-item">
|
<div class="left-tip-type-item">
|
||||||
<div class="yuan green"></div>
|
<div class="yuan green"></div>
|
||||||
<div class="left-tip-type-item-text">工作</div>
|
<div class="left-tip-type-item-text">{{t('default.工作')}}</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="left-tip-type-item">
|
<div class="left-tip-type-item">
|
||||||
<div class="yuan yello"></div>
|
<div class="yuan yello"></div>
|
||||||
<div class="left-tip-type-item-text">待机</div>
|
<div class="left-tip-type-item-text">{{t('default.待机')}}</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="left-tip-type-item">
|
<div class="left-tip-type-item">
|
||||||
<div class="yuan red"></div>
|
<div class="yuan red"></div>
|
||||||
<div class="left-tip-type-item-text">停机</div>
|
<div class="left-tip-type-item-text">{{t('default.停机')}}</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -30,7 +30,11 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang='ts'>
|
<script setup lang='ts'>
|
||||||
import { onMounted,onUpdated } from "vue";
|
import { onMounted,onUpdated,ref } from "vue";
|
||||||
|
import { getStoredLanguage, saveStoredLanguage } from "@/utils/languageStorage";
|
||||||
|
import { useI18n } from "vue-i18n";
|
||||||
|
let { t } = useI18n();
|
||||||
|
let lang = ref(getStoredLanguage());
|
||||||
const prop = defineProps({
|
const prop = defineProps({
|
||||||
title: {
|
title: {
|
||||||
type: String,
|
type: String,
|
||||||
@ -61,7 +65,13 @@ onMounted(() => {
|
|||||||
font-family: "华文新魏", sans-serif;
|
font-family: "华文新魏", sans-serif;
|
||||||
}
|
}
|
||||||
|
|
||||||
.headerbg span {
|
.headerbg .head-title {
|
||||||
|
height: 60px;
|
||||||
|
width: 600px;
|
||||||
|
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 25px;
|
top: 25px;
|
||||||
|
|
||||||
@ -76,8 +86,8 @@ onMounted(() => {
|
|||||||
.left-tip-type {
|
.left-tip-type {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 40px;
|
top: 40px;
|
||||||
left: 462px;
|
left: 420px;
|
||||||
width: 160px;
|
width: 200px;
|
||||||
height: 50px;
|
height: 50px;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
|
@ -7,6 +7,8 @@
|
|||||||
<script setup lang='ts'>
|
<script setup lang='ts'>
|
||||||
import { reactive, ref, watch } from "vue";
|
import { reactive, ref, watch } from "vue";
|
||||||
import ZdScrollBoard from "@/components/data-view/index.vue";
|
import ZdScrollBoard from "@/components/data-view/index.vue";
|
||||||
|
import { useI18n } from 'vue-i18n'
|
||||||
|
let { t } = useI18n();
|
||||||
const prop = defineProps({
|
const prop = defineProps({
|
||||||
data: {
|
data: {
|
||||||
type: Object,
|
type: Object,
|
||||||
@ -19,18 +21,18 @@ const prop = defineProps({
|
|||||||
const devList = ref(null);
|
const devList = ref(null);
|
||||||
let config = reactive({
|
let config = reactive({
|
||||||
header: [
|
header: [
|
||||||
'<span style="color:#AEEEFAFE;font-size:18px;">序号</span>',
|
'<span style="color:#AEEEFAFE;font-size:18px;">'+t('default.序号')+'</span>',
|
||||||
'<span style="color:#AEEEFAFE;font-size:18px;">设备名称</span>',
|
'<span style="color:#AEEEFAFE;font-size:18px;">'+t('default.设备名称')+'</span>',
|
||||||
'<span style="color:#AEEEFAFE;font-size:18px;">编号</span>',
|
'<span style="color:#AEEEFAFE;font-size:18px;">'+t('default.编号')+'</span>',
|
||||||
'<span style="color:#AEEEFAFE;font-size:18px;">状态</span>',
|
'<span style="color:#AEEEFAFE;font-size:18px;">'+t('default.状态')+'</span>',
|
||||||
'<span style="color:#AEEEFAFE;font-size:18px;">稼动率</span>',
|
'<span style="color:#AEEEFAFE;font-size:18px;">'+t('default.稼动率')+'</span>',
|
||||||
'<span style="color:#AEEEFAFE;font-size:18px;">工作时长</span>',
|
'<span style="color:#AEEEFAFE;font-size:18px;">'+t('default.工作时长')+'</span>',
|
||||||
],//, '故障率'
|
],//, '故障率'
|
||||||
headerBGC: 'rgba(0, 11, 18, 1)',
|
headerBGC: 'rgba(0, 11, 18, 1)',
|
||||||
oddRowBGC: '#000F1D',
|
oddRowBGC: '#000F1D',
|
||||||
evenRowBGC: '#000F1D',
|
evenRowBGC: '#000F1D',
|
||||||
wrap: [false, false, false, false, false],
|
wrap: [false, false, false, false, false],
|
||||||
columnWidth: [80, 240, 85, 80, 110,145],
|
columnWidth: [80, 240, 85, 90, 110,145],
|
||||||
align: ['center', 'center', 'center', 'center', 'center', 'center'],
|
align: ['center', 'center', 'center', 'center', 'center', 'center'],
|
||||||
rowNum: prop.data.rowNum,
|
rowNum: prop.data.rowNum,
|
||||||
waitTime: 3000,
|
waitTime: 3000,
|
||||||
|
@ -10,15 +10,20 @@
|
|||||||
-->
|
-->
|
||||||
<template>
|
<template>
|
||||||
<div class="stepContainer">
|
<div class="stepContainer">
|
||||||
<div class="step-top">{{ prop.data.name }}</div>
|
<div class="step-top" :style="{'font-size':lang!='简体中文'?'24px':'22px'}">{{ prop.data.name }}</div>
|
||||||
<div class="step-bottom">
|
<div class="step-bottom">
|
||||||
<div class="step-total">总数:{{ prop.data.total }}台</div>
|
<div class="step-total">{{t("default.总数")}}:{{ prop.data.total +' '+ t("default.台") }}</div>
|
||||||
<div class="step-online">在线:{{ prop.data.online }}台</div>
|
<div class="step-online">{{t("default.在线")}}:{{ prop.data.online +' '+ t("default.台") }}</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang='ts'>
|
<script setup lang='ts'>
|
||||||
|
import {computed,ref } from 'vue'
|
||||||
|
import { getStoredLanguage, saveStoredLanguage } from "@/utils/languageStorage";
|
||||||
|
import { useI18n } from 'vue-i18n'
|
||||||
|
let lang = ref(getStoredLanguage());
|
||||||
|
let { t } = useI18n();
|
||||||
const prop = defineProps({
|
const prop = defineProps({
|
||||||
data: {
|
data: {
|
||||||
type: Object,
|
type: Object,
|
||||||
|
@ -12,13 +12,13 @@
|
|||||||
<div class="container">
|
<div class="container">
|
||||||
<div class="header">
|
<div class="header">
|
||||||
<div class="title">
|
<div class="title">
|
||||||
<Header :title="'富怡服装微工厂物联管理平台'" :wh="{ width: '100%', height: '100px' }"></Header>
|
<Header :title="t('MicroExhibition.富怡服装微工厂物联管理平台')" :wh="{ width: '100%', height: '100px' }"></Header>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<div class="left">
|
<div class="left">
|
||||||
<div class="ltop">
|
<div class="ltop">
|
||||||
<BoardVue :title="'裁剪设备'" class="ltborder">
|
<BoardVue :title="t('MicroExhibition.裁剪设备')" class="ltborder">
|
||||||
|
|
||||||
<div class="lttop">
|
<div class="lttop">
|
||||||
<ScrollBoard :data="cjdata"></ScrollBoard>
|
<ScrollBoard :data="cjdata"></ScrollBoard>
|
||||||
@ -29,7 +29,7 @@
|
|||||||
</BoardVue>
|
</BoardVue>
|
||||||
</div>
|
</div>
|
||||||
<div class="lbottom">
|
<div class="lbottom">
|
||||||
<BoardVue :title="'缝前设备'">
|
<BoardVue :title="t('MicroExhibition.缝前设备')">
|
||||||
<ScrollBoard :data="fqdata"></ScrollBoard>
|
<ScrollBoard :data="fqdata"></ScrollBoard>
|
||||||
</BoardVue>
|
</BoardVue>
|
||||||
</div>
|
</div>
|
||||||
@ -47,7 +47,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="rtright">
|
<div class="rtright">
|
||||||
<BoardVue :title="'缝中设备'">
|
<BoardVue :title="t('MicroExhibition.缝中设备')">
|
||||||
<ScrollBoard :data="fzdata"></ScrollBoard>
|
<ScrollBoard :data="fzdata"></ScrollBoard>
|
||||||
</BoardVue>
|
</BoardVue>
|
||||||
</div>
|
</div>
|
||||||
@ -73,11 +73,18 @@ import { getmDeviceList, getmDeviceProduction } from '@/http/MicroExhibition'
|
|||||||
import { ref, onMounted, onUnmounted, getCurrentInstance, watch, onUpdated, computed, reactive } from 'vue'
|
import { ref, onMounted, onUnmounted, getCurrentInstance, watch, onUpdated, computed, reactive } from 'vue'
|
||||||
import { useMicroExhibitionStore } from '@/store/module/MicroExhibition'
|
import { useMicroExhibitionStore } from '@/store/module/MicroExhibition'
|
||||||
import { connectWebsocket, closeWebsocket } from "@/utils/websocket"
|
import { connectWebsocket, closeWebsocket } from "@/utils/websocket"
|
||||||
|
import { getStoredLanguage, saveStoredLanguage,languageHash } from "@/utils/languageStorage";
|
||||||
|
import { useRoute } from 'vue-router'
|
||||||
import { useI18n } from 'vue-i18n'
|
import { useI18n } from 'vue-i18n'
|
||||||
let { t } = useI18n();
|
let { t } = useI18n();
|
||||||
|
let route = useRoute()
|
||||||
const store = useMicroExhibitionStore()
|
const store = useMicroExhibitionStore()
|
||||||
|
let lang = route.query.lang as string
|
||||||
|
|
||||||
|
if (lang &&languageHash(lang)&&languageHash(lang) != getStoredLanguage()) {
|
||||||
|
saveStoredLanguage(languageHash(lang))
|
||||||
|
window.location.reload()
|
||||||
|
}
|
||||||
let videoUrl = ref('https://d.tufting222.cn/video/yzy/a.mp4')
|
let videoUrl = ref('https://d.tufting222.cn/video/yzy/a.mp4')
|
||||||
const videoElement = ref(null)
|
const videoElement = ref(null)
|
||||||
let timer = null
|
let timer = null
|
||||||
@ -97,22 +104,22 @@ let cjdata = ref({
|
|||||||
|
|
||||||
let stepList = reactive([
|
let stepList = reactive([
|
||||||
{
|
{
|
||||||
name: '裁剪',
|
name: t("MicroExhibition.裁剪设备"),
|
||||||
total: 0,
|
total: 0,
|
||||||
online: 0,
|
online: 0,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: '缝前',
|
name: t("MicroExhibition.缝前设备"),
|
||||||
total: 0,
|
total: 0,
|
||||||
online: 0,
|
online: 0,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: '缝中',
|
name: t("MicroExhibition.缝中设备"),
|
||||||
total: 0,
|
total: 0,
|
||||||
online: 0,
|
online: 0,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: '后整',
|
name: t("MicroExhibition.后整设备"),
|
||||||
total: 0,
|
total: 0,
|
||||||
online: 0,
|
online: 0,
|
||||||
},
|
},
|
||||||
@ -129,7 +136,7 @@ function getDeviceProduction() {
|
|||||||
let data = res.data
|
let data = res.data
|
||||||
seriesData.value = data.series.map(item => {
|
seriesData.value = data.series.map(item => {
|
||||||
return {
|
return {
|
||||||
name: item.name == '计划完成' ? '计划产量' : '实际产量',
|
name: item.name == '计划完成' ? t('default.计划产量') : t('default.实际产量'),
|
||||||
type: 'bar',
|
type: 'bar',
|
||||||
data: item.data
|
data: item.data
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user