Sfoglia il codice sorgente

基于风机发电量全寿命周期管控的研究与应用

SunZehao 10 mesi fa
parent
commit
42200150af
100 ha cambiato i file con 48592 aggiunte e 0 eliminazioni
  1. 4 0
      .browserslistrc
  2. 24 0
      .env.development
  3. 41 0
      .env.production
  4. 24 0
      .gitignore
  5. 21 0
      LICENSE
  6. 10 0
      auto-imports.d.ts
  7. 5 0
      babel.config.js
  8. 109 0
      components.d.ts
  9. 19 0
      jsconfig.json
  10. 18662 0
      package-lock.json
  11. 52 0
      package.json
  12. 14495 0
      public/Cesium.js
  13. BIN
      public/favicon.ico
  14. 28 0
      public/index.html
  15. 37 0
      public/static/config/modeConfig.js
  16. 27 0
      public/static/geoJson/db.json
  17. 10503 0
      public/static/geoJson/sx.json
  18. BIN
      public/static/glb/wp.glb
  19. BIN
      public/static/glb/wt.glb
  20. BIN
      public/static/img/markIcon.png
  21. 1311 0
      public/widgets.css
  22. 960 0
      src/App.vue
  23. 1136 0
      src/api/api.js
  24. 76 0
      src/api/gengra.js
  25. 36 0
      src/api/login.js
  26. 74 0
      src/api/report.js
  27. 13 0
      src/assets/css/eleCss/el-card.less
  28. 24 0
      src/assets/css/eleCss/el-dialogB.less
  29. 22 0
      src/assets/css/eleCss/el-dialogW.less
  30. 107 0
      src/assets/css/eleCss/el-input.less
  31. 165 0
      src/assets/css/eleCss/el-inputB.less
  32. 50 0
      src/assets/css/eleCss/el-pagination.less
  33. 234 0
      src/assets/css/eleCss/el-popper.less
  34. 91 0
      src/assets/css/eleCss/el-tableB.less
  35. 55 0
      src/assets/css/eleCss/el-tableW.less
  36. 30 0
      src/assets/css/eleCss/el-treeB.less
  37. 9 0
      src/assets/css/eleCss/el-treeW.less
  38. 25 0
      src/assets/css/eleCss/index.less
  39. 62 0
      src/assets/css/main.css
  40. 27 0
      src/assets/db.json
  41. BIN
      src/assets/iconNeed/iconFont.png
  42. BIN
      src/assets/images/base/404.png
  43. BIN
      src/assets/images/base/404_cloud.png
  44. BIN
      src/assets/images/headerCom/guanji.png
  45. BIN
      src/assets/images/headerCom/headerBack_B.png
  46. BIN
      src/assets/images/headerCom/headerBack_B1.png
  47. BIN
      src/assets/images/headerCom/headerBack_W.png
  48. BIN
      src/assets/images/headerCom/left_B.png
  49. BIN
      src/assets/images/headerCom/left_W.png
  50. BIN
      src/assets/images/headerCom/moon_B.png
  51. BIN
      src/assets/images/headerCom/moon_W.png
  52. BIN
      src/assets/images/headerCom/right_B.png
  53. BIN
      src/assets/images/headerCom/right_W.png
  54. BIN
      src/assets/images/headerCom/shezhi.png
  55. BIN
      src/assets/images/headerCom/sun_B.png
  56. BIN
      src/assets/images/headerCom/sun_W.png
  57. BIN
      src/assets/images/headerCom/zidongtianbao.png
  58. BIN
      src/assets/images/indexCom/backImg_B.png
  59. BIN
      src/assets/images/indexCom/backImg_W.png
  60. BIN
      src/assets/images/indexCom/dlBot1.png
  61. BIN
      src/assets/images/indexCom/dlBot2.png
  62. BIN
      src/assets/images/indexCom/dlTop1.png
  63. BIN
      src/assets/images/indexCom/dlTop2.png
  64. BIN
      src/assets/images/indexCom/fengji.png
  65. BIN
      src/assets/images/indexCom/fengjiBack.png
  66. BIN
      src/assets/images/indexCom/map_B.png
  67. BIN
      src/assets/images/indexCom/map_W.png
  68. BIN
      src/assets/images/indexCom/quan.png
  69. BIN
      src/assets/images/indexCom/sunshi.png
  70. BIN
      src/assets/images/indexCom/taiyangban.png
  71. BIN
      src/assets/images/indexCom/taiyangbanBack.png
  72. BIN
      src/assets/images/indexCom/tixing.png
  73. BIN
      src/assets/images/indexCom/wea_1.png
  74. BIN
      src/assets/images/indexCom/wea_2.png
  75. BIN
      src/assets/images/indexCom/wea_3.png
  76. BIN
      src/assets/images/indexCom/wea_4.png
  77. BIN
      src/assets/images/indexCom/wea_5.png
  78. BIN
      src/assets/images/indexCom/weatherW.png
  79. BIN
      src/assets/images/indexCom/zengfa.png
  80. BIN
      src/assets/images/left.png
  81. BIN
      src/assets/images/noData.png
  82. 24 0
      src/assets/jb.json
  83. BIN
      src/assets/logoGuo_DB.png
  84. BIN
      src/assets/menuImg/CSV.png
  85. BIN
      src/assets/menuImg/CSV_C.png
  86. BIN
      src/assets/menuImg/gener_agcfx.png
  87. BIN
      src/assets/menuImg/gener_dfpcfx.png
  88. BIN
      src/assets/menuImg/gener_fdsjcl.png
  89. BIN
      src/assets/menuImg/gener_fdsjzb.png
  90. BIN
      src/assets/menuImg/gener_fxbg.png
  91. BIN
      src/assets/menuImg/gener_glqxnhfx.png
  92. BIN
      src/assets/menuImg/gener_jjjfx.png
  93. BIN
      src/assets/menuImg/gener_mrlfx.png
  94. BIN
      src/assets/menuImg/gener_qxpclfx.png
  95. BIN
      src/assets/menuImg/gener_ssdlfx.png
  96. BIN
      src/assets/menuImg/gener_wdyglfx.png
  97. BIN
      src/assets/menuImg/gener_wgxzfx.png
  98. BIN
      src/assets/menuImg/header_dianyuan.png
  99. BIN
      src/assets/menuImg/header_shezhi.png
  100. 0 0
      src/assets/menuImg/header_wendang.png

+ 4 - 0
.browserslistrc

@@ -0,0 +1,4 @@
+> 1%
+last 2 versions
+not dead
+not ie 11

+ 24 - 0
.env.development

