From b2fdb2d6b873f050177c49c6c8c34bdefc316246 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=99=BD=E8=8F=9C?= <43331987+JiaLiBai@users.noreply.github.com> Date: Mon, 16 Jun 2025 15:54:10 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E7=AB=99=E7=82=B9=E5=9C=B0?= =?UTF-8?q?=E5=9B=BE=E9=9D=99=E6=80=81=E9=A1=B5=E9=9D=A2=EF=BC=8C=E9=A1=B9?= =?UTF-8?q?=E7=9B=AE=E6=96=B0=E5=A2=9Eems=20router=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E3=80=81components=E6=96=87=E4=BB=B6=E3=80=81mixin=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E3=80=81scss=E6=96=87=E4=BB=B6=E5=92=8Cview=E6=96=87?= =?UTF-8?q?=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/assets/styles/common.scss | 16 +++ src/assets/styles/index.scss | 1 + src/components/Ems/SingleSquareBox/index.vue | 35 ++++++ src/components/Ems/ZdBaseInfo/index.vue | 66 ++++++++++ src/components/Ems/ZdSelect/index.vue | 41 +++++++ src/mixins/ems/resize.js | 56 +++++++++ src/router/ems.js | 19 +++ src/router/index.js | 5 +- src/views/ems/zddt/BarChart.vue | 76 ++++++++++++ src/views/ems/zddt/index.vue | 122 +++++++++++++++++++ 10 files changed, 436 insertions(+), 1 deletion(-) create mode 100644 src/assets/styles/common.scss create mode 100644 src/components/Ems/SingleSquareBox/index.vue create mode 100644 src/components/Ems/ZdBaseInfo/index.vue create mode 100644 src/components/Ems/ZdSelect/index.vue create mode 100644 src/mixins/ems/resize.js create mode 100644 src/router/ems.js create mode 100644 src/views/ems/zddt/BarChart.vue create mode 100644 src/views/ems/zddt/index.vue diff --git a/src/assets/styles/common.scss b/src/assets/styles/common.scss new file mode 100644 index 0000000..a34464c --- /dev/null +++ b/src/assets/styles/common.scss @@ -0,0 +1,16 @@ +/* + ems管理平台公共css样式 +*/ + +//右侧内容区域 +.ems-dashboard-editor-container{ + background-color: #F1F5FC; + padding: 24px; + font-size: 12px; +} +.ems-content-conatiner{ + background-color: #ffffff; +} +ems-content-conatiner-padding{ + padding: 24px; +} diff --git a/src/assets/styles/index.scss b/src/assets/styles/index.scss index bb87292..591b17e 100644 --- a/src/assets/styles/index.scss +++ b/src/assets/styles/index.scss @@ -4,6 +4,7 @@ @import './element-ui.scss'; @import './sidebar.scss'; @import './btn.scss'; +@import './common.scss'; body { height: 100%; diff --git a/src/components/Ems/SingleSquareBox/index.vue b/src/components/Ems/SingleSquareBox/index.vue new file mode 100644 index 0000000..e1fba72 --- /dev/null +++ b/src/components/Ems/SingleSquareBox/index.vue @@ -0,0 +1,35 @@ + + + + + diff --git a/src/components/Ems/ZdBaseInfo/index.vue b/src/components/Ems/ZdBaseInfo/index.vue new file mode 100644 index 0000000..ddb629d --- /dev/null +++ b/src/components/Ems/ZdBaseInfo/index.vue @@ -0,0 +1,66 @@ + + + + + + diff --git a/src/components/Ems/ZdSelect/index.vue b/src/components/Ems/ZdSelect/index.vue new file mode 100644 index 0000000..dbf00c7 --- /dev/null +++ b/src/components/Ems/ZdSelect/index.vue @@ -0,0 +1,41 @@ + + + + + diff --git a/src/mixins/ems/resize.js b/src/mixins/ems/resize.js new file mode 100644 index 0000000..b1e76e9 --- /dev/null +++ b/src/mixins/ems/resize.js @@ -0,0 +1,56 @@ +import { debounce } from '@/utils' + +export default { + data() { + return { + $_sidebarElm: null, + $_resizeHandler: null + } + }, + mounted() { + this.initListener() + }, + activated() { + if (!this.$_resizeHandler) { + // avoid duplication init + this.initListener() + } + + // when keep-alive chart activated, auto resize + this.resize() + }, + beforeDestroy() { + this.destroyListener() + }, + deactivated() { + this.destroyListener() + }, + methods: { + // use $_ for mixins properties + // https://vuejs.org/v2/style-guide/index.html#Private-property-names-essential + $_sidebarResizeHandler(e) { + if (e.propertyName === 'width') { + this.$_resizeHandler() + } + }, + initListener() { + this.$_resizeHandler = debounce(() => { + this.resize() + }, 100) + window.addEventListener('resize', this.$_resizeHandler) + + this.$_sidebarElm = document.getElementsByClassName('sidebar-container')[0] + this.$_sidebarElm && this.$_sidebarElm.addEventListener('transitionend', this.$_sidebarResizeHandler) + }, + destroyListener() { + window.removeEventListener('resize', this.$_resizeHandler) + this.$_resizeHandler = null + + this.$_sidebarElm && this.$_sidebarElm.removeEventListener('transitionend', this.$_sidebarResizeHandler) + }, + resize() { + const { chart } = this + chart && chart.resize() + } + } +} diff --git a/src/router/ems.js b/src/router/ems.js new file mode 100644 index 0000000..f31e794 --- /dev/null +++ b/src/router/ems.js @@ -0,0 +1,19 @@ +import Layout from "@/layout/index.vue"; + +const ems = [ + { + path: '/zddt', + component: Layout, + redirect: 'zddt', + children: [ + { + path: '', + component: () => import('@/views/ems/zddt/index'), + name: 'zddt', + meta: { title: '站点地图', icon: 'guide' } + } + ] + } +] + +export default ems diff --git a/src/router/index.js b/src/router/index.js index bbfd237..1140df4 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -1,5 +1,6 @@ import Vue from 'vue' import Router from 'vue-router' +import ems from './ems'//EMS管理系统routers引用 Vue.use(Router) @@ -87,7 +88,9 @@ export const constantRoutes = [ meta: { title: '个人中心', icon: 'user' } } ] - } + }, + // EMS管理系统routers + ...ems ] // 动态路由,基于用户权限动态去加载 diff --git a/src/views/ems/zddt/BarChart.vue b/src/views/ems/zddt/BarChart.vue new file mode 100644 index 0000000..d24c6ec --- /dev/null +++ b/src/views/ems/zddt/BarChart.vue @@ -0,0 +1,76 @@ + + + + + + + diff --git a/src/views/ems/zddt/index.vue b/src/views/ems/zddt/index.vue new file mode 100644 index 0000000..fd6629e --- /dev/null +++ b/src/views/ems/zddt/index.vue @@ -0,0 +1,122 @@ + + + + +