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 @@ + + + + + + + 加载中... + + + + {{ errorTips }} + + + + + + {{ hoverData.temperature }}°C + + + + + + + + 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 @@ + 共 {{ total }} 条 diff --git a/src/views/cards/components/CardProgressBar.vue b/src/views/cards/components/CardProgressBar.vue new file mode 100644 index 0000000..032bc3b --- /dev/null +++ b/src/views/cards/components/CardProgressBar.vue @@ -0,0 +1,112 @@ + + + + + + + + + {{ progressText }} + + + + + + + diff --git a/src/views/cards/components/ImagePreview/index.vue b/src/views/cards/components/ImagePreview/index.vue new file mode 100644 index 0000000..0cbd3e8 --- /dev/null +++ b/src/views/cards/components/ImagePreview/index.vue @@ -0,0 +1,389 @@ + + + + + + { + handleDrawComplete(shape); + } + " + /> + + + selectIndex--" + class="img-handle-btn img-handle-btn-left left-btn" + > + + selectIndex++" + class="img-handle-btn img-handle-btn-right right-btn" + > + + + + + + 点测温 + 线测温 + 区域测温 + 取消测温 + + + 平均温度:{{ + temperatureInfo.averageT ? temperatureInfo.averageT + "℃" : "-" + }} + 最大温度:{{ + temperatureInfo.maxT ? temperatureInfo.maxT + "℃" : "-" + }} + 最小温度:{{ + temperatureInfo.maxT ? temperatureInfo.minT + "℃" : "-" + }} + 环境温度:{{ + temperatureInfo.weatherT ? temperatureInfo.weatherT + "℃" : "-" + }} + + + + + + + + + + + + + + + + + + + diff --git a/src/views/cards/components/ImagePreviewZoom/index.vue b/src/views/cards/components/ImagePreviewZoom/index.vue new file mode 100644 index 0000000..91bf7fb --- /dev/null +++ b/src/views/cards/components/ImagePreviewZoom/index.vue @@ -0,0 +1,654 @@ + + + + + + + + + + + + { + handleDrawComplete(shape); + } + " + /> + + + + + ↺ + + + + + selectIndex--" + class="img-handle-btn img-handle-btn-left left-btn" + > + + selectIndex++" + class="img-handle-btn img-handle-btn-right right-btn" + > + + + + + + 点测温 + 线测温 + 区域测温 + 取消测温 + + + 平均温度:{{ + temperatureInfo.averageT ? temperatureInfo.averageT + "℃" : "-" + }} + 最大温度:{{ + temperatureInfo.maxT ? temperatureInfo.maxT + "℃" : "-" + }} + 最小温度:{{ + temperatureInfo.maxT ? temperatureInfo.minT + "℃" : "-" + }} + 环境温度:{{ + temperatureInfo.weatherT ? temperatureInfo.weatherT + "℃" : "-" + }} + + + + + + + + + + + + + + + + + + + diff --git a/src/views/cards/components/ImagePreviewZoomTemperature/index.vue b/src/views/cards/components/ImagePreviewZoomTemperature/index.vue new file mode 100644 index 0000000..2892400 --- /dev/null +++ b/src/views/cards/components/ImagePreviewZoomTemperature/index.vue @@ -0,0 +1,1016 @@ + + + + + + + + + + + + + + + ↺ + + + + + selectIndex--" + class="img-handle-btn img-handle-btn-left left-btn" + > + selectIndex++" + class="img-handle-btn img-handle-btn-right right-btn" + > + + + + {{ hoverData.temperature }}°C + + + + + + + + + + + + + + + + + + + diff --git a/src/views/cards/components/cardBox.vue b/src/views/cards/components/cardBox.vue new file mode 100644 index 0000000..b49f1dc --- /dev/null +++ b/src/views/cards/components/cardBox.vue @@ -0,0 +1,138 @@ + + + + + + + + {{ title }} + + + + + + + + + + + + + + + + diff --git a/src/views/cards/components/model-dialog.vue b/src/views/cards/components/model-dialog.vue new file mode 100644 index 0000000..e3c82c9 --- /dev/null +++ b/src/views/cards/components/model-dialog.vue @@ -0,0 +1,221 @@ + + + + 模型信息查询 + + + + + + + + + + 发送 + + + + + + + + diff --git a/src/views/cards/error_statistics/patrolAbnormalStatistics.vue b/src/views/cards/error_statistics/patrolAbnormalStatistics.vue new file mode 100644 index 0000000..4067048 --- /dev/null +++ b/src/views/cards/error_statistics/patrolAbnormalStatistics.vue @@ -0,0 +1,300 @@ + + + + + + + + + + + + + + + + + + + + + + -- + + + + + + + -- + + + + + + + -- + + + + + + -- + + + + + + + + + + + + + + + diff --git a/src/views/cards/taskSummary/inspectionTask.vue b/src/views/cards/taskSummary/inspectionTask.vue new file mode 100644 index 0000000..111f46e --- /dev/null +++ b/src/views/cards/taskSummary/inspectionTask.vue @@ -0,0 +1,1279 @@ + + + + + + + + + + + + + + + + + + 搜索 + 重置 + 上一天 + 下一天 + + + + 合并归档 + + + + + + + + + + + + + + + {{ getStatusText(scope.row.taskState).text }} + + + + + + + + + + + + + + + + + + + + + + + + + + {{ scope.row.qxNum }} + 0 + + + + + + + + + + + + + + 归档 + + 暂停 + 继续 + 终止 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/views/cards/taskSummary/inspectionTaskDefectDetail.vue b/src/views/cards/taskSummary/inspectionTaskDefectDetail.vue new file mode 100644 index 0000000..e975b00 --- /dev/null +++ b/src/views/cards/taskSummary/inspectionTaskDefectDetail.vue @@ -0,0 +1,222 @@ + + + + + {{ taskInfo.taskName }} + + + + + {{ item.pointName }} + + + + + {{ item.desc }} + + + + + + + + + + + + + + + + diff --git a/src/views/cards/taskSummary/inspectionTaskDefectDetailImage.vue b/src/views/cards/taskSummary/inspectionTaskDefectDetailImage.vue new file mode 100644 index 0000000..251dfe3 --- /dev/null +++ b/src/views/cards/taskSummary/inspectionTaskDefectDetailImage.vue @@ -0,0 +1,701 @@ + + + + + {{ selectInfo.pointName }} + + + + + + + + + + ↺ + + + + + + + + + + + + + ↺ + + + + + + + {{ selectInfo.desc }} + + + + + + + + + + + + 建议: + + + + + + + + + + + + + + 忽略 + 确认 + 跟踪 + + + + + + + + + + diff --git a/src/views/cards/taskSummary/newInspectionTaskDetail.vue b/src/views/cards/taskSummary/newInspectionTaskDetail.vue new file mode 100644 index 0000000..47dacb5 --- /dev/null +++ b/src/views/cards/taskSummary/newInspectionTaskDetail.vue @@ -0,0 +1,1134 @@ + + + + + + {{ selectPointInfo.pointName }} + + + + + 正样本 + + + + + + + 初筛分析 + + {{ + `结果:${ + selectPointInfo.filterDesc + ? selectPointInfo.filterDesc + : "--" + }` + }} + + + + + + + + {{ + selectPointInfo.algType == "meter" ? "表计识别" : "模型分析" + }} + + + 结果:{{ getAnalyResult(selectPointInfo) }} + + + + + + + + + + 红外测温 + + 结果:{{ getAnalyResult(selectPointInfo) }} + + + + + + + + + + + + + + + + + 基本信息 + + + 任务名称: + {{ baseInfo.taskName || "--" }} + + + 任务类型: + {{ + baseInfo.patrolTypeText || "--" + }} + + + 执行时间: + {{ baseInfo.startTime || "--" }} + + + 耗时: + {{ baseInfo.duration || "--" }} + + + + + + + 结果信息 + + + 基本总点位: + {{ summaryData.totalPoint }} + + + 已巡检: + {{ summaryData.executedPoint }} + + + 未巡检: + {{ summaryData.unexecutedPoint }} + + + + + + + + + + + {{ item.value }} + + + + + + + + + + + + + + + 搜索 + 重置 + 导出 + + + + + + + + + + + + + {{ scope.row.pointName || "--" }} + + + + + -- + {{ + scope.row.algType && + (scope.row.algType.includes("infra") || + scope.row.algType === "meter" || + scope.row.algType === "gis_meter" || + scope.row.algType === "gis_meter2" || + scope.row.algType === "correction" || + scope.row.algType === "switch" || + scope.row.algType === "isolator" || + scope.row.algType === "xb") + ? scope.row.resValue + : "--" + }} + + + + + + + + 异常 + + + + 正常 + + + + 待人工确认 + + + + 忽略 + + + + 跟踪 + + + + 确认 + + + + 缺陷 + + + + -- + + + + + + + 纠偏 + + 无需纠偏 + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/views/cards/task_statistics/task_status.vue b/src/views/cards/task_statistics/task_status.vue new file mode 100644 index 0000000..66d5291 --- /dev/null +++ b/src/views/cards/task_statistics/task_status.vue @@ -0,0 +1,108 @@ + + + + + + + + + +