@@ -0,0 +1,24 @@
+# 开发环境配置
+NODE_ENV = 'development'
+
+# 页面标题
+VUE_APP_TITLE = '页面标题'
+
+# 开发环境/重写路径(公共路径)
+
+# 登录
+# VUE_APP_LOGIN_URL = 'http://123.60.219.66:48080'
+VUE_APP_LOGIN_URL = 'http://192.168.2.231:48080'
+
+# 发电能力分析
+# VUE_APP_GENERAT_URL = 'http://123.60.219.66:9002'
+VUE_APP_GENERAT_URL = 'http://192.168.2.231:9002'
+# 智能报表
+# VUE_APP_REPORT_URL = 'http://123.60.219.66:9001'
+VUE_APP_REPORT_URL = 'http://192.168.2.231:9001'
+# 功率预测
+# VUE_APP_BASE_URL = 'http://123.60.219.66:8086'
+VUE_APP_BASE_URL = 'http://192.168.2.126:8086'
+
+# 百度地图KEY
+VUE_APP_BAIDU_MAP_KEY = ''

+ 41 - 0
.env.production

@@ -0,0 +1,41 @@
+###
+ # @Date: 2023-06-18 11:10:52
+ # @LastEditors: zhubj
+ # @LastEditTime: 2023-06-18 11:20:49
+ # @Description: 头部注释
+ # @FilePath: \own-vue3-vuecli-template\.env.production
+### 
+# 生产环境配置
+NODE_ENV = 'production'
+
+# 页面标题
+VUE_APP_TITLE = '页面标题'
+
+# 登录
+# VUE_APP_LOGIN_URL = 'http://123.60.219.66:48080'
+# VUE_APP_LOGIN_URL = 'http://172.16.12.103:48080'
+VUE_APP_LOGIN_URL = 'http://192.168.2.231:48080'
+# VUE_APP_LOGIN_URL = 'http://localhost:48080'
+
+# 生产环境/重写路径(公共路径)
+
+# 发电能力分析
+# VUE_APP_GENERAT_URL = 'http://123.60.219.66:9002'
+# VUE_APP_GENERAT_URL = 'http://172.16.12.103:9002'
+VUE_APP_GENERAT_URL = 'http://192.168.2.231:9002'
+# VUE_APP_GENERAT_URL = 'http://localhost:9002'
+
+# 智能报表
+# VUE_APP_REPORT_URL = 'http://123.60.219.66:9001'
+# VUE_APP_REPORT_URL = 'http://172.16.12.103:9001'
+VUE_APP_REPORT_URL = 'http://192.168.2.231:9001'
+# VUE_APP_REPORT_URL = 'http://localhost:9001'
+
+# 功率预测
+# VUE_APP_BASE_URL = 'http://123.60.219.66:8086'
+# VUE_APP_BASE_URL = 'http://172.16.12.103:8086'
+VUE_APP_BASE_URL = 'http://192.168.2.231:8086'
+# VUE_APP_BASE_URL = 'http://localhost:8086'
+
+# 百度地图KEY
+VUE_APP_BAIDU_MAP_KEY = ''

+ 24 - 0
.gitignore

@@ -0,0 +1,24 @@
+.DS_Store
+node_modules
+/dist
+/.history/
+
+
+# local env files
+.env.local
+.env.*.local
+
+# Log files
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+pnpm-debug.log*
+
+# Editor directories and files
+.idea
+.vscode
+*.suo
+*.ntvs*
+*.njsproj
+*.sln
+*.sw?

+ 21 - 0
LICENSE

@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2023 往事随风
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.

+ 10 - 0
auto-imports.d.ts

@@ -0,0 +1,10 @@
+/* eslint-disable */
+/* prettier-ignore */
+// @ts-nocheck
+// noinspection JSUnusedGlobalSymbols
+// Generated by unplugin-auto-import
+export {}
+declare global {
+  const ElMessage: typeof import('element-plus/es')['ElMessage']
+  const ElMessageBox: typeof import('element-plus/es')['ElMessageBox']
+}

+ 5 - 0
babel.config.js

@@ -0,0 +1,5 @@
+module.exports = {
+  presets: [
+    '@vue/cli-plugin-babel/preset'
+  ]
+}

+ 109 - 0
components.d.ts

