dongyukun
2025-06-11 be8c88629deffba4c6adc894f641f5010d64d9ce
Merge remote-tracking branch 'origin/master'
已修改3个文件
128 ■■■■■ 文件已修改
src/views/model/sche/snapshotConf/det/configDetForm.vue 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/model/sche/snapshotConf/det/index.vue 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/model/sche/suggest/suggestSnapshot.vue 108 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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,
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"/>-->
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,
          },
        }]
      }