diff --git a/src/assets/css/iconfont/germany/iconfont.css b/src/assets/css/iconfont/germany/iconfont.css new file mode 100644 index 0000000..655f1b5 --- /dev/null +++ b/src/assets/css/iconfont/germany/iconfont.css @@ -0,0 +1,59 @@ +@font-face { + font-family: "iconfont"; /* Project id 4503445 */ + src: url('iconfont.woff2?t=1712901332022') format('woff2'), + url('iconfont.woff?t=1712901332022') format('woff'), + url('iconfont.ttf?t=1712901332022') format('truetype'); +} + +.iconfont { + font-family: "iconfont" !important; + font-size: 16px; + font-style: normal; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.icon-renyuanxinxi-copy:before { + content: "\e601"; +} + +.icon-baojing:before { + content: "\e64b"; +} + +.icon-zidongtaiyajiao:before { + content: "\e61f"; +} + +.icon-taiyajiaogaodu:before { + content: "\e623"; +} + +.icon-jizhenzhenshu:before { + content: "\e61a"; +} + +.icon-caijian:before { + content: "\e66e"; +} + +.icon-shebeixinxi:before { + content: "\ea02"; +} + +.icon-tonganrenyuanxinxi:before { + content: "\e61e"; +} + +.icon-a-zu496:before { + content: "\e600"; +} + +.icon-shengchanxiaoshuai:before { + content: "\e612"; +} + +.icon-zhinengjiaju:before { + content: "\e61c"; +} + diff --git a/src/assets/css/iconfont/germany/iconfont.ttf b/src/assets/css/iconfont/germany/iconfont.ttf new file mode 100644 index 0000000..0cb444d Binary files /dev/null and b/src/assets/css/iconfont/germany/iconfont.ttf differ diff --git a/src/assets/css/iconfont/germany/iconfont.woff b/src/assets/css/iconfont/germany/iconfont.woff new file mode 100644 index 0000000..9f9856b Binary files /dev/null and b/src/assets/css/iconfont/germany/iconfont.woff differ diff --git a/src/assets/css/iconfont/germany/iconfont.woff2 b/src/assets/css/iconfont/germany/iconfont.woff2 new file mode 100644 index 0000000..a587ac2 Binary files /dev/null and b/src/assets/css/iconfont/germany/iconfont.woff2 differ diff --git a/src/http/Exhibition/Germany/index.ts b/src/http/Exhibition/Germany/index.ts new file mode 100644 index 0000000..eab3a25 --- /dev/null +++ b/src/http/Exhibition/Germany/index.ts @@ -0,0 +1,6 @@ +import {get,post} from "@/utils/http" + +//获取设备在线状态、设备列表 +export function dDeviceList(){ + return get('/screen/cisma/dDeviceList') +} diff --git a/src/main.ts b/src/main.ts index b23ea91..7b0231a 100644 --- a/src/main.ts +++ b/src/main.ts @@ -15,7 +15,8 @@ import 'element-plus/theme-chalk/dark/css-vars.css' import 'dayjs/locale/zh-cn' import zhCn from 'element-plus/dist/locale/zh-cn.mjs' // import echarts from '@/utils/echarts.js' -import echarts from '@/utils/echarts' +// import echarts from '@/utils/echarts' +import VueECharts from 'vue-echarts' import {createPinia} from 'pinia' // import DataV, { setClassNamePrefix } from '@dataview/datav-vue3'; import dataV from "@iamzzg/data-view/dist/vue3/datav.map.vue.esm"; @@ -23,9 +24,104 @@ import './registerServiceWorker' import router from './router' import i18n from './locales' + + +import * as echarts from 'echarts/core'; +import { + BarChart, + // 系列类型的定义后缀都为 SeriesOption + BarSeriesOption, + LineChart, + LineSeriesOption, + GaugeChart, + GaugeSeriesOption, + CustomChart, + CustomSeriesOption, + MapChart, + PieChart, + PieSeriesOption, +} from 'echarts/charts'; +// import {LiquidfillChart, +// LiquidfillSeriesOption,} from 'echarts-liquidfill' +import { + TitleComponent, + // 组件类型的定义后缀都为 ComponentOption + TitleComponentOption, + TooltipComponent, + TooltipComponentOption, + GeoComponent, + GridComponent, + GridComponentOption, + VisualMapComponent , + TimelineComponent , + CalendarComponent , + //基准线 + MarkLineComponent, + + // 数据集组件 + DatasetComponent, + DatasetComponentOption, + // 内置数据转换器组件 (filter, sort) + TransformComponent, + LegendComponent, + ToolboxComponent +} from 'echarts/components'; +import { LabelLayout, UniversalTransition } from 'echarts/features'; +import { CanvasRenderer } from 'echarts/renderers'; + +// 通过 ComposeOption 来组合出一个只有必须组件和图表的 Option 类型 +type ECOption = echarts.ComposeOption< + | BarSeriesOption + | LineSeriesOption + | GaugeSeriesOption + | TitleComponentOption + | TooltipComponentOption + | CustomSeriesOption + | GridComponentOption + | DatasetComponentOption + | PieSeriesOption +>; + +// 注册必须的组件 +echarts.use([ + TitleComponent, + TooltipComponent, + GeoComponent, + GridComponent, + DatasetComponent, + TransformComponent, + LegendComponent, + MarkLineComponent, + VisualMapComponent, + TimelineComponent , + CalendarComponent , + BarChart, + LineChart, + GaugeChart, + PieChart, + MapChart, + CustomChart, + // LiquidfillChart, + LabelLayout, + UniversalTransition, + CanvasRenderer, + ToolboxComponent +]); + let app = createApp(App) const store = createPinia() app.config.globalProperties.$echarts = echarts;//vue3的挂载方式 + +app.config.globalProperties.$t = i18n.global.t +app.config.globalProperties.$te = i18n.global.te + +app.config.globalProperties.tLang = (parent:string, item:string):string => { + if (i18n.global.te(parent + "." + item)) { + return i18n.global.t(parent + "." + item) + } + return item +} +app.component('v-chart', VueECharts) app.use(store) app.use(i18n) app.use(router).use(ElementPlus, {locale: zhCn,}).use(dataV).mount('#app') \ No newline at end of file diff --git a/src/router/index.ts b/src/router/index.ts index 21357f1..424e5b8 100644 --- a/src/router/index.ts +++ b/src/router/index.ts @@ -365,6 +365,11 @@ const routes: Array = [ { path: "/GermanyExhibition", name: "GermanyExhibition", + component: () => import("../views/Exhibition/Germany/index.vue"), + }, + { + path: "/GermanyExhibitionChild", + name: "GermanyExhibitionChild", component: () => import("../views/Exhibition/Germany/child.vue"), }, diff --git a/src/shims-vue.d.ts b/src/shims-vue.d.ts index 6136c7e..ff919c0 100644 --- a/src/shims-vue.d.ts +++ b/src/shims-vue.d.ts @@ -13,6 +13,14 @@ declare module '*.vue' { const component: DefineComponent<{}, {}, any> export default component } + +// 对vue进行类型补充说明 +import { ComponentCustomProperties } from 'vue' +declare module '@vue/runtime-core' { + interface ComponentCustomProperties { + tLang: any + } +} declare module '@dataview/datav-vue3' declare module '@jiaminghi/data-view' declare module '*.json'{ @@ -29,4 +37,54 @@ declare module './utils/echarts.js' { // export default Component; // } -declare module "vue-i18n" \ No newline at end of file +declare module "vue-i18n" +declare module "vue-echarts" + +/* + * @FilePath: \daping\src\utils\echarts.d.ts + * @Author: 王路平 + * @文件版本: V1.0.0 + * @Date: 2023-01-30 11:37:13 + * @Description: + * + * 版权信息 : 2023 by ${再登软件}, All Rights Reserved. + */ +import { ComposeOption } from 'echarts/core'; +import { + BarSeriesOption, + LineSeriesOption, + GaugeSeriesOption, + CustomSeriesOption, + PieSeriesOption, + MapSeriesOption +} from 'echarts/charts'; +//2.引入组件,也就是option选项中的类型 +// import {LiquidfillChart, +// LiquidfillSeriesOption,} from 'echarts-liquidfill' +import { + // 组件类型的定义后缀都为 ComponentOption + TitleComponentOption, + TooltipComponentOption, + GridComponentOption, + // 数据集组件 + DatasetComponentOption, + MarkLineComponentOption, +} from 'echarts/components'; + +// 3.通过 ComposeOption 来组合出一个只有必须组件和图表的 Option 类型 +type ECOption = ComposeOption< + | BarSeriesOption + | LineSeriesOption + | GaugeSeriesOption + | PieSeriesOption + | MapSeriesOption + | CustomSeriesOption + // | LiquidfillSeriesOption + | TitleComponentOption + | TooltipComponentOption + | GridComponentOption + | DatasetComponentOption + | MarkLineComponentOption +>; +// 4.将这个类型暴露出去 +export { ECOption } \ No newline at end of file diff --git a/src/utils/echarts.ts b/src/utils/echarts.ts index 1be336f..e69de29 100644 --- a/src/utils/echarts.ts +++ b/src/utils/echarts.ts @@ -1,94 +0,0 @@ -/* - * @FilePath: \wang-vue-worke:\demo\daping\src\utils\echarts.ts - * @Author: 王路平 - * @文件版本: V1.0.0 - * @Date: 2023-01-30 10:39:55 - * @Description: - * - * 版权信息 : 2023 by ${再登软件}, All Rights Reserved. - */ - -import * as echarts from 'echarts/core'; -import { - BarChart, - // 系列类型的定义后缀都为 SeriesOption - BarSeriesOption, - LineChart, - LineSeriesOption, - GaugeChart, - GaugeSeriesOption, - CustomChart, - CustomSeriesOption, - MapChart, - PieChart, - PieSeriesOption, -} from 'echarts/charts'; -// import {LiquidfillChart, -// LiquidfillSeriesOption,} from 'echarts-liquidfill' -import { - TitleComponent, - // 组件类型的定义后缀都为 ComponentOption - TitleComponentOption, - TooltipComponent, - TooltipComponentOption, - GeoComponent, - GridComponent, - GridComponentOption, - VisualMapComponent , - TimelineComponent , - CalendarComponent , - //基准线 - MarkLineComponent, - - // 数据集组件 - DatasetComponent, - DatasetComponentOption, - // 内置数据转换器组件 (filter, sort) - TransformComponent, - LegendComponent, - ToolboxComponent -} from 'echarts/components'; -import { LabelLayout, UniversalTransition } from 'echarts/features'; -import { CanvasRenderer } from 'echarts/renderers'; - -// 通过 ComposeOption 来组合出一个只有必须组件和图表的 Option 类型 -type ECOption = echarts.ComposeOption< - | BarSeriesOption - | LineSeriesOption - | GaugeSeriesOption - | TitleComponentOption - | TooltipComponentOption - | CustomSeriesOption - | GridComponentOption - | DatasetComponentOption - | PieSeriesOption ->; - -// 注册必须的组件 -echarts.use([ - TitleComponent, - TooltipComponent, - GeoComponent, - GridComponent, - DatasetComponent, - TransformComponent, - LegendComponent, - MarkLineComponent, - VisualMapComponent, - TimelineComponent , - CalendarComponent , - BarChart, - LineChart, - GaugeChart, - PieChart, - MapChart, - CustomChart, - // LiquidfillChart, - LabelLayout, - UniversalTransition, - CanvasRenderer, - ToolboxComponent -]); - -// 导出 -export default echarts; \ No newline at end of file diff --git a/src/views/Exhibition/Germany/child.vue b/src/views/Exhibition/Germany/child.vue index a690db6..cbdc340 100644 --- a/src/views/Exhibition/Germany/child.vue +++ b/src/views/Exhibition/Germany/child.vue @@ -118,7 +118,7 @@ let getImgSrc = computed(() => { 冲缝一体机: require("./images/cfytj.png"), 工业缝纫机: require("./images/cfytj.png"), }; - return imgSrc[name]; + return imgSrc['冲缝一体机']; }); // 获取产出进度echarts数据 diff --git a/src/views/Exhibition/Germany/components/BottomCBox.vue b/src/views/Exhibition/Germany/components/BottomCBox.vue new file mode 100644 index 0000000..5f46ed6 --- /dev/null +++ b/src/views/Exhibition/Germany/components/BottomCBox.vue @@ -0,0 +1,86 @@ + + + + + diff --git a/src/views/Exhibition/Germany/components/BottomLBox.vue b/src/views/Exhibition/Germany/components/BottomLBox.vue new file mode 100644 index 0000000..039d109 --- /dev/null +++ b/src/views/Exhibition/Germany/components/BottomLBox.vue @@ -0,0 +1,62 @@ + + + + + diff --git a/src/views/Exhibition/Germany/components/BottomRBox.vue b/src/views/Exhibition/Germany/components/BottomRBox.vue new file mode 100644 index 0000000..ee01b50 --- /dev/null +++ b/src/views/Exhibition/Germany/components/BottomRBox.vue @@ -0,0 +1,99 @@ + + + + + diff --git a/src/views/Exhibition/Germany/components/TopLBox.vue b/src/views/Exhibition/Germany/components/TopLBox.vue new file mode 100644 index 0000000..44dcd91 --- /dev/null +++ b/src/views/Exhibition/Germany/components/TopLBox.vue @@ -0,0 +1,215 @@ + + + + + diff --git a/src/views/Exhibition/Germany/components/TopRBox.vue b/src/views/Exhibition/Germany/components/TopRBox.vue new file mode 100644 index 0000000..22ef802 --- /dev/null +++ b/src/views/Exhibition/Germany/components/TopRBox.vue @@ -0,0 +1,331 @@ + + + + + diff --git a/src/views/Exhibition/Germany/images/lq.png b/src/views/Exhibition/Germany/images/lq.png new file mode 100644 index 0000000..2152b93 Binary files /dev/null and b/src/views/Exhibition/Germany/images/lq.png differ diff --git a/src/views/Exhibition/Germany/index.vue b/src/views/Exhibition/Germany/index.vue new file mode 100644 index 0000000..8254e2a --- /dev/null +++ b/src/views/Exhibition/Germany/index.vue @@ -0,0 +1,257 @@ + + + + + diff --git a/src/views/MicroExhibition/index.vue b/src/views/MicroExhibition/index.vue index 90fb69d..c9629ad 100644 --- a/src/views/MicroExhibition/index.vue +++ b/src/views/MicroExhibition/index.vue @@ -80,7 +80,7 @@ let { t } = useI18n(); let route = useRoute() const store = useMicroExhibitionStore() let lang = route.query.lang as string -let videoUrl = ref('http://d.tufting222.cn/video/yzy/a.mp4') +let videoUrl = ref('https://d.tufting222.cn/video/yzy/a.mp4') const videoElement = ref(null) let timer = null let thisLang = getStoredLanguage(); @@ -283,7 +283,7 @@ function errWebsocket(val) { onMounted(() => { if (thisLang&&thisLang != "简体中文") { - videoUrl.value = "http://d.tufting222.cn/video/yzy/micor_edos_english.mp4" + videoUrl.value = "https://d.tufting222.cn/video/yzy/micor_edos_english.mp4" } getDeviceProduction() diff --git a/src/views/energyConsumeJixiefenchang/content/chart/water.vue b/src/views/energyConsumeJixiefenchang/content/chart/water.vue index ee400c6..ce81ea7 100644 --- a/src/views/energyConsumeJixiefenchang/content/chart/water.vue +++ b/src/views/energyConsumeJixiefenchang/content/chart/water.vue @@ -9,129 +9,129 @@ -->