@@ -0,0 +1,109 @@
+/* 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 {
+    '2.5dEcharts': typeof import('./src/components/powerPredictionComponent/homePageAssembly/2.5dEcharts.vue')['default']
+    AllStationSettingPage: typeof import('./src/components/powerPredictionComponent/configPage/stationFlode/allStationSettingPage.vue')['default']
+    CalculationModelConfiguration: typeof import('./src/components/powerPredictionComponent/configPage/calculationModelConfiguration.vue')['default']
+    Col: typeof import('./src/components/homeComponent/grid/col.vue')['default']
+    CollectionLineManagement: typeof import('./src/components/powerPredictionComponent/configPage/stationFlode/collectionLineManagement.vue')['default']
+    CommonHeaders: typeof import('./src/components/commonHeaders.vue')['default']
+    ConfigurationDesign: typeof import('./src/components/powerPredictionComponent/configPage/configurationDesign.vue')['default']
+    DayBatterDialog: typeof import('./src/components/powerPredictionComponent/batteryDivinerDialog/dayBatterDialog.vue')['default']
+    EchartsGauge: typeof import('./src/components/homeComponent/echartsGauge.vue')['default']
+    EchartsGaugeComponent: typeof import('./src/components/homeComponent/echartsGaugeComponent.vue')['default']
+    EchartsPie: typeof import('./src/components/homeComponent/echartsPie.vue')['default']
+    EchartsPie2: typeof import('./src/components/homeComponent/echartsPie2.vue')['default']
+    ElButton: typeof import('element-plus/es')['ElButton']
+    ElCheckbox: typeof import('element-plus/es')['ElCheckbox']
+    ElCheckboxGroup: typeof import('element-plus/es')['ElCheckboxGroup']
+    ElCol: typeof import('element-plus/es')['ElCol']
+    ElContainer: typeof import('element-plus/es')['ElContainer']
+    ElDatePicker: typeof import('element-plus/es')['ElDatePicker']
+    ElDialog: typeof import('element-plus/es')['ElDialog']
+    ElDivider: typeof import('element-plus/es')['ElDivider']
+    ElDropdown: typeof import('element-plus/es')['ElDropdown']
+    ElDropdownItem: typeof import('element-plus/es')['ElDropdownItem']
+    ElDropdownMenu: typeof import('element-plus/es')['ElDropdownMenu']
+    ElEmpty: typeof import('element-plus/es')['ElEmpty']
+    ElForm: typeof import('element-plus/es')['ElForm']
+    ElFormItem: typeof import('element-plus/es')['ElFormItem']
+    ElHeader: typeof import('element-plus/es')['ElHeader']
+    ElIcon: typeof import('element-plus/es')['ElIcon']
+    ElInput: typeof import('element-plus/es')['ElInput']
+    ElInputNumber: typeof import('element-plus/es')['ElInputNumber']
+    ElMenu: typeof import('element-plus/es')['ElMenu']
+    ElMenuItem: typeof import('element-plus/es')['ElMenuItem']
+    ElMenuItemGroup: typeof import('element-plus/es')['ElMenuItemGroup']
+    ElOption: typeof import('element-plus/es')['ElOption']
+    ElProgress: typeof import('element-plus/es')['ElProgress']
+    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']
+    ElScrollbar: typeof import('element-plus/es')['ElScrollbar']
+    ElSelect: typeof import('element-plus/es')['ElSelect']
+    ElSubMenu: typeof import('element-plus/es')['ElSubMenu']
+    ElSwitch: typeof import('element-plus/es')['ElSwitch']
+    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']
+    ElTimeSelect: typeof import('element-plus/es')['ElTimeSelect']
+    ElTooltip: typeof import('element-plus/es')['ElTooltip']
+    ElTree: typeof import('element-plus/es')['ElTree']
+    Excel: typeof import('./src/components/generatingCapacityComponent/excel.vue')['default']
+    ForecastBarComponent: typeof import('./src/components/homeComponent/forecastBarComponent.vue')['default']
+    ForecastReporting: typeof import('./src/components/powerPredictionComponent/configPage/forecastReporting.vue')['default']
+    GenerationPlan: typeof import('./src/components/powerPredictionComponent/configPage/generationPlan.vue')['default']
+    GlobalDialogPage: typeof import('./src/components/powerPredictionComponent/homePageAssembly/globalDialogPage.vue')['default']
+    ImportDailog: typeof import('./src/components/powerPredictionComponent/configPage/importPage/importDailog.vue')['default']
+    KMap: typeof import('./src/components/generatingCapacityComponent/kMap/index.vue')['default']
+    MenuManagement: typeof import('./src/components/powerPredictionComponent/configPage/menuManagement.vue')['default']
+    MenuTreeconfig: typeof import('./src/components/menuTreeconfig.vue')['default']
+    MHS: typeof import('./src/components/powerPredictionComponent/configPage/configDesignVue/MHS.vue')['default']
+    MLiu: typeof import('./src/components/powerPredictionComponent/configPage/configDesignVue/MLiu.vue')['default']
+    MonthAndYearBatterDialog: typeof import('./src/components/powerPredictionComponent/batteryDivinerDialog/monthAndYearBatterDialog.vue')['default']
+    NSS: typeof import('./src/components/powerPredictionComponent/configPage/configDesignVue/NSS.vue')['default']
+    NumericalWeatherForecast: typeof import('./src/components/powerPredictionComponent/configPage/numericalWeatherForecast.vue')['default']
+    Nwu: typeof import('./src/components/powerPredictionComponent/configPage/configDesignVue/Nwu.vue')['default']
+    Overview: typeof import('./src/components/powerPredictionComponent/configPage/Overview.vue')['default']
+    PanoramaPowerDialogPage: typeof import('./src/components/powerPredictionComponent/panoramicPowerDialog/panoramaPowerDialogPage.vue')['default']
+    PeriodManagement: typeof import('./src/components/powerPredictionComponent/configPage/stationFlode/periodManagement.vue')['default']
+    PersonManagement: typeof import('./src/components/powerPredictionComponent/configPage/personManagement.vue')['default']
+    PersonnelRole: typeof import('./src/components/powerPredictionComponent/configPage/personnelRole.vue')['default']
+    PredictionDialogPage: typeof import('./src/components/powerPredictionComponent/powerPredictionDialog/predictionDialogPage.vue')['default']
+    PreviewPicture: typeof import('./src/components/powerPredictionComponent/configPage/configDesignVue/previewPicture.vue')['default']
+    QS: typeof import('./src/components/powerPredictionComponent/configPage/configDesignVue/QS.vue')['default']
+    RegionalManagement: typeof import('./src/components/powerPredictionComponent/configPage/regionalManagement.vue')['default']
+    RightMenu: typeof import('./src/components/generatingCapacityComponent/kMap/rightMenu.vue')['default']
+    RoleManagement: typeof import('./src/components/powerPredictionComponent/configPage/roleManagement.vue')['default']
+    RouterLink: typeof import('vue-router')['RouterLink']
+    RouterView: typeof import('vue-router')['RouterView']
+    Row: typeof import('./src/components/homeComponent/grid/row.vue')['default']
+    SBQ: typeof import('./src/components/powerPredictionComponent/configPage/configDesignVue/SBQ.vue')['default']
+    SLiu: typeof import('./src/components/powerPredictionComponent/configPage/configDesignVue/SLiu.vue')['default']
+    StandardizeTheManagement: typeof import('./src/components/powerPredictionComponent/configPage/standardizeTheManagement.vue')['default']
+    StationManagement: typeof import('./src/components/powerPredictionComponent/configPage/stationFlode/stationManagement.vue')['default']
+    StationPowerMeasurementPoint: typeof import('./src/components/powerPredictionComponent/configPage/stationPowerMeasurementPoint.vue')['default']
+    SubmitBtn: typeof import('./src/components/generatingCapacityComponent/SubmitBtn.vue')['default']
+    SvgIcon: typeof import('./src/components/powerPredictionComponent/svgIcon/index.vue')['default']
+    SvgPageShow: typeof import('./src/components/powerPredictionComponent/powerControlSvg/svgPageShow.vue')['default']
+    Table: typeof import('./src/components/generatingCapacityComponent/table.vue')['default']
+    Tree: typeof import('./src/components/generatingCapacityComponent/tree.vue')['default']
+    TreeStyle: typeof import('./src/components/generatingCapacityComponent/treeStyle.vue')['default']
+    UnitManagement: typeof import('./src/components/powerPredictionComponent/configPage/unitManagement.vue')['default']
+    UnitMeasurementPoint: typeof import('./src/components/powerPredictionComponent/configPage/unitMeasurementPoint.vue')['default']
+    WeatherDetail: typeof import('./src/components/powerPredictionComponent/homePageAssembly/weatherDetail.vue')['default']
+    XLiu: typeof import('./src/components/powerPredictionComponent/configPage/configDesignVue/XLiu.vue')['default']
+    XS: typeof import('./src/components/powerPredictionComponent/configPage/configDesignVue/XS.vue')['default']
+  }
+  export interface ComponentCustomProperties {
+    vLoading: typeof import('element-plus/es')['ElLoadingDirective']
+  }
+}

+ 19 - 0
jsconfig.json

@@ -0,0 +1,19 @@
+{
+  "compilerOptions": {
+    "target": "es5",
+    "module": "esnext",
+    "baseUrl": "./",
+    "moduleResolution": "node",
+    "paths": {
+      "@/*": [
+        "src/*"
+      ]
+    },
+    "lib": [
+      "esnext",
+      "dom",
+      "dom.iterable",
+      "scripthost"
+    ]
+  }
+}

File diff suppressed because it is too large
+ 18662 - 0
package-lock.json


+ 52 - 0
package.json

@@ -0,0 +1,52 @@
+{
+  "name": "windLifecontrolPro",
+  "version": "0.1.0",
+  "private": true,
+  "scripts": {
+    "serve": "vue-cli-service serve",
+    "build": "vue-cli-service build"
+  },
+  "dependencies": {
+    "@amap/amap-jsapi-loader": "^1.0.1",
+    "@element-plus/icons-vue": "^2.0.10",
+    "axios": "^0.21.1",
+    "core-js": "^3.8.3",
+    "echarts": "^5.3.2",
+    "element-plus": "^2.3.6",
+    "exceljs": "^4.3.0",
+    "file-saver": "^2.0.5",
+    "html2canvas": "^1.4.1",
+    "js-cookie": "^3.0.5",
+    "jspdf": "^2.5.1",
+    "leaflet": "^1.9.4",
+    "leaflet-canvas-marker": "^0.2.0",
+    "leaflet-contextmenu": "^1.4.0",
+    "leaflet-tilelayer-wmts": "^1.0.0",
+    "leaflet.wmts": "^1.0.2",
+    "nprogress": "^0.2.0",
+    "typescript": "^5.3.3",
+    "vue": "^3.2.13",
+    "vue-router": "^4.0.3",
+    "vuedraggable": "^4.1.0",
+    "vuex": "^4.0.0",
+    "xlsx": "^0.17.1",
+    "xlsx-js-style": "^1.2.0",
+    "xlsx-style": "^0.8.13"
+  },
+  "devDependencies": {
+    "@vue/cli-plugin-babel": "~5.0.0",
+    "@vue/cli-plugin-router": "~5.0.0",
+    "@vue/cli-plugin-vuex": "~5.0.0",
+    "@vue/cli-service": "~5.0.0",
+    "cesium": "^1.110.1",
+    "eslint": "^7.32.0",
+    "eslint-plugin-vue": "^8.0.3",
+    "compression-webpack-plugin": "^10.0.0",
+    "less": "^3.9.0",
+    "less-loader": "^5.0.0",
+    "sass": "^1.32.7",
+    "sass-loader": "^12.0.0",
+    "unplugin-auto-import": "^0.16.4",
+    "unplugin-vue-components": "^0.25.1"
+  }
+}

File diff suppressed because it is too large
+ 14495 - 0
public/Cesium.js


BIN
public/favicon.ico


+ 28 - 0
public/index.html

@@ -0,0 +1,28 @@
+<!--
+ * @Date: 2023-06-18 10:09:15
+ * @LastEditors: zhubj
+ * @LastEditTime: 2023-06-18 11:23:46
+ * @Description: 头部注释
+ * @FilePath: \own-vue3-vuecli-template\public\index.html
+-->
+<!DOCTYPE html>
+<html lang="">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width,initial-scale=1.0">
+    <link rel="icon" href="<%= BASE_URL %>favicon.ico">
+    <link rel="stylesheet" href="./widgets.css">
+    <link href="https://cdn.bootcdn.net/ajax/libs/leaflet/1.7.1/leaflet.min.css" rel="stylesheet">
+    <link href="https://cdn.bootcdn.net/ajax/libs/leaflet-contextmenu/1.4.0/leaflet.contextmenu.css" rel="stylesheet">
+    <title><%= htmlWebpackPlugin.options.title %></title>
+  </head>
+  <body>
+    <noscript>
+      <strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
+    </noscript>
+    <div id="app"></div>
+    <!-- built files will be auto injected -->
+  </body>
+  <script src="./Cesium.js"></script>
+</html>

+ 37 - 0
public/static/config/modeConfig.js

@@ -0,0 +1,37 @@
+// 本地联调开关
+const localTest = false;
+
+// 服务器地址
+let baseURL = "/current/" // 正式环境
+
+// websocket 服务器地址
+let websocketUrl = null;
+
+// 3D 地球瓦片路径
+let tilesUrl = null;
+// 3D 地球最大支持放大到多少级
+const tilesMaxLevel = 18;
+
+// 适配器地址
+// const adapterUrl = "http://10.155.32.4:8011/";
+
+// 切换模块时是否提示当前模块名称(用于对内介绍项目时便捷显示模块名称)
+const showModuleName = 0;
+
+// if (localTest) {
+//     baseURL = "http://192.168.10.8:9002/" // 联机调试 
+// } else {
+//     baseURL = "http://10.155.32.14:9002/" // 正式环境
+    
+// }
+
+websocketUrl = (baseURL.replace(/http:\/\/|https:\/\//g, "")) + "gyee-websocket";
+
+window.__MODE__ = {
+    baseURL,
+    websocketUrl,
+    // adapterUrl,
+    tilesUrl,
+    tilesMaxLevel,
+    showModuleName
+};

File diff suppressed because it is too large
+ 27 - 0
public/static/geoJson/db.json


File diff suppressed because it is too large
+ 10503 - 0
public/static/geoJson/sx.json


BIN
public/static/glb/wp.glb


BIN
public/static/glb/wt.glb


BIN
public/static/img/markIcon.png


File diff suppressed because it is too large
+ 1311 - 0
public/widgets.css


File diff suppressed because it is too large
+ 960 - 0
src/App.vue


File diff suppressed because it is too large
+ 1136 - 0
src/api/api.js


+ 76 - 0
src/api/gengra.js

@@ -0,0 +1,76 @@
+import httpRequest from '@/utils/request.js'
+
+//登录
+export function apiProjectLogin(params) {
+    return httpRequest({
+        baseURL: process.env.VUE_APP_LOGIN_URL,
+        url: 'admin-api/system/auth/login',
+        data: params,
+        method: "post"
+    })
+}
+
+// 风电数据准备页面
+export function apiGetbaseStation() {
+    return httpRequest({
+        baseURL: process.env.VUE_APP_GENERAT_URL,
+        url: 'base/station',
+        method: 'get'
+    })
+}
+
+export function apiGetbaseWindturbine(params) {
+    return httpRequest({
+        baseURL: process.env.VUE_APP_GENERAT_URL,
+        url: 'base/windturbine',
+        method: 'get',
+        params: params
+    })
+}
+
+export function apiGetpowerpreparedata(params) {
+    return httpRequest({
+        baseURL: process.env.VUE_APP_GENERAT_URL,
+        url: 'power/prepare/data',
+        method: 'get',
+        params: params
+    })
+}
+
+export function apiGetpowerpreparetree() {
+    return httpRequest({
+        baseURL: process.env.VUE_APP_GENERAT_URL,
+        url: 'power/prepare/tree',
+        method: 'get'
+    })
+}
+
+export function apiGetpowerprepareshow(params) {
+    return httpRequest({
+        baseURL: process.env.VUE_APP_GENERAT_URL,
+        url: 'power/prepare/show',
+        method: 'get',
+        params: params
+    })
+}
+
+export function apiGetExportMsg(params) {
+    return httpRequest({
+        baseURL: process.env.VUE_APP_GENERAT_URL,
+        url: 'data/option/download',
+        method: 'get',
+        params: params
+    })
+}
+
+// 首页
+export function apiGethomeData(params) {
+    return httpRequest({
+        baseURL: process.env.VUE_APP_GENERAT_URL,
+        url: 'cockpit/bulletin',
+        method: 'get',
+        params: params
+    })
+}
+
+//******************************end*******************************************//

