longyvfengyun
2023-07-29 b5f2a6826b1bfc794f3c0c91ae24df1b78953fef
资产信息添加
2个文件已添加
5个文件已修改
353 ■■■■ 已修改文件
public/theme/science-green.css 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/dataMager/battGroupMager.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/dataMager/components/battAssetInfo.vue 120 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/dataMager/components/powerAssetInfo.vue 96 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/dataMager/produceTotal.vue 34 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/dataMager/totalStation.vue 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/dataTest/realTime.vue 91 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
public/theme/science-green.css
@@ -903,10 +903,10 @@
  border-color: #42d3ff !important;
  z-index: 3;
}
.chart-wrapper-title + * {
  position: relative;
  z-index: 4;
}
/*.chart-wrapper-title + * {*/
/*  position: relative;*/
/*  z-index: 4;*/
/*}*/
.el-science-blue .chart-wrapper:before,
.el-science-blue .chart-wrapper:after,
src/views/dataMager/battGroupMager.vue
@@ -856,6 +856,7 @@
          if (code && data) {
            list = data2;
          }
          console.log(list);
          this.recordDatas = list;
          this.recordTitle = rData.stationName + ' ' + rData.battGroupName + ' 变更记录';
          this.recordVisible = true;
src/views/dataMager/components/battAssetInfo.vue
New file
@@ -0,0 +1,120 @@
<template>
  <div class="asset-wrapper">
    <flex-box size="small" :title="title">
      <div style="padding: 16px;">
        <table>
          <tr>
            <td class="asset-head">站点ID:</td>
            <td>{{ batt.stationId }}</td>
          </tr>
          <tr>
            <td class="asset-head">站点名称:</td>
            <td>{{ batt.stationName5 }}-{{ batt.stationName3 }}</td>
          </tr>
          <tr>
            <td class="asset-head">标称容量:</td>
            <td>{{ batt.monCapStd }}AH</td>
          </tr>
          <tr>
            <td class="asset-head">单体电压:</td>
            <td>{{ batt.monVolStd }}V</td>
          </tr>
          <tr>
            <td class="asset-head">标称单体内阻:</td>
            <td>{{ batt.monResStd }}mΩ</td>
          </tr>
          <tr>
            <td class="asset-head">电池生产日期:</td>
            <td>{{ batt.battProductDate }}</td>
          </tr>
          <tr>
            <td class="asset-head">投入使用日期:</td>
            <td>{{ batt.battInUseDate }}</td>
          </tr>
          <tr>
            <td class="asset-head">电池品牌:</td>
            <td>{{ batt.battProducer }}</td>
          </tr>
          <tr>
            <td class="asset-head">电池型号:</td>
            <td>{{ batt.battModel }}</td>
          </tr>
          <tr>
            <td class="asset-head">负载电流:</td>
            <td>{{ batt.loadCurr }}</td>
          </tr>
          <tr>
            <td class="asset-head">设备IP:</td>
            <td>{{ batt.fbsdeviceIp }}</td>
          </tr>
          <tr>
            <td class="asset-head">设备ID:</td>
            <td>{{ batt.fbsdeviceId }}</td>
          </tr>
          <tr>
            <td class="asset-head">变更原因:</td>
            <td>
              <div class="textarea-wrapper">
                <el-input
                  :disabled="true"
                  type="textarea"
                  :autosize="{ minRows: 1, maxRows: 6 }"
                  placeholder="暂无内容"
                  v-model="batt.updateReason">
                </el-input>
              </div>
            </td>
          </tr>
        </table>
      </div>
    </flex-box>
  </div>
