Bläddra i källkod

关联分析-更新

lxh 3 månader sedan
förälder
incheckning
675c27e71d

+ 215 - 0
npminstall-debug.log

@@ -0,0 +1,215 @@
+{
+  root: 'D:\\project\\goaf-monitoring-system',
+  registry: 'https://registry.npmmirror.com',
+  pkgs: [
+    {
+      name: '',
+      version: 'D:\\project\\goaf-monitoring-system\\ant-design-vue\\dist\\antd.css',
+      type: 'directory',
+      alias: undefined,
+      arg: [Result]
+    }
+  ],
+  production: false,
+  cacheStrict: false,
+  cacheDir: 'C:\\Users\\86175\\.npminstall_tarball',
+  env: {
+    npm_config_registry: 'https://registry.npmmirror.com',
+    npm_config_argv: '{"remain":[],"cooked":["--fix-bug-versions","--china","--userconfig=C:\\\\Users\\\\86175\\\\.cnpmrc","--disturl=https://cdn.npmmirror.com/binaries/node","--registry=https://registry.npmmirror.com","ant-design-vue/dist/antd.css"],"original":["--fix-bug-versions","--china","--userconfig=C:\\\\Users\\\\86175\\\\.cnpmrc","--disturl=https://cdn.npmmirror.com/binaries/node","--registry=https://registry.npmmirror.com","ant-design-vue/dist/antd.css"]}',
+    npm_config_user_agent: 'npminstall/7.8.0 npm/? node/v18.14.0 win32 x64',
+    npm_config_cache: 'C:\\Users\\86175\\.npminstall_tarball',
+    NODE: 'C:\\Program Files\\nodejs\\node.exe',
+    npm_node_execpath: 'C:\\Program Files\\nodejs\\node.exe',
+    npm_execpath: 'C:\\Users\\86175\\AppData\\Roaming\\npm\\node_modules\\cnpm\\node_modules\\npminstall\\bin\\install.js',
+    npm_config_userconfig: 'C:\\Users\\86175\\.cnpmrc',
+    npm_config_disturl: 'https://cdn.npmmirror.com/binaries/node',
+    npm_config_r: 'https://registry.npmmirror.com',
+    COREPACK_NPM_REGISTRY: 'https://registry.npmmirror.com',
+    EDGEDRIVER_CDNURL: 'https://npmmirror.com/mirrors/edgedriver',
+    NODEJS_ORG_MIRROR: 'https://cdn.npmmirror.com/binaries/node',
+    NVM_NODEJS_ORG_MIRROR: 'https://cdn.npmmirror.com/binaries/node',
+    PHANTOMJS_CDNURL: 'https://cdn.npmmirror.com/binaries/phantomjs',
+    CHROMEDRIVER_CDNURL: 'https://cdn.npmmirror.com/binaries/chromedriver',
+    OPERADRIVER_CDNURL: 'https://cdn.npmmirror.com/binaries/operadriver',
+    CYPRESS_DOWNLOAD_PATH_TEMPLATE: 'https://cdn.npmmirror.com/binaries/cypress/${version}/${platform}-${arch}/cypress.zip',
+    ELECTRON_MIRROR: 'https://cdn.npmmirror.com/binaries/electron/',
+    ELECTRON_BUILDER_BINARIES_MIRROR: 'https://cdn.npmmirror.com/binaries/electron-builder-binaries/',
+    SASS_BINARY_SITE: 'https://cdn.npmmirror.com/binaries/node-sass',
+    SWC_BINARY_SITE: 'https://cdn.npmmirror.com/binaries/node-swc',
+    NWJS_URLBASE: 'https://cdn.npmmirror.com/binaries/nwjs/v',
+    PUPPETEER_DOWNLOAD_HOST: 'https://cdn.npmmirror.com/binaries/chrome-for-testing',
+    PUPPETEER_DOWNLOAD_BASE_URL: 'https://cdn.npmmirror.com/binaries/chrome-for-testing',
+    PUPPETEER_CHROME_DOWNLOAD_BASE_URL: 'https://cdn.npmmirror.com/binaries/chrome-for-testing',
+    PUPPETEER_CHROME_HEADLESS_SHELL_DOWNLOAD_BASE_URL: 'https://cdn.npmmirror.com/binaries/chrome-for-testing',
+    PLAYWRIGHT_DOWNLOAD_HOST: 'https://cdn.npmmirror.com/binaries/playwright',
+    SENTRYCLI_CDNURL: 'https://cdn.npmmirror.com/binaries/sentry-cli',
+    SAUCECTL_INSTALL_BINARY_MIRROR: 'https://cdn.npmmirror.com/binaries/saucectl',
+    RE2_DOWNLOAD_MIRROR: 'https://cdn.npmmirror.com/binaries/node-re2',
+    RE2_DOWNLOAD_SKIP_PATH: 'true',
+    PRISMA_ENGINES_MIRROR: 'https://cdn.npmmirror.com/binaries/prisma',
+    npm_config_better_sqlite3_binary_host: 'https://cdn.npmmirror.com/binaries/better-sqlite3',
+    npm_config_keytar_binary_host: 'https://cdn.npmmirror.com/binaries/keytar',
+    npm_config_sharp_binary_host: 'https://cdn.npmmirror.com/binaries/sharp',
+    npm_config_sharp_libvips_binary_host: 'https://cdn.npmmirror.com/binaries/sharp-libvips',
+    npm_config_robotjs_binary_host: 'https://cdn.npmmirror.com/binaries/robotjs',
+    npm_config_gl_binary_host: 'https://cdn.npmmirror.com/binaries/gl',
+    RIPGREP_PREBUILT_BINARIES_MIRROR: 'https://registry.npmmirror.com/-/binary/ripgrep-prebuilt',
+    npm_rootpath: 'D:\\project\\goaf-monitoring-system',
+    INIT_CWD: 'D:\\project\\goaf-monitoring-system'
+  },
+  binaryMirrors: {
+    ENVS: {
+      COREPACK_NPM_REGISTRY: 'https://registry.npmmirror.com',
+      EDGEDRIVER_CDNURL: 'https://npmmirror.com/mirrors/edgedriver',
+      NODEJS_ORG_MIRROR: 'https://cdn.npmmirror.com/binaries/node',
+      NVM_NODEJS_ORG_MIRROR: 'https://cdn.npmmirror.com/binaries/node',
+      PHANTOMJS_CDNURL: 'https://cdn.npmmirror.com/binaries/phantomjs',
+      CHROMEDRIVER_CDNURL: 'https://cdn.npmmirror.com/binaries/chromedriver',
+      OPERADRIVER_CDNURL: 'https://cdn.npmmirror.com/binaries/operadriver',
+      CYPRESS_DOWNLOAD_PATH_TEMPLATE: 'https://cdn.npmmirror.com/binaries/cypress/${version}/${platform}-${arch}/cypress.zip',
+      ELECTRON_MIRROR: 'https://cdn.npmmirror.com/binaries/electron/',
+      ELECTRON_BUILDER_BINARIES_MIRROR: 'https://cdn.npmmirror.com/binaries/electron-builder-binaries/',
+      SASS_BINARY_SITE: 'https://cdn.npmmirror.com/binaries/node-sass',
+      SWC_BINARY_SITE: 'https://cdn.npmmirror.com/binaries/node-swc',
+      NWJS_URLBASE: 'https://cdn.npmmirror.com/binaries/nwjs/v',
+      PUPPETEER_DOWNLOAD_HOST: 'https://cdn.npmmirror.com/binaries/chrome-for-testing',
+      PUPPETEER_DOWNLOAD_BASE_URL: 'https://cdn.npmmirror.com/binaries/chrome-for-testing',
+      PUPPETEER_CHROME_DOWNLOAD_BASE_URL: 'https://cdn.npmmirror.com/binaries/chrome-for-testing',
+      PUPPETEER_CHROME_HEADLESS_SHELL_DOWNLOAD_BASE_URL: 'https://cdn.npmmirror.com/binaries/chrome-for-testing',
+      PLAYWRIGHT_DOWNLOAD_HOST: 'https://cdn.npmmirror.com/binaries/playwright',
+      SENTRYCLI_CDNURL: 'https://cdn.npmmirror.com/binaries/sentry-cli',
+      SAUCECTL_INSTALL_BINARY_MIRROR: 'https://cdn.npmmirror.com/binaries/saucectl',
+      RE2_DOWNLOAD_MIRROR: 'https://cdn.npmmirror.com/binaries/node-re2',
+      RE2_DOWNLOAD_SKIP_PATH: 'true',
+      PRISMA_ENGINES_MIRROR: 'https://cdn.npmmirror.com/binaries/prisma',
+      npm_config_better_sqlite3_binary_host: 'https://cdn.npmmirror.com/binaries/better-sqlite3',
+      npm_config_keytar_binary_host: 'https://cdn.npmmirror.com/binaries/keytar',
+      npm_config_sharp_binary_host: 'https://cdn.npmmirror.com/binaries/sharp',
+      npm_config_sharp_libvips_binary_host: 'https://cdn.npmmirror.com/binaries/sharp-libvips',
+      npm_config_robotjs_binary_host: 'https://cdn.npmmirror.com/binaries/robotjs',
+      npm_config_gl_binary_host: 'https://cdn.npmmirror.com/binaries/gl',
+      RIPGREP_PREBUILT_BINARIES_MIRROR: 'https://registry.npmmirror.com/-/binary/ripgrep-prebuilt'
+    },
+    '@ali/s2': { host: 'https://cdn.npmmirror.com/binaries/looksgood-s2' },
+    sharp: { replaceHostFiles: [Array], replaceHostMap: [Object] },
+    '@tensorflow/tfjs-node': {
+      replaceHostFiles: [Array],
+      replaceHostRegExpMap: [Object],
+      replaceHostMap: [Object]
+    },
+    cypress: {
+      host: 'https://cdn.npmmirror.com/binaries/cypress',
+      newPlatforms: [Object]
+    },
+    'utf-8-validate': {
+      host: 'https://cdn.npmmirror.com/binaries/utf-8-validate/v{version}'
+    },
+    xprofiler: {
+      remote_path: './xprofiler/v{version}/',
+      host: 'https://cdn.npmmirror.com/binaries'
+    },
+    leveldown: { host: 'https://cdn.npmmirror.com/binaries/leveldown/v{version}' },
+    couchbase: { host: 'https://cdn.npmmirror.com/binaries/couchbase/v{version}' },
+    gl: { host: 'https://cdn.npmmirror.com/binaries/gl/v{version}' },
+    sqlite3: {
+      host: 'https://cdn.npmmirror.com/binaries/sqlite3',
+      remote_path: 'v{version}'
+    },
+    '@journeyapps/sqlcipher': { host: 'https://cdn.npmmirror.com/binaries' },
+    grpc: {
+      host: 'https://cdn.npmmirror.com/binaries',
+      remote_path: '{name}/v{version}'
+    },
+    'grpc-tools': { host: 'https://cdn.npmmirror.com/binaries' },
+    wrtc: {
+      host: 'https://cdn.npmmirror.com/binaries',
+      remote_path: '{name}/v{version}'
+    },
+    fsevents: { host: 'https://cdn.npmmirror.com/binaries/fsevents' },
+    nodejieba: { host: 'https://cdn.npmmirror.com/binaries/nodejieba' },
+    canvas: {
+      host: 'https://cdn.npmmirror.com/binaries/canvas',
+      remote_path: 'v{version}'
+    },
+    'skia-canvas': { host: 'https://cdn.npmmirror.com/binaries/skia-canvas' },
+    'flow-bin': {
+      replaceHost: 'https://github.com/facebook/flow/releases/download/v',
+      host: 'https://cdn.npmmirror.com/binaries/flow/v'
+    },
+    'jpegtran-bin': {
+      replaceHost: [Array],
+      host: 'https://cdn.npmmirror.com/binaries/jpegtran-bin'
+    },
+    'cwebp-bin': {
+      replaceHost: [Array],
+      host: 'https://cdn.npmmirror.com/binaries/cwebp-bin'
+    },
+    'zopflipng-bin': {
+      replaceHost: [Array],
+      host: 'https://cdn.npmmirror.com/binaries/zopflipng-bin'
+    },
+    'optipng-bin': {
+      replaceHost: [Array],
+      host: 'https://cdn.npmmirror.com/binaries/optipng-bin'
+    },
+    mozjpeg: {
+      replaceHost: [Array],
+      host: 'https://cdn.npmmirror.com/binaries/mozjpeg-bin'
+    },
+    gifsicle: {
+      replaceHost: [Array],
+      host: 'https://cdn.npmmirror.com/binaries/gifsicle-bin'
+    },
+    'pngquant-bin': {
+      replaceHost: [Array],
+      host: 'https://cdn.npmmirror.com/binaries/pngquant-bin',
+      replaceHostMap: [Object]
+    },
+    'pngcrush-bin': {
+      replaceHost: [Array],
+      host: 'https://cdn.npmmirror.com/binaries/pngcrush-bin'
+    },
+    'jpeg-recompress-bin': {
+      replaceHost: [Array],
+      host: 'https://cdn.npmmirror.com/binaries/jpeg-recompress-bin'
+    },
+    'advpng-bin': {
+      replaceHost: [Array],
+      host: 'https://cdn.npmmirror.com/binaries/advpng-bin'
+    },
+    'pngout-bin': {
+      replaceHost: [Array],
+      host: 'https://cdn.npmmirror.com/binaries/pngout-bin'
+    },
+    'jpegoptim-bin': {
+      replaceHost: [Array],
+      host: 'https://cdn.npmmirror.com/binaries/jpegoptim-bin'
+    },
+    argon2: { host: 'https://cdn.npmmirror.com/binaries/argon2' },
+    'ali-zeromq': { host: 'https://cdn.npmmirror.com/binaries/ali-zeromq' },
+    'ali-usb_ctl': { host: 'https://cdn.npmmirror.com/binaries/ali-usb_ctl' },
+    'gdal-async': { host: 'https://cdn.npmmirror.com/binaries/node-gdal-async' },
+    'libpg-query': { host: 'https://cdn.npmmirror.com/binaries' }
+  },
+  forbiddenLicenses: null,
+  flatten: false,
+  proxy: undefined,
+  prune: false,
+  disableFallbackStore: false,
+  workspacesMap: Map(0) {},
+  enableWorkspace: false,
+  workspaceRoot: 'D:\\project\\goaf-monitoring-system',
+  isWorkspaceRoot: true,
+  isWorkspacePackage: false,
+  offline: false,
+  strictSSL: true,
+  ignoreScripts: false,
+  ignoreOptionalDependencies: false,
+  detail: false,
+  forceLinkLatest: false,
+  trace: false,
+  engineStrict: false,
+  registryOnly: false,
+  client: false,
+  autoFixVersion: [Function: autoFixVersion]
+}

