fix:修改病害图片标注,增加滚动图表

This commit is contained in:
SunTao 2025-05-15 17:20:57 +08:00
parent 0e82e20e75
commit 8b92c56708
2 changed files with 141 additions and 13 deletions

View File

@ -2,7 +2,7 @@
* @Author: SunTao 328867980@qq.com * @Author: SunTao 328867980@qq.com
* @Date: 2025-03-25 11:10:16 * @Date: 2025-03-25 11:10:16
* @LastEditors: SunTao 328867980@qq.com * @LastEditors: SunTao 328867980@qq.com
* @LastEditTime: 2025-05-15 14:38:45 * @LastEditTime: 2025-05-15 17:11:29
* @FilePath: \znxjxt-ui\src\views\xj\inspection\diease-line\index.vue * @FilePath: \znxjxt-ui\src\views\xj\inspection\diease-line\index.vue
* @Description: 护拦板检测-首页-910001 * @Description: 护拦板检测-首页-910001
--> -->
@ -30,6 +30,11 @@
<el-input-number v-model="queryParams.maxHei" controls-position="right" placeholder="最大高度" <el-input-number v-model="queryParams.maxHei" controls-position="right" placeholder="最大高度"
:min="0"></el-input-number> :min="0"></el-input-number>
</el-form-item> </el-form-item>
<el-form-item label="护栏状态">
<el-select v-model="queryParams.status" placeholder="请选择护拦板高度状态" clearable>
<el-option v-for="item in statusList" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
</el-form-item>
<el-form-item label=""> <el-form-item label="">
<el-button type="primary" size="mini" @click="handleQuery">筛选</el-button> <el-button type="primary" size="mini" @click="handleQuery">筛选</el-button>
<el-button size="mini" @click="handleCanel"> </el-button> <el-button size="mini" @click="handleCanel"> </el-button>
@ -109,14 +114,21 @@ export default {
// //
stakeEnd: "", stakeEnd: "",
// //
minHei: "", minHei: "0",
// //
maxHei: "", maxHei: "100",
//
status:"0"
}, },
// //
searchForm: {}, searchForm: {},
// //
taskList: [], taskList: [],
//
statusList: [
{ label: "异常", value: "0" },
{ label: "正常", value: "1" },
],
// //
rules: { rules: {
segmentId: [ segmentId: [
@ -354,8 +366,113 @@ export default {
color: 'rgba(26, 119, 221, 1)' color: 'rgba(26, 119, 221, 1)'
}, },
data: this.yData data: this.yData
},
{
name: '基准线',
type: 'line',
showSymbol: false,
markLine: {
symbol: 'none',
lineStyle: {
type: 'dashed',
color: '#FF1D00',
width: 1
},
label: {
show: true,
position: 'insideEndTop', // 'start', 'end', 'center'
padding: [0, 0, 0, 0],
// 'start', 'middle', 'end', 'insideStartTop', 'insideStartBottom', 'insideMiddleTop', 'insideMiddleBottom', 'insideEndTop', 'insideEndBottom'
fontWeight: 'normal' //
},
data: [
{
yAxis: 20,
lineStyle: { color: '#FF4D4D' },
label: {
color: '#FF4D4D',
formatter: '下限值 '
}
} }
] ]
}
},
{
name: '基准线',
type: 'line',
showSymbol: false,
markLine: {
symbol: 'none',
lineStyle: {
type: 'dashed',
color: '#FF1D00',
width: 1
},
label: {
show: true,
position: 'insideEndTop', // 'start', 'end', 'center'
padding: [0, 0, 0, 0],
// 'start', 'middle', 'end', 'insideStartTop', 'insideStartBottom', 'insideMiddleTop', 'insideMiddleBottom', 'insideEndTop', 'insideEndBottom'
fontWeight: 'normal' //
},
data: [
{
yAxis: 60,
lineStyle: { color: '#FF4D4D' },
label: {
color: '#FF4D4D',
formatter: '上限值 '
}
}
]
}
}
],
dataZoom: [
{
//
show: false,
//
type: "slider",
//
backgroundColor: "rgba(225,225,225,0.2)",
//
fillerColor: "#ccc",
//
borderColor: "rgba(225,225,225,0.2)",
// detail
showDetail: false,
//
startValue: 0,
//
endValue: 50,
// empty
//
filterMode: "empty",
//
width: "80%",
//
height: 5,
//
left: "center",
//
zoomLoxk: true,
//
handleSize: 10,
// dataZoom-slider
bottom: 0,
},
{
//
//
type: "inside",
//
zoomOnMouseWheel: true,
//
moveOnMouseMove: true,
moveOnMouseWheel: true,
},
],
}) })
window.addEventListener("resize", () => { window.addEventListener("resize", () => {
chart.resize(); chart.resize();

View File

@ -2,7 +2,7 @@
* @Author: error: error: git config user.name & please set dead value or install git && error: git config user.email & please set dead value or install git & please set dead value or install git * @Author: error: error: git config user.name & please set dead value or install git && error: git config user.email & please set dead value or install git & please set dead value or install git
* @Date: 2024-10-08 10:58:25 * @Date: 2024-10-08 10:58:25
* @LastEditors: SunTao 328867980@qq.com * @LastEditors: SunTao 328867980@qq.com
* @LastEditTime: 2025-05-09 17:06:20 * @LastEditTime: 2025-05-15 16:37:41
* @FilePath: \znxjxt-ui\src\views\xj\inspection\disease-management\index.vue * @FilePath: \znxjxt-ui\src\views\xj\inspection\disease-management\index.vue
* @Description: 巡检信息管理-病害管理 * @Description: 巡检信息管理-病害管理
--> -->
@ -288,14 +288,22 @@
@close="imgCancel"> @close="imgCancel">
<div class="image-container" ref="imageContainer"> <div class="image-container" ref="imageContainer">
<img :src="currentImageItem.mediaUrl" alt="Main Image" ref="mainImage" @load="updateRects" /> <img :src="currentImageItem.mediaUrl" alt="Main Image" ref="mainImage" @load="updateRects" />
<template v-if="showRects">
<div v-for="(rect, index) in rects" :key="index" class="rect-overlay" :style="getRectStyle(rect)"></div> <div v-for="(rect, index) in rects" :key="index" class="rect-overlay" :style="getRectStyle(rect)"></div>
</template>
<div class="rect-image"> <div class="rect-image">
<div>
采集时间: 采集时间:
{{ new Date(currentImageItem.createdTime).toLocaleString() }} {{ new Date(currentImageItem.createdTime).toLocaleString() }}
起始桩号 {{ currentImageItem.stakeStart || "暂无数据" }} 终止桩号 起始桩号 {{ currentImageItem.stakeStart || "暂无数据" }} 终止桩号
{{ currentImageItem.stakeEnd || "暂无数据" }} {{ currentImageItem.stakeEnd || "暂无数据" }}
病害类型 病害类型
{{ currentImageItem.defectTypeName || "暂无数据" }}</div> {{ currentImageItem.defectTypeName || "暂无数据" }}
</div>
<div>
<el-button @click="showRects = !showRects" size="mini">切换标注状态</el-button>
</div>
</div>
</div> </div>
</el-dialog> </el-dialog>
</div> </div>
@ -485,6 +493,8 @@ export default {
showImageDialog: false, showImageDialog: false,
// //
currentImageItem: {}, currentImageItem: {},
//
showRects: true,
// //
rects: [], rects: [],
// //
@ -1070,7 +1080,6 @@ export default {
getDetailsBySnapShotId(val).then(({ code, data }) => { getDetailsBySnapShotId(val).then(({ code, data }) => {
if (code === 200) { if (code === 200) {
this.viewForm = data; this.viewForm = data;
console.log(data, "查看弹窗选择改变触发事件");
} }
}); });
}, },
@ -1249,6 +1258,8 @@ export default {
// //
.rect-image { .rect-image {
width: 90%; width: 90%;
display: flex;
justify-content: space-between;
position: absolute; position: absolute;
top: 0; top: 0;
font-size: 1.2rem; font-size: 1.2rem;