+ 36 - 0
src/api/login.js

@@ -0,0 +1,36 @@
+/*
+ * @Date: 2023-06-19 09:02:19
+ * @LastEditors: zhubj
+ * @LastEditTime: 2023-06-19 09:07:37
+ * @Description: 头部注释
+ * @FilePath: \own-vue3-vuecli-template\src\api\login.js
+ */
+import request from '../utils/request.js'
+
+// 登录
+export function login(data) {
+  return request({
+    url: '/login',
+    headers: {
+      isToken: false
+    },
+    method: 'post',
+    data: data
+  })
+}
+
+// 获取用户详细信息
+export function getInfo() {
+  return request({
+    url: '/getInfo',
+    method: 'get'
+  })
+}
+
+// 退出登录
+export function logout() {
+  return request({
+    url: '/logout',
+    method: 'post'
+  })
+}

+ 74 - 0
src/api/report.js

@@ -0,0 +1,74 @@
+import httpRequest from '@/utils/request.js'
+
+// 保存脚本
+export function save(param, data) {
+    return httpRequest({
+        baseURL: process.env.VUE_APP_REPORT_URL,
+        url: 'script/save',
+        method: 'post',
+        params: param,
+        data: data
+    })
+}
+// 读取脚本
+export function read() {
+    return httpRequest({
+        baseURL: process.env.VUE_APP_REPORT_URL,
+        url: 'script/read',
+        method: 'get'
+    })
+}
+// 运行脚本
+export function run(data) {
+    return httpRequest({
+        baseURL: 'http://127.0.0.1:9001',
+        url: 'script/run',
+        method: 'post',
+        data: data
+    })
+}
+
+// 修改已有脚本
+export function updateScript(params) {
+    return httpRequest({
+        baseURL: process.env.VUE_APP_REPORT_URL,
+        url: 'script/update',
+        method: 'post',
+        data: params
+    })
+}
+// 删除脚本
+export function deleteScript(parmas) {
+    return httpRequest({
+        baseURL: process.env.VUE_APP_REPORT_URL,
+        url: `script/delete?id=${parmas.id}`,
+        method: 'get'
+    })
+}
+
+// 每天运行一次脚本
+//列表
+export function scriptTimedrunlist() {
+    return httpRequest({
+        baseURL: process.env.VUE_APP_REPORT_URL,
+        url: `script/timedrun/list`,
+        method: 'get'
+    })
+}
+//删除
+export function deleteTimedrunScript(parmas) {
+    return httpRequest({
+        baseURL: process.env.VUE_APP_REPORT_URL,
+        url: `script/timedrun/delete?scriptid=${parmas.id}`,
+        method: 'get'
+    })
+}
+//运行
+export function dayRunScript(data) {
+    return httpRequest({
+        baseURL: process.env.VUE_APP_REPORT_URL,
+        url: `script/timedrun`,
+        method: 'post',
+        data: data
+    })
+}