+ 1 - 0
package.json

@@ -54,6 +54,7 @@
     "lodash.get": "^4.4.2",
     "md5": "^2.3.0",
     "mockjs": "^1.1.0",
+    "moment": "^2.30.1",
     "nprogress": "^0.2.0",
     "path-to-regexp": "^6.3.0",
     "pinia": "2.1.7",

+ 4 - 2
src/components/Configurable/detail/CustomChart.vue

@@ -150,7 +150,8 @@
           {
             type: 'value',
             splitLine: { show: false },
-            name: '氧气浓度(%)',
+            // name: '氧气浓度(%)',
+            name:'',
             position: 'left',
             min: function (value) {
               return (value.min - 0.5).toFixed(1);
@@ -190,7 +191,8 @@
           {
             type: 'value',
             splitLine: { show: false },
-            name: '大气压(hPa)',
+            // name: '大气压(hPa)',
+            name:'',
             position: 'right',
             min: function (value) {
               return value.min - 5;

+ 48 - 75
src/views/analysis/warningAnalysis/connectAnalysis/index.vue

@@ -2,7 +2,7 @@
   <div class="connectAnalysis">
     <div class="filter-area">
       <Row style="width:100%">
-        <Col :span="8">
+        <Col :span="6">
           <div class="filter-section param-section">
             <span class="filter-label">煤矿名称:</span>
             <div class="param-selector">
@@ -10,7 +10,7 @@
             </div>
           </div>
         </Col>
-        <Col :span="8">
+        <Col :span="6">
           <!-- 时间选择 -->
           <div class="filter-section param-section">
             <span class="filter-label">采空区选择:</span>
@@ -20,28 +20,22 @@
             </Select>
           </div>
         </Col>
-        <Col :span="8">
-          <!-- 煤矿简称 mineNameAbbr-->
-          <div class="filter-section param-section">
-            <span class="filter-label">煤矿简称:</span>
-            <div class="param-selector">
-              <Input v-model="mineNameAbbr" placeholder="请选择所属区域" readonly style="width: 300px" />
-            </div>
-          </div>
-        </Col>
-      </Row>
-
-      <Row style="width:100%">
-        <Col :span="8">
-          <!-- 时间选择 -->
+        <Col :span="6">
           <div class="filter-section param-section">
             <span class="filter-label">时间选择:</span>
-            <RangePicker v-model="dateRange" format="YYYY-MM-DD HH:mm:ss" :placeholder="['开始时间', '结束时间']"
+            <RangePicker v-model:value="dateRange"  format="YYYY-MM-DD HH:mm:ss" :placeholder="['开始时间', '结束时间']"
               style="width: 300px" :show-time="{ format: 'HH:mm:ss' }" @change="changeTime" />
           </div>
         </Col>
+        <Col :span="6">
+          <div class="filter-section">
+            <Button type="primary" @click="generateChart">生成</Button>
+          </div>
+        </Col>
+      </Row>
+
+      <!-- <Row style="width:100%">
         <Col :span="8">
-          <!-- 参数选择 -->
           <div class="filter-section param-section">
             <span class="filter-label">参数选择:</span>
             <div class="param-selector">
@@ -54,13 +48,7 @@
             </div>
           </div>
         </Col>
-        <Col :span="8">
-          <!-- 生成按钮 -->
-          <div class="filter-section">
-            <Button type="primary" @click="generateChart">生成</Button>
-          </div>
-        </Col>
-      </Row>
+      </Row> -->
     </div>
     <!-- 动态图表区域-->
     <div class="chart-area">
@@ -85,28 +73,30 @@
 <script setup lang="ts">
 import { computed, ref, onMounted, watchEffect } from 'vue';
 import dayjs from 'dayjs';
-import { treeData, historicalMockChartData } from './connectAnalysis.data'; // 引入模拟数据
+// import { treeData, historicalMockChartData } from './connectAnalysis.data'; // 引入模拟数据
 import { Select, SelectOption, Row, Col, DatePicker, Button, message, Input, } from 'ant-design-vue';
-import { BasicTree } from '/@/components/Tree/index';
+// import { BasicTree } from '/@/components/Tree/index';
 import CustomChart from '/@/components/Configurable/detail/CustomChart.vue';
 import MineCascader from '@/components/Form/src/jeecg/components/MineCascader/MineCascader.vue'
 import { getGoafHistory, getGoafList } from './connectAnalysis.api'
 import { storeToRefs } from 'pinia';
 import { useMineStore } from '/@/store/modules/mine';
+import { useRouter } from 'vue-router';
+
 
 // 组件注册
-const RangePicker = DatePicker.RangePicker;
+const RangePicker:any = DatePicker.RangePicker;
+const { currentRoute } = useRouter();
+const mineCode=ref<any>(currentRoute.value['query']['mineCode'])//传递过来的矿ID
 // 筛选相关响应式数据
-const dateRange = ref([dayjs().subtract(1, 'day').format('YYYY-MM-DD HH:mm:ss'), dayjs().format('YYYY-MM-DD HH:mm:ss')]); // 默认时间范围(近1天)
-// const dateRange = ref<any[]>([]); // 默认时间范围(近1天)
-const selectedParamsText = ref(''); // 参数选择框显示文本
-const showTree = ref(false); // 控制树形选择器显示/隐藏
-const checkedTreeKeys = ref([]); // 树形选中的key
-const selectedParams = ref([]); // 选中的参数(实际用于图表)
+const dateRange = ref([dayjs().add(-30, 'day'), dayjs()]); // 默认时间范围(近1天)
+// const selectedParamsText = ref(''); // 参数选择框显示文本
+// const showTree = ref(false); // 控制树形选择器显示/隐藏
+// const checkedTreeKeys = ref([]); // 树形选中的key
+const selectedParams = ref(['coVal','ch4Val','c2h4Val','c2h2Val','co2Val','o2Val','sourcePressure','temperature']); // 选中的参数(实际用于图表)
 const generatedChartData = ref<any[]>([]); // 生成的图表数据
 const generatedChartConfig = ref({}); // 生成的图表配置
 const isChartGenerated = ref(false); // 是否已点击生成
-const mineNameAbbr = ref('')//煤矿简称
 const goafId = ref('')//采空区id
 const goafOption = ref<any[]>([])//采空区列表
 const filteredData = ref<any[]>([])//曲线数据
@@ -157,44 +147,33 @@ const paramColorMap = computed(() => ({
   'temperature': '#9254de',  // 浅紫
 }));
 
-// 树形选择事件处理
-const handleTreeCheck = (checkedKeys) => {
-  checkedTreeKeys.value = checkedKeys;
-  // 转换为实际参数名
-  const params = checkedKeys
-    .map(key => treeKeyToParamMap.value[key])
-    .filter(param => param); // 过滤无效参数
-  selectedParams.value = params;
-
-  // 更新输入框显示文本
-  const paramLabels = params.map(param => paramLabelMap.value[param]);
-  selectedParamsText.value = paramLabels.join('、');
-};
+// // 树形选择事件处理
+// const handleTreeCheck = (checkedKeys) => {
+//   checkedTreeKeys.value = checkedKeys;
+//   // 转换为实际参数名
+//   const params = checkedKeys
+//     .map(key => treeKeyToParamMap.value[key])
+//     .filter(param => param); // 过滤无效参数
+//   selectedParams.value = params;
+//  console.log( selectedParams.value,' selectedParams')
+//   // 更新输入框显示文本
+//   const paramLabels = params.map(param => paramLabelMap.value[param]);
+//   selectedParamsText.value = paramLabels.join('、');
+//   console.log( selectedParamsText.value,' selectedParamsText')
+// };
 
 function changeTime(val) {
-  dateRange.value[0] = val[0].format('YYYY-MM-DD HH:mm:ss')
-  dateRange.value[1] = val[1].format('YYYY-MM-DD HH:mm:ss')
-
+  dateRange.value[0] = val[0]
+  dateRange.value[1] = val[1]
 }
 
 // 生成折线图核心逻辑
 async function generateChart() {
-  // 校验筛选条件
-  if (!dateRange.value[0] || !dateRange.value[1]) {
-    message.warning('请选择完整的时间范围');
-    return;
-  }
-  if (selectedParams.value.length === 0) {
-    message.warning('请至少选择一个监测参数');
-    return;
-  }
-  if (!goafId.value) {
-    message.warning('请选择采空区');
-    return;
-  }
-  showTree.value = false
+  // showTree.value = false
   //获取采空区历史数据列表
-  let res = await getGoafHistory({ pageNo: 1, pageSize: 100, startTime: dateRange.value[0], endTime: dateRange.value[1], goafId: goafId.value })
+  let startTime=dateRange.value[0].format('YYYY-MM-DD HH:mm:ss')
+  let endTime=dateRange.value[1].format('YYYY-MM-DD HH:mm:ss')
+  let res = await getGoafHistory({ pageNo: 1, pageSize: 100, startTime: startTime, endTime: endTime, goafId: goafId.value })
   if (res && res.records) {
     filteredData.value = res.records
     isChartGenerated.value = false
@@ -202,15 +181,7 @@ async function generateChart() {
     filteredData.value.length = 0
     isChartGenerated.value = true;
   }
-
-  // const start = dayjs(dateRange.value[0]); // 转为 dayjs 实例
-  // const end = dayjs(dateRange.value[1]);   // 转为 dayjs 实例
-  // // 1. 筛选时间范围内的模拟数据(修复核心漏洞)
-  // const filteredData = historicalMockChartData.filter(item => {
-  //   const itemTime = dayjs(item.time); // 解析 item.time 为 dayjs 实例
-  //   return itemTime.isAfter(start) && itemTime.isBefore(end);
-  // });
-
+  console.log(filteredData.value,'filteredData')
 
   // 2. 构建图表数据结构(适配 CustomChart 的 line 类型)
   const timeMap = new Map();
@@ -233,6 +204,7 @@ async function generateChart() {
     return dayjs(a.time).valueOf() - dayjs(b.time).valueOf();
   });
   generatedChartData.value = chartData;
+  console.log(generatedChartData.value,'generatedChartData')
 
   // 3. 构建图表配置(折线图类型,完善适配逻辑)
   generatedChartConfig.value = {
@@ -307,6 +279,7 @@ async function getGoafListData() {
         value: el.id,
       }
     })
+    goafId.value = goafId.value ? goafId.value : goafOption.value[0]['value']
   }
 }