diff --git a/src/api/data/index.ts b/src/api/data/index.ts
new file mode 100644
index 0000000..6b14b76
--- /dev/null
+++ b/src/api/data/index.ts
@@ -0,0 +1,122 @@
+import request from '@/utils/request';
+import { AxiosPromise } from 'axios';
+import { weatherVo } from './types';
+
+/**
+ * 获取公司列表
+ */
+export function companyList() {
+ return request({
+ url: '/assetData/dataScreenMain/company/tree/0',
+ method: 'get'
+ });
+}
+
+/**
+ * 获取天气预报
+ */
+export function getWeather(): AxiosPromise<[]> {
+ return request({
+ url: 'assetData/dataScreenMain/weather/0',
+ method: 'get'
+ });
+}
+
+/**
+ * 总发电量接口
+ */
+export function powerInfoAll(data: any) {
+ return request({
+ url: '/assetData/dataScreenMain/powerInfoAll',
+ method: 'post',
+ data: data
+ });
+}
+
+/**
+ * 公司面积接口
+ */
+export function squareInfoCompany(data: any) {
+ return request({
+ url: '/assetData/dataScreenMain/squareInfoCompany',
+ method: 'post',
+ data: data
+ });
+}
+
+/**
+ * 集团面积接口
+ */
+export function squareInfoGroup(data: any) {
+ return request({
+ url: '/assetData/dataScreenMain/squareInfoGroup',
+ method: 'post',
+ data: data
+ });
+}
+
+/**
+ * 煤消耗接口
+ */
+export function coalLostRate(data: any) {
+ return request({
+ url: '/assetData/dataScreenMain/coalLostRate',
+ method: 'post',
+ data: data
+ });
+}
+
+/**
+ * 水消耗接口
+ */
+export function waterInfo(data: any) {
+ return request({
+ url: '/assetData/dataScreenMain/waterInfo',
+ method: 'post',
+ data: data
+ });
+}
+
+/**
+ * 电消耗接口
+ */
+export function powerLostRate(data: any) {
+ return request({
+ url: '/assetData/dataScreenMain/powerLostRate',
+ method: 'post',
+ data: data
+ });
+}
+
+/**
+ * 地图数据
+ */
+export function mapInfo(data: any) {
+ return request({
+ url: 'assetData/dataScreenMain/mapInfo',
+ method: 'post',
+ data: data
+ });
+}
+
+/**
+ * 每平米产热量数据排名
+ */
+export function heatRateRange(data: any) {
+ return request({
+ url: 'assetData/dataScreenMain/heatRateRange',
+ method: 'post',
+ data: data
+ });
+}
+
+/**
+ * 每平米耗煤量数据排名
+ */
+export function coalConsumptionRange(data: any) {
+ return request({
+ url: 'assetData/dataScreenMain/coalConsumptionRange',
+ method: 'post',
+ data: data
+ });
+}
diff --git a/src/api/data/types.ts b/src/api/data/types.ts
new file mode 100644
index 0000000..51a9603
--- /dev/null
+++ b/src/api/data/types.ts
@@ -0,0 +1,22 @@
+/**
+ * 天气参数
+ */
+export interface weatherVo {
+ date: string;
+ tem_day: string;
+ tem_night: string;
+ wea: string;
+ wea_img: string;
+ win: string;
+ win_speed: string;
+}
+
+/**
+ * 水消耗参数
+ */
+export interface waterVo {
+ field1: number;
+ field2: number;
+ field3: number;
+ name: string;
+}
diff --git a/src/assets/fonts/SourceHanSansBold.OTF b/src/assets/fonts/SourceHanSansBold.OTF
new file mode 100644
index 0000000..886f82f
Binary files /dev/null and b/src/assets/fonts/SourceHanSansBold.OTF differ
diff --git a/src/assets/fonts/SourceHanSansBold.ttf b/src/assets/fonts/SourceHanSansBold.ttf
new file mode 100644
index 0000000..b1f65f2
Binary files /dev/null and b/src/assets/fonts/SourceHanSansBold.ttf differ
diff --git a/src/assets/fonts/font.css b/src/assets/fonts/font.css
index 96f3abd..cf3dae4 100644
--- a/src/assets/fonts/font.css
+++ b/src/assets/fonts/font.css
@@ -18,3 +18,7 @@
font-family: 'PangMenZhengDaoBiao';
src: url('PangMenZhengDaoBiao.ttf') format('truetype');
}
+@font-face {
+ font-family: 'SourceHanSansBold';
+ src: url('SourceHanSansBold.OTF') format('OpenType');
+}
diff --git a/src/assets/icons/BIlogo.svg b/src/assets/icons/BIlogo.svg
new file mode 100644
index 0000000..0188584
--- /dev/null
+++ b/src/assets/icons/BIlogo.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/icon_back.svg b/src/assets/icons/icon_back.svg
new file mode 100644
index 0000000..c481bc6
--- /dev/null
+++ b/src/assets/icons/icon_back.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/icon_menu.svg b/src/assets/icons/icon_menu.svg
new file mode 100644
index 0000000..b68f6f4
--- /dev/null
+++ b/src/assets/icons/icon_menu.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/images/dataVisual/header_bg.png b/src/assets/images/dataVisual/header_bg.png
new file mode 100644
index 0000000..42c7c13
Binary files /dev/null and b/src/assets/images/dataVisual/header_bg.png differ
diff --git a/src/assets/images/dataVisual/icon_curve.svg b/src/assets/images/dataVisual/icon_curve.svg
new file mode 100644
index 0000000..1f856af
--- /dev/null
+++ b/src/assets/images/dataVisual/icon_curve.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/images/dataVisual/icon_list.svg b/src/assets/images/dataVisual/icon_list.svg
new file mode 100644
index 0000000..18f0d95
--- /dev/null
+++ b/src/assets/images/dataVisual/icon_list.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/images/dataVisual/icon_search.svg b/src/assets/images/dataVisual/icon_search.svg
new file mode 100644
index 0000000..a11b9a9
--- /dev/null
+++ b/src/assets/images/dataVisual/icon_search.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/images/dataVisual/title_bg.png b/src/assets/images/dataVisual/title_bg.png
new file mode 100644
index 0000000..224cd4c
Binary files /dev/null and b/src/assets/images/dataVisual/title_bg.png differ
diff --git a/src/assets/images/dataVisual/title_bg_l.png b/src/assets/images/dataVisual/title_bg_l.png
new file mode 100644
index 0000000..4d93d1a
Binary files /dev/null and b/src/assets/images/dataVisual/title_bg_l.png differ
diff --git a/src/assets/images/data_c/background.png b/src/assets/images/data_c/background.png
new file mode 100644
index 0000000..b8396ca
Binary files /dev/null and b/src/assets/images/data_c/background.png differ
diff --git a/src/assets/images/data_c/background_16.png b/src/assets/images/data_c/background_16.png
new file mode 100644
index 0000000..20a63d6
Binary files /dev/null and b/src/assets/images/data_c/background_16.png differ
diff --git a/src/assets/images/data_c/background_16_copy.png b/src/assets/images/data_c/background_16_copy.png
new file mode 100644
index 0000000..1d89799
Binary files /dev/null and b/src/assets/images/data_c/background_16_copy.png differ
diff --git a/src/assets/images/data_c/bg_block.png b/src/assets/images/data_c/bg_block.png
new file mode 100644
index 0000000..cbefa49
Binary files /dev/null and b/src/assets/images/data_c/bg_block.png differ
diff --git a/src/assets/images/data_c/bg_title.png b/src/assets/images/data_c/bg_title.png
new file mode 100644
index 0000000..0bc4c17
Binary files /dev/null and b/src/assets/images/data_c/bg_title.png differ
diff --git a/src/assets/images/data_c/content_bg_16.png b/src/assets/images/data_c/content_bg_16.png
new file mode 100644
index 0000000..6d3dba6
Binary files /dev/null and b/src/assets/images/data_c/content_bg_16.png differ
diff --git a/src/assets/images/data_c/header_bg_16.png b/src/assets/images/data_c/header_bg_16.png
new file mode 100644
index 0000000..a8ee5a4
Binary files /dev/null and b/src/assets/images/data_c/header_bg_16.png differ
diff --git a/src/assets/images/data_c/rendering.png b/src/assets/images/data_c/rendering.png
new file mode 100644
index 0000000..5a71b99
Binary files /dev/null and b/src/assets/images/data_c/rendering.png differ
diff --git a/src/assets/images/data_c/title_bg.png b/src/assets/images/data_c/title_bg.png
new file mode 100644
index 0000000..465b5df
Binary files /dev/null and b/src/assets/images/data_c/title_bg.png differ
diff --git a/src/assets/images/data_c/title_bg_l.png b/src/assets/images/data_c/title_bg_l.png
new file mode 100644
index 0000000..d3c8772
Binary files /dev/null and b/src/assets/images/data_c/title_bg_l.png differ
diff --git a/src/assets/images/data_c/title_short.png b/src/assets/images/data_c/title_short.png
new file mode 100644
index 0000000..43d15fb
Binary files /dev/null and b/src/assets/images/data_c/title_short.png differ
diff --git a/src/mock/routes.json b/src/mock/routes.json
index ab69c55..4c5c7c5 100644
--- a/src/mock/routes.json
+++ b/src/mock/routes.json
@@ -59,6 +59,18 @@
"roles": ["biadmin"],
"keepAlive": true
}
+ },
+ {
+ "path": "/dataVisual",
+ "component": "data-visual/index",
+ "name": "dataVisual",
+ "meta": {
+ "title": "换热站",
+ "icon": "document",
+ "hidden": false,
+ "roles": ["biadmin"],
+ "keepAlive": true
+ }
}
]
}
diff --git a/src/router/index.ts b/src/router/index.ts
index 99942a9..0782b5e 100644
--- a/src/router/index.ts
+++ b/src/router/index.ts
@@ -54,6 +54,11 @@ export const constantRoutes: RouteRecordRaw[] = [
component: () => import('@/views/details/index.vue'),
meta: { hidden: true }
},
+ {
+ path: '/dataVisual',
+ component: () => import('@/views/data-visual/index.vue'),
+ meta: { hidden: true }
+ },
{
path: '/',
diff --git a/src/store/modules/date.js b/src/store/modules/date.js
new file mode 100644
index 0000000..38b20e3
--- /dev/null
+++ b/src/store/modules/date.js
@@ -0,0 +1,25 @@
+import { defineStore } from 'pinia';
+
+const useCounter = defineStore('date', {
+ /**
+ * 存储全局状态
+ */
+ state: () => ({
+ dateStr: ''
+ }),
+
+ /**
+ * 用来封装计算属性 有缓存功能 类似于computed
+ */
+ getters: {},
+
+ /**
+ * 编辑业务逻辑 类似于methods
+ */
+ actions: {
+ dateStore(val) {
+ this.dateStr = val;
+ }
+ }
+});
+export default useCounter;
diff --git a/src/styles/index.scss b/src/styles/index.scss
index 80595f2..63bc979 100644
--- a/src/styles/index.scss
+++ b/src/styles/index.scss
@@ -206,3 +206,25 @@
color: #000 !important;
}
}
+
+.menuPopover {
+ border-radius: 10px !important;
+ background: rgba(255, 255, 255, 0) !important;
+ backdrop-filter: blur(10px) !important;
+ border: 2px solid rgba(255, 255, 255, 0.1) !important;
+ box-shadow: 0 0 80px rgba(0, 0, 0, 0.25) !important;
+ --el-bg-color-overlay: transparent !important;
+ --el-border-color-light: #535352 !important;
+ .menuList {
+ .el-tree {
+ background: transparent !important;
+ --el-tree-node-hover-bg-color: transparent !important;
+ --el-color-primary-light-9: transparent !important;
+ --el-tree-text-color: #fff;
+ --el-tree-expand-icon-color: #fff;
+ }
+ .el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content{
+ color: #b7cffc;
+ }
+ }
+}
diff --git a/src/types/auto-imports.d.ts b/src/types/auto-imports.d.ts
index 5742656..acba637 100644
--- a/src/types/auto-imports.d.ts
+++ b/src/types/auto-imports.d.ts
@@ -2,11 +2,9 @@
export {}
declare global {
const EffectScope: typeof import('vue')['EffectScope']
- const ElForm: typeof import('element-plus/es')['ElForm']
const ElMessage: typeof import('element-plus/es')['ElMessage']
const ElMessageBox: typeof import('element-plus/es')['ElMessageBox']
const ElNotification: typeof import('element-plus/es')['ElNotification']
- const NEllipsis: typeof import('naive-ui')['NEllipsis']
const asyncComputed: typeof import('@vueuse/core')['asyncComputed']
const autoResetRef: typeof import('@vueuse/core')['autoResetRef']
const computed: typeof import('vue')['computed']
@@ -273,11 +271,9 @@ import { UnwrapRef } from 'vue'
declare module 'vue' {
interface ComponentCustomProperties {
readonly EffectScope: UnwrapRef
- readonly ElForm: UnwrapRef
readonly ElMessage: UnwrapRef
readonly ElMessageBox: UnwrapRef
readonly ElNotification: UnwrapRef
- readonly NEllipsis: UnwrapRef
readonly asyncComputed: UnwrapRef
readonly autoResetRef: UnwrapRef
readonly computed: UnwrapRef
diff --git a/src/types/components.d.ts b/src/types/components.d.ts
index a2672c5..e77c575 100644
--- a/src/types/components.d.ts
+++ b/src/types/components.d.ts
@@ -23,12 +23,15 @@ declare module '@vue/runtime-core' {
ElDropdownMenu: typeof import('element-plus/es')['ElDropdownMenu']
ElForm: typeof import('element-plus/es')['ElForm']
ElFormItem: typeof import('element-plus/es')['ElFormItem']
+ ElIcon: typeof import('element-plus/es')['ElIcon']
ElInput: typeof import('element-plus/es')['ElInput']
ElInputNumber: typeof import('element-plus/es')['ElInputNumber']
ElMenu: typeof import('element-plus/es')['ElMenu']
ElMenuItem: typeof import('element-plus/es')['ElMenuItem']
+ ElMenuItemGroup: typeof import('element-plus/es')['ElMenuItemGroup']
ElOption: typeof import('element-plus/es')['ElOption']
ElPagination: typeof import('element-plus/es')['ElPagination']
+ ElPopover: typeof import('element-plus/es')['ElPopover']
ElRow: typeof import('element-plus/es')['ElRow']
ElScrollbar: typeof import('element-plus/es')['ElScrollbar']
ElSelect: typeof import('element-plus/es')['ElSelect']
diff --git a/src/views/data-visual/components/bar.vue b/src/views/data-visual/components/bar.vue
new file mode 100644
index 0000000..67a40d4
--- /dev/null
+++ b/src/views/data-visual/components/bar.vue
@@ -0,0 +1,162 @@
+
+
+
+
+
diff --git a/src/views/data-visual/components/boxPlot.vue b/src/views/data-visual/components/boxPlot.vue
new file mode 100644
index 0000000..811fa4e
--- /dev/null
+++ b/src/views/data-visual/components/boxPlot.vue
@@ -0,0 +1,154 @@
+
+
+
+
+
diff --git a/src/views/data-visual/components/charts.vue b/src/views/data-visual/components/charts.vue
new file mode 100644
index 0000000..a8e05a1
--- /dev/null
+++ b/src/views/data-visual/components/charts.vue
@@ -0,0 +1,141 @@
+
+
+
+
+
diff --git a/src/views/data-visual/components/header.vue b/src/views/data-visual/components/header.vue
new file mode 100644
index 0000000..1da50d7
--- /dev/null
+++ b/src/views/data-visual/components/header.vue
@@ -0,0 +1,347 @@
+
+
+
+
+
+
diff --git a/src/views/data-visual/components/line.vue b/src/views/data-visual/components/line.vue
new file mode 100644
index 0000000..974d125
--- /dev/null
+++ b/src/views/data-visual/components/line.vue
@@ -0,0 +1,153 @@
+
+
+
+
+
diff --git a/src/views/data-visual/components/table.vue b/src/views/data-visual/components/table.vue
new file mode 100644
index 0000000..578a5d3
--- /dev/null
+++ b/src/views/data-visual/components/table.vue
@@ -0,0 +1,143 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/data-visual/components/temp.vue b/src/views/data-visual/components/temp.vue
new file mode 100644
index 0000000..ef52d60
--- /dev/null
+++ b/src/views/data-visual/components/temp.vue
@@ -0,0 +1,1221 @@
+
+
+
+
+
diff --git a/src/views/data-visual/index.scss b/src/views/data-visual/index.scss
new file mode 100644
index 0000000..033ed57
--- /dev/null
+++ b/src/views/data-visual/index.scss
@@ -0,0 +1,35 @@
+@import url('@/assets/fonts/font.css');
+.screenContainer {
+ // position: fixed;
+ // left: 50%;
+ // top: 50%;
+ transform-origin: 0 0;
+ transition: 0.3s;
+ color: #fff;
+ font-size: 16px;
+ background-color: #142036;
+ z-index: 100;
+ .header {
+ position: relative;
+ height: 125px;
+ padding: 21px 40px 0 40px;
+ background-color: #0C182C;
+ border-bottom: 1px solid #3D4C64;
+ // span {
+ // line-height: 62px;
+ // font-size: 30px;
+ // font-family: 'PangMenZhengDaoBiao';
+ // font-weight: 400;
+ // letter-spacing: 4px;
+ // color: #e8effb;
+ // background: linear-gradient(0deg, #b2ccfc 0%, #ffffff 100%);
+ // background-clip: text;
+ // -webkit-background-clip: text;
+ // -webkit-text-fill-color: transparent;
+ // }
+ }
+
+ .main {
+ padding: 12px 40px 0 40px;
+ }
+}
diff --git a/src/views/data-visual/index.vue b/src/views/data-visual/index.vue
new file mode 100644
index 0000000..a66fd4b
--- /dev/null
+++ b/src/views/data-visual/index.vue
@@ -0,0 +1,69 @@
+
+
+
+
+
diff --git a/src/views/monitoring/screen/components/main.vue b/src/views/monitoring/screen/components/main.vue
index 3700158..e807298 100644
--- a/src/views/monitoring/screen/components/main.vue
+++ b/src/views/monitoring/screen/components/main.vue
@@ -135,6 +135,7 @@ import mitt from '@/plugins/bus';
import socket from '@/utils/socket';
import useStorage from '@/utils/useStorage';
import { useUserStoreHook } from '@/store/modules/user';
+import { useDateFormat } from '@vueuse/core';
const sessionStorageIns = useStorage('sessionStorage');
const { perms } = useUserStoreHook();
@@ -257,6 +258,7 @@ const headerData = ref();
onMounted(() => {
// stationInfo();
// tableHeader();
+ console.log('起始时间:', useDateFormat(new Date(), 'YYYY-MM-DD HH:mm:ss').value);
console.log('aaaa', sessionStorage.getItem('currentPage'));
tablePage.currentPage =
sessionStorage.getItem('currentPage') === null ? 1 : Number(sessionStorage.getItem('currentPage'));
@@ -407,6 +409,7 @@ function tableHeader() {
function tableDatas() {
//获取表格数据
// const params = menuKey.value;
+ console.log('接口开始:', useDateFormat(new Date(), 'YYYY-MM-DD HH:mm:ss').value);
const params = {
pageNum: tablePage.currentPage,
pageSize: tablePage.pageSize,
@@ -421,8 +424,10 @@ function tableDatas() {
tablePage.total = res.total;
// gridOptions.data = res.data;
loadingShow.value = false;
+ console.log('接口结束:', useDateFormat(new Date(), 'YYYY-MM-DD HH:mm:ss').value);
}
});
+
}
const cellDBLClickEvent: VxeTableEvents.CellDblclick = ({ row, column }) => {
@@ -449,6 +454,7 @@ const cellDBLClickEvent: VxeTableEvents.CellDblclick = ({ row, column }
};
const formatRole: VxeColumnPropTypes.Formatter = ({ cellValue }) => {
+ console.log('渲染开始:', useDateFormat(new Date(), 'YYYY-MM-DD HH:mm:ss').value);
//表单参数为object时处理
// console.log(cellValue);
// const iconFont=cellValue.changeProp===-1?'':(cellValue.changeProp===1?'':'')
@@ -467,11 +473,13 @@ const formatRole: VxeColumnPropTypes.Formatter = ({ cellValue }) => {
${cellValue.ctrlPro.valueType != 'bool' ? cellValue.val : cellValue.val === 'true' ? '启' : '停'}
${cellValue.canBeControl === '1' && controlPerm ? '' : ''}`;
+ console.log('渲染完成:', useDateFormat(new Date(), 'YYYY-MM-DD HH:mm:ss').value);
return cellData;
};
// 通用行合并函数(将相同多列数据合并为一行)
const mergeRowMethod: VxeTablePropTypes.SpanMethod = ({ row, _rowIndex, column, visibleData }) => {
+ console.log('通用行合并渲染开始:', useDateFormat(new Date(), 'YYYY-MM-DD HH:mm:ss').value);
const fields = ['gTitle'];
const cellValue = row[column.field];
if (cellValue && fields.includes(column.field)) {
@@ -489,6 +497,7 @@ const mergeRowMethod: VxeTablePropTypes.SpanMethod = ({ row, _rowIndex,
}
}
}
+ console.log('通用行合并渲染完成:', useDateFormat(new Date(), 'YYYY-MM-DD HH:mm:ss').value);
};
const submitEvent: VxeFormEvents.Submit = () => {