+ 13 - 0
src/assets/css/eleCss/el-card.less

@@ -0,0 +1,13 @@
+.main-body {
+  .el-card {
+    background: transparent;
+    border-color: fade(@gray, 50);
+    border-radius: 0;
+
+    .el-card__header {
+      color: @gray-l;
+      background: fade(@gray, 20);
+      border: none;
+    }
+  }
+}

+ 24 - 0
src/assets/css/eleCss/el-dialogB.less

@@ -0,0 +1,24 @@
+.el-overlay {
+    .el-overlay-dialog {
+        .windLifeDialog {
+            margin-top: 5vh !important;
+            background: #040c0b;
+
+            .el-dialog__header {
+                .el-dialog__title {
+                    color: #fff !important;
+                }
+            }
+
+            .el-dialog__body {
+                padding: 10px 20px;
+
+                .el-loading-mask {
+                    background-color: #040c0b;
+                }
+            }
+        }
+
+    }
+
+}

+ 22 - 0
src/assets/css/eleCss/el-dialogW.less

@@ -0,0 +1,22 @@
+.el-overlay {
+    .el-overlay-dialog {
+
+        .el-dialog,
+        .windLifeDialog {
+            margin-top: 5vh !important;
+            background: #fff;
+
+            .el-dialog__header {
+                .el-dialog__title {
+                    color: #000 !important;
+                }
+            }
+
+            .el-dialog__body {
+                padding: 10px 20px;
+            }
+        }
+
+    }
+
+}

+ 107 - 0
src/assets/css/eleCss/el-input.less

