diff --git a/src/assets/css/styles/iconfont.css b/src/assets/css/styles/iconfont.css new file mode 100644 index 0000000..0c8c886 --- /dev/null +++ b/src/assets/css/styles/iconfont.css @@ -0,0 +1,114 @@ +@font-face { + font-family: "iconfont"; /* Project id 3879194 */ + src: url('//at.alicdn.com/t/c/font_3879194_xfchth53vyb.woff2?t=1686011466607') format('woff2'), + url('//at.alicdn.com/t/c/font_3879194_xfchth53vyb.woff?t=1686011466607') format('woff'), + url('//at.alicdn.com/t/c/font_3879194_xfchth53vyb.ttf?t=1686011466607') format('truetype'); +} + +.iconfont { + font-family: "iconfont" !important; + font-size: 16px; + font-style: normal; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.icon-lishijilu:before { + content: "\eaf7"; +} + +.icon-zhongyingwen:before { + content: "\e607"; +} + +.icon-baojingxinxi:before { + content: "\e636"; +} + +.icon-shebeiditu:before { + content: "\e659"; +} + +.icon-warning:before { + content: "\e606"; +} + +.icon-back:before { + content: "\e617"; +} + +.icon-icon-temperature:before { + content: "\e61c"; +} + +.icon-shengyin:before { + content: "\eae0"; +} + +.icon-qiya:before { + content: "\e7fb"; +} + +.icon-shuiya:before { + content: "\eb33"; +} + +.icon-fenchen:before { + content: "\eb3c"; +} + +.icon-dianliu:before { + content: "\e665"; +} + +.icon-guandao:before { + content: "\e63b"; +} + +.icon-jinggao:before { + content: "\e61b"; +} + +.icon-zhengque1:before { + content: "\e653"; +} + +.icon-beikongshuiwupingtaimenhu-tubiao_zhinengwangguan:before { + content: "\e62e"; +} + +.icon-weibiaoti-:before { + content: "\e61e"; +} + +.icon-dianji:before { + content: "\e605"; +} + +.icon-jingshideng:before { + content: "\e60f"; +} + +.icon-wangguan:before { + content: "\ec5d"; +} + +.icon-yanwubaojingqi:before { + content: "\ec78"; +} + +.icon-TVOC-Outlined:before { + content: "\e642"; +} + +.icon-weibiaoti1:before { + content: "\e634"; +} + +.icon-ranqi:before { + content: "\e663"; +} + +.icon-app_icons--:before { + content: "\e61d"; +} diff --git a/src/assets/css/styles/iconfont.ttf b/src/assets/css/styles/iconfont.ttf new file mode 100644 index 0000000..ec44db0 Binary files /dev/null and b/src/assets/css/styles/iconfont.ttf differ diff --git a/src/assets/css/styles/iconfont.woff b/src/assets/css/styles/iconfont.woff new file mode 100644 index 0000000..e948052 Binary files /dev/null and b/src/assets/css/styles/iconfont.woff differ diff --git a/src/assets/css/styles/iconfont.woff2 b/src/assets/css/styles/iconfont.woff2 new file mode 100644 index 0000000..52fb2bc Binary files /dev/null and b/src/assets/css/styles/iconfont.woff2 differ diff --git a/src/assets/font/STXINGKA.TTF b/src/assets/font/STXINGKA.TTF new file mode 100644 index 0000000..53439a2 Binary files /dev/null and b/src/assets/font/STXINGKA.TTF differ diff --git a/src/http/Exhibition/Bengal/index.ts b/src/http/Exhibition/Bengal/index.ts new file mode 100644 index 0000000..e1a26a1 --- /dev/null +++ b/src/http/Exhibition/Bengal/index.ts @@ -0,0 +1,12 @@ +import {get,post} from "@/utils/http" + +//获取设备在线状态、设备列表 +export function mjlDeviceList(){ + return get('/screen/cisma/mjlDeviceList') +} + + +//获取设备在线状态、设备列表 +export function mjlDeviceProduction(){ + return get('/screen/cisma/mjlDeviceProduction') +} \ No newline at end of file diff --git a/src/http/Exhibition/station.ts b/src/http/Exhibition/station.ts new file mode 100644 index 0000000..dd5fd0b --- /dev/null +++ b/src/http/Exhibition/station.ts @@ -0,0 +1,13 @@ +import {get,post} from "@/utils/http" + +//获取设备在线状态、设备列表 +export function getStatus(data){ + return get('/socket/status',data) +} + +export function setOpen(data){ + return get('/socket/open',data) +} +export function setClose(data){ + return get('/socket/close',data) +} diff --git a/src/http/Exhibition/table.ts b/src/http/Exhibition/table.ts new file mode 100644 index 0000000..fefefa9 --- /dev/null +++ b/src/http/Exhibition/table.ts @@ -0,0 +1,6 @@ +import {get,post} from "@/utils/http" + +//获取设备在线状态、设备列表 +export function getPlanProduction(data){ + return get('/screen/cisma/getPlanProduction',data) +} diff --git a/src/locales/lang/Spanish.ts b/src/locales/lang/Spanish.ts index f7e23fc..2c8fece 100644 --- a/src/locales/lang/Spanish.ts +++ b/src/locales/lang/Spanish.ts @@ -315,6 +315,11 @@ export default { '年':'Año', '月':'Mes', '日':'Fecha', + "再登软件工况物联系统": "GOATS Working Condition IoT", + "富怡立式啧墨切割机": "Richpeace inkjet cutting machine", + "富怡多功能绣花机": "Richpeace embroidery machine", + "JUKI高速直驱平缝机": "JUKI lockstitch sewing machine", + "Yamato包缝机": "Yamato overlock sewing machine", }, "default":{ '年': 'Year', diff --git a/src/locales/lang/en.ts b/src/locales/lang/en.ts index 299e54d..c037890 100644 --- a/src/locales/lang/en.ts +++ b/src/locales/lang/en.ts @@ -90,9 +90,9 @@ export default { 'DevName':'Machine Name', 'JiqiName':'Machine Name', 'ofLegion':'Affiliated Division', - 'DevStatus':'Equipment Status', + 'DevStatus':'Device Status', 'JiqiStatus':'Machine Status', - "RunTime":'Running hours', + "RunTime":'Working hours', 'finishSchedule':'Complete Schedule', 'deliveryDay':'Delivery Date', 'LoadMore':'Loading More', @@ -160,7 +160,7 @@ export default { 'haltTime':'Emergency Stop hours', 'DevRunComparison':'Running Comparison Diagram', 'TimeUtilizationRate':'Time Utilization', - 'UtilizationRate':'Utilization', + 'UtilizationRate':'Utilization Rate', 'MicrofactoriesDevChart':'Micro-Factory Equipment IoT', 'MicrofactoriesDevinfo':'Micro-Factory Equipment Information', 'DevRunNum':'Running Equipment Quantity', @@ -324,6 +324,12 @@ export default { '年':'Year', '月':'Month', '日':'Date', + "再登软件工况物联系统": "GOATS Working Condition IoT", + "富怡立式啧墨切割机": "Richpeace inkjet cutting machine", + "富怡多功能绣花机": "Richpeace embroidery machine", + "JUKI高速直驱平缝机": "JUKI lockstitch sewing machine", + "Yamato包缝机": "Yamato overlock sewing machine", + }, "default":{ '年': 'Year', @@ -339,19 +345,19 @@ export default { '启动': 'Start', "总数":"Total", "在线":"Online", - "台":"unit", + "台":"Unit", "序号":"No.", - "设备名称":"Equipment", + "设备名称":"Device", "编号":"Num", "状态":"State", - "稼动率":"rate", + "稼动率":"Rate", "工作时长":"Working", }, "MicroExhibition":{ "富怡服装微工厂物联管理平台":"Richpeace Garment Micro Factory IoT Management Platform", - "裁剪设备":"cutting", + "裁剪设备":"Cutting", "缝前设备":"Before sewing", - "缝中设备":"on sewing", - "后整设备":"finishing", + "缝中设备":"Sewing", + "后整设备":"Finishing", } } \ No newline at end of file diff --git a/src/locales/lang/zh.ts b/src/locales/lang/zh.ts index 7dd7503..8e978ef 100644 --- a/src/locales/lang/zh.ts +++ b/src/locales/lang/zh.ts @@ -323,6 +323,11 @@ export default { '年': '年', '月': '月', '日': '日', + "再登软件工况物联系统": "再登软件工况物联系统", + "富怡立式啧墨切割机": "富怡立式啧墨切割机", + "富怡多功能绣花机": "富怡多功能绣花机", + "JUKI高速直驱平缝机": "JUKI高速直驱平缝机", + "Yamato包缝机": "Yamato包缝机", }, "default":{ '年': '年', diff --git a/src/router/index.ts b/src/router/index.ts index d131b30..d07573a 100644 --- a/src/router/index.ts +++ b/src/router/index.ts @@ -11,6 +11,7 @@ import { createRouter, createWebHashHistory, RouteRecordRaw } from "vue-router"; import { selectPermission } from "@/http/rule/index" import { ElMessage, ElMessageBox } from 'element-plus' +import { getStoredLanguage, saveStoredLanguage, languageHash } from "@/utils/languageStorage"; const routes: Array = [ { path: "/child", @@ -266,13 +267,13 @@ const routes: Array = [ name: "MicroExhibitionChild", component: () => import("../views/MicroExhibition/child/index.vue"), }, - ] - + ] + }, { path: "/CismaExhibition", name: "CismaExhibition", - component: () => import("../views/MicroExhibition/indexOld.vue"), + component: () => import("../views/Exhibition/Cisma/index.vue"), }, { path: "/ColombiaExhibition", @@ -289,10 +290,15 @@ const routes: Array = [ name: "ExhibitionTable", component: () => import("../views/Exhibition/table/index.vue"), }, + { + path: "/ExhibitionStation_:id", + name: "ExhibitionStation", + component: () => import("../views/Exhibition/Station/index.vue"), + }, { path: "/MicroExhibitionTable", name: "MicroExhibitionTable", - component: () => import("../views/MicroExhibition/table.vue"), + component: () => import("../views/Exhibition/Cisma/table.vue"), }, { path: "/Hazardous", @@ -396,16 +402,19 @@ router.beforeEach(async (to: any, from, next) => { // ... let address = to.name let hash = to.query.hash - let lang = to.query?.lang||'' + let lang = to.query?.lang || '' let arr = [ 'legionProducts', 'devItem', 'tufting', 'Winding', 'Large_Format', - 'GetonAgain', 'OffsiteDevList', 'Mechanicschild', 'Mechanicsson','historyData', 'jixieHistoryData' + 'GetonAgain', 'OffsiteDevList', 'Mechanicschild', 'Mechanicsson', 'historyData', 'jixieHistoryData' ] - + if (lang && languageHash(lang) && languageHash(lang) != getStoredLanguage()) { + saveStoredLanguage(languageHash(lang)) + window.location.reload() + return false + } // 返回 false 以取消导航 if (to.path == "/") { sessionStorage.setItem("screen_hash", to.query.hash); - next(); } else if (arr.includes(address)) { next(); @@ -427,7 +436,7 @@ router.beforeEach(async (to: any, from, next) => { }) // router.beforeEach(async (to: any, from, next) => { - + // // 返回 false 以取消导航 // if (to.path !== "/SewingBift") { diff --git a/src/views/Exhibition/Bengal/component/BarChart.vue b/src/views/Exhibition/Bengal/component/BarChart.vue index 3075bb0..5ad31fa 100644 --- a/src/views/Exhibition/Bengal/component/BarChart.vue +++ b/src/views/Exhibition/Bengal/component/BarChart.vue @@ -56,7 +56,7 @@ const setCharts = () => { yAxis: [ { type: 'value', - name: t('messages.日产量'), + name: t('default.日产量'), axisLabel: { fontSize: 14 } diff --git a/src/views/Exhibition/Bengal/images/fzmbj.png b/src/views/Exhibition/Bengal/images/fzmbj.png deleted file mode 100644 index 95a9be9..0000000 Binary files a/src/views/Exhibition/Bengal/images/fzmbj.png and /dev/null differ diff --git a/src/views/Exhibition/Bengal/images/hty.png b/src/views/Exhibition/Bengal/images/hty.png deleted file mode 100644 index 2539897..0000000 Binary files a/src/views/Exhibition/Bengal/images/hty.png and /dev/null differ diff --git a/src/views/Exhibition/Bengal/images/juki.png b/src/views/Exhibition/Bengal/images/juki.png new file mode 100644 index 0000000..87d5b8c Binary files /dev/null and b/src/views/Exhibition/Bengal/images/juki.png differ diff --git a/src/views/Exhibition/Bengal/images/mjxhj.png b/src/views/Exhibition/Bengal/images/mjxhj.png deleted file mode 100644 index 7aeebd7..0000000 Binary files a/src/views/Exhibition/Bengal/images/mjxhj.png and /dev/null differ diff --git a/src/views/Exhibition/Bengal/images/pmqgj.png b/src/views/Exhibition/Bengal/images/pmqgj.png new file mode 100644 index 0000000..56e747e Binary files /dev/null and b/src/views/Exhibition/Bengal/images/pmqgj.png differ diff --git a/src/views/Exhibition/Bengal/images/xhj.png b/src/views/Exhibition/Bengal/images/xhj.png new file mode 100644 index 0000000..c568c3b Binary files /dev/null and b/src/views/Exhibition/Bengal/images/xhj.png differ diff --git a/src/views/Exhibition/Bengal/images/yamato.png b/src/views/Exhibition/Bengal/images/yamato.png new file mode 100644 index 0000000..73fde50 Binary files /dev/null and b/src/views/Exhibition/Bengal/images/yamato.png differ diff --git a/src/views/Exhibition/Bengal/index.vue b/src/views/Exhibition/Bengal/index.vue index 2dd8994..2576770 100644 --- a/src/views/Exhibition/Bengal/index.vue +++ b/src/views/Exhibition/Bengal/index.vue @@ -12,17 +12,18 @@
-
+
- +
- +
- - + +
@@ -33,28 +34,29 @@
-
- +
-
+
{{ item.key }}: - {{ index == - 1 ? '' : item.value }} + {{ index == + 1 ? '' : item.value }}
- - + +
- +
@@ -62,18 +64,55 @@
- -
- -
- - - - +
+ +
+
+
+ {{ item.key }}: + {{ index == + 1 ? '' : item.value }} +
+
+
+
+ + +
+
+ +
+
+
+
+
+ +
+
+
+ {{ item.key }}: + {{ index == + 1 ? '' : item.value }} +
+
+
+
+ + +
+
+ +
+
+
+
+
-
-
@@ -89,16 +128,16 @@ import BarChart from './component/BarChart.vue' import { getmDeviceList, getmDeviceProduction } from '@/http/MicroExhibition' import { ref, onMounted, onUnmounted, getCurrentInstance, watch, onUpdated, computed, reactive } from 'vue' -import {columbiaDeviceList,columbiaDeviceProduction} from '@/http/Exhibition/Colombia' +import { mjlDeviceList, mjlDeviceProduction } from '@/http/Exhibition/Bengal' import { connectWebsocket, closeWebsocket } from "@/utils/websocket" -import { getStoredLanguage, saveStoredLanguage,languageHash } from "@/utils/languageStorage"; +import { getStoredLanguage, saveStoredLanguage, languageHash } from "@/utils/languageStorage"; import { useRoute } from 'vue-router' import { useI18n } from 'vue-i18n' let route = useRoute() let { t } = useI18n(); let lang = route.query.lang as string -if (lang &&languageHash(lang)&&languageHash(lang) != getStoredLanguage()) { +if (lang && languageHash(lang) && languageHash(lang) != getStoredLanguage()) { saveStoredLanguage(languageHash(lang)) window.location.reload() } @@ -108,13 +147,24 @@ const videoElement = ref(null) let timer = null let timers = null let dev_title = ref([t('messages.RackNum'), t('messages.DevStatus'), t('messages.UtilizationRate'), t('messages.RunTime')]) -let mubanji_value = ref([ +let lspmqgj_value = ref([ [102014422, '0', '40层', '0min'] ]) -let huituyi_value = ref([ - [102014422, '0', '40层', '0min'] +let xhj_data = reactive([ + { key: t('messages.RackNum'), value: '102014422' }, + { key: t('messages.DevStatus'), value: 2 }, + { key: t('messages.UtilizationRate'), value: '40层' }, + { key: t('messages.RunTime'), value: '0min' }, ]) -let mjxhj_data = reactive([ + +let juki_data = reactive([ + { key: t('messages.RackNum'), value: '102014422' }, + { key: t('messages.DevStatus'), value: 2 }, + { key: t('messages.UtilizationRate'), value: '40层' }, + { key: t('messages.RunTime'), value: '0min' }, +]) + +let yamato_data = reactive([ { key: t('messages.RackNum'), value: '102014422' }, { key: t('messages.DevStatus'), value: 2 }, { key: t('messages.UtilizationRate'), value: '40层' }, @@ -127,39 +177,48 @@ const status_color = { '3': '#FDDD60', } async function getcolumbiaDeviceList() { - const result:any = await columbiaDeviceList(); + const result: any = await mjlDeviceList(); if (result.code == 200) { - let {data} = result; - let mubanji = data['服装模板机'] - let huituyi = data['绘图仪(一代)'] - let xiuhuaji = data['单头混合毛巾绣花机'] - mubanji_value.value = [ - [mubanji.label,mubanji.status,mubanji.ratio,mubanji.workTime] - ] - huituyi_value.value = [ - [huituyi.label,huituyi.status,huituyi.ratio,huituyi.workTime] + let { data } = result; + let lspmqgj = data['立式喷墨切割机'] + let xiuhuaji = data['多功能绣花机'] + let juki = data['JUKI高速直驱平缝机'] + let yamato = data['Yamato包缝机'] + lspmqgj_value.value = [ + [lspmqgj.label, lspmqgj.status, lspmqgj.ratio, lspmqgj.workTime] ] - mjxhj_data[0].value = xiuhuaji.label - mjxhj_data[1].value = xiuhuaji.status - mjxhj_data[2].value = xiuhuaji.ratio - mjxhj_data[3].value = xiuhuaji.workTime + xhj_data[0].value = xiuhuaji.label + xhj_data[1].value = xiuhuaji.status + xhj_data[2].value = xiuhuaji.ratio + xhj_data[3].value = xiuhuaji.workTime + + juki_data[0].value = juki.label + juki_data[1].value = juki.status + juki_data[2].value = juki.ratio + juki_data[3].value = juki.workTime + + yamato_data[0].value = yamato.label + yamato_data[1].value = yamato.status + yamato_data[2].value = yamato.ratio + yamato_data[3].value = yamato.workTime } } -let data_chart = reactive({ mubanji_series: [1,2], xiuhuaji_series: [3,4], huituyi_series: [5,6], xData: [t('messages.计划产量'),t('messages.实际产量')] }) +let data_chart = reactive({ qiegeji_series: [1, 2], xiuhua_series: [3, 4], juki_series: [5, 6],yamato_series: [5, 6], xData: [t('default.计划产量'), t('default.实际产量')] }) function getcolumbiaDeviceProduction() { - columbiaDeviceProduction().then((result:any) => { - + mjlDeviceProduction().then((result: any) => { + if (result.code == 200) { - let {data} = result; - - data_chart.mubanji_series = data.mubanji - data_chart.xiuhuaji_series = data.xiuhuaji - data_chart.huituyi_series = data.huituyi + let { data } = result; + + data_chart.qiegeji_series = data.qiegeji + data_chart.xiuhua_series = data.xiuhua + data_chart.juki_series = data.juki + data_chart.yamato_series = data.yamato } }) } @@ -175,17 +234,21 @@ function getWebsocket(val) { if (data.type == 'WorkingState') { let msg = data.msg - //绘图仪 - if (msg.RackNumber == '104019066') { - huituyi_value.value[0][1] = msg.WorkingState - } - //模板机 - if (msg.RackNumber == '10102118') { - mubanji_value.value[0][1] = msg.WorkingState + //喷墨切割机 + if (msg.RackNumber == '104019306') { + lspmqgj_value.value[0][1] = msg.WorkingState } //绣花机 - if (msg.RackNumber == '1021875') { - mjxhj_data[1].value = msg.WorkingState + if (msg.RackNumber == '1021631') { + xhj_data[1].value = msg.WorkingState + } + //JUKI + if (msg.RackNumber == 'JUKI高速直驱平缝机') { + juki_data[1].value = msg.WorkingState + } + //Yamato + if (msg.RackNumber == 'Yamato包缝机') { + yamato_data[1].value = msg.WorkingState } @@ -258,6 +321,8 @@ onUnmounted(() => { align-items: center; } + + .center { width: 800px; height: 100%; @@ -282,6 +347,16 @@ onUnmounted(() => { height: 480px; } +.rtop { + width: 100%; + height: 490px; +} + +.rbottom { + width: 100%; + height: 480px; +} + .box { width: 100%; @@ -324,12 +399,17 @@ onUnmounted(() => { justify-content: space-between; align-items: center; } + .box-bottom-left { width: 250px; height: 100%; } + .box-bottom-right { flex: 1; + display: flex; + justify-content: center; + align-items: center; height: 100%; } @@ -347,6 +427,7 @@ onUnmounted(() => { box-sizing: border-box; padding: 0 20px; } + .key-text { width: 60%; font-size: 18px; @@ -369,5 +450,4 @@ onUnmounted(() => { width: 24px; height: 24px; border-radius: 50%; -} - +} diff --git a/src/views/MicroExhibition/components/BarChart.vue b/src/views/Exhibition/Cisma/components/BarChart.vue similarity index 100% rename from src/views/MicroExhibition/components/BarChart.vue rename to src/views/Exhibition/Cisma/components/BarChart.vue diff --git a/src/views/MicroExhibition/components/BoardBar.vue b/src/views/Exhibition/Cisma/components/BoardBar.vue similarity index 100% rename from src/views/MicroExhibition/components/BoardBar.vue rename to src/views/Exhibition/Cisma/components/BoardBar.vue diff --git a/src/views/MicroExhibition/components/Card.vue b/src/views/Exhibition/Cisma/components/Card.vue similarity index 100% rename from src/views/MicroExhibition/components/Card.vue rename to src/views/Exhibition/Cisma/components/Card.vue diff --git a/src/views/MicroExhibition/components/DevCard.vue b/src/views/Exhibition/Cisma/components/DevCard.vue similarity index 100% rename from src/views/MicroExhibition/components/DevCard.vue rename to src/views/Exhibition/Cisma/components/DevCard.vue diff --git a/src/views/MicroExhibition/components/LineChart.vue b/src/views/Exhibition/Cisma/components/LineChart.vue similarity index 100% rename from src/views/MicroExhibition/components/LineChart.vue rename to src/views/Exhibition/Cisma/components/LineChart.vue diff --git a/src/views/MicroExhibition/components/NewBoder.vue b/src/views/Exhibition/Cisma/components/NewBoder.vue similarity index 100% rename from src/views/MicroExhibition/components/NewBoder.vue rename to src/views/Exhibition/Cisma/components/NewBoder.vue diff --git a/src/views/MicroExhibition/components/PbjCard.vue b/src/views/Exhibition/Cisma/components/PbjCard.vue similarity index 100% rename from src/views/MicroExhibition/components/PbjCard.vue rename to src/views/Exhibition/Cisma/components/PbjCard.vue diff --git a/src/views/MicroExhibition/components/header2.vue b/src/views/Exhibition/Cisma/components/header2.vue similarity index 100% rename from src/views/MicroExhibition/components/header2.vue rename to src/views/Exhibition/Cisma/components/header2.vue diff --git a/src/views/MicroExhibition/components/ringChart.vue b/src/views/Exhibition/Cisma/components/ringChart.vue similarity index 100% rename from src/views/MicroExhibition/components/ringChart.vue rename to src/views/Exhibition/Cisma/components/ringChart.vue diff --git a/src/views/MicroExhibition/components/scrollBoard.vue b/src/views/Exhibition/Cisma/components/scrollBoard.vue similarity index 100% rename from src/views/MicroExhibition/components/scrollBoard.vue rename to src/views/Exhibition/Cisma/components/scrollBoard.vue diff --git a/src/views/Exhibition/Cisma/images/u290.svg b/src/views/Exhibition/Cisma/images/u290.svg new file mode 100644 index 0000000..94f8184 --- /dev/null +++ b/src/views/Exhibition/Cisma/images/u290.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/src/views/Exhibition/Cisma/images/u305.svg b/src/views/Exhibition/Cisma/images/u305.svg new file mode 100644 index 0000000..e68182a --- /dev/null +++ b/src/views/Exhibition/Cisma/images/u305.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/src/views/MicroExhibition/indexOld.vue b/src/views/Exhibition/Cisma/index.vue similarity index 100% rename from src/views/MicroExhibition/indexOld.vue rename to src/views/Exhibition/Cisma/index.vue diff --git a/src/views/MicroExhibition/table.vue b/src/views/Exhibition/Cisma/table.vue similarity index 100% rename from src/views/MicroExhibition/table.vue rename to src/views/Exhibition/Cisma/table.vue diff --git a/src/views/Exhibition/Colombia/index.vue b/src/views/Exhibition/Colombia/index.vue index 2dd8994..47dbc30 100644 --- a/src/views/Exhibition/Colombia/index.vue +++ b/src/views/Exhibition/Colombia/index.vue @@ -98,10 +98,7 @@ let route = useRoute() let { t } = useI18n(); 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/GEDOS_merge.mp4') const videoElement = ref(null) diff --git a/src/views/Exhibition/Station/images/off.svg b/src/views/Exhibition/Station/images/off.svg new file mode 100644 index 0000000..e85d8c5 --- /dev/null +++ b/src/views/Exhibition/Station/images/off.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/views/Exhibition/Station/images/on.svg b/src/views/Exhibition/Station/images/on.svg new file mode 100644 index 0000000..1ab7155 --- /dev/null +++ b/src/views/Exhibition/Station/images/on.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/views/Exhibition/Station/index.vue b/src/views/Exhibition/Station/index.vue new file mode 100644 index 0000000..8cb5905 --- /dev/null +++ b/src/views/Exhibition/Station/index.vue @@ -0,0 +1,358 @@ + + + + + diff --git a/src/views/Exhibition/table/index.vue b/src/views/Exhibition/table/index.vue index 2b2aff7..a01b95d 100644 --- a/src/views/Exhibition/table/index.vue +++ b/src/views/Exhibition/table/index.vue @@ -10,7 +10,7 @@
-
@@ -46,8 +46,12 @@ import header2 from '@/components/headerBox/header2.vue' import { ref, reactive, onMounted } from 'vue'; import { ElTable, ElTableColumn, ElInput, ElButton, ElMessage, ElMessageBox } from 'element-plus'; -import { getPlanProduction, insertPlanProduction } from '@/http/cisma'; +import { insertPlanProduction } from '@/http/cisma'; +import {useRoute} from 'vue-router' +import {getPlanProduction} from '@/http/Exhibition/table' const tableData = ref([]); +const route = useRoute() +const title = ref('设备工况物联系统') onMounted(() => { // 获取数据 fetchPlanProduction(); @@ -55,11 +59,12 @@ onMounted(() => { }) async function fetchPlanProduction(): Promise { try { - const res = await getPlanProduction() as any; + const s = route.params.id + const res = await getPlanProduction({s}) as any; if (res.code === 200) { // console.log(res); - tableData.value = res.data - + tableData.value = res.data.list + title.value = res.data.name + "设备计划产量" } } catch (error) { console.error('Failed to fetch plan production:', error); @@ -135,13 +140,13 @@ h3 { } .table-container { - width: 95%; + width: 100%; padding: 20px; box-sizing: border-box; display: flex; flex-direction: row; flex-wrap: wrap; - justify-content: space-between; + justify-content: center; align-items: flex-start; } diff --git a/src/views/MicroExhibition/component/BottomBorder.vue b/src/views/MicroExhibition/component/BottomBorder.vue index b966075..dd04e7e 100644 --- a/src/views/MicroExhibition/component/BottomBorder.vue +++ b/src/views/MicroExhibition/component/BottomBorder.vue @@ -81,7 +81,7 @@ const status_color = { text-align: left; font-size: 28px; font-family: "华文新魏", sans-serif; - font-weight: 400; + font-weight: 700; font-style: normal; color: #00fffffe; } diff --git a/src/views/MicroExhibition/index.vue b/src/views/MicroExhibition/index.vue index 0b184d1..1343b95 100644 --- a/src/views/MicroExhibition/index.vue +++ b/src/views/MicroExhibition/index.vue @@ -80,11 +80,6 @@ let { t } = useI18n(); let route = useRoute() 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') const videoElement = ref(null) let timer = null diff --git a/src/views/index.vue b/src/views/index.vue index fddaaa0..c02c5f3 100644 --- a/src/views/index.vue +++ b/src/views/index.vue @@ -20,8 +20,9 @@ @@ -29,8 +30,8 @@
- +
@@ -39,12 +40,13 @@ import { ref, reactive, onMounted, onUnmounted } from "vue"; import list from "@/components/assembly/indexList.vue"; import { useI18n } from "vue-i18n"; -import { getStoredLanguage, saveStoredLanguage } from "@/utils/languageStorage"; -import { useRoute } from 'vue-router' +import { getStoredLanguage, saveStoredLanguage, languageHash } from "@/utils/languageStorage"; +import { useRoute,useRouter } from 'vue-router' import { getScreenByHash } from "@/http/rule/index" -import {imgurlAddXhr} from "@/utils/devSever" +import { imgurlAddXhr } from "@/utils/devSever" let langicon = require("@/assets/svg/language.svg") let route = useRoute() +let router = useRouter() window.document.title = "大屏物联管理系统"; let { t } = useI18n(); let language = reactive([ @@ -64,20 +66,20 @@ let language = reactive([ value: "es", } ]) - let routerList = ref() +let routerList = ref() let lang = ref(getStoredLanguage() || '简体中文') function changelang(val) { - saveStoredLanguage(val) + saveStoredLanguage(languageHash(val)) location.reload() } async function reqScreenByHash() { let hash = sessionStorage.getItem('screen_hash') - let res:any = await getScreenByHash({hash}); + let res: any = await getScreenByHash({ hash }); if (res.code === 200) { - let {data} = res - routerList.value = data.map((item:any) => { + let { data } = res + routerList.value = data.map((item: any) => { const regex = /^(http|https):\/\/[^ "]+$/; let isTrue = regex.test(item.img); return { @@ -85,11 +87,11 @@ async function reqScreenByHash() { isLink: false, path: item.path, title: item.title, - url: isTrue?item.img:imgurlAddXhr(item.img), + url: isTrue ? item.img : imgurlAddXhr(item.img), hash: hash } }) - + } }