haoxuan
2023-11-01 799cb00eb72632af7017fb3b1a39c5ad00ab44d0
本机设备,云端设备编码 组件开发+知识库组件开发 还有报错需要处理
1个文件已删除
5个文件已添加
2个文件已修改
212 ■■■■■ 已修改文件
src/assets/images/leaf.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/images/nodeNumber.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/images/number.png 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/images/voice.png 补丁 | 查看 | 原始文档 | blame | 历史
src/views/dashboard/components/DeviceNumberInfo.vue 85 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/dashboard/components/DeviceStatusInfo.vue 23 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/dashboard/components/KnowledgeInfo.vue 94 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/dashboard/index.vue 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/images/leaf.png
src/assets/images/nodeNumber.png
src/assets/images/number.png
Binary files differ
src/assets/images/voice.png
src/views/dashboard/components/DeviceNumberInfo.vue
New file
@@ -0,0 +1,85 @@
<template>
  <div class="device-number-info">
    <div class="device-l">
      <div class="device-t">本机设备编码</div>
      <div class="device-b">
        <div class="device-info">
          {{ deviceCurrent }}
        </div>
      </div>
    </div>
    <div class="device-r">
      <div class="device-t">云端设备编码</div>
      <div class="device-b">
        <div v-for="(item, index) in deviceList" :key="index" class="device-info">
          {{ item.value }}
        </div>
      </div>
    </div>
  </div>
</template>
<script setup lang="ts">
import { toRefs } from 'vue'
const deviceList = [
  {
    value: '123454'
  },
  {
    value: '54321'
  }
]
const deviceCurrent = '456789'
</script>
<style scoped lang="scss">
$status-default: #2c5dbb82;
$status-running: #00ff00f0;
$status-ready: #0059ffd0;
$status-border: #ffffff21;
$status-dark-font: #efefef;
$status-off: red;
.device-number-info {
  width: 100%;
  height: 180px;
  margin-top: 20px;
  color: #fff;
  overflow: hidden;
  float: left;
  text-align: center;
  font-size: 12px;
  background: $status-default;
  border: 1px solid $status-border;
  box-sizing: border-box;
  border-radius: 4px;
  padding: 5px 20px;
  .device-l {
    width: 120px;
    float: left;
  }
  .device-r {
    width: calc(100% - 130px);
    float: right;
  }
  .device-t {
    text-align: left;
    height: 25px;
    line-height: 25px;
  }
  .device-b {
    width: 100%;
    height: calc(100% - 35px);
    overflow: hidden;
  }
  .device-info {
    padding: 0px 6px;
    font-size: 12px;
    line-height: 20px;
    background: $status-ready;
    color: #fff;
    border-radius: 4px;
    float: left;
    margin-right: 5px;
    margin-top: 5px;
  }
}
</style>
src/views/dashboard/components/DeviceStatusInfo.vue
@@ -71,7 +71,10 @@
        </span>
      </span>
      <div class="device-info">主节点</div>
      <div class="device-b title-bng"><span>节点数</span> <i>120</i></div>
      <div class="device-b title-bng">
        <img src="~@/assets/images/leaf.png" />
        <span>节点数</span> <i>120</i>
      </div>
    </div>
  </div>
</template>
@@ -164,20 +167,30 @@
      border-radius: 8px;
    }
    .title-bng {
      height: 32px;
      line-height: 32px;
      background: url('../../../assets/images/number.png') no-repeat center center / cover;
      width: calc(90% - 1px);
      margin: 10px auto 0;
      height: 29px;
      line-height: 29px;
      font-size: 14px;
      background: url('../../../assets/images/nodeNumber.png') no-repeat center center / cover;
      img {
        height: 16px;
        display: inline-block;
        float: left;
        margin: 8px 5px 0 5px;
      }
      span {
        height: 32px;
        display: inline-block;
        text-align: center;
        display: inline-block;
        float: left;
        margin-left: 35%;
        font-weight: bold;
      }
      i {
        float: right;
        margin-right: 15px;
        font-weight: bold;
      }
    }
  }