@@ -0,0 +1,107 @@
+.generat-seach {
+    .el-form-item {
+        .el-form-item__label {
+            color: #fff;
+        }
+
+        .el-form-item__content {
+            .el-input {
+                .el-input__wrapper {
+                    background: #1D47B0;
+
+                    .el-input__inner {
+                        color: #fff;
+                    }
+
+                    .el-input__prefix {
+                        .el-icon {
+                            color: #fff;
+                        }
+                    }
+
+
+
+
+                }
+            }
+
+            .el-date-editor--monthrange {
+                background: #1D47B0;
+
+                .el-range-input,
+                .el-range-separator,
+                .el-range__icon {
+                    color: #fff;
+                }
+
+            }
+
+            .el-select {
+
+                .select-trigger {
+                    .el-select__tags .el-tag--info {
+                        background-color: transparent;
+                        color: #fff;
+                        border: 1px solid #fff;
+                    }
+                }
+
+                .el-input__suffix {
+                    width: 24px;
+                    background: #5D7EFC;
+                    border-radius: 3px;
+                    position: relative;
+                    left: 5px;
+
+                    .el-input__suffix-inner>:first-child {
+                        margin-left: 5px;
+                    }
+
+                    .el-input__suffix-inner {
+                        .el-icon {
+                            color: #fff;
+                        }
+                    }
+                }
+            }
+
+            .el-date-editor--date {
+                width: 150px;
+            }
+
+            .el-radio-group {
+                .el-radio {
+                    .el-radio__label {
+                        color: #fff;
+                    }
+
+                    .el-radio__input.is-checked .el-radio__inner {
+                        background: #1D47B0;
+                    }
+                }
+            }
+
+            .el-checkbox__input.is-checked+.el-checkbox__label {
+                color: #fff;
+            }
+
+            .el-checkbox {
+                .el-checkbox__label {
+                    color: #C3C3C4;
+                }
+            }
+
+            .el-checkbox__input.is-checked .el-checkbox__inner {
+                background: #36C2CF;
+            }
+
+            .el-button {
+                background: #36C2CF;
+                width: 60px;
+                height: 25px;
+                position: relative;
+                top: -1px;
+            }
+        }
+    }
+}

+ 165 - 0
src/assets/css/eleCss/el-inputB.less

@@ -0,0 +1,165 @@
+.el-select {
+    .el-input {
+        .el-input__wrapper {
+            // background-color: #606266;
+            background-color: transparent;
+        }
+
+        .el-input__suffix {
+            width: 24px;
+            background: #525252;
+            border-radius: 3px;
+            position: relative;
+            left: 5px;
+
+            .el-input__suffix-inner>:first-child {
+                margin-left: 5px;
+            }
+
+            .el-input__suffix-inner {
+                .el-icon {
+                    color: #fff;
+                }
+            }
+        }
+
+    }
+
+    .el-tag {
+        background-color: #606266;
+        color: #fff;
+    }
+
+}
+
+.el-input {
+    .el-input__wrapper {
+        // background-color: #606266;
+        background-color: transparent;
+    }
+
+    .el-input-group__prepend {
+        background-color: #606266;
+        color: #fff;
+    }
+
+}
+
+input {
+    color: #fff;
+}
+
+input::-webkit-input-placeholder {
+    /*WebKit browsers*/
+    color: #fff;
+}
+
+input::-moz-input-placeholder {
+    /*Mozilla Firefox*/
+    color: #fff;
+}
+
+input::-ms-input-placeholder {
+    /*Internet Explorer*/
+    color: #fff;
+}
+
+.el-date-editor--datetimerange {
+    // background-color: #606266;
+    background-color: transparent;
+    color: #fff;
+    border: 1px solid #fff;
+    height: 33px;
+    padding: 0 8px;
+    width: 369px;
+
+    .el-range-separator {
+        color: #fff;
+        line-height: 33px;
+    }
+
+    .el-range-input {
+        flex-basis: 145px;
+        line-height: 33px;
+        background: transparent;
+        color: #fff;
+
+        &::placeholder {
+            text-align: center;
+            color: #fff;
+        }
+    }
+}
+
+.el-date-editor {
+    // background-color: #606266;
+    background-color: transparent;
+
+    .el-input__wrapper {
+        // background-color: #606266;
+        background-color: transparent;
+    }
+}
+
+// 数字组件
+.el-input-number {
+
+    .el-input-number__decrease,
+    .el-input-number__increase {
+        line-height: 15px;
+        color: @gray-l;
+        background: fade(@gray, 40);
+
+    }
+
+    .el-input {
+        .el-input__wrapper {
+            // background-color: #606266;
+            background-color: transparent;
+        }
+
+    }
+}
+
+
+.el-form {
+    .el-form-item {
+        .el-form-item__label {
+            color: #fff;
+        }
+    }
+}
+
+.el-tabs {
+    .el-tabs__header {
+        .el-tabs__nav-wrap {
+            .el-tabs__nav-scroll {
+                .el-tabs__item {
+                    color: #fff;
+                }
+
+                .is-active {
+                    color: #409eff;
+                }
+            }
+        }
+    }
+}
+
+.generat-seach {
+    .el-form-item {
+        .el-date-editor--date {
+            width: 150px;
+        }
+    }
+
+    .el-date-editor--monthrange {
+
+        .el-range-input,
+        .el-range-separator,
+        .el-range__icon {
+            color: #fff;
+        }
+
+    }
+}

+ 50 - 0
src/assets/css/eleCss/el-pagination.less

@@ -0,0 +1,50 @@
+.main-body {
+    .el-pagination {
+        display: flex;
+        justify-content: flex-end;
+        align-items: center;
+        color: #b3bdc0;
+
+        .el-pagination__total {
+            color: #b3bdc0;
+        }
+
+        .el-pagination__jump {
+            color: #b3bdc0;
+        }
+
+        button {
+
+            &.btn-next,
+            &.btn-prev {
+                background: center center no-repeat fade(@gray, 20);
+                color: @gray-l;
+            }
+
+            &:disabled {
+                color: @gray-l;
+                background-color: fade(@gray, 20);
+                cursor: not-allowed;
+            }
+        }
+
+        .el-pager li {
+            color: @gray-l;
+            background: fade(@gray, 20);
+
+            &.active {
+                color: @green;
+            }
+        }
+
+        .el-input__inner {
+            color: @gray-l;
+            background: fade(@gray, 20);
+            border: 1px solid fade(@gray, 20);
+        }
+
+        .el-pagination__sizes .el-input .el-input__inner:hover {
+            border-color: @green;
+        }
+    }
+}

+ 234 - 0
src/assets/css/eleCss/el-popper.less