</template>
<script>
import FlexBox from "@/components/FlexBox.vue";
export default {
  name: "battAssetInfo",
  components: {FlexBox},
  props: {
    batt: {
      type: Object,
      default() {
        return {
          stationId: 0,
        }
      }
    },
    title: {
      type: String,
      default: ""
    }
  },
  data() {
    return {}
  },
  methods: {
  },
  mounted() {}
}
</script>
<style scoped>
.asset-wrapper {
  display: inline-block;
  padding: 0 12px;
}
.asset-head {
  text-align: right;
  line-height: 1.5rem;
}
.textarea-wrapper {
  width: 16rem;
}
>>>.el-textarea.is-disabled .el-textarea__inner {
  color: #000000;
}
</style>
src/views/dataMager/components/powerAssetInfo.vue
New file
@@ -0,0 +1,96 @@
<template>
  <div class="asset-wrapper">
    <flex-box size="small" :title="title">
      <div style="padding: 16px;">
        <table>
          <tr>
            <td class="asset-head">站点ID:</td>
            <td>{{ info.stationId }}</td>
          </tr>
          <tr>
            <td class="asset-head">站点名称:</td>
            <td>{{ info.stationName5 }}-{{ info.stationName3 }}</td>
          </tr>
          <tr>
            <td class="asset-head">标称容量:</td>
            <td>{{ info.monCapStd }}AH</td>
          </tr>
          <tr>
            <td class="asset-head">单体电压:</td>
            <td>{{ info.monVolStd }}V</td>
          </tr>
          <tr>
            <td class="asset-head">标称单体内阻:</td>
            <td>{{ info.monResStd }}mΩ</td>
          </tr>
          <tr>
            <td class="asset-head">电池生产日期:</td>
            <td>{{ info.battProductDate }}</td>
          </tr>
          <tr>
            <td class="asset-head">投入使用日期:</td>
            <td>{{ info.battInUseDate }}</td>
          </tr>
          <tr>
            <td class="asset-head">电池品牌:</td>
            <td>{{ info.battProducer }}</td>
          </tr>
          <tr>
            <td class="asset-head">电池型号:</td>
            <td>{{ info.battModel }}</td>
          </tr>
          <tr>
            <td class="asset-head">负载电流:</td>
            <td>{{ info.loadCurr }}</td>
          </tr>
          <tr>
            <td class="asset-head">设备IP:</td>
            <td>{{ info.fbsdeviceIp }}</td>
          </tr>
          <tr>
            <td class="asset-head">设备ID:</td>
            <td>{{ info.fbsdeviceId }}</td>
          </tr>
        </table>
      </div>
    </flex-box>
  </div>
</template>
<script>
  import FlexBox from "@/components/FlexBox.vue";
  export default {
    name: "powerAssetInfo",
    components: {FlexBox},
    props: {
      info: {
        type: Object,
        default() {
          return {
            stationId: 0,
          }
        }
      },
      title: {
        type: String,
        default: ""
      }
    },
    data() {
      return {}
    },
    methods: {
    },
    mounted() {
    }
  }
</script>
<style scoped>
</style>
src/views/dataMager/produceTotal.vue
@@ -151,6 +151,9 @@
            </template>
          </el-table-column>
        </el-table>
        <div class="flex-page-footer" slot="footer">
          <span class="footer-text">共{{ tbl.data.length }}条</span>
        </div>
      </flex-layout>
    </div>
    <div class="page-footer" slot="footer">
@@ -347,12 +350,12 @@
            minWidth: 120,
            sortable: false,
          },
          {
            prop: "monVolStd",
            label: "标称单体电压(V)",
            minWidth: 140,
            sortable: false,
          },
          // {
          //   prop: "monVolStd",
          //   label: "标称单体电压(V)",
          //   minWidth: 140,
          //   sortable: false,
          // },
          {
            prop: "groupcount",
            label: "电池组数",
@@ -724,12 +727,6 @@
          // 设置表格数据
          this.$options.tblData = data;
          // 更新图表统计内容
          let list = this.getFormateData(data);
          this.setProduceOption(list.produces);
          this.setXuHangOption(list.xuHangs);
          this.formatData();
        })
        .catch((error) => {
@@ -1063,6 +1060,9 @@
          // 设置日期
          let list = this.getFormateData(data);
          this.setProduceOption(list.produces);
          this.setXuHangOption(list.xuHangs);
          this.setUseTimeOption(list.useYear);
          this.formatData2();
        })
        .catch((error) => {
@@ -1113,7 +1113,7 @@
          return range.min < xuHangTime && xuHangTime <= range.max;
        });
      }
      console.log(data.length);
      // 格式化数据
      const BATTENDURANCE = {
        deviceId: 0,
@@ -1153,11 +1153,6 @@
        };
        return tmp;
      });
      // 设置日期
      let list = this.getFormateData(data);
      this.setXuHangOption(list.xuHangs);
      this.setUseTimeOption(list.useYear);
    },
    refreshFN() {
      this.produce = this.$route.query.produce
@@ -1314,4 +1309,7 @@
  flex: 1;
  margin: 8px;
}
.footer-text {
  font-size: 14px;
}
</style>
src/views/dataMager/totalStation.vue
@@ -120,7 +120,7 @@
    </div>
    <div class="flex-page-footer" slot="footer">
      <div class="el-pagination-btns">
        <span class="text-name">存在一个机房下两个设备的情况</span>
        <span class="text-name">提示:存在一个机房下两个设备的情况</span>
        <el-button
          type="primary"
          @click="searchData(false)"