src/views/dashboard/components/KnowledgeInfo.vue
New file
@@ -0,0 +1,94 @@
<template>
  <div class="knowledge-info">
    <svg width="100%" height="100%">
      <text
        class="text-item"
        x="60"
        y="80"
        style="
          fill: rgb(211 211 211);
          font-weight: bold;
          padding: 5px;
          font-size: 14px;
          display: inline-block;
          border-radius: 8px;
          cursor: pointer;
          postion: absolute;
          left: 200;
          top: 40;
        "
      >
        误报警
      </text>
      <text
        class="text-item"
        x="50"
        y="170"
        text-anchor="middle"
        style="padding: 5px; font-size: 14px; display: inline-block; border-radius: 8px; fill: rgb(211 211 211)"
      >
        管路整动
      </text>
      <text
        class="text-item"
        x="245"
        y="250"
        text-anchor="middle"
        font-size="20px"
        style="padding: 5px; font-size: 14px; display: inline-block; border-radius: 8px; fill: rgb(211 211 211)"
      >
        冷却油度高
      </text>
      <text
        x="50"
        y="270"
        class="text-item"
        style="padding: 5px; font-size: 14px; display: inline-block; border-radius: 8px; fill: rgb(211 211 211)"
        text-anchor="middle"
      >
        清洁度超差
      </text>
      <text
        x="220"
        class="text-item"
        y="60"
        text-anchor="middle"
        font-size="20px"
        style="padding: 5px; font-size: 14px; display: inline-block; border-radius: 8px; fill: rgb(211 211 211)"
      >
        清洁度超差
      </text>
      <text
        x="280"
        class="text-item"
        y="110"
        text-anchor="middle"
        font-size="20px"
        style="padding: 5px; font-size: 14px; display: inline-block; border-radius: 8px"
      >
        保护器报警
      </text>
      <image xlink:href="~@/assets/images/voice.png" x="105" y="100" width="110" height="110" />
    </svg>
  </div>
</template>
<script setup lang="ts">
import { toRefs } from 'vue'
</script>
<style scoped lang="scss">
.knowledge-info {
  height: calc(100% - 90px - 32px);
  margin-top: 10px;
  .text-item {
    width: 100px;
    padding: 5px;
    font-size: 14px;
    display: inline-block;
    border-radius: 8px;
    fill: #fff;
    color: #fff;
    cursor: pointer;
  }
}
</style>
src/views/dashboard/index.vue
@@ -38,9 +38,12 @@
    <template #rightBlock2>
      <DeviceStatusInfo :device="device" :type="1"></DeviceStatusInfo>
      <DeviceStatusInfo :device="device" :type="2"></DeviceStatusInfo>
      <DeviceNumberInfo></DeviceNumberInfo>
    </template>
    <template #rightBlock3>
      <SubTitle>知识库</SubTitle>
      <KnowledgeInfo></KnowledgeInfo>
      <BigButton class="btn" bg-color="red">红灯呼叫</BigButton>
    </template>
  </DashboardLayout>
</template>
@@ -53,6 +56,9 @@
import ProcessInfo from '@/views/dashboard/components/ProcessInfo.vue'
import ColorInfo from '@/views/dashboard/components/ColorInfo.vue'
import DeviceStatusInfo from '@/views/dashboard/components/DeviceStatusInfo.vue'
import DeviceNumberInfo from '@/views/dashboard/components/DeviceNumberInfo.vue'
import KnowledgeInfo from '@/views/dashboard/components/KnowledgeInfo.vue'
import BigButton from '@/views/dashboard/components/BigButton.vue'
import type { LabelValue } from '@/views/dashboard/components/TaskTabs.vue'
import TaskTabs from '@/views/dashboard/components/TaskTabs.vue'
import CurrentDateTime from '@/views/dashboard/components/CurrentDateTime.vue'
@@ -150,4 +156,8 @@
:deep(.el-tabs__nav-wrap::after) {
  height: 1px;
}
.btn {
  width: 100%;
  font-size: 20px;
}
</style>