@@ -0,0 +1,234 @@
+.el-select__popper {
+    background: #606769 !important;
+
+    .el-select-dropdown {
+        background: #606769;
+
+        .el-scrollbar {
+            .el-select-dropdown__wrap {
+                .el-select-dropdown__list {
+                    .el-select-dropdown__item {
+                        background: #606769;
+                        color: #B3BDC0;
+                    }
+
+                    .selected {
+                        background: #606769;
+                    }
+
+                    .hover {
+                        background: #504bb5;
+                    }
+                }
+            }
+        }
+    }
+
+}
+
+.el-picker__popper {
+    background: #606769 !important;
+
+    .el-picker-panel {
+
+        // el datetimerange  picker Start
+        &.el-date-range-picker {
+            color: @gray-l;
+            background: transparent;
+
+            .el-date-range-picker__time-header {
+                border-color: @gray;
+
+                .el-icon-arrow-right {
+                    color: @gray-l;
+                }
+
+                .el-input__wapper {
+                    background: #606266;
+
+                    .el-input__inner {
+                        color: @gray-l;
+                        border-color: @gray;
+                    }
+                }
+
+
+                .el-date-range-picker__time-picker-wrap {
+                    .el-time-panel {
+                        background-color: @picker-bg-color;
+
+                        // .el-time-spinner__item.active:not(.disabled) {
+                        //     color: @green;
+                        // }
+
+                        // .el-time-spinner__item:hover:not(.disabled):not(.active) {
+                        //     background: transparent;
+                        //     color: @green;
+                        // }
+                    }
+
+                    // .el-time-panel__btn.confirm {
+                    //     color: @green;
+                    // }
+
+                    .el-time-panel__btn.cancel {
+                        color: @gray;
+                    }
+                }
+            }
+
+            .el-date-range-picker__content {
+                border-color: @gray;
+
+                .el-date-table {
+                    th {
+                        color: @gray-l;
+                    }
+
+                    td {
+                        //     &.available:hover {
+                        //         color: @green;
+                        //     }
+
+                        &.in-range div,
+                        &.in-range div:hover {
+                            background: fade(@gray, 40);
+                        }
+
+                        //     &.end-date span,
+                        //     &.start-date span {
+                        //         background: @green;
+                        //     }
+
+                        // &.today {
+                        //     span {
+                        //         color: @green;
+                        //     }
+
+                        //     &.end-date span,
+                        //     &.start-date span {
+                        //         color: @white;
+                        //     }
+                        // }
+
+                        //     &.next-month,
+                        //     &.prev-month {
+                        //         color: @gray;
+                        //     }
+                    }
+                }
+            }
+        }
+
+        // el datetimerange  picker End
+
+        .el-picker-panel__body {
+            border-color: @gray;
+        }
+
+        .el-picker-panel__footer {
+            background: transparent;
+            border-color: @gray;
+
+            // .el-button--text {
+            //     color: @gray;
+            // }
+
+            // .el-button.is-plain {
+            //     background: transparent;
+            //     border-color: @green;
+            //     color: @green;
+            // }
+        }
+
+        // .el-time-panel__btn.confirm {
+        //     color: @green;
+        // }
+
+        // .el-time-panel__btn.cancel {
+        //     color: @gray;
+        // }
+    }
+}
+
+.el-picker__popper {
+    background: #606769 !important;
+
+    .el-picker-panel {
+        background: #606769 !important;
+
+        .el-picker-panel__body-wrapper {
+            .el-picker-panel__body {
+                color: #fff;
+
+                .el-date-picker__header {
+
+                    .el-date-picker__prev-btn,
+                    .el-date-picker__next-btn {
+                        .el-picker-panel__icon-btn {
+                            color: @gray-l;
+                        }
+                    }
+
+                    .el-date-picker__header-label,
+                    .el-date-picker__header-label {
+                        color: @gray-l;
+                    }
+                }
+
+                .el-picker-panel__content {
+                    border-color: @gray;
+
+                    .el-date-table {
+                        th {
+                            color: @gray-l;
+                        }
+
+                    }
+
+                    .el-year-table {
+                        .today {
+                            .cell {
+                                color: #409eff !important;
+                            }
+                        }
+
+                        .current {
+                            .cell {
+                                color: #fff !important;
+                            }
+                        }
+
+                        .available {
+                            .cell {
+                                color: #B3BDC0;
+                            }
+
+                        }
+
+
+                    }
+
+                    .el-month-table {
+                        .cell {
+                            color: #B3BDC0 !important;
+                        }
+
+                        .today {
+                            .cell {
+                                color: #409eff !important;
+                            }
+                        }
+
+                        .current {
+                            .cell {
+                                color: #fff !important;
+                            }
+                        }
+                    }
+                }
+            }
+
+        }
+    }
+}

+ 91 - 0
src/assets/css/eleCss/el-tableB.less

@@ -0,0 +1,91 @@
+.warn-table {
+    .el-table {
+        .caret-wrapper {
+            display: none !important;
+        }
+    }
+
+    .el-table {
+
+        .el-table__header {
+            thead {
+                tr {
+                    th {
+                        background: #8F93A7 !important;
+                        color: #fff;
+                    }
+                }
+            }
+        }
+
+        thead th.el-table__cell {
+            background: rgba(83, 89, 104, 0.3);
+        }
+
+        .el-table__body-wrapper {
+            background-color: #040c0b;
+        }
+
+        .el-loading-mask {
+            background-color: #606266;
+        }
+
+        &.el-table--striped .el-table__body tr.el-table__row--striped td {
+            background-color: #161415;
+        }
+
+        th {
+            background-color: #161f1e !important;
+            color: #fff;
+            height: 40px;
+        }
+
+        tr {
+            height: 40px;
+            background: #161f1e !important;
+
+            td {
+                color: #fff !important;
+            }
+
+            .el-input {
+                .el-input__wrapper {
+                    background-color: #606266;
+                }
+
+                .el-input-group__prepend {
+                    background-color: #606266;
+                    color: #fff;
+                }
+
+            }
+
+            &.isConfirm {
+                &:hover {
+                    td {
+                        color: #05bb4c !important;
+                        background-color: transparent !important;
+                    }
+                }
+            }
+
+            &:hover {
+                td {
+                    color: #d35400 !important;
+                    background-color: transparent !important;
+                }
+            }
+        }
+
+        .el-table__empty-block {
+            background: #212223;
+        }
+
+    }
+
+    .toolSty {
+        .el-popper {
+            width: 50% !important;
+        }
+    }
+}

+ 55 - 0
src/assets/css/eleCss/el-tableW.less

@@ -0,0 +1,55 @@
+.warn-table {
+
+    .el-table {
+        .caret-wrapper {
+            display: none !important;
+        }
+    }
+
+    .el-table {
+        .el-table__header {
+            thead {
+                tr {
+                    th {
+                        background: #8F93A7 !important;
+                        color: #fff;
+                    }
+                }
+
+
+            }
+        }
+
+        .el-table__body-wrapper {
+            .el-table__body {
+                .el-table__row {
+                    &:hover {
+                        background: #EFF2FF;
+                        border: 1px solid #5473E8;
+                    }
+                }
+            }
+        }
+
+        tr {
+            &:hover {
+
+                td {
+                    color: #5473E8 !important;
+                    background-color: transparent !important;
+                }
+            }
+        }
+
+        .el-table__empty-block {
+            background: transparent;
+        }
+
+    }
+
+    .toolSty {
+        .el-popper {
+            width: 50% !important;
+        }
+    }
+}

+ 30 - 0
src/assets/css/eleCss/el-treeB.less

