前端页面提交
|
@ -1,2 +0,0 @@
|
|||
|
||||
|
|
@ -0,0 +1,46 @@
|
|||
# incol
|
||||
|
||||
This template should help get you started developing with Vue 3 in Vite.
|
||||
|
||||
## Recommended IDE Setup
|
||||
|
||||
[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin).
|
||||
|
||||
## Type Support for `.vue` Imports in TS
|
||||
|
||||
TypeScript cannot handle type information for `.vue` imports by default, so we replace the `tsc` CLI with `vue-tsc` for type checking. In editors, we need [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin) to make the TypeScript language service aware of `.vue` types.
|
||||
|
||||
If the standalone TypeScript plugin doesn't feel fast enough to you, Volar has also implemented a [Take Over Mode](https://github.com/johnsoncodehk/volar/discussions/471#discussioncomment-1361669) that is more performant. You can enable it by the following steps:
|
||||
|
||||
1. Disable the built-in TypeScript Extension
|
||||
1) Run `Extensions: Show Built-in Extensions` from VSCode's command palette
|
||||
2) Find `TypeScript and JavaScript Language Features`, right click and select `Disable (Workspace)`
|
||||
2. Reload the VSCode window by running `Developer: Reload Window` from the command palette.
|
||||
|
||||
## Customize configuration
|
||||
|
||||
See [Vite Configuration Reference](https://vitejs.dev/config/).
|
||||
|
||||
## Project Setup
|
||||
|
||||
```sh
|
||||
pnpm install
|
||||
```
|
||||
|
||||
### Compile and Hot-Reload for Development
|
||||
|
||||
```sh
|
||||
pnpm dev
|
||||
```
|
||||
|
||||
### Type-Check, Compile and Minify for Production
|
||||
|
||||
```sh
|
||||
pnpm build
|
||||
```
|
||||
|
||||
### Lint with [ESLint](https://eslint.org/)
|
||||
|
||||
```sh
|
||||
pnpm lint
|
||||
```
|
|
@ -0,0 +1,9 @@
|
|||
/* eslint-disable */
|
||||
/* prettier-ignore */
|
||||
// @ts-nocheck
|
||||
// noinspection JSUnusedGlobalSymbols
|
||||
// Generated by unplugin-auto-import
|
||||
export {}
|
||||
declare global {
|
||||
|
||||
}
|
|
@ -0,0 +1,35 @@
|
|||
/* eslint-disable */
|
||||
/* prettier-ignore */
|
||||
// @ts-nocheck
|
||||
// Generated by unplugin-vue-components
|
||||
// Read more: https://github.com/vuejs/core/pull/3399
|
||||
export {}
|
||||
|
||||
declare module 'vue' {
|
||||
export interface GlobalComponents {
|
||||
ElButton: typeof import('element-plus/es')['ElButton']
|
||||
ElCard: typeof import('element-plus/es')['ElCard']
|
||||
ElCol: typeof import('element-plus/es')['ElCol']
|
||||
ElConfigProvider: typeof import('element-plus/es')['ElConfigProvider']
|
||||
ElDatePicker: typeof import('element-plus/es')['ElDatePicker']
|
||||
ElDialog: typeof import('element-plus/es')['ElDialog']
|
||||
ElForm: typeof import('element-plus/es')['ElForm']
|
||||
ElFormItem: typeof import('element-plus/es')['ElFormItem']
|
||||
ElInput: typeof import('element-plus/es')['ElInput']
|
||||
ElMenu: typeof import('element-plus/es')['ElMenu']
|
||||
ElMenuItem: typeof import('element-plus/es')['ElMenuItem']
|
||||
ElOption: typeof import('element-plus/es')['ElOption']
|
||||
ElRadio: typeof import('element-plus/es')['ElRadio']
|
||||
ElRadioButton: typeof import('element-plus/es')['ElRadioButton']
|
||||
ElRadioGroup: typeof import('element-plus/es')['ElRadioGroup']
|
||||
ElRow: typeof import('element-plus/es')['ElRow']
|
||||
ElSelect: typeof import('element-plus/es')['ElSelect']
|
||||
ElSubMenu: typeof import('element-plus/es')['ElSubMenu']
|
||||
ElTable: typeof import('element-plus/es')['ElTable']
|
||||
ElTableColumn: typeof import('element-plus/es')['ElTableColumn']
|
||||
ElTabPane: typeof import('element-plus/es')['ElTabPane']
|
||||
ElTabs: typeof import('element-plus/es')['ElTabs']
|
||||
RouterLink: typeof import('vue-router')['RouterLink']
|
||||
RouterView: typeof import('vue-router')['RouterView']
|
||||
}
|
||||
}
|
|
@ -0,0 +1 @@
|
|||
/// <reference types="vite/client" />
|
|
@ -0,0 +1,14 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<link rel="icon" href="/favicon.ico">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Vite App</title>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<div id="app"></div>
|
||||
<script type="module" src="/src/main.ts"></script>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,342 @@
|
|||
export default [
|
||||
{
|
||||
path: '/jlyx',
|
||||
// component: () => import('@/layout/index.vue'),
|
||||
meta: { sort: 1, title: '计量运行监测', icon: 'icon-celianggongju' },
|
||||
children: [
|
||||
{
|
||||
path: '/jlyx/sjfx',
|
||||
meta: { title: '数据分析', icon: 'icon-chaxun' }
|
||||
// component: () => import('@/views/index/analysis.vue')
|
||||
},
|
||||
{
|
||||
path: '/jlyx/tjpj',
|
||||
meta: { title: '统计评价', icon: 'icon-daipingjia' }
|
||||
// component: () => import('@/views/index/bigData.vue')
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
{
|
||||
path: '/cate',
|
||||
// component: () => import('@/layout/index.vue'),
|
||||
meta: { sort: 2, title: '采集运维', icon: 'icon-shouye-1' },
|
||||
children: [
|
||||
{
|
||||
path: '/cate/cjyx',
|
||||
meta: { title: '采集运行总览', icon: 'icon-fengxianfenxi' }
|
||||
// component: () => import('@/views/cate/index.vue')
|
||||
},
|
||||
{
|
||||
path: '/cate/sbyx',
|
||||
meta: { title: '设备运行监控', icon: 'icon-shebeidadian_o' }
|
||||
// component: () => import('@/views/cate/create.vue')
|
||||
},
|
||||
{
|
||||
path: '/cate/cjyw',
|
||||
meta: { title: '采集运维闭环管理', icon: 'icon--graphic' }
|
||||
// component: () => import('@/views/cate/index.vue')
|
||||
},
|
||||
{
|
||||
path: '/cate/sbts',
|
||||
meta: { title: '设备调试管理', icon: 'icon-shebeiguanli' }
|
||||
// component: () => import('@/views/cate/create.vue')
|
||||
},
|
||||
{
|
||||
path: '/cate/tjfx',
|
||||
meta: { title: '统计分析', icon: 'icon-tongjifenxi' }
|
||||
// component: () => import('@/views/cate/index.vue')
|
||||
},
|
||||
{
|
||||
path: '/cate/lhfl',
|
||||
meta: { title: '灵活费率采集监控', icon: 'icon-tixianfeishuai' }
|
||||
// component: () => import('@/views/cate/create.vue')
|
||||
},
|
||||
{
|
||||
path: '/cate/dygl',
|
||||
meta: { title: 'BC类供电电压管理', icon: 'icon-fuhe' }
|
||||
// component: () => import('@/views/cate/index.vue')
|
||||
},
|
||||
{
|
||||
path: '/cate/zxsj',
|
||||
meta: { title: '专线数据管理', icon: 'icon-shuju' }
|
||||
// component: () => import('@/views/cate/create.vue')
|
||||
},
|
||||
{
|
||||
path: '/cate/fljk',
|
||||
meta: { title: '脉冲分路监控', icon: 'icon-maichong' }
|
||||
// component: () => import('@/views/cate/index.vue')
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
{
|
||||
path: '/store',
|
||||
// component: () => import('@/layout/index.vue'),
|
||||
meta: { sort: 3, title: '抄表发布', icon: 'icon-shishichaobiao' },
|
||||
children: [
|
||||
{
|
||||
path: '/store/sjzl',
|
||||
meta: { title: '数据总览', icon: 'icon-tosboard' }
|
||||
// component: () => import('@/views/store/index.vue')
|
||||
},
|
||||
{
|
||||
path: '/store/sjfb',
|
||||
meta: { title: '数据发布管理', icon: 'icon-fabu' }
|
||||
// component: () => import('@/views/store/create.vue')
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
path: '/fkjk',
|
||||
// component: () => import('@/layout/index.vue'),
|
||||
meta: { sort: 4, title: '费控监控', icon: 'icon-fufei' },
|
||||
children: [
|
||||
{
|
||||
path: '/fkjk/fkzk',
|
||||
meta: { title: '费控总览', icon: 'icon-qian' }
|
||||
// component: () => import('@/views/goods/index.vue')
|
||||
},
|
||||
{
|
||||
path: '/fkjk/bdzd',
|
||||
meta: { title: '本地自动复电分析', icon: 'icon-shujufenxi-baobeifenxi' }
|
||||
// component: () => import('@/views/goods/create.vue')
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
path: '/order',
|
||||
// component: () => import('@/layout/index.vue'),
|
||||
meta: { sort: 5, title: '配电监控', icon: 'icon-peidian' },
|
||||
children: [
|
||||
{
|
||||
path: '/order/pdljzl',
|
||||
meta: { title: '配电监控总览', icon: 'icon-yujingkanban' }
|
||||
// component: () => import('@/views/order/index.vue')
|
||||
},
|
||||
{
|
||||
path: '/order/pdfx',
|
||||
meta: { title: '配电分析', icon: 'icon-navicon-tjb' }
|
||||
// component: () => import('@/views/order/create.vue')
|
||||
},
|
||||
{
|
||||
path: '/order/pdtj',
|
||||
meta: { title: '配电统计', icon: 'icon-zonglan' }
|
||||
// component: () => import('@/views/order/index.vue')
|
||||
},
|
||||
{
|
||||
path: '/order/ldyxjc',
|
||||
meta: { title: '漏电流运行监测', icon: 'icon-caijiguanli' }
|
||||
// component: () => import('@/views/order/create.vue')
|
||||
},
|
||||
{
|
||||
path: '/order/dtfx',
|
||||
meta: { title: '停电分析', icon: 'icon--graphic' }
|
||||
// component: () => import('@/views/order/create.vue')
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
{
|
||||
path: '/xsjk',
|
||||
// component: () => import('@/layout/index.vue'),
|
||||
meta: { sort: 6, title: '线损监控', icon: 'icon-xiansunfenxi' },
|
||||
children: [
|
||||
{
|
||||
path: '/xxjk/mxgl',
|
||||
meta: { title: '模型管理', icon: 'icon-moxingguanli' }
|
||||
// component: () => import('@/views/user/index.vue')
|
||||
},
|
||||
{
|
||||
path: '/xxjk/fzgl',
|
||||
meta: { title: '赋值管理', icon: 'icon-navicon-tjb' }
|
||||
// component: () => import('@/views/user/create.vue')
|
||||
},
|
||||
{
|
||||
path: '/xxjk/xxfx',
|
||||
meta: { title: '线损分析', icon: 'icon-fengxianfenxi' }
|
||||
// component: () => import('@/views/user/index.vue')
|
||||
},
|
||||
{
|
||||
path: '/xxjk/xxcx',
|
||||
meta: { title: '线损查询', icon: 'icon-pinggu' }
|
||||
// component: () => import('@/views/user/create.vue')
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
{
|
||||
path: '/role',
|
||||
// component: () => import('@/layout/index.vue'),
|
||||
meta: { sort: 7, title: '用电分析', icon: 'icon-tongjifenxi' },
|
||||
children: [
|
||||
{
|
||||
path: '/role/ydfxzl',
|
||||
meta: { title: '用电分析总览', icon: 'icon-tosboard' }
|
||||
// component: () => import('@/views/role/index.vue')
|
||||
},
|
||||
{
|
||||
path: '/role/dqydfx',
|
||||
meta: { title: '地区用电分析', icon: 'icon-shouye-1' }
|
||||
// component: () => import('@/views/role/create.vue')
|
||||
},
|
||||
{
|
||||
path: '/role/hydyfx',
|
||||
meta: { title: '行业用电分析', icon: 'icon-jiagezoushi' }
|
||||
// component: () => import('@/views/role/index.vue')
|
||||
},
|
||||
{
|
||||
path: '/role/jzpz',
|
||||
meta: { title: '群组配置', icon: 'icon-zuzhiqunzu' }
|
||||
// component: () => import('@/views/role/create.vue')
|
||||
},
|
||||
{
|
||||
path: '/role/jzydfx',
|
||||
meta: { title: '群组用电分析', icon: 'icon-gujixian' }
|
||||
// component: () => import('@/views/role/index.vue')
|
||||
},
|
||||
{
|
||||
path: '/role/shydfx',
|
||||
meta: { title: '社会用电分析', icon: 'icon-fengxianfenxi' }
|
||||
// component: () => import('@/views/role/create.vue')
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
{
|
||||
path: '/auth',
|
||||
// component: () => import('@/layout/index.vue'),
|
||||
meta: { sort: 8, title: '用电监测', icon: 'icon-leidian' },
|
||||
children: [
|
||||
{
|
||||
path: '/auth/xjczl',
|
||||
meta: { title: '新用电监测总览', icon: 'icon--graphic' }
|
||||
// component: () => import('@/views/auth/index.vue')
|
||||
},
|
||||
{
|
||||
path: '/auth/jczl',
|
||||
meta: { title: '用电监测总览', icon: 'icon-yujingkanban' }
|
||||
// component: () => import('@/views/auth/create.vue')
|
||||
},
|
||||
{
|
||||
path: '/auth/ydyc',
|
||||
meta: { title: '用电异常统计', icon: 'icon-jingbao' }
|
||||
// component: () => import('@/views/auth/index.vue')
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
path: 'yxyd',
|
||||
// component: () => import('@/layout/index.vue'),
|
||||
meta: { sort: 9, title: '有序用电', icon: 'icon-chatou' },
|
||||
children: [
|
||||
{
|
||||
path: '/yxyd/yxydzl',
|
||||
meta: { title: '有序用电总览', icon: 'icon-tosboard' }
|
||||
// component: () => import('@/views/auth/index.vue')
|
||||
},
|
||||
{
|
||||
path: '/yxyd/fagl',
|
||||
meta: { title: '方案管理', icon: 'icon-sousuoliebiao' }
|
||||
// component: () => import('@/views/auth/create.vue')
|
||||
},
|
||||
{
|
||||
path: '/yxyd/xgpg',
|
||||
meta: { title: '效果评估', icon: 'icon-chaxun' }
|
||||
// component: () => import('@/views/auth/index.vue')
|
||||
},
|
||||
{
|
||||
path: '/yxyd/yccs',
|
||||
meta: { title: '异常监测', icon: 'icon-pinggu' }
|
||||
// component: () => import('@/views/auth/create.vue')
|
||||
},
|
||||
{
|
||||
path: '/yxyd/fhbj',
|
||||
meta: { title: '负荷比较', icon: 'icon-fuhe' }
|
||||
// component: () => import('@/views/auth/index.vue')
|
||||
},
|
||||
{
|
||||
path: '/yxyd/fhcx',
|
||||
meta: { title: '负荷查询', icon: 'icon-jrtb_03' }
|
||||
// component: () => import('@/views/auth/create.vue')
|
||||
},
|
||||
{
|
||||
path: '/yxyd/sjtb',
|
||||
meta: { title: '数据同步', icon: 'icon-wenjianjia_o' }
|
||||
// component: () => import('@/views/auth/create.vue')
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
path: 'ztyy',
|
||||
// component: () => import('@/layout/index.vue'),
|
||||
meta: { sort: 10, title: '专题应用', icon: 'icon-tianchongxing-' },
|
||||
children: [
|
||||
{
|
||||
path: '/ztyy/gccyxjc',
|
||||
meta: { title: '光绪存运行监测', icon: 'icon-chuqinfenxi' }
|
||||
// component: () => import('@/views/auth/index.vue')
|
||||
},
|
||||
{
|
||||
path: '/ztyy/dyjc',
|
||||
meta: { title: '分布式电源监测', icon: 'icon-sousuoliebiao' }
|
||||
// component: () => import('@/views/auth/create.vue')
|
||||
},
|
||||
{
|
||||
path: '/ztyy/cdjc',
|
||||
meta: { title: '充电桩监测', icon: 'icon-shujufenxi-baobeifenxi' }
|
||||
// component: () => import('@/views/auth/create.vue')
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
path: '/auth',
|
||||
// component: () => import('@/layout/index.vue'),
|
||||
meta: { sort: 11, title: '系统支撑功能', icon: 'icon-nengyuanshuzihuayanjiu' },
|
||||
children: [
|
||||
{
|
||||
path: '/auth/yyzx',
|
||||
meta: { title: '运营中心', icon: 'icon-yunyingguanli' }
|
||||
// component: () => import('@/views/auth/index.vue')
|
||||
},
|
||||
{
|
||||
path: '/auth/stzx',
|
||||
meta: { title: '视图中心', icon: 'icon-shitu' },
|
||||
// component: () => import('@/views/auth/create.vue')
|
||||
children: [
|
||||
{
|
||||
path: '/auth/stzx/dbst',
|
||||
meta: { title: '电表视图', icon: '' }
|
||||
// component: () => import('@/views/auth/index.vue')
|
||||
},
|
||||
{
|
||||
path: '/auth/stzx/yhst',
|
||||
meta: { title: '用户视图', icon: '' }
|
||||
// component: () => import('@/views/auth/create.vue')
|
||||
},
|
||||
{
|
||||
path: '/auth/stzx/bxst',
|
||||
meta: { title: '表箱视图', icon: '' }
|
||||
// component: () => import('@/views/auth/create.vue')
|
||||
},
|
||||
{
|
||||
path: '/auth/stzx/ztst',
|
||||
meta: { title: '终端视图', icon: 'icon-zengjia1' }
|
||||
// component: () => import('@/views/auth/create.vue')
|
||||
},
|
||||
{
|
||||
path: '/auth/stzx/tqst',
|
||||
meta: { title: '台区视图', icon: 'icon-zengjia1' }
|
||||
// component: () => import('@/views/auth/create.vue')
|
||||
},
|
||||
{
|
||||
path: '/auth/stzx/pbst',
|
||||
meta: { title: '配变视图', icon: 'icon-zengjia1' }
|
||||
// component: () => import('@/views/auth/create.vue')
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
// ...
|
||||
]
|
|
@ -0,0 +1,42 @@
|
|||
{
|
||||
"name": "incol",
|
||||
"version": "0.0.0",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"dev": "vite",
|
||||
"build": "run-p type-check build-only",
|
||||
"preview": "vite preview",
|
||||
"build-only": "vite build",
|
||||
"type-check": "vue-tsc --noEmit -p tsconfig.app.json --composite false",
|
||||
"lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix --ignore-path .gitignore",
|
||||
"format": "prettier --write src/"
|
||||
},
|
||||
"dependencies": {
|
||||
"@element-plus/icons-vue": "^2.1.0",
|
||||
"echarts": "^5.4.3",
|
||||
"element-plus": "^2.3.12",
|
||||
"pinia": "^2.1.6",
|
||||
"vue": "^3.3.4",
|
||||
"vue-router": "^4.2.4"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@rushstack/eslint-patch": "^1.3.2",
|
||||
"@tsconfig/node18": "^18.2.0",
|
||||
"@types/node": "^18.17.5",
|
||||
"@vitejs/plugin-vue": "^4.3.1",
|
||||
"@vue/eslint-config-prettier": "^8.0.0",
|
||||
"@vue/eslint-config-typescript": "^11.0.3",
|
||||
"@vue/tsconfig": "^0.4.0",
|
||||
"axios": "^1.5.0",
|
||||
"eslint": "^8.46.0",
|
||||
"eslint-plugin-vue": "^9.16.1",
|
||||
"npm-run-all": "^4.1.5",
|
||||
"prettier": "^3.0.0",
|
||||
"sass": "^1.66.1",
|
||||
"typescript": "~5.1.6",
|
||||
"unplugin-auto-import": "^0.16.6",
|
||||
"unplugin-vue-components": "^0.25.2",
|
||||
"vite": "^4.4.9",
|
||||
"vue-tsc": "^1.8.8"
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 4.2 KiB |
|
@ -0,0 +1,12 @@
|
|||
<script setup lang="ts">
|
||||
import { RouterView } from "vue-router";
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<RouterView />
|
||||
</template>
|
||||
|
||||
<style lang="scss">
|
||||
@import "styles/reset.scss";
|
||||
// @import "icon-font/iconfont.css";
|
||||
</style>
|
|
@ -0,0 +1,35 @@
|
|||
import type { GetRdjTableValue, GetRdjLineChartData,GetRdjData } from './types'
|
||||
// PostUserPayloadType
|
||||
|
||||
import request from '@/utils/request'
|
||||
|
||||
const { get, post, del, put } = request
|
||||
|
||||
// 1 响应的数据类型限制
|
||||
// 2 方便后期批量封装 -》参考锋域
|
||||
|
||||
export const GetRdjTableValApi = (tq_code:string,column2:string) => {
|
||||
return get<GetRdjTableValue>('/DailyFreeze.ashx?action=biaoji&module=日冻结-日冻结示值&tq_code='+tq_code+"&biaoji="+column2, {})
|
||||
}
|
||||
|
||||
export const GetRdjLineChartDataApi = (module: string,column2:string) => {
|
||||
return get<GetRdjLineChartData>(
|
||||
'/DailyFreeze.ashx?action=biaoji&module=' + (module || '日冻结-曲线数据')+"&biaoji="+column2,
|
||||
{}
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
export const GetTqCodeApi = (module: string) => {
|
||||
return get<GetRdjData>(
|
||||
'/Taiqu.ashx?action=BindBJ&bianhao=' + module,
|
||||
{}
|
||||
)
|
||||
}
|
||||
|
||||
export const GetJiLiangApi = (bianhao: string) => {
|
||||
return get<GetRdjData>(
|
||||
'/Taiqu.ashx?action=JiLiangXinXi&bianhao=' + bianhao,
|
||||
{}
|
||||
)
|
||||
}
|
|
@ -0,0 +1,29 @@
|
|||
// 日冻结示值GetRdjLineChartData
|
||||
export interface GetRdjTableValue{
|
||||
action:string
|
||||
tq_code:string | number
|
||||
biaoji:string
|
||||
module:string
|
||||
}
|
||||
// 日冻结曲线数据
|
||||
export interface GetRdjLineChartData {
|
||||
action:string
|
||||
tq_code:string | number
|
||||
biaoji:string
|
||||
module:string
|
||||
}
|
||||
|
||||
// 日冻结曲线数据
|
||||
export interface GetRdjLineChartData {
|
||||
action:string
|
||||
tq_code:string | number
|
||||
biaoji:string
|
||||
module:string
|
||||
}
|
||||
|
||||
// 日冻结曲线数据
|
||||
export interface GetRdjData {
|
||||
action:string
|
||||
biaoji:string
|
||||
bianhao:string
|
||||
}
|
|
@ -0,0 +1,35 @@
|
|||
import type { GetTaiQuType, PostTaiQuPayloadType } from './types'
|
||||
// PostUserPayloadType
|
||||
|
||||
import request from '@/utils/request'
|
||||
|
||||
const { get, post, del, put } = request
|
||||
|
||||
// 1 响应的数据类型限制
|
||||
// 2 方便后期批量封装 -》参考锋域
|
||||
|
||||
export const getUserApi = (params: object) => {
|
||||
return get<GetTaiQuType>('/Taiqu.ashx?action=taiqu&tq_code=&bianhao=', params)
|
||||
}
|
||||
export const getUserApiTwo = (two: object, params: object) => {
|
||||
return get<GetTaiQuType>('/Taiqu.ashx?action=taiqu&tq_code=&two=' + two, params)
|
||||
}
|
||||
//供电量接口
|
||||
export const postUserApi = (tq_code: string) => {
|
||||
return get<PostTaiQuPayloadType>('/Taiqu.ashx?action=taiqudetail&module=线损监测-线损查询-明细1&bianhao=' + tq_code, {})
|
||||
}
|
||||
//售电量接口
|
||||
export const shoudlApi = (tq_code: string) => {
|
||||
return get<PostTaiQuPayloadType>('/Taiqu.ashx?action=taiqudetail&module=线损监测-线损查询-明细2&bianhao=' + tq_code, {})
|
||||
}
|
||||
//损失电量接口
|
||||
export const ssdlApi = (tq_code: string) => {
|
||||
return get<PostTaiQuPayloadType>('/Taiqu.ashx?action=taiqudetail&module=线损监测-线损查询-明细1&bianhao=' + tq_code, {})
|
||||
}
|
||||
// export const postUserApi = (data: PostUserPayloadType) => {
|
||||
// return post<API.Result>('/user/create', data)
|
||||
// }c
|
||||
|
||||
export const wireLossApi = (tq_code:string) => {
|
||||
return get<PostTaiQuPayloadType>('/DailyFreeze.ashx?action=taiqu&tq_module=线损率分析-线损记录&tq_code='+tq_code, {})
|
||||
}
|
|
@ -0,0 +1,64 @@
|
|||
export interface PostTaiQuPayloadType {
|
||||
state: boolean
|
||||
message: string
|
||||
data: []
|
||||
}
|
||||
export interface PostAssignRolePayloadType {
|
||||
user_id: number
|
||||
role_id: number
|
||||
username?: string
|
||||
role_name?: string
|
||||
}
|
||||
export interface PutUserStatePayloadType {
|
||||
user_id: number
|
||||
state: number
|
||||
}
|
||||
|
||||
|
||||
export interface DeleteUserPayloadType {
|
||||
user_id: string | number
|
||||
}
|
||||
|
||||
export interface GetUserPayloadType {
|
||||
pagenum: number
|
||||
pagesize: number
|
||||
username: string
|
||||
mobile: string
|
||||
role_name: string
|
||||
created_at: Date[] | string
|
||||
updated_at: Array<Date> | string
|
||||
}
|
||||
export interface user {
|
||||
// id: string,
|
||||
// role_name:string,
|
||||
// uname: string,
|
||||
// mobile: string,
|
||||
// state:0|1
|
||||
// avatar: string,
|
||||
// created_at: string,
|
||||
// updated_at: string,
|
||||
user_id: number
|
||||
role_id: number
|
||||
role_name: string
|
||||
username: string
|
||||
mobile: string
|
||||
state: number
|
||||
created_at: string
|
||||
updated_at: string
|
||||
avatar: string
|
||||
|
||||
[k: string]: any
|
||||
}
|
||||
|
||||
export interface GetUserResType {
|
||||
state?: number
|
||||
msg?: string
|
||||
list: user[]
|
||||
total: number
|
||||
}
|
||||
|
||||
export interface GetTaiQuType {
|
||||
state: boolean
|
||||
message: string
|
||||
data: []
|
||||
}
|
|
@ -0,0 +1,19 @@
|
|||
import type { GetXianSunType } from './types'
|
||||
// PostUserPayloadType
|
||||
|
||||
import request from '@/utils/request'
|
||||
|
||||
const { get, post, del, put } = request
|
||||
|
||||
// 1 响应的数据类型限制
|
||||
// 2 方便后期批量封装 -》参考锋域
|
||||
|
||||
export const getRoleApi = () => {
|
||||
return get<GetXianSunType>('Taiqu.ashx?action=zsj', {})
|
||||
}
|
||||
// export const postRoleApi = () => {
|
||||
// return get<PostGongDianType>('DailyFreeze.ashx?action=taiqu&tq_code=01&tq_module=线损率分析-线损记录', {})
|
||||
// }
|
||||
// export const postRoleApi = (data: PostRolePayloadType) => {
|
||||
// return post<API.Result>('/role/create', data)
|
||||
// }
|
|
@ -0,0 +1,50 @@
|
|||
export interface PostRolePayloadType {
|
||||
role_name: string
|
||||
role_desc?: string
|
||||
}
|
||||
export interface PutRolePayloadType extends PostRolePayloadType {
|
||||
role_id: number
|
||||
}
|
||||
export interface PostRoleAssignAuthPayloadType {
|
||||
defaultCheckedKeys?: number[]
|
||||
role_name?: string
|
||||
role_id: number
|
||||
auth_ids: string
|
||||
auth_ids_son: string
|
||||
}
|
||||
|
||||
export interface DeleteRolePayloadType {
|
||||
role_id: string | number
|
||||
}
|
||||
export interface GetRoleResType {
|
||||
state?: number
|
||||
msg?: string
|
||||
list: Role[]
|
||||
total: number
|
||||
}
|
||||
export interface GetRolePayloadType {
|
||||
pagenum: number
|
||||
pagesize: number
|
||||
role_name: string
|
||||
// total: number
|
||||
}
|
||||
export interface GetXianSunType {
|
||||
state: boolean
|
||||
message: string
|
||||
data: []
|
||||
}
|
||||
// id: string
|
||||
// role_name: string
|
||||
// role_desc: string
|
||||
// created_at: string
|
||||
// updated_at: string
|
||||
|
||||
// role_id: number
|
||||
// role_name: string
|
||||
// action_list: string
|
||||
// role_desc: string
|
||||
// created_at: string
|
||||
// updated_at: string
|
||||
// auth_ids: string
|
||||
// auth_ids_son: string
|
||||
// [k: string]: any
|
|
@ -0,0 +1,17 @@
|
|||
import type { GetXianSunLvType } from './types'
|
||||
// PostUserPayloadType
|
||||
|
||||
import request from '@/utils/request'
|
||||
|
||||
const { get, post, del, put } = request
|
||||
|
||||
// 1 响应的数据类型限制
|
||||
// 2 方便后期批量封装 -》参考锋域
|
||||
|
||||
export const getUseApi = (tq_code: string) => {
|
||||
return get<GetXianSunLvType>('DailyFreeze.ashx?action=taiqu&tq_module=线损率分析-用户电量&tq_code='+tq_code, {})
|
||||
}
|
||||
|
||||
export const getNameApi = (bianhao: string) => {
|
||||
return get<GetXianSunLvType>('Taiqu.ashx?action=queryuser&bianhao=' + bianhao, {})
|
||||
}
|
|
@ -0,0 +1,5 @@
|
|||
export interface GetXianSunLvType {
|
||||
state: boolean
|
||||
message: string
|
||||
data: []
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
import type { GetNameType } from './types'
|
||||
// PostUserPayloadType
|
||||
|
||||
import request from '@/utils/request'
|
||||
|
||||
const { get, post, del, put } = request
|
||||
|
||||
// 1 响应的数据类型限制
|
||||
// 2 方便后期批量封装 -》参考锋域
|
||||
|
||||
export const getUserNameApi = () => {
|
||||
return get<GetNameType>('Taiqu.ashx?action=queryuser&bianhao=9104039400', {})
|
||||
}
|
|
@ -0,0 +1,5 @@
|
|||
export interface GetNameType {
|
||||
state: boolean
|
||||
message: string
|
||||
data: []
|
||||
}
|
|
@ -0,0 +1,3 @@
|
|||
export const config = {
|
||||
apiBaseUrl: 'http://172.16.1.254:20013/Handler', // 设置接口的基础路径
|
||||
};
|
|
@ -0,0 +1,539 @@
|
|||
/* Logo 字体 */
|
||||
@font-face {
|
||||
font-family: "iconfont logo";
|
||||
src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834');
|
||||
src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834#iefix') format('embedded-opentype'),
|
||||
url('https://at.alicdn.com/t/font_985780_km7mi63cihi.woff?t=1545807318834') format('woff'),
|
||||
url('https://at.alicdn.com/t/font_985780_km7mi63cihi.ttf?t=1545807318834') format('truetype'),
|
||||
url('https://at.alicdn.com/t/font_985780_km7mi63cihi.svg?t=1545807318834#iconfont') format('svg');
|
||||
}
|
||||
|
||||
.logo {
|
||||
font-family: "iconfont logo";
|
||||
font-size: 160px;
|
||||
font-style: normal;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
}
|
||||
|
||||
/* tabs */
|
||||
.nav-tabs {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.nav-tabs .nav-more {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
height: 42px;
|
||||
line-height: 42px;
|
||||
color: #666;
|
||||
}
|
||||
|
||||
#tabs {
|
||||
border-bottom: 1px solid #eee;
|
||||
}
|
||||
|
||||
#tabs li {
|
||||
cursor: pointer;
|
||||
width: 100px;
|
||||
height: 40px;
|
||||
line-height: 40px;
|
||||
text-align: center;
|
||||
font-size: 16px;
|
||||
border-bottom: 2px solid transparent;
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
margin-bottom: -1px;
|
||||
color: #666;
|
||||
}
|
||||
|
||||
|
||||
#tabs .active {
|
||||
border-bottom-color: #f00;
|
||||
color: #222;
|
||||
}
|
||||
|
||||
.tab-container .content {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* 页面布局 */
|
||||
.main {
|
||||
padding: 30px 100px;
|
||||
width: 960px;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
.main .logo {
|
||||
color: #333;
|
||||
text-align: left;
|
||||
margin-bottom: 30px;
|
||||
line-height: 1;
|
||||
height: 110px;
|
||||
margin-top: -50px;
|
||||
overflow: hidden;
|
||||
*zoom: 1;
|
||||
}
|
||||
|
||||
.main .logo a {
|
||||
font-size: 160px;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.helps {
|
||||
margin-top: 40px;
|
||||
}
|
||||
|
||||
.helps pre {
|
||||
padding: 20px;
|
||||
margin: 10px 0;
|
||||
border: solid 1px #e7e1cd;
|
||||
background-color: #fffdef;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
.icon_lists {
|
||||
width: 100% !important;
|
||||
overflow: hidden;
|
||||
*zoom: 1;
|
||||
}
|
||||
|
||||
.icon_lists li {
|
||||
width: 100px;
|
||||
margin-bottom: 10px;
|
||||
margin-right: 20px;
|
||||
text-align: center;
|
||||
list-style: none !important;
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
.icon_lists li .code-name {
|
||||
line-height: 1.2;
|
||||
}
|
||||
|
||||
.icon_lists .icon {
|
||||
display: block;
|
||||
height: 100px;
|
||||
line-height: 100px;
|
||||
font-size: 42px;
|
||||
margin: 10px auto;
|
||||
color: #333;
|
||||
-webkit-transition: font-size 0.25s linear, width 0.25s linear;
|
||||
-moz-transition: font-size 0.25s linear, width 0.25s linear;
|
||||
transition: font-size 0.25s linear, width 0.25s linear;
|
||||
}
|
||||
|
||||
.icon_lists .icon:hover {
|
||||
font-size: 100px;
|
||||
}
|
||||
|
||||
.icon_lists .svg-icon {
|
||||
/* 通过设置 font-size 来改变图标大小 */
|
||||
width: 1em;
|
||||
/* 图标和文字相邻时,垂直对齐 */
|
||||
vertical-align: -0.15em;
|
||||
/* 通过设置 color 来改变 SVG 的颜色/fill */
|
||||
fill: currentColor;
|
||||
/* path 和 stroke 溢出 viewBox 部分在 IE 下会显示
|
||||
normalize.css 中也包含这行 */
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.icon_lists li .name,
|
||||
.icon_lists li .code-name {
|
||||
color: #666;
|
||||
}
|
||||
|
||||
/* markdown 样式 */
|
||||
.markdown {
|
||||
color: #666;
|
||||
font-size: 14px;
|
||||
line-height: 1.8;
|
||||
}
|
||||
|
||||
.highlight {
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
||||
.markdown img {
|
||||
vertical-align: middle;
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
.markdown h1 {
|
||||
color: #404040;
|
||||
font-weight: 500;
|
||||
line-height: 40px;
|
||||
margin-bottom: 24px;
|
||||
}
|
||||
|
||||
.markdown h2,
|
||||
.markdown h3,
|
||||
.markdown h4,
|
||||
.markdown h5,
|
||||
.markdown h6 {
|
||||
color: #404040;
|
||||
margin: 1.6em 0 0.6em 0;
|
||||
font-weight: 500;
|
||||
clear: both;
|
||||
}
|
||||
|
||||
.markdown h1 {
|
||||
font-size: 28px;
|
||||
}
|
||||
|
||||
.markdown h2 {
|
||||
font-size: 22px;
|
||||
}
|
||||
|
||||
.markdown h3 {
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.markdown h4 {
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.markdown h5 {
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.markdown h6 {
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.markdown hr {
|
||||
height: 1px;
|
||||
border: 0;
|
||||
background: #e9e9e9;
|
||||
margin: 16px 0;
|
||||
clear: both;
|
||||
}
|
||||
|
||||
.markdown p {
|
||||
margin: 1em 0;
|
||||
}
|
||||
|
||||
.markdown>p,
|
||||
.markdown>blockquote,
|
||||
.markdown>.highlight,
|
||||
.markdown>ol,
|
||||
.markdown>ul {
|
||||
width: 80%;
|
||||
}
|
||||
|
||||
.markdown ul>li {
|
||||
list-style: circle;
|
||||
}
|
||||
|
||||
.markdown>ul li,
|
||||
.markdown blockquote ul>li {
|
||||
margin-left: 20px;
|
||||
padding-left: 4px;
|
||||
}
|
||||
|
||||
.markdown>ul li p,
|
||||
.markdown>ol li p {
|
||||
margin: 0.6em 0;
|
||||
}
|
||||
|
||||
.markdown ol>li {
|
||||
list-style: decimal;
|
||||
}
|
||||
|
||||
.markdown>ol li,
|
||||
.markdown blockquote ol>li {
|
||||
margin-left: 20px;
|
||||
padding-left: 4px;
|
||||
}
|
||||
|
||||
.markdown code {
|
||||
margin: 0 3px;
|
||||
padding: 0 5px;
|
||||
background: #eee;
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
.markdown strong,
|
||||
.markdown b {
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.markdown>table {
|
||||
border-collapse: collapse;
|
||||
border-spacing: 0px;
|
||||
empty-cells: show;
|
||||
border: 1px solid #e9e9e9;
|
||||
width: 95%;
|
||||
margin-bottom: 24px;
|
||||
}
|
||||
|
||||
.markdown>table th {
|
||||
white-space: nowrap;
|
||||
color: #333;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.markdown>table th,
|
||||
.markdown>table td {
|
||||
border: 1px solid #e9e9e9;
|
||||
padding: 8px 16px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.markdown>table th {
|
||||
background: #F7F7F7;
|
||||
}
|
||||
|
||||
.markdown blockquote {
|
||||
font-size: 90%;
|
||||
color: #999;
|
||||
border-left: 4px solid #e9e9e9;
|
||||
padding-left: 0.8em;
|
||||
margin: 1em 0;
|
||||
}
|
||||
|
||||
.markdown blockquote p {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.markdown .anchor {
|
||||
opacity: 0;
|
||||
transition: opacity 0.3s ease;
|
||||
margin-left: 8px;
|
||||
}
|
||||
|
||||
.markdown .waiting {
|
||||
color: #ccc;
|
||||
}
|
||||
|
||||
.markdown h1:hover .anchor,
|
||||
.markdown h2:hover .anchor,
|
||||
.markdown h3:hover .anchor,
|
||||
.markdown h4:hover .anchor,
|
||||
.markdown h5:hover .anchor,
|
||||
.markdown h6:hover .anchor {
|
||||
opacity: 1;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.markdown>br,
|
||||
.markdown>p>br {
|
||||
clear: both;
|
||||
}
|
||||
|
||||
|
||||
.hljs {
|
||||
display: block;
|
||||
background: white;
|
||||
padding: 0.5em;
|
||||
color: #333333;
|
||||
overflow-x: auto;
|
||||
}
|
||||
|
||||
.hljs-comment,
|
||||
.hljs-meta {
|
||||
color: #969896;
|
||||
}
|
||||
|
||||
.hljs-string,
|
||||
.hljs-variable,
|
||||
.hljs-template-variable,
|
||||
.hljs-strong,
|
||||
.hljs-emphasis,
|
||||
.hljs-quote {
|
||||
color: #df5000;
|
||||
}
|
||||
|
||||
.hljs-keyword,
|
||||
.hljs-selector-tag,
|
||||
.hljs-type {
|
||||
color: #a71d5d;
|
||||
}
|
||||
|
||||
.hljs-literal,
|
||||
.hljs-symbol,
|
||||
.hljs-bullet,
|
||||
.hljs-attribute {
|
||||
color: #0086b3;
|
||||
}
|
||||
|
||||
.hljs-section,
|
||||
.hljs-name {
|
||||
color: #63a35c;
|
||||
}
|
||||
|
||||
.hljs-tag {
|
||||
color: #333333;
|
||||
}
|
||||
|
||||
.hljs-title,
|
||||
.hljs-attr,
|
||||
.hljs-selector-id,
|
||||
.hljs-selector-class,
|
||||
.hljs-selector-attr,
|
||||
.hljs-selector-pseudo {
|
||||
color: #795da3;
|
||||
}
|
||||
|
||||
.hljs-addition {
|
||||
color: #55a532;
|
||||
background-color: #eaffea;
|
||||
}
|
||||
|
||||
.hljs-deletion {
|
||||
color: #bd2c00;
|
||||
background-color: #ffecec;
|
||||
}
|
||||
|
||||
.hljs-link {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
/* 代码高亮 */
|
||||
/* PrismJS 1.15.0
|
||||
https://prismjs.com/download.html#themes=prism&languages=markup+css+clike+javascript */
|
||||
/**
|
||||
* prism.js default theme for JavaScript, CSS and HTML
|
||||
* Based on dabblet (http://dabblet.com)
|
||||
* @author Lea Verou
|
||||
*/
|
||||
code[class*="language-"],
|
||||
pre[class*="language-"] {
|
||||
color: black;
|
||||
background: none;
|
||||
text-shadow: 0 1px white;
|
||||
font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
|
||||
text-align: left;
|
||||
white-space: pre;
|
||||
word-spacing: normal;
|
||||
word-break: normal;
|
||||
word-wrap: normal;
|
||||
line-height: 1.5;
|
||||
|
||||
-moz-tab-size: 4;
|
||||
-o-tab-size: 4;
|
||||
tab-size: 4;
|
||||
|
||||
-webkit-hyphens: none;
|
||||
-moz-hyphens: none;
|
||||
-ms-hyphens: none;
|
||||
hyphens: none;
|
||||
}
|
||||
|
||||
pre[class*="language-"]::-moz-selection,
|
||||
pre[class*="language-"] ::-moz-selection,
|
||||
code[class*="language-"]::-moz-selection,
|
||||
code[class*="language-"] ::-moz-selection {
|
||||
text-shadow: none;
|
||||
background: #b3d4fc;
|
||||
}
|
||||
|
||||
pre[class*="language-"]::selection,
|
||||
pre[class*="language-"] ::selection,
|
||||
code[class*="language-"]::selection,
|
||||
code[class*="language-"] ::selection {
|
||||
text-shadow: none;
|
||||
background: #b3d4fc;
|
||||
}
|
||||
|
||||
@media print {
|
||||
|
||||
code[class*="language-"],
|
||||
pre[class*="language-"] {
|
||||
text-shadow: none;
|
||||
}
|
||||
}
|
||||
|
||||
/* Code blocks */
|
||||
pre[class*="language-"] {
|
||||
padding: 1em;
|
||||
margin: .5em 0;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
:not(pre)>code[class*="language-"],
|
||||
pre[class*="language-"] {
|
||||
background: #f5f2f0;
|
||||
}
|
||||
|
||||
/* Inline code */
|
||||
:not(pre)>code[class*="language-"] {
|
||||
padding: .1em;
|
||||
border-radius: .3em;
|
||||
white-space: normal;
|
||||
}
|
||||
|
||||
.token.comment,
|
||||
.token.prolog,
|
||||
.token.doctype,
|
||||
.token.cdata {
|
||||
color: slategray;
|
||||
}
|
||||
|
||||
.token.punctuation {
|
||||
color: #999;
|
||||
}
|
||||
|
||||
.namespace {
|
||||
opacity: .7;
|
||||
}
|
||||
|
||||
.token.property,
|
||||
.token.tag,
|
||||
.token.boolean,
|
||||
.token.number,
|
||||
.token.constant,
|
||||
.token.symbol,
|
||||
.token.deleted {
|
||||
color: #905;
|
||||
}
|
||||
|
||||
.token.selector,
|
||||
.token.attr-name,
|
||||
.token.string,
|
||||
.token.char,
|
||||
.token.builtin,
|
||||
.token.inserted {
|
||||
color: #690;
|
||||
}
|
||||
|
||||
.token.operator,
|
||||
.token.entity,
|
||||
.token.url,
|
||||
.language-css .token.string,
|
||||
.style .token.string {
|
||||
color: #9a6e3a;
|
||||
background: hsla(0, 0%, 100%, .5);
|
||||
}
|
||||
|
||||
.token.atrule,
|
||||
.token.attr-value,
|
||||
.token.keyword {
|
||||
color: #07a;
|
||||
}
|
||||
|
||||
.token.function,
|
||||
.token.class-name {
|
||||
color: #DD4A68;
|
||||
}
|
||||
|
||||
.token.regex,
|
||||
.token.important,
|
||||
.token.variable {
|
||||
color: #e90;
|
||||
}
|
||||
|
||||
.token.important,
|
||||
.token.bold {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.token.italic {
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
.token.entity {
|
||||
cursor: help;
|
||||
}
|
|
@ -0,0 +1,215 @@
|
|||
@font-face {
|
||||
font-family: "iconfont"; /* Project id 4244231 */
|
||||
src: url('iconfont.woff2?t=1694194507005') format('woff2'),
|
||||
url('iconfont.woff?t=1694194507005') format('woff'),
|
||||
url('iconfont.ttf?t=1694194507005') format('truetype');
|
||||
}
|
||||
|
||||
.iconfont {
|
||||
font-family: "iconfont" !important;
|
||||
font-size: 16px;
|
||||
font-style: normal;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
}
|
||||
|
||||
.icon-sousuo:before {
|
||||
content: "\e651";
|
||||
}
|
||||
|
||||
.icon-qian:before {
|
||||
content: "\e662";
|
||||
}
|
||||
|
||||
.icon-tongjifenxi:before {
|
||||
content: "\e626";
|
||||
}
|
||||
|
||||
.icon-sousuoliebiao:before {
|
||||
content: "\e60e";
|
||||
}
|
||||
|
||||
.icon-caijiguanli:before {
|
||||
content: "\e618";
|
||||
}
|
||||
|
||||
.icon-maichong:before {
|
||||
content: "\e62b";
|
||||
}
|
||||
|
||||
.icon-shujufenxi:before {
|
||||
content: "\e620";
|
||||
}
|
||||
|
||||
.icon-navicon-tjb:before {
|
||||
content: "\e657";
|
||||
}
|
||||
|
||||
.icon-chuqinfenxi:before {
|
||||
content: "\e62a";
|
||||
}
|
||||
|
||||
.icon-fengxianfenxi:before {
|
||||
content: "\e62d";
|
||||
}
|
||||
|
||||
.icon-tixianfeishuai:before {
|
||||
content: "\e653";
|
||||
}
|
||||
|
||||
.icon-shebeiguanli:before {
|
||||
content: "\ebb7";
|
||||
}
|
||||
|
||||
.icon-zuzhiqunzu:before {
|
||||
content: "\ebd8";
|
||||
}
|
||||
|
||||
.icon-wenjianjia_o:before {
|
||||
content: "\eb4f";
|
||||
}
|
||||
|
||||
.icon-shebeidadian_o:before {
|
||||
content: "\eb59";
|
||||
}
|
||||
|
||||
.icon-moxingguanli:before {
|
||||
content: "\e633";
|
||||
}
|
||||
|
||||
.icon-daipingjia:before {
|
||||
content: "\e610";
|
||||
}
|
||||
|
||||
.icon--graphic:before {
|
||||
content: "\e64a";
|
||||
}
|
||||
|
||||
.icon-chatou:before {
|
||||
content: "\ec77";
|
||||
}
|
||||
|
||||
.icon-tianchongxing-:before {
|
||||
content: "\e645";
|
||||
}
|
||||
|
||||
.icon-xitong:before {
|
||||
content: "\e835";
|
||||
}
|
||||
|
||||
.icon-chaxun:before {
|
||||
content: "\e632";
|
||||
}
|
||||
|
||||
.icon-shishichaobiao:before {
|
||||
content: "\e69f";
|
||||
}
|
||||
|
||||
.icon-xiansunfenxi:before {
|
||||
content: "\e6a0";
|
||||
}
|
||||
|
||||
.icon-shuju:before {
|
||||
content: "\e616";
|
||||
}
|
||||
|
||||
.icon-shujufenxi-baobeifenxi:before {
|
||||
content: "\e600";
|
||||
}
|
||||
|
||||
.icon-pinggu:before {
|
||||
content: "\e65a";
|
||||
}
|
||||
|
||||
.icon-gujixian:before {
|
||||
content: "\e625";
|
||||
}
|
||||
|
||||
.icon-jiance:before {
|
||||
content: "\e605";
|
||||
}
|
||||
|
||||
.icon-fuhe:before {
|
||||
content: "\e6a3";
|
||||
}
|
||||
|
||||
.icon-yewuyujing:before {
|
||||
content: "\e62c";
|
||||
}
|
||||
|
||||
.icon-zuocecaidanlantubiao_ALGxitongguanli:before {
|
||||
content: "\e606";
|
||||
}
|
||||
|
||||
.icon-zonglan:before {
|
||||
content: "\e6cd";
|
||||
}
|
||||
|
||||
.icon-fufei:before {
|
||||
content: "\e614";
|
||||
}
|
||||
|
||||
.icon-peidian:before {
|
||||
content: "\e62e";
|
||||
}
|
||||
|
||||
.icon-jiagezoushi:before {
|
||||
content: "\e638";
|
||||
}
|
||||
|
||||
.icon-jrtb_03:before {
|
||||
content: "\e61e";
|
||||
}
|
||||
|
||||
.icon-yunyingguanli:before {
|
||||
content: "\e62f";
|
||||
}
|
||||
|
||||
.icon-leidian:before {
|
||||
content: "\e6c3";
|
||||
}
|
||||
|
||||
.icon-shitu:before {
|
||||
content: "\e68e";
|
||||
}
|
||||
|
||||
.icon-nengyuanshuzihuayanjiu:before {
|
||||
content: "\e601";
|
||||
}
|
||||
|
||||
.icon-shouye-1:before {
|
||||
content: "\e705";
|
||||
}
|
||||
|
||||
.icon-celianggongju:before {
|
||||
content: "\e604";
|
||||
}
|
||||
|
||||
.icon-fabu:before {
|
||||
content: "\e642";
|
||||
}
|
||||
|
||||
.icon-yujingkanban:before {
|
||||
content: "\e629";
|
||||
}
|
||||
|
||||
.icon-jingbao:before {
|
||||
content: "\e639";
|
||||
}
|
||||
|
||||
.icon-tosboard:before {
|
||||
content: "\e630";
|
||||
}
|
||||
|
||||
.icon-icon-denglushebeishezhi:before {
|
||||
content: "\e602";
|
||||
}
|
||||
|
||||
.icon-icon-supplierinventoryproposes:before {
|
||||
content: "\e694";
|
||||
}
|
||||
|
||||
.icon-icons8-group-64:before {
|
||||
content: "\e603";
|
||||
}
|
||||
|
|
@ -0,0 +1,359 @@
|
|||
{
|
||||
"id": "4244231",
|
||||
"name": "yc",
|
||||
"font_family": "iconfont",
|
||||
"css_prefix_text": "icon-",
|
||||
"description": "",
|
||||
"glyphs": [
|
||||
{
|
||||
"icon_id": "629357",
|
||||
"name": "搜索",
|
||||
"font_class": "sousuo",
|
||||
"unicode": "e651",
|
||||
"unicode_decimal": 58961
|
||||
},
|
||||
{
|
||||
"icon_id": "658035",
|
||||
"name": "钱",
|
||||
"font_class": "qian",
|
||||
"unicode": "e662",
|
||||
"unicode_decimal": 58978
|
||||
},
|
||||
{
|
||||
"icon_id": "741899",
|
||||
"name": "统计分析",
|
||||
"font_class": "tongjifenxi",
|
||||
"unicode": "e626",
|
||||
"unicode_decimal": 58918
|
||||
},
|
||||
{
|
||||
"icon_id": "1147053",
|
||||
"name": "确认方案",
|
||||
"font_class": "sousuoliebiao",
|
||||
"unicode": "e60e",
|
||||
"unicode_decimal": 58894
|
||||
},
|
||||
{
|
||||
"icon_id": "1986963",
|
||||
"name": "采集管理",
|
||||
"font_class": "caijiguanli",
|
||||
"unicode": "e618",
|
||||
"unicode_decimal": 58904
|
||||
},
|
||||
{
|
||||
"icon_id": "1987004",
|
||||
"name": "脉冲",
|
||||
"font_class": "maichong",
|
||||
"unicode": "e62b",
|
||||
"unicode_decimal": 58923
|
||||
},
|
||||
{
|
||||
"icon_id": "2060217",
|
||||
"name": "数据分析1",
|
||||
"font_class": "shujufenxi",
|
||||
"unicode": "e620",
|
||||
"unicode_decimal": 58912
|
||||
},
|
||||
{
|
||||
"icon_id": "3702982",
|
||||
"name": "统计表",
|
||||
"font_class": "navicon-tjb",
|
||||
"unicode": "e657",
|
||||
"unicode_decimal": 58967
|
||||
},
|
||||
{
|
||||
"icon_id": "4237366",
|
||||
"name": "出勤分析",
|
||||
"font_class": "chuqinfenxi",
|
||||
"unicode": "e62a",
|
||||
"unicode_decimal": 58922
|
||||
},
|
||||
{
|
||||
"icon_id": "4237376",
|
||||
"name": "风险分析",
|
||||
"font_class": "fengxianfenxi",
|
||||
"unicode": "e62d",
|
||||
"unicode_decimal": 58925
|
||||
},
|
||||
{
|
||||
"icon_id": "4322612",
|
||||
"name": "提现费率",
|
||||
"font_class": "tixianfeishuai",
|
||||
"unicode": "e653",
|
||||
"unicode_decimal": 58963
|
||||
},
|
||||
{
|
||||
"icon_id": "4506836",
|
||||
"name": "设备管理",
|
||||
"font_class": "shebeiguanli",
|
||||
"unicode": "ebb7",
|
||||
"unicode_decimal": 60343
|
||||
},
|
||||
{
|
||||
"icon_id": "4521283",
|
||||
"name": "组织群组",
|
||||
"font_class": "zuzhiqunzu",
|
||||
"unicode": "ebd8",
|
||||
"unicode_decimal": 60376
|
||||
},
|
||||
{
|
||||
"icon_id": "5387767",
|
||||
"name": "文件夹_o",
|
||||
"font_class": "wenjianjia_o",
|
||||
"unicode": "eb4f",
|
||||
"unicode_decimal": 60239
|
||||
},
|
||||
{
|
||||
"icon_id": "5387797",
|
||||
"name": "设备打点_o",
|
||||
"font_class": "shebeidadian_o",
|
||||
"unicode": "eb59",
|
||||
"unicode_decimal": 60249
|
||||
},
|
||||
{
|
||||
"icon_id": "5536248",
|
||||
"name": "模型管理",
|
||||
"font_class": "moxingguanli",
|
||||
"unicode": "e633",
|
||||
"unicode_decimal": 58931
|
||||
},
|
||||
{
|
||||
"icon_id": "5588397",
|
||||
"name": "待评价",
|
||||
"font_class": "daipingjia",
|
||||
"unicode": "e610",
|
||||
"unicode_decimal": 58896
|
||||
},
|
||||
{
|
||||
"icon_id": "5679726",
|
||||
"name": "005-graphic",
|
||||
"font_class": "-graphic",
|
||||
"unicode": "e64a",
|
||||
"unicode_decimal": 58954
|
||||
},
|
||||
{
|
||||
"icon_id": "5982855",
|
||||
"name": "插头",
|
||||
"font_class": "chatou",
|
||||
"unicode": "ec77",
|
||||
"unicode_decimal": 60535
|
||||
},
|
||||
{
|
||||
"icon_id": "6446344",
|
||||
"name": "方块",
|
||||
"font_class": "tianchongxing-",
|
||||
"unicode": "e645",
|
||||
"unicode_decimal": 58949
|
||||
},
|
||||
{
|
||||
"icon_id": "6510092",
|
||||
"name": "系统",
|
||||
"font_class": "xitong",
|
||||
"unicode": "e835",
|
||||
"unicode_decimal": 59445
|
||||
},
|
||||
{
|
||||
"icon_id": "7158008",
|
||||
"name": "查询",
|
||||
"font_class": "chaxun",
|
||||
"unicode": "e632",
|
||||
"unicode_decimal": 58930
|
||||
},
|
||||
{
|
||||
"icon_id": "7339805",
|
||||
"name": "实时抄表",
|
||||
"font_class": "shishichaobiao",
|
||||
"unicode": "e69f",
|
||||
"unicode_decimal": 59039
|
||||
},
|
||||
{
|
||||
"icon_id": "7339809",
|
||||
"name": "线损分析",
|
||||
"font_class": "xiansunfenxi",
|
||||
"unicode": "e6a0",
|
||||
"unicode_decimal": 59040
|
||||
},
|
||||
{
|
||||
"icon_id": "7638980",
|
||||
"name": "数据",
|
||||
"font_class": "shuju",
|
||||
"unicode": "e616",
|
||||
"unicode_decimal": 58902
|
||||
},
|
||||
{
|
||||
"icon_id": "7898737",
|
||||
"name": "数据分析-宝贝分析",
|
||||
"font_class": "shujufenxi-baobeifenxi",
|
||||
"unicode": "e600",
|
||||
"unicode_decimal": 58880
|
||||
},
|
||||
{
|
||||
"icon_id": "8487969",
|
||||
"name": "118评估",
|
||||
"font_class": "pinggu",
|
||||
"unicode": "e65a",
|
||||
"unicode_decimal": 58970
|
||||
},
|
||||
{
|
||||
"icon_id": "9060626",
|
||||
"name": "谷脊线",
|
||||
"font_class": "gujixian",
|
||||
"unicode": "e625",
|
||||
"unicode_decimal": 58917
|
||||
},
|
||||
{
|
||||
"icon_id": "9499384",
|
||||
"name": "监测",
|
||||
"font_class": "jiance",
|
||||
"unicode": "e605",
|
||||
"unicode_decimal": 58885
|
||||
},
|
||||
{
|
||||
"icon_id": "10268989",
|
||||
"name": "负荷",
|
||||
"font_class": "fuhe",
|
||||
"unicode": "e6a3",
|
||||
"unicode_decimal": 59043
|
||||
},
|
||||
{
|
||||
"icon_id": "10826652",
|
||||
"name": "业务预警",
|
||||
"font_class": "yewuyujing",
|
||||
"unicode": "e62c",
|
||||
"unicode_decimal": 58924
|
||||
},
|
||||
{
|
||||
"icon_id": "11187557",
|
||||
"name": "左侧菜单栏图标_ALG系统管理",
|
||||
"font_class": "zuocecaidanlantubiao_ALGxitongguanli",
|
||||
"unicode": "e606",
|
||||
"unicode_decimal": 58886
|
||||
},
|
||||
{
|
||||
"icon_id": "12931781",
|
||||
"name": "总览",
|
||||
"font_class": "zonglan",
|
||||
"unicode": "e6cd",
|
||||
"unicode_decimal": 59085
|
||||
},
|
||||
{
|
||||
"icon_id": "13645760",
|
||||
"name": "付费",
|
||||
"font_class": "fufei",
|
||||
"unicode": "e614",
|
||||
"unicode_decimal": 58900
|
||||
},
|
||||
{
|
||||
"icon_id": "14151204",
|
||||
"name": "配电",
|
||||
"font_class": "peidian",
|
||||
"unicode": "e62e",
|
||||
"unicode_decimal": 58926
|
||||
},
|
||||
{
|
||||
"icon_id": "14384447",
|
||||
"name": "价格走势",
|
||||
"font_class": "jiagezoushi",
|
||||
"unicode": "e638",
|
||||
"unicode_decimal": 58936
|
||||
},
|
||||
{
|
||||
"icon_id": "14512633",
|
||||
"name": "jrtb_03",
|
||||
"font_class": "jrtb_03",
|
||||
"unicode": "e61e",
|
||||
"unicode_decimal": 58910
|
||||
},
|
||||
{
|
||||
"icon_id": "15351663",
|
||||
"name": "运营管理",
|
||||
"font_class": "yunyingguanli",
|
||||
"unicode": "e62f",
|
||||
"unicode_decimal": 58927
|
||||
},
|
||||
{
|
||||
"icon_id": "15644348",
|
||||
"name": "雷电",
|
||||
"font_class": "leidian",
|
||||
"unicode": "e6c3",
|
||||
"unicode_decimal": 59075
|
||||
},
|
||||
{
|
||||
"icon_id": "16082913",
|
||||
"name": "视图",
|
||||
"font_class": "shitu",
|
||||
"unicode": "e68e",
|
||||
"unicode_decimal": 59022
|
||||
},
|
||||
{
|
||||
"icon_id": "17560052",
|
||||
"name": "能源数字化研究",
|
||||
"font_class": "nengyuanshuzihuayanjiu",
|
||||
"unicode": "e601",
|
||||
"unicode_decimal": 58881
|
||||
},
|
||||
{
|
||||
"icon_id": "17699576",
|
||||
"name": "shouye-1",
|
||||
"font_class": "shouye-1",
|
||||
"unicode": "e705",
|
||||
"unicode_decimal": 59141
|
||||
},
|
||||
{
|
||||
"icon_id": "17930624",
|
||||
"name": "测量工具",
|
||||
"font_class": "celianggongju",
|
||||
"unicode": "e604",
|
||||
"unicode_decimal": 58884
|
||||
},
|
||||
{
|
||||
"icon_id": "18863158",
|
||||
"name": "发布",
|
||||
"font_class": "fabu",
|
||||
"unicode": "e642",
|
||||
"unicode_decimal": 58946
|
||||
},
|
||||
{
|
||||
"icon_id": "19145075",
|
||||
"name": "预警看板",
|
||||
"font_class": "yujingkanban",
|
||||
"unicode": "e629",
|
||||
"unicode_decimal": 58921
|
||||
},
|
||||
{
|
||||
"icon_id": "20600817",
|
||||
"name": "警报",
|
||||
"font_class": "jingbao",
|
||||
"unicode": "e639",
|
||||
"unicode_decimal": 58937
|
||||
},
|
||||
{
|
||||
"icon_id": "21205818",
|
||||
"name": "tosboard",
|
||||
"font_class": "tosboard",
|
||||
"unicode": "e630",
|
||||
"unicode_decimal": 58928
|
||||
},
|
||||
{
|
||||
"icon_id": "21578050",
|
||||
"name": "icon-登录设备设置",
|
||||
"font_class": "icon-denglushebeishezhi",
|
||||
"unicode": "e602",
|
||||
"unicode_decimal": 58882
|
||||
},
|
||||
{
|
||||
"icon_id": "21843120",
|
||||
"name": "盘点",
|
||||
"font_class": "icon-supplierinventoryproposes",
|
||||
"unicode": "e694",
|
||||
"unicode_decimal": 59028
|
||||
},
|
||||
{
|
||||
"icon_id": "26868183",
|
||||
"name": "关于本站",
|
||||
"font_class": "icons8-group-64",
|
||||
"unicode": "e603",
|
||||
"unicode_decimal": 58883
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,539 @@
|
|||
/* Logo 字体 */
|
||||
@font-face {
|
||||
font-family: "iconfont logo";
|
||||
src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834');
|
||||
src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834#iefix') format('embedded-opentype'),
|
||||
url('https://at.alicdn.com/t/font_985780_km7mi63cihi.woff?t=1545807318834') format('woff'),
|
||||
url('https://at.alicdn.com/t/font_985780_km7mi63cihi.ttf?t=1545807318834') format('truetype'),
|
||||
url('https://at.alicdn.com/t/font_985780_km7mi63cihi.svg?t=1545807318834#iconfont') format('svg');
|
||||
}
|
||||
|
||||
.logo {
|
||||
font-family: "iconfont logo";
|
||||
font-size: 160px;
|
||||
font-style: normal;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
}
|
||||
|
||||
/* tabs */
|
||||
.nav-tabs {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.nav-tabs .nav-more {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
height: 42px;
|
||||
line-height: 42px;
|
||||
color: #666;
|
||||
}
|
||||
|
||||
#tabs {
|
||||
border-bottom: 1px solid #eee;
|
||||
}
|
||||
|
||||
#tabs li {
|
||||
cursor: pointer;
|
||||
width: 100px;
|
||||
height: 40px;
|
||||
line-height: 40px;
|
||||
text-align: center;
|
||||
font-size: 16px;
|
||||
border-bottom: 2px solid transparent;
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
margin-bottom: -1px;
|
||||
color: #666;
|
||||
}
|
||||
|
||||
|
||||
#tabs .active {
|
||||
border-bottom-color: #f00;
|
||||
color: #222;
|
||||
}
|
||||
|
||||
.tab-container .content {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* 页面布局 */
|
||||
.main {
|
||||
padding: 30px 100px;
|
||||
width: 960px;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
.main .logo {
|
||||
color: #333;
|
||||
text-align: left;
|
||||
margin-bottom: 30px;
|
||||
line-height: 1;
|
||||
height: 110px;
|
||||
margin-top: -50px;
|
||||
overflow: hidden;
|
||||
*zoom: 1;
|
||||
}
|
||||
|
||||
.main .logo a {
|
||||
font-size: 160px;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.helps {
|
||||
margin-top: 40px;
|
||||
}
|
||||
|
||||
.helps pre {
|
||||
padding: 20px;
|
||||
margin: 10px 0;
|
||||
border: solid 1px #e7e1cd;
|
||||
background-color: #fffdef;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
.icon_lists {
|
||||
width: 100% !important;
|
||||
overflow: hidden;
|
||||
*zoom: 1;
|
||||
}
|
||||
|
||||
.icon_lists li {
|
||||
width: 100px;
|
||||
margin-bottom: 10px;
|
||||
margin-right: 20px;
|
||||
text-align: center;
|
||||
list-style: none !important;
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
.icon_lists li .code-name {
|
||||
line-height: 1.2;
|
||||
}
|
||||
|
||||
.icon_lists .icon {
|
||||
display: block;
|
||||
height: 100px;
|
||||
line-height: 100px;
|
||||
font-size: 42px;
|
||||
margin: 10px auto;
|
||||
color: #333;
|
||||
-webkit-transition: font-size 0.25s linear, width 0.25s linear;
|
||||
-moz-transition: font-size 0.25s linear, width 0.25s linear;
|
||||
transition: font-size 0.25s linear, width 0.25s linear;
|
||||
}
|
||||
|
||||
.icon_lists .icon:hover {
|
||||
font-size: 100px;
|
||||
}
|
||||
|
||||
.icon_lists .svg-icon {
|
||||
/* 通过设置 font-size 来改变图标大小 */
|
||||
width: 1em;
|
||||
/* 图标和文字相邻时,垂直对齐 */
|
||||
vertical-align: -0.15em;
|
||||
/* 通过设置 color 来改变 SVG 的颜色/fill */
|
||||
fill: currentColor;
|
||||
/* path 和 stroke 溢出 viewBox 部分在 IE 下会显示
|
||||
normalize.css 中也包含这行 */
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.icon_lists li .name,
|
||||
.icon_lists li .code-name {
|
||||
color: #666;
|
||||
}
|
||||
|
||||
/* markdown 样式 */
|
||||
.markdown {
|
||||
color: #666;
|
||||
font-size: 14px;
|
||||
line-height: 1.8;
|
||||
}
|
||||
|
||||
.highlight {
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
||||
.markdown img {
|
||||
vertical-align: middle;
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
.markdown h1 {
|
||||
color: #404040;
|
||||
font-weight: 500;
|
||||
line-height: 40px;
|
||||
margin-bottom: 24px;
|
||||
}
|
||||
|
||||
.markdown h2,
|
||||
.markdown h3,
|
||||
.markdown h4,
|
||||
.markdown h5,
|
||||
.markdown h6 {
|
||||
color: #404040;
|
||||
margin: 1.6em 0 0.6em 0;
|
||||
font-weight: 500;
|
||||
clear: both;
|
||||
}
|
||||
|
||||
.markdown h1 {
|
||||
font-size: 28px;
|
||||
}
|
||||
|
||||
.markdown h2 {
|
||||
font-size: 22px;
|
||||
}
|
||||
|
||||
.markdown h3 {
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.markdown h4 {
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.markdown h5 {
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.markdown h6 {
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.markdown hr {
|
||||
height: 1px;
|
||||
border: 0;
|
||||
background: #e9e9e9;
|
||||
margin: 16px 0;
|
||||
clear: both;
|
||||
}
|
||||
|
||||
.markdown p {
|
||||
margin: 1em 0;
|
||||
}
|
||||
|
||||
.markdown>p,
|
||||
.markdown>blockquote,
|
||||
.markdown>.highlight,
|
||||
.markdown>ol,
|
||||
.markdown>ul {
|
||||
width: 80%;
|
||||
}
|
||||
|
||||
.markdown ul>li {
|
||||
list-style: circle;
|
||||
}
|
||||
|
||||
.markdown>ul li,
|
||||
.markdown blockquote ul>li {
|
||||
margin-left: 20px;
|
||||
padding-left: 4px;
|
||||
}
|
||||
|
||||
.markdown>ul li p,
|
||||
.markdown>ol li p {
|
||||
margin: 0.6em 0;
|
||||
}
|
||||
|
||||
.markdown ol>li {
|
||||
list-style: decimal;
|
||||
}
|
||||
|
||||
.markdown>ol li,
|
||||
.markdown blockquote ol>li {
|
||||
margin-left: 20px;
|
||||
padding-left: 4px;
|
||||
}
|
||||
|
||||
.markdown code {
|
||||
margin: 0 3px;
|
||||
padding: 0 5px;
|
||||
background: #eee;
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
.markdown strong,
|
||||
.markdown b {
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.markdown>table {
|
||||
border-collapse: collapse;
|
||||
border-spacing: 0px;
|
||||
empty-cells: show;
|
||||
border: 1px solid #e9e9e9;
|
||||
width: 95%;
|
||||
margin-bottom: 24px;
|
||||
}
|
||||
|
||||
.markdown>table th {
|
||||
white-space: nowrap;
|
||||
color: #333;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.markdown>table th,
|
||||
.markdown>table td {
|
||||
border: 1px solid #e9e9e9;
|
||||
padding: 8px 16px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.markdown>table th {
|
||||
background: #F7F7F7;
|
||||
}
|
||||
|
||||
.markdown blockquote {
|
||||
font-size: 90%;
|
||||
color: #999;
|
||||
border-left: 4px solid #e9e9e9;
|
||||
padding-left: 0.8em;
|
||||
margin: 1em 0;
|
||||
}
|
||||
|
||||
.markdown blockquote p {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.markdown .anchor {
|
||||
opacity: 0;
|
||||
transition: opacity 0.3s ease;
|
||||
margin-left: 8px;
|
||||
}
|
||||
|
||||
.markdown .waiting {
|
||||
color: #ccc;
|
||||
}
|
||||
|
||||
.markdown h1:hover .anchor,
|
||||
.markdown h2:hover .anchor,
|
||||
.markdown h3:hover .anchor,
|
||||
.markdown h4:hover .anchor,
|
||||
.markdown h5:hover .anchor,
|
||||
.markdown h6:hover .anchor {
|
||||
opacity: 1;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.markdown>br,
|
||||
.markdown>p>br {
|
||||
clear: both;
|
||||
}
|
||||
|
||||
|
||||
.hljs {
|
||||
display: block;
|
||||
background: white;
|
||||
padding: 0.5em;
|
||||
color: #333333;
|
||||
overflow-x: auto;
|
||||
}
|
||||
|
||||
.hljs-comment,
|
||||
.hljs-meta {
|
||||
color: #969896;
|
||||
}
|
||||
|
||||
.hljs-string,
|
||||
.hljs-variable,
|
||||
.hljs-template-variable,
|
||||
.hljs-strong,
|
||||
.hljs-emphasis,
|
||||
.hljs-quote {
|
||||
color: #df5000;
|
||||
}
|
||||
|
||||
.hljs-keyword,
|
||||
.hljs-selector-tag,
|
||||
.hljs-type {
|
||||
color: #a71d5d;
|
||||
}
|
||||
|
||||
.hljs-literal,
|
||||
.hljs-symbol,
|
||||
.hljs-bullet,
|
||||
.hljs-attribute {
|
||||
color: #0086b3;
|
||||
}
|
||||
|
||||
.hljs-section,
|
||||
.hljs-name {
|
||||
color: #63a35c;
|
||||
}
|
||||
|
||||
.hljs-tag {
|
||||
color: #333333;
|
||||
}
|
||||
|
||||
.hljs-title,
|
||||
.hljs-attr,
|
||||
.hljs-selector-id,
|
||||
.hljs-selector-class,
|
||||
.hljs-selector-attr,
|
||||
.hljs-selector-pseudo {
|
||||
color: #795da3;
|
||||
}
|
||||
|
||||
.hljs-addition {
|
||||
color: #55a532;
|
||||
background-color: #eaffea;
|
||||
}
|
||||
|
||||
.hljs-deletion {
|
||||
color: #bd2c00;
|
||||
background-color: #ffecec;
|
||||
}
|
||||
|
||||
.hljs-link {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
/* 代码高亮 */
|
||||
/* PrismJS 1.15.0
|
||||
https://prismjs.com/download.html#themes=prism&languages=markup+css+clike+javascript */
|
||||
/**
|
||||
* prism.js default theme for JavaScript, CSS and HTML
|
||||
* Based on dabblet (http://dabblet.com)
|
||||
* @author Lea Verou
|
||||
*/
|
||||
code[class*="language-"],
|
||||
pre[class*="language-"] {
|
||||
color: black;
|
||||
background: none;
|
||||
text-shadow: 0 1px white;
|
||||
font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
|
||||
text-align: left;
|
||||
white-space: pre;
|
||||
word-spacing: normal;
|
||||
word-break: normal;
|
||||
word-wrap: normal;
|
||||
line-height: 1.5;
|
||||
|
||||
-moz-tab-size: 4;
|
||||
-o-tab-size: 4;
|
||||
tab-size: 4;
|
||||
|
||||
-webkit-hyphens: none;
|
||||
-moz-hyphens: none;
|
||||
-ms-hyphens: none;
|
||||
hyphens: none;
|
||||
}
|
||||
|
||||
pre[class*="language-"]::-moz-selection,
|
||||
pre[class*="language-"] ::-moz-selection,
|
||||
code[class*="language-"]::-moz-selection,
|
||||
code[class*="language-"] ::-moz-selection {
|
||||
text-shadow: none;
|
||||
background: #b3d4fc;
|
||||
}
|
||||
|
||||
pre[class*="language-"]::selection,
|
||||
pre[class*="language-"] ::selection,
|
||||
code[class*="language-"]::selection,
|
||||
code[class*="language-"] ::selection {
|
||||
text-shadow: none;
|
||||
background: #b3d4fc;
|
||||
}
|
||||
|
||||
@media print {
|
||||
|
||||
code[class*="language-"],
|
||||
pre[class*="language-"] {
|
||||
text-shadow: none;
|
||||
}
|
||||
}
|
||||
|
||||
/* Code blocks */
|
||||
pre[class*="language-"] {
|
||||
padding: 1em;
|
||||
margin: .5em 0;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
:not(pre)>code[class*="language-"],
|
||||
pre[class*="language-"] {
|
||||
background: #f5f2f0;
|
||||
}
|
||||
|
||||
/* Inline code */
|
||||
:not(pre)>code[class*="language-"] {
|
||||
padding: .1em;
|
||||
border-radius: .3em;
|
||||
white-space: normal;
|
||||
}
|
||||
|
||||
.token.comment,
|
||||
.token.prolog,
|
||||
.token.doctype,
|
||||
.token.cdata {
|
||||
color: slategray;
|
||||
}
|
||||
|
||||
.token.punctuation {
|
||||
color: #999;
|
||||
}
|
||||
|
||||
.namespace {
|
||||
opacity: .7;
|
||||
}
|
||||
|
||||
.token.property,
|
||||
.token.tag,
|
||||
.token.boolean,
|
||||
.token.number,
|
||||
.token.constant,
|
||||
.token.symbol,
|
||||
.token.deleted {
|
||||
color: #905;
|
||||
}
|
||||
|
||||
.token.selector,
|
||||
.token.attr-name,
|
||||
.token.string,
|
||||
.token.char,
|
||||
.token.builtin,
|
||||
.token.inserted {
|
||||
color: #690;
|
||||
}
|
||||
|
||||
.token.operator,
|
||||
.token.entity,
|
||||
.token.url,
|
||||
.language-css .token.string,
|
||||
.style .token.string {
|
||||
color: #9a6e3a;
|
||||
background: hsla(0, 0%, 100%, .5);
|
||||
}
|
||||
|
||||
.token.atrule,
|
||||
.token.attr-value,
|
||||
.token.keyword {
|
||||
color: #07a;
|
||||
}
|
||||
|
||||
.token.function,
|
||||
.token.class-name {
|
||||
color: #DD4A68;
|
||||
}
|
||||
|
||||
.token.regex,
|
||||
.token.important,
|
||||
.token.variable {
|
||||
color: #e90;
|
||||
}
|
||||
|
||||
.token.important,
|
||||
.token.bold {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.token.italic {
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
.token.entity {
|
||||
cursor: help;
|
||||
}
|
|
@ -0,0 +1,215 @@
|
|||
@font-face {
|
||||
font-family: "iconfont"; /* Project id 4244231 */
|
||||
src: url('iconfont.woff2?t=1694229553713') format('woff2'),
|
||||
url('iconfont.woff?t=1694229553713') format('woff'),
|
||||
url('iconfont.ttf?t=1694229553713') format('truetype');
|
||||
}
|
||||
|
||||
.iconfont {
|
||||
font-family: "iconfont" !important;
|
||||
font-size: 16px;
|
||||
font-style: normal;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
}
|
||||
|
||||
.icon-sousuo:before {
|
||||
content: "\e651";
|
||||
}
|
||||
|
||||
.icon-qian:before {
|
||||
content: "\e662";
|
||||
}
|
||||
|
||||
.icon-tongjifenxi:before {
|
||||
content: "\e626";
|
||||
}
|
||||
|
||||
.icon-sousuoliebiao:before {
|
||||
content: "\e60e";
|
||||
}
|
||||
|
||||
.icon-caijiguanli:before {
|
||||
content: "\e618";
|
||||
}
|
||||
|
||||
.icon-maichong:before {
|
||||
content: "\e62b";
|
||||
}
|
||||
|
||||
.icon-shujufenxi:before {
|
||||
content: "\e620";
|
||||
}
|
||||
|
||||
.icon-navicon-tjb:before {
|
||||
content: "\e657";
|
||||
}
|
||||
|
||||
.icon-chuqinfenxi:before {
|
||||
content: "\e62a";
|
||||
}
|
||||
|
||||
.icon-fengxianfenxi:before {
|
||||
content: "\e62d";
|
||||
}
|
||||
|
||||
.icon-tixianfeishuai:before {
|
||||
content: "\e653";
|
||||
}
|
||||
|
||||
.icon-shebeiguanli:before {
|
||||
content: "\ebb7";
|
||||
}
|
||||
|
||||
.icon-zuzhiqunzu:before {
|
||||
content: "\ebd8";
|
||||
}
|
||||
|
||||
.icon-wenjianjia_o:before {
|
||||
content: "\eb4f";
|
||||
}
|
||||
|
||||
.icon-shebeidadian_o:before {
|
||||
content: "\eb59";
|
||||
}
|
||||
|
||||
.icon-moxingguanli:before {
|
||||
content: "\e633";
|
||||
}
|
||||
|
||||
.icon-daipingjia:before {
|
||||
content: "\e610";
|
||||
}
|
||||
|
||||
.icon--graphic:before {
|
||||
content: "\e64a";
|
||||
}
|
||||
|
||||
.icon-chatou:before {
|
||||
content: "\ec77";
|
||||
}
|
||||
|
||||
.icon-tianchongxing-:before {
|
||||
content: "\e645";
|
||||
}
|
||||
|
||||
.icon-xitong:before {
|
||||
content: "\e835";
|
||||
}
|
||||
|
||||
.icon-chaxun:before {
|
||||
content: "\e632";
|
||||
}
|
||||
|
||||
.icon-shishichaobiao:before {
|
||||
content: "\e69f";
|
||||
}
|
||||
|
||||
.icon-xiansunfenxi:before {
|
||||
content: "\e6a0";
|
||||
}
|
||||
|
||||
.icon-shuju:before {
|
||||
content: "\e616";
|
||||
}
|
||||
|
||||
.icon-shujufenxi-baobeifenxi:before {
|
||||
content: "\e600";
|
||||
}
|
||||
|
||||
.icon-pinggu:before {
|
||||
content: "\e65a";
|
||||
}
|
||||
|
||||
.icon-gujixian:before {
|
||||
content: "\e625";
|
||||
}
|
||||
|
||||
.icon-jiance:before {
|
||||
content: "\e605";
|
||||
}
|
||||
|
||||
.icon-fuhe:before {
|
||||
content: "\e6a3";
|
||||
}
|
||||
|
||||
.icon-yewuyujing:before {
|
||||
content: "\e62c";
|
||||
}
|
||||
|
||||
.icon-zuocecaidanlantubiao_ALGxitongguanli:before {
|
||||
content: "\e606";
|
||||
}
|
||||
|
||||
.icon-zonglan:before {
|
||||
content: "\e6cd";
|
||||
}
|
||||
|
||||
.icon-fufei:before {
|
||||
content: "\e614";
|
||||
}
|
||||
|
||||
.icon-peidian:before {
|
||||
content: "\e62e";
|
||||
}
|
||||
|
||||
.icon-jiagezoushi:before {
|
||||
content: "\e638";
|
||||
}
|
||||
|
||||
.icon-jrtb_03:before {
|
||||
content: "\e61e";
|
||||
}
|
||||
|
||||
.icon-yunyingguanli:before {
|
||||
content: "\e62f";
|
||||
}
|
||||
|
||||
.icon-leidian:before {
|
||||
content: "\e6c3";
|
||||
}
|
||||
|
||||
.icon-shitu:before {
|
||||
content: "\e68e";
|
||||
}
|
||||
|
||||
.icon-nengyuanshuzihuayanjiu:before {
|
||||
content: "\e601";
|
||||
}
|
||||
|
||||
.icon-shouye-1:before {
|
||||
content: "\e705";
|
||||
}
|
||||
|
||||
.icon-celianggongju:before {
|
||||
content: "\e604";
|
||||
}
|
||||
|
||||
.icon-fabu:before {
|
||||
content: "\e642";
|
||||
}
|
||||
|
||||
.icon-yujingkanban:before {
|
||||
content: "\e629";
|
||||
}
|
||||
|
||||
.icon-jingbao:before {
|
||||
content: "\e639";
|
||||
}
|
||||
|
||||
.icon-tosboard:before {
|
||||
content: "\e630";
|
||||
}
|
||||
|
||||
.icon-icon-denglushebeishezhi:before {
|
||||
content: "\e602";
|
||||
}
|
||||
|
||||
.icon-icon-supplierinventoryproposes:before {
|
||||
content: "\e694";
|
||||
}
|
||||
|
||||
.icon-icons8-group-64:before {
|
||||
content: "\e603";
|
||||
}
|
||||
|
|
@ -0,0 +1,359 @@
|
|||
{
|
||||
"id": "4244231",
|
||||
"name": "yc",
|
||||
"font_family": "iconfont",
|
||||
"css_prefix_text": "icon-",
|
||||
"description": "",
|
||||
"glyphs": [
|
||||
{
|
||||
"icon_id": "629357",
|
||||
"name": "搜索",
|
||||
"font_class": "sousuo",
|
||||
"unicode": "e651",
|
||||
"unicode_decimal": 58961
|
||||
},
|
||||
{
|
||||
"icon_id": "658035",
|
||||
"name": "钱",
|
||||
"font_class": "qian",
|
||||
"unicode": "e662",
|
||||
"unicode_decimal": 58978
|
||||
},
|
||||
{
|
||||
"icon_id": "741899",
|
||||
"name": "统计分析",
|
||||
"font_class": "tongjifenxi",
|
||||
"unicode": "e626",
|
||||
"unicode_decimal": 58918
|
||||
},
|
||||
{
|
||||
"icon_id": "1147053",
|
||||
"name": "确认方案",
|
||||
"font_class": "sousuoliebiao",
|
||||
"unicode": "e60e",
|
||||
"unicode_decimal": 58894
|
||||
},
|
||||
{
|
||||
"icon_id": "1986963",
|
||||
"name": "采集管理",
|
||||
"font_class": "caijiguanli",
|
||||
"unicode": "e618",
|
||||
"unicode_decimal": 58904
|
||||
},
|
||||
{
|
||||
"icon_id": "1987004",
|
||||
"name": "脉冲",
|
||||
"font_class": "maichong",
|
||||
"unicode": "e62b",
|
||||
"unicode_decimal": 58923
|
||||
},
|
||||
{
|
||||
"icon_id": "2060217",
|
||||
"name": "数据分析1",
|
||||
"font_class": "shujufenxi",
|
||||
"unicode": "e620",
|
||||
"unicode_decimal": 58912
|
||||
},
|
||||
{
|
||||
"icon_id": "3702982",
|
||||
"name": "统计表",
|
||||
"font_class": "navicon-tjb",
|
||||
"unicode": "e657",
|
||||
"unicode_decimal": 58967
|
||||
},
|
||||
{
|
||||
"icon_id": "4237366",
|
||||
"name": "出勤分析",
|
||||
"font_class": "chuqinfenxi",
|
||||
"unicode": "e62a",
|
||||
"unicode_decimal": 58922
|
||||
},
|
||||
{
|
||||
"icon_id": "4237376",
|
||||
"name": "风险分析",
|
||||
"font_class": "fengxianfenxi",
|
||||
"unicode": "e62d",
|
||||
"unicode_decimal": 58925
|
||||
},
|
||||
{
|
||||
"icon_id": "4322612",
|
||||
"name": "提现费率",
|
||||
"font_class": "tixianfeishuai",
|
||||
"unicode": "e653",
|
||||
"unicode_decimal": 58963
|
||||
},
|
||||
{
|
||||
"icon_id": "4506836",
|
||||
"name": "设备管理",
|
||||
"font_class": "shebeiguanli",
|
||||
"unicode": "ebb7",
|
||||
"unicode_decimal": 60343
|
||||
},
|
||||
{
|
||||
"icon_id": "4521283",
|
||||
"name": "组织群组",
|
||||
"font_class": "zuzhiqunzu",
|
||||
"unicode": "ebd8",
|
||||
"unicode_decimal": 60376
|
||||
},
|
||||
{
|
||||
"icon_id": "5387767",
|
||||
"name": "文件夹_o",
|
||||
"font_class": "wenjianjia_o",
|
||||
"unicode": "eb4f",
|
||||
"unicode_decimal": 60239
|
||||
},
|
||||
{
|
||||
"icon_id": "5387797",
|
||||
"name": "设备打点_o",
|
||||
"font_class": "shebeidadian_o",
|
||||
"unicode": "eb59",
|
||||
"unicode_decimal": 60249
|
||||
},
|
||||
{
|
||||
"icon_id": "5536248",
|
||||
"name": "模型管理",
|
||||
"font_class": "moxingguanli",
|
||||
"unicode": "e633",
|
||||
"unicode_decimal": 58931
|
||||
},
|
||||
{
|
||||
"icon_id": "5588397",
|
||||
"name": "待评价",
|
||||
"font_class": "daipingjia",
|
||||
"unicode": "e610",
|
||||
"unicode_decimal": 58896
|
||||
},
|
||||
{
|
||||
"icon_id": "5679726",
|
||||
"name": "005-graphic",
|
||||
"font_class": "-graphic",
|
||||
"unicode": "e64a",
|
||||
"unicode_decimal": 58954
|
||||
},
|
||||
{
|
||||
"icon_id": "5982855",
|
||||
"name": "插头",
|
||||
"font_class": "chatou",
|
||||
"unicode": "ec77",
|
||||
"unicode_decimal": 60535
|
||||
},
|
||||
{
|
||||
"icon_id": "6446344",
|
||||
"name": "方块",
|
||||
"font_class": "tianchongxing-",
|
||||
"unicode": "e645",
|
||||
"unicode_decimal": 58949
|
||||
},
|
||||
{
|
||||
"icon_id": "6510092",
|
||||
"name": "系统",
|
||||
"font_class": "xitong",
|
||||
"unicode": "e835",
|
||||
"unicode_decimal": 59445
|
||||
},
|
||||
{
|
||||
"icon_id": "7158008",
|
||||
"name": "查询",
|
||||
"font_class": "chaxun",
|
||||
"unicode": "e632",
|
||||
"unicode_decimal": 58930
|
||||
},
|
||||
{
|
||||
"icon_id": "7339805",
|
||||
"name": "实时抄表",
|
||||
"font_class": "shishichaobiao",
|
||||
"unicode": "e69f",
|
||||
"unicode_decimal": 59039
|
||||
},
|
||||
{
|
||||
"icon_id": "7339809",
|
||||
"name": "线损分析",
|
||||
"font_class": "xiansunfenxi",
|
||||
"unicode": "e6a0",
|
||||
"unicode_decimal": 59040
|
||||
},
|
||||
{
|
||||
"icon_id": "7638980",
|
||||
"name": "数据",
|
||||
"font_class": "shuju",
|
||||
"unicode": "e616",
|
||||
"unicode_decimal": 58902
|
||||
},
|
||||
{
|
||||
"icon_id": "7898737",
|
||||
"name": "数据分析-宝贝分析",
|
||||
"font_class": "shujufenxi-baobeifenxi",
|
||||
"unicode": "e600",
|
||||
"unicode_decimal": 58880
|
||||
},
|
||||
{
|
||||
"icon_id": "8487969",
|
||||
"name": "118评估",
|
||||
"font_class": "pinggu",
|
||||
"unicode": "e65a",
|
||||
"unicode_decimal": 58970
|
||||
},
|
||||
{
|
||||
"icon_id": "9060626",
|
||||
"name": "谷脊线",
|
||||
"font_class": "gujixian",
|
||||
"unicode": "e625",
|
||||
"unicode_decimal": 58917
|
||||
},
|
||||
{
|
||||
"icon_id": "9499384",
|
||||
"name": "监测",
|
||||
"font_class": "jiance",
|
||||
"unicode": "e605",
|
||||
"unicode_decimal": 58885
|
||||
},
|
||||
{
|
||||
"icon_id": "10268989",
|
||||
"name": "负荷",
|
||||
"font_class": "fuhe",
|
||||
"unicode": "e6a3",
|
||||
"unicode_decimal": 59043
|
||||
},
|
||||
{
|
||||
"icon_id": "10826652",
|
||||
"name": "业务预警",
|
||||
"font_class": "yewuyujing",
|
||||
"unicode": "e62c",
|
||||
"unicode_decimal": 58924
|
||||
},
|
||||
{
|
||||
"icon_id": "11187557",
|
||||
"name": "左侧菜单栏图标_ALG系统管理",
|
||||
"font_class": "zuocecaidanlantubiao_ALGxitongguanli",
|
||||
"unicode": "e606",
|
||||
"unicode_decimal": 58886
|
||||
},
|
||||
{
|
||||
"icon_id": "12931781",
|
||||
"name": "总览",
|
||||
"font_class": "zonglan",
|
||||
"unicode": "e6cd",
|
||||
"unicode_decimal": 59085
|
||||
},
|
||||
{
|
||||
"icon_id": "13645760",
|
||||
"name": "付费",
|
||||
"font_class": "fufei",
|
||||
"unicode": "e614",
|
||||
"unicode_decimal": 58900
|
||||
},
|
||||
{
|
||||
"icon_id": "14151204",
|
||||
"name": "配电",
|
||||
"font_class": "peidian",
|
||||
"unicode": "e62e",
|
||||
"unicode_decimal": 58926
|
||||
},
|
||||
{
|
||||
"icon_id": "14384447",
|
||||
"name": "价格走势",
|
||||
"font_class": "jiagezoushi",
|
||||
"unicode": "e638",
|
||||
"unicode_decimal": 58936
|
||||
},
|
||||
{
|
||||
"icon_id": "14512633",
|
||||
"name": "jrtb_03",
|
||||
"font_class": "jrtb_03",
|
||||
"unicode": "e61e",
|
||||
"unicode_decimal": 58910
|
||||
},
|
||||
{
|
||||
"icon_id": "15351663",
|
||||
"name": "运营管理",
|
||||
"font_class": "yunyingguanli",
|
||||
"unicode": "e62f",
|
||||
"unicode_decimal": 58927
|
||||
},
|
||||
{
|
||||
"icon_id": "15644348",
|
||||
"name": "雷电",
|
||||
"font_class": "leidian",
|
||||
"unicode": "e6c3",
|
||||
"unicode_decimal": 59075
|
||||
},
|
||||
{
|
||||
"icon_id": "16082913",
|
||||
"name": "视图",
|
||||
"font_class": "shitu",
|
||||
"unicode": "e68e",
|
||||
"unicode_decimal": 59022
|
||||
},
|
||||
{
|
||||
"icon_id": "17560052",
|
||||
"name": "能源数字化研究",
|
||||
"font_class": "nengyuanshuzihuayanjiu",
|
||||
"unicode": "e601",
|
||||
"unicode_decimal": 58881
|
||||
},
|
||||
{
|
||||
"icon_id": "17699576",
|
||||
"name": "shouye-1",
|
||||
"font_class": "shouye-1",
|
||||
"unicode": "e705",
|
||||
"unicode_decimal": 59141
|
||||
},
|
||||
{
|
||||
"icon_id": "17930624",
|
||||
"name": "测量工具",
|
||||
"font_class": "celianggongju",
|
||||
"unicode": "e604",
|
||||
"unicode_decimal": 58884
|
||||
},
|
||||
{
|
||||
"icon_id": "18863158",
|
||||
"name": "发布",
|
||||
"font_class": "fabu",
|
||||
"unicode": "e642",
|
||||
"unicode_decimal": 58946
|
||||
},
|
||||
{
|
||||
"icon_id": "19145075",
|
||||
"name": "预警看板",
|
||||
"font_class": "yujingkanban",
|
||||
"unicode": "e629",
|
||||
"unicode_decimal": 58921
|
||||
},
|
||||
{
|
||||
"icon_id": "20600817",
|
||||
"name": "警报",
|
||||
"font_class": "jingbao",
|
||||
"unicode": "e639",
|
||||
"unicode_decimal": 58937
|
||||
},
|
||||
{
|
||||
"icon_id": "21205818",
|
||||
"name": "tosboard",
|
||||
"font_class": "tosboard",
|
||||
"unicode": "e630",
|
||||
"unicode_decimal": 58928
|
||||
},
|
||||
{
|
||||
"icon_id": "21578050",
|
||||
"name": "icon-登录设备设置",
|
||||
"font_class": "icon-denglushebeishezhi",
|
||||
"unicode": "e602",
|
||||
"unicode_decimal": 58882
|
||||
},
|
||||
{
|
||||
"icon_id": "21843120",
|
||||
"name": "盘点",
|
||||
"font_class": "icon-supplierinventoryproposes",
|
||||
"unicode": "e694",
|
||||
"unicode_decimal": 59028
|
||||
},
|
||||
{
|
||||
"icon_id": "26868183",
|
||||
"name": "关于本站",
|
||||
"font_class": "icons8-group-64",
|
||||
"unicode": "e603",
|
||||
"unicode_decimal": 58883
|
||||
}
|
||||
]
|
||||
}
|
After Width: | Height: | Size: 94 KiB |
After Width: | Height: | Size: 76 KiB |
After Width: | Height: | Size: 598 B |
After Width: | Height: | Size: 505 B |
After Width: | Height: | Size: 340 B |
After Width: | Height: | Size: 336 B |
After Width: | Height: | Size: 1.9 KiB |
After Width: | Height: | Size: 6.1 KiB |
After Width: | Height: | Size: 2.8 KiB |
After Width: | Height: | Size: 4.1 KiB |
After Width: | Height: | Size: 3.9 KiB |
After Width: | Height: | Size: 2.5 KiB |
After Width: | Height: | Size: 3.9 KiB |
After Width: | Height: | Size: 2.5 KiB |
After Width: | Height: | Size: 4.0 KiB |
After Width: | Height: | Size: 2.6 KiB |
After Width: | Height: | Size: 3.9 KiB |
After Width: | Height: | Size: 2.5 KiB |
After Width: | Height: | Size: 3.2 KiB |
After Width: | Height: | Size: 2.0 KiB |
After Width: | Height: | Size: 2.7 KiB |
After Width: | Height: | Size: 2.2 KiB |
After Width: | Height: | Size: 3.2 KiB |
After Width: | Height: | Size: 2.0 KiB |
After Width: | Height: | Size: 3.7 KiB |
After Width: | Height: | Size: 2.4 KiB |
After Width: | Height: | Size: 3.8 KiB |
After Width: | Height: | Size: 2.4 KiB |
After Width: | Height: | Size: 3.3 KiB |
After Width: | Height: | Size: 2.1 KiB |
After Width: | Height: | Size: 2.5 KiB |
After Width: | Height: | Size: 1.9 KiB |
|
@ -0,0 +1,168 @@
|
|||
<script setup lang="ts">
|
||||
import mock from '../../../mock/menu/index.ts'
|
||||
|
||||
import { ref, onMounted, watchEffect } from 'vue'
|
||||
import router from '@/router'
|
||||
|
||||
import { Location } from '@element-plus/icons-vue'
|
||||
|
||||
import { useRoute } from 'vue-router'
|
||||
import { storeToRefs } from 'pinia'
|
||||
import { useAsideStore } from '@/stores/aside'
|
||||
import { useTabsStore } from '@/stores/tabs'
|
||||
|
||||
const { handleTabsAdd } = useTabsStore()
|
||||
// 侧边栏仓库
|
||||
const { isLeftIcon } = storeToRefs(useAsideStore())
|
||||
// 侧边栏是否折叠
|
||||
// const isCollapse = ref(false)
|
||||
|
||||
const isCollapse = ref(false)
|
||||
|
||||
const handleOpen = (key: string, keyPath: string[]) => {
|
||||
console.log(key, keyPath)
|
||||
}
|
||||
|
||||
const handleClose = (key: string, keyPath: string[]) => {
|
||||
console.log(key, keyPath)
|
||||
}
|
||||
|
||||
// 菜单切换
|
||||
let w = ref<number>(document.documentElement.clientWidth)
|
||||
const onresize = () => {
|
||||
w.value = document.documentElement.clientWidth
|
||||
if (w.value <= 990 && isLeftIcon.value) {
|
||||
isLeftIcon.value = !isLeftIcon.value
|
||||
// console.log(isLeftIcon)
|
||||
}
|
||||
}
|
||||
onresize()
|
||||
|
||||
window.addEventListener('resize', onresize)
|
||||
|
||||
const defaultActive = ref('5-2')
|
||||
|
||||
const onMenuClick = (twoItem: any) => {
|
||||
// router.push(twoItem.path)
|
||||
handleTabsAdd({
|
||||
path: twoItem.path,
|
||||
label: twoItem.meta.title
|
||||
})
|
||||
localStorage.setItem('lujing', JSON.stringify({ path: twoItem.path, label: twoItem.meta.title }))
|
||||
}
|
||||
const defaultMenuActive = ref('5-2')
|
||||
const route = useRoute()
|
||||
watchEffect(() => {
|
||||
mock.forEach((firstItem: any, firstI: number) => {
|
||||
// console.log(firstItem);
|
||||
|
||||
if (firstItem.children) {
|
||||
firstItem.children.forEach((twoItem: any, twoI: number) => {
|
||||
// console.log(twoItem.path);
|
||||
|
||||
// console.log(twoItem.path, `${firstI}-${twoI}`)
|
||||
|
||||
// 当前的 和 所有的二级挨个对比
|
||||
if (route.path === twoItem.path) {
|
||||
defaultMenuActive.value = `${firstI}-${twoI}`
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
onMounted(() => {})
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div
|
||||
:class="{
|
||||
menuMobileBg: true,
|
||||
menuMobileBgClose: !isLeftIcon
|
||||
}"
|
||||
@click="isLeftIcon = false"
|
||||
></div>
|
||||
<aside
|
||||
:class="{
|
||||
menu: true,
|
||||
menuMobile: true,
|
||||
menuMobileClose: !isLeftIcon
|
||||
}"
|
||||
:style="{ width: `${isLeftIcon ? 210 : 64}px` }"
|
||||
>
|
||||
<el-menu
|
||||
:default-active="defaultMenuActive"
|
||||
class="el-menu-vertical-demo"
|
||||
@open="handleOpen"
|
||||
@close="handleClose"
|
||||
text-color="black"
|
||||
:collapse="!isLeftIcon"
|
||||
:collapse-transition="false"
|
||||
:unique-opened="true"
|
||||
>
|
||||
<template v-for="(firstitem, firsti) in mock" :key="firsti">
|
||||
<el-sub-menu :index="String(firsti)">
|
||||
<template #title>
|
||||
<i :class="['iconfont', firstitem.meta.icon]"></i>
|
||||
<span>{{ firstitem.meta.title }}</span>
|
||||
</template>
|
||||
<el-menu-item
|
||||
v-for="(twoitem, twoi) in firstitem.children"
|
||||
:index="`${firsti}-${twoi}`"
|
||||
:key="twoi"
|
||||
@click="onMenuClick(twoitem)"
|
||||
v-show="!twoitem.children"
|
||||
>
|
||||
<template #title>
|
||||
<i :class="['iconfont', twoitem.meta.icon]"></i>
|
||||
<span>{{ twoitem.meta.title }}</span>
|
||||
</template>
|
||||
<!-- <i :class="['iconfont', twoitem.meta.icon]"></i>
|
||||
|
||||
<span>{{ twoitem.meta.title }}</span> -->
|
||||
</el-menu-item>
|
||||
<template v-for="(twoitem, twoi) in firstitem.children" :key="twoi">
|
||||
<el-sub-menu v-show="twoitem.children" :index="`${firsti}-${twoi}`">
|
||||
<template #title>{{ twoitem.meta.title }}</template>
|
||||
<el-menu-item
|
||||
v-for="(threeitem, threei) in twoitem.children"
|
||||
:key="threei"
|
||||
:index="`${firsti}-${twoi}-${threei}`"
|
||||
@click="onMenuClick(threeitem)"
|
||||
>{{ threeitem.meta.title }}</el-menu-item
|
||||
>
|
||||
</el-sub-menu>
|
||||
</template>
|
||||
</el-sub-menu>
|
||||
</template>
|
||||
</el-menu>
|
||||
</aside>
|
||||
</template>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
aside {
|
||||
width: 150px;
|
||||
height: 100%;
|
||||
transition: width 0.3s;
|
||||
overflow:scroll;
|
||||
.el-menu {
|
||||
border: none;
|
||||
.iconfont {
|
||||
font-size: 18px;
|
||||
margin: 0 8px;
|
||||
color: #ccc;
|
||||
}
|
||||
}
|
||||
// .el-menu .iconfont[data-v-42ce06ec]
|
||||
}
|
||||
.el-sub-menu__title *{
|
||||
color:#837f7f!important;
|
||||
}
|
||||
.el-menu-item *{
|
||||
color:#837f7f;
|
||||
}
|
||||
.el-sub-menu .el-menu-item{
|
||||
color:#837f7f
|
||||
}
|
||||
|
||||
</style>
|
|
@ -0,0 +1,54 @@
|
|||
<script setup lang="ts">
|
||||
// 导入类型、组件、接口、模块
|
||||
import { useTabsStore } from '@/stores/tabs'
|
||||
|
||||
import { storeToRefs } from 'pinia'
|
||||
|
||||
const tabsStore = useTabsStore()
|
||||
const { tabs, tabsName } = storeToRefs(tabsStore)
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<section class="tabs">
|
||||
<div class="l">
|
||||
<el-tabs v-model="tabsName" type="card" closable @tab-remove="tabsStore.handleTabsDelete">
|
||||
<el-tab-pane v-for="(item, i) in tabs" :key="i" :label="item.label" :name="item.path"></el-tab-pane>
|
||||
</el-tabs>
|
||||
</div>
|
||||
</section>
|
||||
</template>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.tabs {
|
||||
width: 100%;
|
||||
height: 40px;
|
||||
background-color: #fff;
|
||||
box-sizing: border-box;
|
||||
padding: 0 10px;
|
||||
box-shadow: 0 1px 4px #00152914;
|
||||
|
||||
display: flex;
|
||||
|
||||
.l {
|
||||
flex: 1;
|
||||
overflow: hidden;
|
||||
|
||||
:deep(.el-tabs--card > .el-tabs__header .el-tabs__nav) {
|
||||
border: none;
|
||||
}
|
||||
:deep(.el-tabs--card > .el-tabs__header .el-tabs__item) {
|
||||
color: #ccc;
|
||||
border: none;
|
||||
}
|
||||
:deep(.el-tabs--card > .el-tabs__header .el-tabs__item.is-active) {
|
||||
color: #409eff;
|
||||
border-bottom: 2px solid #409eff !important;
|
||||
}
|
||||
}
|
||||
.r {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
}
|
||||
</style>
|
|
@ -0,0 +1,87 @@
|
|||
<script setup lang="ts">
|
||||
import Menu from './components/menu.vue'
|
||||
import Tabs from './components/tabs.vue'
|
||||
|
||||
</script>
|
||||
|
||||
<template>
|
||||
|
||||
<div class="layout" >
|
||||
<!-- 图标 -->
|
||||
<div class="gap">
|
||||
<img src="../assets/img/qiu.png" alt="" />
|
||||
<p>用采2.0</p>
|
||||
</div>
|
||||
|
||||
<!-- 图标 -->
|
||||
|
||||
<!-- 侧边栏 -->
|
||||
<Menu />
|
||||
<!-- 侧边栏 -->
|
||||
|
||||
<!-- 主体 -->
|
||||
<div class="section">
|
||||
<header>
|
||||
<!-- <Tabs /> -->
|
||||
</header>
|
||||
<main>
|
||||
<router-view></router-view>
|
||||
</main>
|
||||
<footer></footer>
|
||||
</div>
|
||||
<!-- 主体 -->
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.layout {
|
||||
height: 100%;
|
||||
display: flex;
|
||||
|
||||
.gap {
|
||||
height: 100%;
|
||||
background-color: #05b8fa;
|
||||
img {
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
margin-left: 12px;
|
||||
margin-top: 10px;
|
||||
}
|
||||
p {
|
||||
font-size: 10px;
|
||||
color: #c2ffff;
|
||||
padding-left: 2px;
|
||||
}
|
||||
}
|
||||
|
||||
.section {
|
||||
flex: 1;
|
||||
background-color: #f0f2f5;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
overflow-y: scroll;
|
||||
overflow-x: hidden;
|
||||
// header {
|
||||
// height: 40px;
|
||||
// width: 100%;
|
||||
// background-color: rgb(255, 146, 127);
|
||||
// position: fixed;
|
||||
// top: 0;
|
||||
// z-index: 20;
|
||||
// }
|
||||
|
||||
main {
|
||||
// width: calc(100vw - 275px);
|
||||
box-sizing: border-box;
|
||||
// margin-top: 40px;
|
||||
flex: 1;
|
||||
// padding-left: 50px;
|
||||
// padding-right: 50px;
|
||||
// background-color: #ebf8ff;
|
||||
// background-image: url(../assets/img/bg.png);
|
||||
// background-position: center center;
|
||||
// background-repeat: no-repeat;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
|
@ -0,0 +1,15 @@
|
|||
import { createApp } from 'vue'
|
||||
import { createPinia } from 'pinia'
|
||||
|
||||
import App from './App.vue'
|
||||
import router from './router'
|
||||
import'./assets/icon-font/iconfont.css'
|
||||
|
||||
|
||||
|
||||
const app = createApp(App)
|
||||
|
||||
app.use(createPinia())
|
||||
app.use(router)
|
||||
|
||||
app.mount('#app')
|
|
@ -0,0 +1 @@
|
|||
declare module 'element-plus'
|
|
@ -0,0 +1,289 @@
|
|||
import { createRouter, createWebHistory } from 'vue-router'
|
||||
|
||||
const router = createRouter({
|
||||
history: createWebHistory(import.meta.env.BASE_URL),
|
||||
routes: [
|
||||
{
|
||||
path: '/',
|
||||
component: () => import('@/layout/index.vue'),
|
||||
children: [
|
||||
{
|
||||
path: '/',
|
||||
alias: '/xxjk/xxfx',
|
||||
component: () => import('@/views/xxjk/xxfx/index.vue'),
|
||||
meta: { name1: '线损监控', name2: '线损分析' }
|
||||
},
|
||||
|
||||
{
|
||||
path: '/xxjk/xxcx',
|
||||
component: () => import('@/views/xxjk/xxcx/index.vue'),
|
||||
meta: { name1: '线损监控', name2: '线损查询' }
|
||||
},
|
||||
// {
|
||||
// path: '/',
|
||||
// alias: '/xxjk/xxcx2',
|
||||
// component: () => import('@/views/xxjk/xxjk/newpage.vue'),
|
||||
// meta: { name1: '线损监控', name2: '线损查询详情' }
|
||||
// },
|
||||
{
|
||||
path: '/xxjk/mxgl',
|
||||
component: () => import('@/views/xxjk/mxgl/index.vue'),
|
||||
meta: { name1: '线损监控', name2: '模型管理' }
|
||||
},
|
||||
{
|
||||
path: '/xxjk/fzgl',
|
||||
component: () => import('@/views/xxjk/fzgl/index.vue'),
|
||||
meta: { name1: '线损监控', name2: '赋值管理' }
|
||||
},
|
||||
{
|
||||
path: '/xxjk/newpage',
|
||||
component: () => import('@/views/xxjk/xxcx/newpage.vue'),
|
||||
meta: { name1: '线损监控', name2: '新的页面2' }
|
||||
},
|
||||
|
||||
{
|
||||
path: '/jlyx/sjfx',
|
||||
component: () => import('@/views/jlyx/sjfx/index.vue'),
|
||||
meta: { name1: '数据分析', name2: '数据分析' }
|
||||
},
|
||||
{
|
||||
path: '/jlyx/tjpj',
|
||||
component: () => import('@/views/jlyx/tjpj/index.vue'),
|
||||
meta: { name1: '计量运行监测', name2: '统计评价' }
|
||||
},
|
||||
|
||||
{
|
||||
path: '/cate/cjyx',
|
||||
component: () => import('@/views/cate/cjyx/index.vue'),
|
||||
meta: { name1: '计量运行监测', name2: '采集运行总览' }
|
||||
},
|
||||
{
|
||||
path: '/cate/sbyx',
|
||||
component: () => import('@/views/cate/sbyx/index.vue'),
|
||||
meta: { name1: '采集运维', name2: '设备运行监控' }
|
||||
},
|
||||
{
|
||||
path: '/cate/cjyw',
|
||||
component: () => import('@/views/cate/cjyw/index.vue'),
|
||||
meta: { name1: '采集运维', name2: '采集运维闭环管理' }
|
||||
},
|
||||
{
|
||||
path: '/',
|
||||
alias: '/cate/sbts',
|
||||
component: () => import('@/views/cate/sbts/index.vue'),
|
||||
meta: { name1: '采集运维', name2: '设备调试管理' }
|
||||
},
|
||||
{
|
||||
path: '/cate/tjfx',
|
||||
component: () => import('@/views/cate/tjfx/index.vue'),
|
||||
meta: { name1: '采集运维', name2: '统计分析' }
|
||||
},
|
||||
{
|
||||
path: '/cate/lhfl',
|
||||
component: () => import('@/views/cate/lhfl/index.vue'),
|
||||
meta: { name1: '采集运维', name2: '灵活费率采集监控' }
|
||||
},
|
||||
{
|
||||
path: '/cate/dygl',
|
||||
component: () => import('@/views/cate/dygl/index.vue'),
|
||||
meta: { name1: '采集运维', name2: 'BC类供电电压管理' }
|
||||
},
|
||||
{
|
||||
path: '/cate/zxsj',
|
||||
component: () => import('@/views/cate/zxsj/index.vue'),
|
||||
meta: { name1: '采集运维', name2: '专线数据管理' }
|
||||
},
|
||||
{
|
||||
path: '/cate/fljk',
|
||||
component: () => import('@/views/cate/fljk/index.vue'),
|
||||
meta: { name1: '采集运维', name2: '脉冲分路监控' }
|
||||
},
|
||||
|
||||
{
|
||||
path: '/store/sjzl',
|
||||
component: () => import('@/views/store/sjzl/index.vue'),
|
||||
meta: { name1: '抄表发布', name2: '数据总览' }
|
||||
},
|
||||
{
|
||||
path: '/store/sjfb',
|
||||
component: () => import('@/views/store/sjfb/index.vue'),
|
||||
meta: { name1: '抄表发布', name2: '数据发布管理' }
|
||||
},
|
||||
|
||||
{
|
||||
path: '/fkjk/fkzk',
|
||||
component: () => import('@/views/fkjk/fkzk/index.vue'),
|
||||
meta: { name1: '费控监控', name2: '费控总览' }
|
||||
},
|
||||
{
|
||||
path: '/fkjk/bdzd',
|
||||
component: () => import('@/views/fkjk/bdzd/index.vue'),
|
||||
meta: { name1: '费控监控', name2: '本地自动复电分析' }
|
||||
},
|
||||
|
||||
{
|
||||
path: '/order/pdljzl',
|
||||
component: () => import('@/views/order/pdljzl/index.vue'),
|
||||
meta: { name1: '配电监控', name2: '配电监控总览' }
|
||||
},
|
||||
{
|
||||
path: '/order/pdfx',
|
||||
component: () => import('@/views/order/pdfx/index.vue'),
|
||||
meta: { name1: '配电监控', name2: '配电分析' }
|
||||
},
|
||||
{
|
||||
path: '/order/pdtj',
|
||||
component: () => import('@/views/order/pdtj/index.vue'),
|
||||
meta: { name1: '配电监控', name2: '配电统计' }
|
||||
},
|
||||
{
|
||||
path: '/order/ldyxjc',
|
||||
component: () => import('@/views/order/ldyxjc/index.vue'),
|
||||
meta: { name1: '配电监控', name2: '漏电流运行监测' }
|
||||
},
|
||||
{
|
||||
path: '/order/dtfx',
|
||||
component: () => import('@/views/order/dtfx/index.vue'),
|
||||
meta: { name1: '配电监控', name2: '停电分析' }
|
||||
},
|
||||
|
||||
{
|
||||
path: '/role/ydfxzl',
|
||||
component: () => import('@/views/role/ydfxzl/index.vue'),
|
||||
meta: { name1: '用电分析', name2: '用电分析总览' }
|
||||
},
|
||||
{
|
||||
path: '/role/dqydfx',
|
||||
component: () => import('@/views/role/dqydfx/index.vue'),
|
||||
meta: { name1: '用电分析', name2: '地区用电分析' }
|
||||
},
|
||||
{
|
||||
path: '/role/hydyfx',
|
||||
component: () => import('@/views/role/hydyfx/index.vue'),
|
||||
meta: { name1: '用电分析', name2: '行业用电分析' }
|
||||
},
|
||||
{
|
||||
path: '/role/jzpz',
|
||||
component: () => import('@/views/role/jzpz/index.vue'),
|
||||
meta: { name1: '用电分析', name2: '群组配置' }
|
||||
},
|
||||
{
|
||||
path: '/role/jzydfx',
|
||||
component: () => import('@/views/role/jzydfx/index.vue'),
|
||||
meta: { name1: '用电分析', name2: '群组用电分析' }
|
||||
},
|
||||
{
|
||||
path: '/role/shydfx',
|
||||
component: () => import('@/views/role/shydfx/index.vue'),
|
||||
meta: { name1: '用电分析', name2: '社会用电分析' }
|
||||
},
|
||||
|
||||
{
|
||||
path: '/auth/xjczl',
|
||||
component: () => import('@/views/auth/xjczl/index.vue'),
|
||||
meta: { name1: '用电监测', name2: '新用电监测总览' }
|
||||
},
|
||||
{
|
||||
path: '/auth/jczl',
|
||||
component: () => import('@/views/auth/jczl/index.vue'),
|
||||
meta: { name1: '用电监测', name2: '用电监测总览' }
|
||||
},
|
||||
{
|
||||
path: '/auth/ydyc',
|
||||
component: () => import('@/views/auth/ydyc/index.vue'),
|
||||
meta: { name1: '用电监测', name2: '用电异常统计' }
|
||||
},
|
||||
|
||||
{
|
||||
path: '/yxyd/yxydzl',
|
||||
component: () => import('@/views/yxyd/yxydzl/index.vue'),
|
||||
meta: { name1: '有序用电', name2: '有序用电总览' }
|
||||
},
|
||||
{
|
||||
path: '/yxyd/fagl',
|
||||
component: () => import('@/views/yxyd/fagl/index.vue'),
|
||||
meta: { name1: '有序用电', name2: '方案管理' }
|
||||
},
|
||||
{
|
||||
path: '/yxyd/xgpg',
|
||||
component: () => import('@/views/yxyd/xgpg/index.vue'),
|
||||
meta: { name1: '有序用电', name2: '效果评估' }
|
||||
},
|
||||
{
|
||||
path: '/yxyd/yccs',
|
||||
component: () => import('@/views/yxyd/yccs/index.vue'),
|
||||
meta: { name1: '有序用电', name2: '异常监测' }
|
||||
},
|
||||
{
|
||||
path: '/yxyd/fhbj',
|
||||
component: () => import('@/views/yxyd/fhbj/index.vue'),
|
||||
meta: { name1: '有序用电', name2: '负荷比较' }
|
||||
},
|
||||
{
|
||||
path: '/yxyd/fhcx',
|
||||
component: () => import('@/views/yxyd/fhcx/index.vue'),
|
||||
meta: { name1: '有序用电', name2: '负荷查询' }
|
||||
},
|
||||
{
|
||||
path: '/yxyd/sjtb',
|
||||
component: () => import('@/views/yxyd/sjtb/index.vue'),
|
||||
meta: { name1: '有序用电', name2: '数据同步' }
|
||||
},
|
||||
|
||||
{
|
||||
path: '/ztyy/gccyxjc',
|
||||
component: () => import('@/views/ztyy/gccyxjc/index.vue'),
|
||||
meta: { name1: '专题应用', name2: '光绪存运行监测' }
|
||||
},
|
||||
{
|
||||
path: '/ztyy/dyjc',
|
||||
component: () => import('@/views/ztyy/dyjc/index.vue'),
|
||||
meta: { name1: '专题应用', name2: '分布式电源监测' }
|
||||
},
|
||||
{
|
||||
path: '/ztyy/cdjc',
|
||||
component: () => import('@/views/ztyy/cdjc/index.vue'),
|
||||
meta: { name1: '专题应用', name2: '充电桩监测' }
|
||||
},
|
||||
|
||||
{
|
||||
path: '/auth/stzx/dbst',
|
||||
component: () => import('@/views/stzx/dbst/index.vue'),
|
||||
meta: { name1: '电表视图', name2: '电表视图' }
|
||||
},
|
||||
{
|
||||
path: '/auth/stzx/yhst',
|
||||
component: () => import('@/views/stzx/yhst/index.vue'),
|
||||
meta: { name1: '用户视图', name2: '用户视图' }
|
||||
},
|
||||
{
|
||||
path: '/auth/yyzx',
|
||||
component: () => import('@/views/auth/yyzx/index.vue'),
|
||||
meta: { name1: '视图中心', name2: '运营中心' }
|
||||
},
|
||||
{
|
||||
path: '/auth/stzx/bxst',
|
||||
component: () => import('@/views/stzx/bxst/index.vue'),
|
||||
meta: { name1: '视图中心', name2: '表箱视图' }
|
||||
},
|
||||
{
|
||||
path: '/auth/stzx/ztst',
|
||||
component: () => import('@/views/stzx/ztst/index.vue'),
|
||||
meta: { name1: '视图中心', name2: '终端视图' }
|
||||
},
|
||||
{
|
||||
path: '/auth/stzx/tqst',
|
||||
component: () => import('@/views/stzx/tqst/index.vue'),
|
||||
meta: { name1: '视图中心', name2: '台区视图' }
|
||||
},
|
||||
{
|
||||
path: '/auth/stzx/pbst',
|
||||
component: () => import('@/views/stzx/pbst/index.vue'),
|
||||
meta: { name1: '视图中心', name2: '表箱视图' }
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
})
|
||||
|
||||
export default router
|
|
@ -0,0 +1,8 @@
|
|||
import { defineStore } from 'pinia'
|
||||
import { ref } from 'vue'
|
||||
|
||||
export const useAsideStore = defineStore('aside', () => {
|
||||
const isLeftIcon = ref<boolean>(true)
|
||||
|
||||
return { isLeftIcon }
|
||||
})
|
|
@ -0,0 +1,12 @@
|
|||
import { ref, computed } from 'vue'
|
||||
import { defineStore } from 'pinia'
|
||||
|
||||
export const useCounterStore = defineStore('counter', () => {
|
||||
const count = ref(0)
|
||||
const doubleCount = computed(() => count.value * 2)
|
||||
function increment() {
|
||||
count.value++
|
||||
}
|
||||
|
||||
return { count, doubleCount, increment }
|
||||
})
|
|
@ -0,0 +1,13 @@
|
|||
import { ref } from 'vue'
|
||||
import { defineStore } from 'pinia'
|
||||
|
||||
export const userlogin1 = defineStore("login1",() => {
|
||||
const login1:any = ref({})
|
||||
function setlogin1 (ap:any) {
|
||||
login1.value = ap
|
||||
}
|
||||
return {
|
||||
login1,
|
||||
setlogin1
|
||||
}
|
||||
})
|
|
@ -0,0 +1,85 @@
|
|||
export interface Tabs {
|
||||
path: string
|
||||
label: string
|
||||
}
|
||||
|
||||
import router from '@/router'
|
||||
import { ElMessage } from 'element-plus'
|
||||
import { defineStore } from 'pinia'
|
||||
import { ref, reactive, watch } from 'vue'
|
||||
|
||||
// 全局变量
|
||||
|
||||
export const useTabsStore = defineStore('tabs', () => {
|
||||
|
||||
const tabss = JSON.parse(localStorage.getItem("lujing") as string) || {}
|
||||
|
||||
|
||||
const tabs = reactive<Tabs[]>([{ path: tabss.path? tabss.path: '/xsjk/xsfx', label: tabss.label?tabss.label:'线损分析' }])
|
||||
|
||||
const tabsName = ref(tabs[0].path)
|
||||
watch(tabsName, () => {
|
||||
router.push(tabsName.value)
|
||||
})
|
||||
|
||||
const handleTabsAdd = (row: Tabs) => {
|
||||
const findIndex = tabs.findIndex((item: Tabs) => {
|
||||
return item.path === row.path
|
||||
})
|
||||
if (findIndex === -1) tabs.push(row)
|
||||
|
||||
tabsName.value = row.path
|
||||
}
|
||||
|
||||
const handleTabsDelete = (path: string) => {
|
||||
|
||||
|
||||
tabs.forEach((item, i) => {
|
||||
if (path === item.path) {
|
||||
tabs.splice(i, 1)
|
||||
// 删除后跳转前一个
|
||||
tabsName.value = tabs[tabs.length - 1].path
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
const handleReload = () => {
|
||||
router.replace(tabsName.value)
|
||||
}
|
||||
|
||||
|
||||
|
||||
const handleCloseCurrent = () => {
|
||||
handleTabsDelete(tabsName.value)
|
||||
}
|
||||
|
||||
const handleCloseOther = () => {
|
||||
const tab: Tabs | undefined = tabs.find((item: Tabs) => {
|
||||
return tabsName.value === item.path
|
||||
})
|
||||
|
||||
if (tab) {
|
||||
tabs.splice(0, 9999999)
|
||||
tabs.push(tab)
|
||||
}
|
||||
}
|
||||
|
||||
const handleCloseAll = () => {
|
||||
tabs.splice(0, 9999999)
|
||||
// 保留跳转默认
|
||||
|
||||
tabs.push({ path: tabss.path, label: tabss.label })
|
||||
tabsName.value = tabss.path
|
||||
}
|
||||
|
||||
return {
|
||||
tabs,
|
||||
tabsName,
|
||||
handleTabsAdd,
|
||||
handleTabsDelete,
|
||||
handleReload,
|
||||
handleCloseCurrent,
|
||||
handleCloseOther,
|
||||
handleCloseAll
|
||||
}
|
||||
})
|
|
@ -0,0 +1,10 @@
|
|||
* {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
html,
|
||||
body,
|
||||
#app {
|
||||
height: 100%;
|
||||
}/*# sourceMappingURL=reset.css.map */
|
|
@ -0,0 +1 @@
|
|||
{"version":3,"sources":["reset.scss","reset.css"],"names":[],"mappings":"AAAA;EACI,UAAA;EACA,SAAA;ACCJ;;ADEA;;;EAGI,YAAA;ACCJ","file":"reset.css"}
|
|
@ -0,0 +1,10 @@
|
|||
* {
|
||||
padding:0;
|
||||
margin:0
|
||||
}
|
||||
|
||||
html,
|
||||
body,
|
||||
#app {
|
||||
height:100%;
|
||||
}
|
|
@ -0,0 +1,2 @@
|
|||
@charset "UTF-8";
|
||||
/* 颜色变量 *//*# sourceMappingURL=variables.css.map */
|
|
@ -0,0 +1 @@
|
|||
{"version":3,"sources":["variables.css","variables.scss"],"names":[],"mappings":"AAAA,gBAAgB;ACAhB,SAAA","file":"variables.css"}
|
|
@ -0,0 +1,19 @@
|
|||
/* 颜色变量 */
|
||||
|
||||
// 行为颜色
|
||||
$qf-color-primary: #007aff;
|
||||
$qf-color-success: #4cd964;
|
||||
$qf-color-warning: #f0ad4e;
|
||||
$qf-color-error: #dd524d;
|
||||
|
||||
// 文字颜色
|
||||
$qf-text-color:#eee;//基本色
|
||||
$qf-text-color-inverse:#fff;//反色
|
||||
$qf-text-color-grey:#999;//辅助灰色,如加载更多的提示信息
|
||||
$qf-text-color-placeholder: #808080;
|
||||
$qf-text-color-disable:#c0c0c0;
|
||||
|
||||
// 背景颜色
|
||||
$qf-bg-color: #2d3a4b;
|
||||
$qf-bg-color-mask:rgba(0, 0, 0, 0.4);//遮罩颜色
|
||||
$qf-bg-color-other:#f1f1f1;//点击状态颜色
|
|
@ -0,0 +1 @@
|
|||
declare module '~mock/*'
|
|
@ -0,0 +1 @@
|
|||
declare module "*.ts"
|
|
@ -0,0 +1,5 @@
|
|||
declare module '*.vue' {
|
||||
import { ComponentOptions } from 'vue'
|
||||
const componentOptions: ComponentOptions
|
||||
export default componentOptions
|
||||
}
|
|
@ -0,0 +1,68 @@
|
|||
// 导入Axios
|
||||
import type { AxiosInstance, AxiosRequestConfig, AxiosError, AxiosResponse } from 'axios'
|
||||
import axios from 'axios' // pnpm add axios
|
||||
import { config } from '@/assets/config';
|
||||
|
||||
const apiUrl = config.apiBaseUrl;
|
||||
|
||||
console.log('API Base URL:', apiUrl);
|
||||
// 创建axios实例
|
||||
const request: AxiosInstance = axios.create({
|
||||
//baseURL: 'http://24.47.182.209/Handler',
|
||||
//baseURL: 'http://24.47.177.195/Handler',
|
||||
// baseURL: 'http://172.16.1.254:10013/Handler',
|
||||
|
||||
baseURL: apiUrl,
|
||||
timeout: 60000,
|
||||
headers: {
|
||||
'content-type': 'application/x-www-form-urlencoded'
|
||||
}
|
||||
})
|
||||
|
||||
// // 拦截器request
|
||||
// request.interceptors.request.use(
|
||||
// (config) => {
|
||||
// const token =
|
||||
// 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoxLCJpYXQiOjE2ODcxNjAyNDB9.3KWLh4m6JJ3ZXFaC0ZUpF4VfMDLlaTnfkOI7bpXBv4s'
|
||||
// // localStorage.getItem('token') || '9201591ba0eb36c8abaea2854274f5082'
|
||||
// // config.headers.Authorization = token
|
||||
// config.headers['token'] = token
|
||||
// return config
|
||||
// },
|
||||
// (error: AxiosError) => {
|
||||
// return Promise.reject(error)
|
||||
// }
|
||||
// )
|
||||
// // 拦截器response
|
||||
// request.interceptors.response.use(
|
||||
// (response: AxiosResponse) => {
|
||||
// return response.data
|
||||
// },
|
||||
// (error: AxiosError) => {
|
||||
// return Promise.reject(error)
|
||||
// }
|
||||
// )
|
||||
|
||||
// 导出useAxios
|
||||
const get = <T = any>(url: string, params: object = {}, option: AxiosRequestConfig = {}): Promise<T> => {
|
||||
return request.get(url, { params, ...option })
|
||||
}
|
||||
|
||||
const del = <T = any>(url: string, params: object = {}, option: AxiosRequestConfig = {}): Promise<T> => {
|
||||
return request.delete(url, { params, ...option })
|
||||
}
|
||||
|
||||
const post = <T = any>(url: string, data: object = {}, option: AxiosRequestConfig = {}): Promise<T> => {
|
||||
return request.post(url, data, option)
|
||||
}
|
||||
|
||||
const put = <T = any>(url: string, data: object = {}, option: AxiosRequestConfig = {}): Promise<T> => {
|
||||
return request.put(url, data, option)
|
||||
}
|
||||
|
||||
export default {
|
||||
get,
|
||||
del,
|
||||
post,
|
||||
put
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
export const checkMobile = ( rule:any,value:string, callback:Function) => {
|
||||
if(/^1\d{10}$/.test(value) || !value){
|
||||
return callback()
|
||||
}else{
|
||||
return callback(new Error('手机格式有误'))
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 155 KiB |
After Width: | Height: | Size: 65 KiB |
After Width: | Height: | Size: 109 KiB |
After Width: | Height: | Size: 37 KiB |