From be8c88629deffba4c6adc894f641f5010d64d9ce Mon Sep 17 00:00:00 2001 From: dongyukun <1208714201@qq.com> Date: 星期三, 11 六月 2025 17:06:59 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- src/views/model/sche/snapshotConf/det/index.vue | 4 + src/views/model/sche/suggest/suggestSnapshot.vue | 108 ++++++++++++++++++++++++++++++++--- src/views/model/sche/snapshotConf/det/configDetForm.vue | 16 +++++ 3 files changed, 117 insertions(+), 11 deletions(-) diff --git a/src/views/model/sche/snapshotConf/det/configDetForm.vue b/src/views/model/sche/snapshotConf/det/configDetForm.vue index b5223aa..abd40b2 100644 --- a/src/views/model/sche/snapshotConf/det/configDetForm.vue +++ b/src/views/model/sche/snapshotConf/det/configDetForm.vue @@ -71,6 +71,18 @@ </el-row> <el-row :gutter="20"> <el-col :span="12"> + <el-form-item label="上限" prop="limitH"> + <el-input-number v-model="formData.limitH" placeholder=""/> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="下限" prop="limitL"> + <el-input-number v-model="formData.limitL" placeholder=""/> + </el-form-item> + </el-col> + </el-row> + <el-row :gutter="20"> + <el-col :span="12"> <el-form-item label="拓展字段1" prop="ext1"> <el-input v-model="formData.ext1" placeholder=""/> </el-form-item> @@ -129,6 +141,8 @@ dataNo: undefined, leftLength: undefined, rightLength: undefined, + limitH: undefined, + limitL: undefined, sort: undefined, ext1: undefined, ext2: undefined, @@ -203,6 +217,8 @@ dataNo: undefined, leftLength: undefined, rightLength: undefined, + limitH: undefined, + limitL: undefined, sort: undefined, ext1: undefined, ext2: undefined, diff --git a/src/views/model/sche/snapshotConf/det/index.vue b/src/views/model/sche/snapshotConf/det/index.vue index 5ec4f28..82367b6 100644 --- a/src/views/model/sche/snapshotConf/det/index.vue +++ b/src/views/model/sche/snapshotConf/det/index.vue @@ -69,8 +69,10 @@ <el-table-column prop="dataNo" label="数据编号"/> <el-table-column prop="leftLength" label="左侧长度(min)" width="80"/> <el-table-column prop="rightLength" label="右侧长度(min)" width="80"/> + <el-table-column prop="limitH" label="上限" width="80"/> + <el-table-column prop="limitL" label="下限" width="80"/> <el-table-column prop="sort" label="排序" width="80"/> -<!-- <el-table-column prop="ext1" label="拓展字段1"/>--> + <el-table-column prop="ext1" label="拓展字段1" width="80"/> <!-- <el-table-column prop="ext2" label="拓展字段2"/>--> <!-- <el-table-column prop="ext3" label="拓展字段3"/>--> <!-- <el-table-column prop="ext4" label="拓展字段4"/>--> diff --git a/src/views/model/sche/suggest/suggestSnapshot.vue b/src/views/model/sche/suggest/suggestSnapshot.vue index f23ae2e..fd8272f 100644 --- a/src/views/model/sche/suggest/suggestSnapshot.vue +++ b/src/views/model/sche/suggest/suggestSnapshot.vue @@ -113,15 +113,110 @@ if (!chartInfo) return chart + const markLineData = [] + + if (chartInfo.data?.limitH !== null) { + markLineData.push({ + yAxis: chartInfo.data?.limitH, // 上限 + label: { + show: true, + formatter: '上限', + position: 'insideStartTop', + color: '#FF9A3D' + }, + lineStyle: { + color: '#FF9A3D', + type: 'dashed' + }, + }) + } + if (chartInfo.data?.limitL !== null) { + markLineData.push({ + yAxis: chartInfo.data?.limitL, // 下限 + label: { + show: true, + formatter: '下限', + position: 'insideStartBottom', + color: '#00C2FF' + }, + lineStyle: { + color: '#00C2FF', + type: 'dashed' + }, + }) + } + if (chartInfo.data?.scheduleTime !== null) { + markLineData.push({ + xAxis: chartInfo.data?.scheduleTime, // 真实数据分割线 + label: { + show: true, + formatter: '建\n议\n时\n间', + position: 'insideEndBottom', + color: '#5DFF9E', + rotate: 0 + }, + lineStyle: { + color: '#5DFF9E', + }, + }) + } + // 采纳 + if (chartInfo.data?.status === 1) { + markLineData.push({ + xAxis: chartInfo.data?.handleTime, + label: { + show: true, + formatter: '采\n纳\n时\n间', + position: 'insideEndBottom', + color: '#2196F3', + rotate: 0 + }, + lineStyle: { + color: '#2196F3', + }, + }) + } + // 忽略 + if (chartInfo.data?.status === 2) { + markLineData.push({ + xAxis: chartInfo.data?.handleTime, + label: { + show: true, + formatter: '忽\n略\n时\n间', + position: 'insideEndBottom', + color: '#999999', + rotate: 0 + }, + lineStyle: { + color: '#999999', + }, + }) + } + + // 冲顶触底时间 + if (chartInfo.data?.overLimitTimes?.length > 0) { + chartInfo.data?.overLimitTimes.forEach(overLimitTime => { + markLineData.push({ + xAxis: overLimitTime, + lineStyle: { + color: '#ff0000', + }, + }) + }) + } + const option = { title: { text: chartInfo.name, textStyle: { fontSize: 14 } }, tooltip: { trigger: 'axis' }, - grid: { top: 30, left: '3%', right: '5%', bottom: 20 }, + grid: { top: '10%', left: '3%', right: '5%', bottom: 20 }, xAxis: {type: 'category'}, - yAxis: { type: 'value' }, + yAxis: { type: 'value', + max: (value) => chartInfo.data?.limitH && value.max < chartInfo.data.limitH ? chartInfo.data?.limitH : null, + min: (value) => chartInfo.data?.limitL && value.min > chartInfo.data.limitL ? chartInfo.data?.limitL : null, + }, dataZoom: [{ type: 'inside' }], series: [{ type: 'line', @@ -138,14 +233,7 @@ label: { show: false, }, - data: [ - { - xAxis: chartInfo.data?.scheduleTime || 0, // 真实数据分割线 - lineStyle: { - color: '#5DFF9E', - }, - } - ], + data: markLineData, }, }] } -- Gitblit v1.9.3