@@ -0,0 +1,30 @@
+.el-tree {
+    .el-tree-node {
+        background-color: #13171e;
+
+        .el-tree-node__content {
+
+            .el-dropdown:hover {
+                color: #fff;
+            }
+        }
+
+    }
+
+
+
+    .is-current {}
+
+    .el-tree-node__content:hover {
+        background-color: transparent;
+    }
+}
+
+.el-dropdown-link {
+    color: #C3C3C4;
+
+}
+
+.el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content {
+    background: #0046C7 !important;
+}

+ 9 - 0
src/assets/css/eleCss/el-treeW.less

@@ -0,0 +1,9 @@
+.el-tree {
+    .el-tree-node {
+        background: #E6E8F2;
+    }
+
+    .el-tree__empty-block {
+        background: #E6E8F2;
+    }
+}

+ 25 - 0
src/assets/css/eleCss/index.less

@@ -0,0 +1,25 @@
+@green: #05bb4c;
+@yellow: #edbf03;
+@blue: #1a93cf;
+@darkBlue: #4b55ae;
+@darkBlue2: #1529E9;
+@darkgray: #606769;
+@gray: #606769;
+@gray-l: #B3BDC0;
+@black: #000000;
+@ligntRed: #ff7a7f;
+@red: #BA3237;
+@darkRed: #710f14;
+@purple: #4b55ae;
+@orange: #e17e23;
+@white: #ffffff;
+@pink: #c531c7;
+@picker-bg-color: fade(#121d1c, 95);
+
+@windBlue: #504bb5;
+
+// @import "./el-card.less";
+// @import "./el-pagination.less";
+// @import "./el-input.less";
+// @import "./el-table.less";
+// @import "./el-popper.less";

+ 62 - 0
src/assets/css/main.css

@@ -0,0 +1,62 @@
+* {
+    margin: 0;
+    padding: 0;
+}
+
+html,
+body,
+#app,
+.wrapper {
+    width: 100%;
+    height: 100%;
+    overflow: hidden;
+}
+
+body {
+    font-family: 'PingFang SC', 'Helvetica Neue', Helvetica, 'microsoft yahei', arial, STHeiTi, sans-serif;
+}
+
+a {
+    text-decoration: none;
+}
+
+.content {
+    width: auto;
+    height: 100%;
+    padding: 5px;
+    overflow-y: auto;
+    overflow-x: hidden;
+    box-sizing: border-box;
+}
+
+.content-collapse {
+    left: 65px;
+}
+
+.container {
+    padding: 30px;
+    background: #fff;
+    border: 1px solid #ddd;
+    border-radius: 5px;
+}
+
+.crumbs {
+    margin: 10px 0;
+}
+
+/* 滚动条的宽度 */
+
+::-webkit-scrollbar {
+    width: 6px;
+    height: 8px;
+    background-color: #e4e4e4;
+    border-radius: 6px;
+}
+
+
+/* 滚动条的滑块 */
+
+::-webkit-scrollbar-thumb {
+    background-color: #a9aaad;
+    border-radius: 6px;
+}

File diff suppressed because it is too large
+ 27 - 0
src/assets/db.json


BIN
src/assets/iconNeed/iconFont.png


BIN
src/assets/images/base/404.png


BIN
src/assets/images/base/404_cloud.png


BIN
src/assets/images/headerCom/guanji.png


BIN
src/assets/images/headerCom/headerBack_B.png


BIN
src/assets/images/headerCom/headerBack_B1.png


BIN
src/assets/images/headerCom/headerBack_W.png


BIN
src/assets/images/headerCom/left_B.png


BIN
src/assets/images/headerCom/left_W.png


BIN
src/assets/images/headerCom/moon_B.png


BIN
src/assets/images/headerCom/moon_W.png


BIN
src/assets/images/headerCom/right_B.png


BIN
src/assets/images/headerCom/right_W.png


BIN
src/assets/images/headerCom/shezhi.png


BIN
src/assets/images/headerCom/sun_B.png


BIN
src/assets/images/headerCom/sun_W.png


BIN
src/assets/images/headerCom/zidongtianbao.png


BIN
src/assets/images/indexCom/backImg_B.png


BIN
src/assets/images/indexCom/backImg_W.png


BIN
src/assets/images/indexCom/dlBot1.png


BIN
src/assets/images/indexCom/dlBot2.png


BIN
src/assets/images/indexCom/dlTop1.png


BIN
src/assets/images/indexCom/dlTop2.png


BIN
src/assets/images/indexCom/fengji.png


BIN
src/assets/images/indexCom/fengjiBack.png


BIN
src/assets/images/indexCom/map_B.png


BIN
src/assets/images/indexCom/map_W.png


BIN
src/assets/images/indexCom/quan.png


BIN
src/assets/images/indexCom/sunshi.png


BIN
src/assets/images/indexCom/taiyangban.png


BIN
src/assets/images/indexCom/taiyangbanBack.png


BIN
src/assets/images/indexCom/tixing.png


BIN
src/assets/images/indexCom/wea_1.png


BIN
src/assets/images/indexCom/wea_2.png


BIN
src/assets/images/indexCom/wea_3.png


BIN
src/assets/images/indexCom/wea_4.png


BIN
src/assets/images/indexCom/wea_5.png


BIN
src/assets/images/indexCom/weatherW.png


BIN
src/assets/images/indexCom/zengfa.png


BIN
src/assets/images/left.png


BIN
src/assets/images/noData.png


File diff suppressed because it is too large
+ 24 - 0
src/assets/jb.json


BIN
src/assets/logoGuo_DB.png


BIN
src/assets/menuImg/CSV.png


BIN
src/assets/menuImg/CSV_C.png


BIN
src/assets/menuImg/gener_agcfx.png


BIN
src/assets/menuImg/gener_dfpcfx.png


BIN
src/assets/menuImg/gener_fdsjcl.png


BIN
src/assets/menuImg/gener_fdsjzb.png


BIN
src/assets/menuImg/gener_fxbg.png


BIN
src/assets/menuImg/gener_glqxnhfx.png


BIN
src/assets/menuImg/gener_jjjfx.png


BIN
src/assets/menuImg/gener_mrlfx.png


BIN
src/assets/menuImg/gener_qxpclfx.png


BIN
src/assets/menuImg/gener_ssdlfx.png


BIN
src/assets/menuImg/gener_wdyglfx.png


BIN
src/assets/menuImg/gener_wgxzfx.png


BIN
src/assets/menuImg/header_dianyuan.png


BIN
src/assets/menuImg/header_shezhi.png


+ 0 - 0
src/assets/menuImg/header_wendang.png


Some files were not shown because too many files changed in this diff