@@ -534,5 +534,6 @@
.text-name {
  font-size: 14px;
  margin-right: 8px;
  color: #FF0000;
}
</style>
src/views/dataTest/realTime.vue
@@ -829,62 +829,10 @@
            </el-tab-pane>
            <el-tab-pane label="资产信息" name="asset">
              <div class="center-box">
                <div class="asset-wrapper">
                  <flex-box size="small" title="电池资产信息">
                    <div style="padding: 16px;">
                      <table>
                        <tr>
                          <td class="asset-head">站点ID:</td>
                          <td>{{ batt.stationId }}</td>
                        </tr>
                        <tr>
                          <td class="asset-head">站点名称:</td>
                          <td>{{ batt.stationName }}</td>
                        </tr>
                        <tr>
                          <td class="asset-head">标称容量:</td>
                          <td>{{ batt.monCapStd }}AH</td>
                        </tr>
                        <tr>
                          <td class="asset-head">单体电压:</td>
                          <td>{{ batt.monVolStd }}V</td>
                        </tr>
                        <tr>
                          <td class="asset-head">标称单体内阻:</td>
                          <td>{{ batt.monResStd }}mΩ</td>
                        </tr>
                        <tr>
                          <td class="asset-head">电池生产日期:</td>
                          <td>{{ batt.battProductDate }}</td>
                        </tr>
                        <tr>
                          <td class="asset-head">投入使用日期:</td>
                          <td>{{ batt.battInUseDate }}</td>
                        </tr>
                        <tr>
                          <td class="asset-head">电池品牌:</td>
                          <td>{{ batt.battProducer }}</td>
                        </tr>
                        <tr>
                          <td class="asset-head">电池型号:</td>
                          <td>{{ batt.battModel }}</td>
                        </tr>
                        <tr>
                          <td class="asset-head">负载电流:</td>
                          <td>{{ batt.loadCurr }}</td>
                        </tr>
                        <tr>
                          <td class="asset-head">设备IP:</td>
                          <td>{{ batt.fbsdeviceIp }}</td>
                        </tr>
                        <tr>
                          <td class="asset-head">设备ID:</td>
                          <td>{{ batt.fbsdeviceId }}</td>
                        </tr>
                      </table>
                    </div>
                  </flex-box>
                </div>
                <batt-asset-info :batt="batt" title="当前电池资产信息"></batt-asset-info>
                <batt-asset-info
                  v-for="(item, key) in battRecords.slice(0,2)" :key="'key'+key"
                  :batt="item" :title="item.recordTime+'-变更记录'"></batt-asset-info>
              </div>
            </el-tab-pane>
          </el-tabs>
@@ -1216,7 +1164,7 @@
  stopLd6
} from "./js/realTime";
import {
  getBattGroupInfo,
  getBattGroupInfo, getBattRecords,
  getStationBattInfo,
} from "../dataMager/js/battGroupMager";
import { getLastCapacityTest } from "./js/history";
@@ -1253,6 +1201,7 @@
import const_digit from "@/assets/js/const/const_digit";
import FlexBox from "@/components/FlexBox.vue";
import BattAssetInfo from "@/views/dataMager/components/battAssetInfo.vue";
const {
  cap: CAP,
  vol: VOL,
@@ -1270,6 +1219,7 @@
  name: "movingRingSysteRrealTime",
  mixins: [WSMixin],
  components: {
    BattAssetInfo,
    FlexBox,
    JcParams,
    HomeImageList,
@@ -1330,6 +1280,7 @@
    let lastCapacityTest = JSON.parse(JSON.stringify(const_61850.lastCapacityTest));
    let pageConfig = this.$store.getters["user/realTabsConfig"];
    return {
      battRecords: [],
      lastTimeTestInfo: {
        realCap: 0,
        xuHang: 0
@@ -2206,11 +2157,11 @@
    },
    leafClick(data) {
      this.batt = data;
      console.log(data);
      this.diagram.desc = "";
      // 查询机房电池组信息(3D用)
      this.getStationBattInfo(data.stationId);
      this.realTimeAlarmss();
      this.getBattRecords(data.battGroupId);
      // this.realTimeXuHang();    // 预估续航时长
      this.diagram.devType = getDevType(data.chargeType, data.buscoupleState);
      this.esVideoSn = data.videoUrl;
@@ -3729,6 +3680,22 @@
      const search = '?fbsdeviceId=' + fbsdeviceId +"&pageFlag="+Math.random();
      // 电源参数设置界面
      this.$router.push('/alarmMager/devicepaSetting' + search + '&fromType=fromIndex')
    },
    getBattRecords(battGroupId) {
      // 查询
      getBattRecords(battGroupId)
        .then((res) => {
          let { code, data, data2 } = res.data;
          let list = [];
          if (code && data) {
            list = data2;
          }
          //console.log(list);
          this.battRecords = list;
        })
        .catch((err) => {
          console.log(err);
        });
    }
  },
  computed: {
@@ -4251,13 +4218,5 @@
  height: 100%;
  align-items: center;
  justify-content: center;
}
.asset-wrapper {
  display: inline-block;
  padding: 0 12px;
}
.asset-head {
  text-align: right;
  line-height: 1.5rem;
}
</style>