From 87cd6c664a47d2c89980788b2943340f685b8c49 Mon Sep 17 00:00:00 2001 From: douyage Date: Fri, 7 Aug 2026 11:14:49 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=B7=A1=E8=A7=86=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E3=80=81=E8=AF=A6=E6=83=85=E3=80=81=E7=BC=BA=E9=99=B7?= =?UTF-8?q?=E8=AF=A6=E6=83=85=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 2 + src/api/analysis/index.js | 88 ++ src/api/home/index.js | 116 ++ src/api/inspectionDataManage/alarmConfirm.js | 4 + .../inspectionDataManage/inspectionArchive.js | 9 + src/api/modelDialog/modelDialog.js | 9 + src/api/screen/screen.js | 75 + src/api/videosMonitor/index.js | 322 +++++ src/components/AsyncImageFrame/index.vue | 673 +++++++++ src/components/CardPagination/index.vue | 175 ++- src/layout/components/Sidebar/Item.vue | 3 + src/main.js | 10 +- src/router/index.js | 16 +- src/views/cards/assets/btn-next.png | Bin 0 -> 2271 bytes src/views/cards/assets/btn-pre.png | Bin 0 -> 2308 bytes src/views/cards/assets/card_btn_border.png | Bin 0 -> 527 bytes src/views/cards/assets/icon-document.png | Bin 0 -> 2104 bytes src/views/cards/assets/icon-title-1.png | Bin 0 -> 636 bytes src/views/cards/assets/icon-title-2.png | Bin 0 -> 734 bytes .../cards/assets/image-btn-left-disable.png | Bin 0 -> 781 bytes .../cards/assets/image-btn-left-hover.png | Bin 0 -> 1288 bytes .../cards/assets/image-btn-left-normal.png | Bin 0 -> 1323 bytes .../cards/assets/image-btn-left-press.png | Bin 0 -> 1330 bytes .../cards/assets/image-btn-right-disable.png | Bin 0 -> 779 bytes .../cards/assets/image-btn-right-hover.png | Bin 0 -> 1283 bytes .../cards/assets/image-btn-right-normal.png | Bin 0 -> 1317 bytes .../cards/assets/image-btn-right-press.png | Bin 0 -> 1316 bytes src/views/cards/assets/model-img.png | Bin 0 -> 33456 bytes src/views/cards/assets/right-title.png | Bin 0 -> 15501 bytes src/views/cards/assets/styles/index.scss | 658 +++++++++ src/views/cards/assets/taskDetail.png | Bin 0 -> 2788 bytes src/views/cards/common.js | 48 + .../cards/components/CardPagination/index.vue | 216 +++ .../cards/components/CardProgressBar.vue | 112 ++ .../cards/components/ImagePreview/index.vue | 389 +++++ .../components/ImagePreviewZoom/index.vue | 654 +++++++++ .../ImagePreviewZoomTemperature/index.vue | 1016 +++++++++++++ src/views/cards/components/cardBox.vue | 138 ++ src/views/cards/components/model-dialog.vue | 221 +++ .../patrolAbnormalStatistics.vue | 300 ++++ .../cards/taskSummary/inspectionTask.vue | 1279 +++++++++++++++++ .../inspectionTaskDefectDetail.vue | 222 +++ .../inspectionTaskDefectDetailImage.vue | 701 +++++++++ .../taskSummary/newInspectionTaskDetail.vue | 1134 +++++++++++++++ .../cards/task_statistics/task_status.vue | 108 ++ 45 files changed, 8653 insertions(+), 45 deletions(-) create mode 100644 src/api/analysis/index.js create mode 100644 src/api/home/index.js create mode 100644 src/api/modelDialog/modelDialog.js create mode 100644 src/api/screen/screen.js create mode 100644 src/api/videosMonitor/index.js create mode 100644 src/components/AsyncImageFrame/index.vue create mode 100644 src/views/cards/assets/btn-next.png create mode 100644 src/views/cards/assets/btn-pre.png create mode 100644 src/views/cards/assets/card_btn_border.png create mode 100644 src/views/cards/assets/icon-document.png create mode 100644 src/views/cards/assets/icon-title-1.png create mode 100644 src/views/cards/assets/icon-title-2.png create mode 100644 src/views/cards/assets/image-btn-left-disable.png create mode 100644 src/views/cards/assets/image-btn-left-hover.png create mode 100644 src/views/cards/assets/image-btn-left-normal.png create mode 100644 src/views/cards/assets/image-btn-left-press.png create mode 100644 src/views/cards/assets/image-btn-right-disable.png create mode 100644 src/views/cards/assets/image-btn-right-hover.png create mode 100644 src/views/cards/assets/image-btn-right-normal.png create mode 100644 src/views/cards/assets/image-btn-right-press.png create mode 100644 src/views/cards/assets/model-img.png create mode 100644 src/views/cards/assets/right-title.png create mode 100644 src/views/cards/assets/styles/index.scss create mode 100644 src/views/cards/assets/taskDetail.png create mode 100644 src/views/cards/common.js create mode 100644 src/views/cards/components/CardPagination/index.vue create mode 100644 src/views/cards/components/CardProgressBar.vue create mode 100644 src/views/cards/components/ImagePreview/index.vue create mode 100644 src/views/cards/components/ImagePreviewZoom/index.vue create mode 100644 src/views/cards/components/ImagePreviewZoomTemperature/index.vue create mode 100644 src/views/cards/components/cardBox.vue create mode 100644 src/views/cards/components/model-dialog.vue create mode 100644 src/views/cards/error_statistics/patrolAbnormalStatistics.vue create mode 100644 src/views/cards/taskSummary/inspectionTask.vue create mode 100644 src/views/cards/taskSummary/inspectionTaskDefectDetail.vue create mode 100644 src/views/cards/taskSummary/inspectionTaskDefectDetailImage.vue create mode 100644 src/views/cards/taskSummary/newInspectionTaskDetail.vue create mode 100644 src/views/cards/task_statistics/task_status.vue diff --git a/package.json b/package.json index b89ea80..8fa91c9 100644 --- a/package.json +++ b/package.json @@ -53,7 +53,9 @@ "linq": "^4.0.3", "lodash": "^4.17.21", "md5.js": "^1.3.5", + "moment": "^2.29.2", "nprogress": "0.2.0", + "papaparse": "^5.5.3", "quill": "2.0.2", "screenfull": "5.0.2", "sortablejs": "1.10.2", diff --git a/src/api/analysis/index.js b/src/api/analysis/index.js new file mode 100644 index 0000000..f84c977 --- /dev/null +++ b/src/api/analysis/index.js @@ -0,0 +1,88 @@ +// 告警确认 +import request from '@/utils/request' + +// 巡视结果列表 +export function getPatrolData(query) { + return request({ + url: '/patrol/statistics/listMulti', + method: 'get', + params: query + }) +} +/** + * 获取设备列表 + * @returns + */ +export function getDeviceTree(){ + return request({ + url:'/basedata/prodevmnt/device/treeAreaDeviceSelect', + method:'get' + }) +} + +// 获取数据趋势左侧的设备树 +export function treeAreaDeviceSelectFilterByMeter() { + return request({ + url: '/basedata/prodevmnt/device/treeAreaDeviceSelectFilterByMeter', + method: 'get' + }) +} + +// ?deviceId=1&recognitionType=1&startTime=2020-12-1&endTime=2022-12-1 +/** + * 获取图表数据 + * @param {*} query + * @returns + */ +export function getChartData(query){ + return request({ + url: '/patrol/statistics/chartsMulti', + method: 'get', + params: query + }) +} +/** + * 同源/非同源数据对比 阈值 + * @param {*} query + * @returns + */ +export function analysisData(query){ + return request({ + url: '/patrol/statistics/analyse', + method: 'post', + data: query + }) +} +/** + * 5次表计任务对比分析 + * @param {*} data + * @returns + */ +export function recordAnalysisData(data){ + return request({ + url: '/patrol/statistics/verifyNumber', + method: 'post', + data + }) +} + +/** + * 获取自定义属性字典 + * @returns + */ + export function getExportProps(){ + return request({ + url:'/patrol/statistics/colMap', + methods:'get' + }) +} + +export function getPatrolPointName (params) { + return request({ + url: '/patrol/task/getPatrolPointName', + methods: 'get', + params + }) +} + + diff --git a/src/api/home/index.js b/src/api/home/index.js new file mode 100644 index 0000000..5874624 --- /dev/null +++ b/src/api/home/index.js @@ -0,0 +1,116 @@ +// 首页 +import request from "@/utils/request"; + +// 任务占比 +export function teskRationList(query) { + return request({ + url: "/patrol/task/teskRationList", + method: "get", + params: query, + }); +} +// 告警统计 +export function alarmList(query) { + return request({ + url: "/basedata/eqpbook/alarmList", + method: "get", + params: query, + }); +} + +// 设备状态详情 +export function alarmDeviceList(query) { + return request({ + url: "/basedata/eqpbook/alarmList/status", + method: "get", + params: query, + }); +} + +// 巡视告警详情 +export function alarmPatrolList(query) { + return request({ + url: "/basedata/eqpbook/alarmList/alarm", + method: "get", + params: query, + }); +} + +// 巡视异常详情 +export function abnormalPatrolList(query) { + return request({ + url: "/basedata/eqpbook/alarmList/abnormal", + method: "get", + params: query, + }); +} +// 巡视异常 +export function getAbnormalPatrolList(query) { + return request({ + url: "/patrol/analysis/list_exception", + method: "get", + params: query, + }); +} + +// 场站点位个数 +export function pointStatistics(query = {}) { + return request({ + url: "/patrol/task/pointStatistics", + method: "get", + params: query, + }); +} + +// 缺陷统计 +export function defectList(query) { + return request({ + url: "/patrol/task/defectList", + method: "get", + params: query, + }); +} +// 设备数量 +export function deviceNumList(query) { + return request({ + url: "/basedata/eqpbook/deviceNumList", + method: "get", + params: query, + }); +} + +// 环境参数 +export function evnList(query) { + return request({ + url: "/basedata/montdata/evndata/evnList", + method: "get", + params: query, + }); +} + +// 阈值列表 +export function thresholdList(query) { + return request({ + url: "/basedata/eqpbook/subtypeData", + method: "get", + params: query, + }); +} + +// 阈值修改 +export function thresholdUpdate(params) { + return request({ + url: "/basedata/eqpbook/subtypeUpdate", + method: "post", + data: params, + }); +} + +// 阈值历史查看 +export function thresholdHistory(params) { + return request({ + url: "/basedata/eqpbook/subtypeUpdateRecord", + method: "get", + params: params, + }); +} diff --git a/src/api/inspectionDataManage/alarmConfirm.js b/src/api/inspectionDataManage/alarmConfirm.js index de19664..bdff010 100644 --- a/src/api/inspectionDataManage/alarmConfirm.js +++ b/src/api/inspectionDataManage/alarmConfirm.js @@ -58,3 +58,7 @@ export function getAllAlgorithmList() { }, }); } + +export function getAlgTypeList() { + return getAllAlgorithmList(); +} diff --git a/src/api/inspectionDataManage/inspectionArchive.js b/src/api/inspectionDataManage/inspectionArchive.js index a6ec801..dd98b6a 100644 --- a/src/api/inspectionDataManage/inspectionArchive.js +++ b/src/api/inspectionDataManage/inspectionArchive.js @@ -47,3 +47,12 @@ export function partrolResultArchive (params) { params }) } + +// 绍兴增加在任务列表中归档 +export function partrolResultArchiveAdd (params) { + return request({ + url: '/patrol/resultmain/updateInfo_shaoxing', + method: 'post', + data: params + }) +} diff --git a/src/api/modelDialog/modelDialog.js b/src/api/modelDialog/modelDialog.js new file mode 100644 index 0000000..311f725 --- /dev/null +++ b/src/api/modelDialog/modelDialog.js @@ -0,0 +1,9 @@ +import request from "@/utils/request"; +// 大模型对话 +export function semanticsModel (query) { + return request({ + url: '/simulator/ir/semanticsModel', + method: 'post', + data: query + }) +} \ No newline at end of file diff --git a/src/api/screen/screen.js b/src/api/screen/screen.js new file mode 100644 index 0000000..3154d9f --- /dev/null +++ b/src/api/screen/screen.js @@ -0,0 +1,75 @@ +import request from "@/utils/request"; + +//获取检修区域tree +export function treeselect(query) { + return request({ + url: "/basedata/area/treeselect", + method: "get", + params: query, + }); +} +//获取监测设备列表 +export function getViewers(query) { + return request({ + url: "/api/device/getViewers", + method: "get", + params: query, + }); +} +//获取生产设备列表 +export function getDevices(query) { + return request({ + url: "/basedata//prodevmnt/device/treeAreaDeviceSelect", + method: "get", + params: query, + }); +} +//添加巡检任务 +export function taskAdd(data) { + return request({ + url: "patrol/task/add", + method: "post", + data: data, + }); +} +//任务详情中算法纠偏 +export function taskCorrection(data) { + return request({ + url: "patrol/task/correction", + method: "post", + data: data, + }); +} +//获取未处置的告警列表 +export function unexecuted(query) { + return request({ + url: "patrol/analysis/unexecuted", + method: "get", + params: query, + }); +} + +//查询检测设备列表 +export function getTeskMessageByEqpbookId(query) { + return request({ + url: "/basedata/eqpbook/getTeskMessageByEqpbookId", + method: "get", + params: query, + }); +} + +export function treeProMainDevicePatrolEquSelect(query) { + return request({ + url: "/basedata/prodevmnt/device/treeProMainDevicePatrolEquSelect", + method: "post", + data: query, + }); +} +//获取无人机 +export function getUavList(query) { + return request({ + url: "/basedata/eqpbook/getUavList", + method: "get", + params: query, + }); +} diff --git a/src/api/videosMonitor/index.js b/src/api/videosMonitor/index.js new file mode 100644 index 0000000..279bc11 --- /dev/null +++ b/src/api/videosMonitor/index.js @@ -0,0 +1,322 @@ +import request from "@/utils/request"; +import { defectList } from "../home/index"; + +/** + * 巡视设备树 + * @param {*} data + * @returns + */ +export function getAreaEqubookTreeSelect(params) { + return request({ + // url: '/basedata/eqpbook/getAreaEqubookTreeSelect', + url: "/basedata/eqpbook/getAreaEqubookTreeSelectForFilter", + method: "get", + params, + }); +} +/** + * 巡视任务--任务展示--日 + * @param {*} data + * @returns + */ +export function list(params) { + return request({ + url: "/patrol/taskstatus/list", + method: "get", + params, + }); +} +/** + * 巡视任务--任务展示--月、年 + * @param {*} data + * @returns + */ +export function taskcount(params) { + return request({ + url: "/patrol/taskstatus/taskcount", + method: "get", + params, + }); +} +/** + * 任务列表 + * @param {*} data + * @returns + */ +export function taskList(params) { + return request({ + // url: '/patrol/task/list', + url: "/patrol/taskstatus/list", + method: "get", + params, + }); +} +/** + * 任务列表 + * @param {*} data + * @returns + */ +export function taskInfo(params) { + return request({ + url: "/patrol/task/taskInfo", + method: "get", + params, + }); +} + +// 查询巡视类型列表 +export function listPatroltype(query) { + return request({ + url: "/basedata/patrolpointmnt/patroltype/list", + method: "get", + params: query, + }); +} + +// 巡检区域 +export function listArea(query) { + return request({ + url: "/basedata/area/list", + method: "get", + params: query, + }); +} +// 生产设备树 +export function equipmentree(query) { + return request({ + url: "/basedata/prodevmnt/device/getProDeviceTreeSelect", + method: "get", + params: query, + }); +} + +/** + * 任务基本信息 + * @param {*} data + * @returns + */ +export function editTask(taskId) { + return request({ + url: "/patrol/task/" + taskId, + method: "get", + }); +} + +/** + * 任务下发 + * @param {*} data + * @returns + */ +export function taskStatusChange(params) { + return request({ + url: "/patrol/taskstatus/taskStatusChange", + method: "get", + params, + }); +} +/** + * 录像列表 + * @param {*} data + * @returns + */ +export function recordList(params) { + return request({ + url: "/patrol/videotape/record/list", + method: "get", + params, + }); +} +/** + * 获取视频地址 + * @param {*} data + * @returns + */ +export function reviewStart(params) { + return request({ + url: "/patrol/videotape/review/start", + method: "get", + params, + }); +} +/** + * 获取预置点列表 + * @param {*} data + * @returns + */ +export function getDeviceList(deviceCode, channelCode) { + return request({ + url: `/patrol/preset/listByEqIdAndChannelId`, + params: { + patroldeviceCode: deviceCode, + channelCode: channelCode, + }, + method: "get", + }); +} +/** + * 下发预置点任务 + * @param {*} data + * @returns + */ +export function presetGoto(params) { + return request({ + url: `/patrol/preset/goto`, + method: "get", + params, + }); +} +/** + * 下发预置点任务 + * @param {*} data + * @returns + */ +export function videotapeRecord(params) { + return request({ + url: `/patrol/videotape/record`, + method: "get", + params, + }); +} +/** + * 获取告警列表 + * @param {*} data + * @returns + */ +export function patdevstadataList(params) { + return request({ + url: `basedata/montdata/patdevstadata/list`, + method: "get", + params, + }); +} + +/** + * 任务点位分析列表 + * @param {*} data + * @returns + */ +export function taskInfoList(params) { + return request({ + url: `/patrol/task/taskInfo_v2`, + method: "get", + params, + }); +} + +/** + * 缺陷列表 + * @param {*} data + * @returns + */ +export function analysisDefectList(params) { + return request({ + url: `/patrol/analysis/list_v2`, + method: "get", + params, + }); +} + +/** + * 绍兴站合并缺陷列表(ai和缺陷) + * @param {*} data + * @returns + */ + export function analysisDefectListShaoxing(params) { + return request({ + url: `/patrol/analysis/list_v2_ex`, + method: "get", + params, + }); +} + + +/** + * 点位列表列表 + * @param {*} data + * @returns + */ +export function getDefectPointList(params = {}) { + return request({ + url: `/patrol/analysis/summary/points`, + method: "get", + params, + }); +} + +/** + * 点位缺陷列表 + * @param {*} data + * @returns + */ +export function getDefectAlarmList(params = {}) { + return request({ + url: `/patrol/analysis/summary/alarm`, + method: "get", + params, + }); +} + +/** + * 获取区域列表 + * @param {*} data + * @returns + */ + export function areaList(params = {}) { + return request({ + url: `/basedata/area/list`, + method: "get", + params, + }); +} + +/** + * 巡视任务--任务日历展示年 + * @param {*} data + * @returns + */ + export function calenderYear(params) { + return request({ + url: "/patrol/calender/year", + method: "get", + params, + }); +} + + +/** + * 巡视任务--任务日历展示月 + * @param {*} data + * @returns + */ + export function calenderMonth(params) { + return request({ + url: "/patrol/calender/month", + method: "get", + params, + }); +} + +/** + * 巡视任务--任务日历展示日 + * @param {*} data + * @returns + */ + export function calenderDay(params) { + return request({ + url: "/patrol/calender/day", + method: "get", + params, + }); +} +/** + * 缺陷记录卡片的列表 + * @param {*} data + * @returns + */ + export function defectRecordList(params) { + return request({ + url: `/patrol/analysis/defect/list`, + method: "get", + params, + }); +} diff --git a/src/components/AsyncImageFrame/index.vue b/src/components/AsyncImageFrame/index.vue new file mode 100644 index 0000000..7a0e2b1 --- /dev/null +++ b/src/components/AsyncImageFrame/index.vue @@ -0,0 +1,673 @@ + + + + + diff --git a/src/components/CardPagination/index.vue b/src/components/CardPagination/index.vue index bdfa8bb..1ca3f45 100644 --- a/src/components/CardPagination/index.vue +++ b/src/components/CardPagination/index.vue @@ -1,5 +1,6 @@