龚焕茏
2024-03-20 eaa6e8cc48e53d2d3a5fb3cf4e2a01160f6e75c7
src/views/system/recovery/index.vue
@@ -1,5 +1,39 @@
<template>
  <div class="app-container">
    <el-card class="box-card" >
      <el-row type="flex" align="middle" justify="space-between">
        <el-col :xl="8" :lg="8" :md="10" :sm="8" :xs="6">
          <div class="icon-container" style="background-color: #5599F7">
            <i class="el-icon-refresh-left"></i>
          </div>
        </el-col>
        <el-col :xl="14" :lg="14" :md="12" :sm="14" :xs="16">
          <div class="dashboard">
            <div class="dashboard-item">
              <h3 style="color: #5C9BF8">{{ totalPosts }}</h3>
              <p>设备总数</p >
            </div>
            <div class="dashboard-item">
              <h3 style="color: #3eba45">{{ totalMembers }}</h3>
              <p>正常数</p >
            </div>
            <div class="dashboard-item">
              <h3 style="color: #fe640d">{{ postsPercentage }}</h3>
              <p>异常数</p >
            </div>
            <div class="dashboard-item">
              <h3>{{ totalViews }}</h3>
              <p>生成异常工单数</p >
            </div>
            <div class="dashboard-item">
              <h3>{{ viewsPercentage }}%</h3>
              <p>设备运行率</p >
            </div>
          </div>
        </el-col>
      </el-row>
    </el-card>
    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
      <el-form-item label="设备名称" prop="name">
        <el-input
@@ -23,32 +57,6 @@
          :value="dict.value"
        />
        </el-select>
      </el-form-item>
      <el-form-item label="地址" prop="address">
        <el-input
          v-model="queryParams.address"
          placeholder="请输入地址"
          clearable
          @keyup.enter.native="handleQuery"
          style="width: 170px"
        />
      </el-form-item>
      <el-form-item label="异常恢复时间" prop="recoveryTime" label-width="130px">
        <el-date-picker clearable
          v-model="queryParams.recoveryTime"
          type="date"
          value-format="yyyy-MM-dd"
          placeholder="请选择异常恢复时间">
        </el-date-picker>
      </el-form-item>
      <el-form-item label="管理单位" prop="managementUnit">
        <el-input
          v-model="queryParams.managementUnit"
          placeholder="请输入管理单位"
          clearable
          @keyup.enter.native="handleQuery"
          style="width: 170px"
        />
      </el-form-item>
       <el-form-item label="是否生成异常工单" prop="defaultOrder" label-width="130px">
         <el-select
@@ -79,7 +87,6 @@
          icon="el-icon-download"
          size="mini"
          @click="handleExport"
          v-hasPermi="['system:monitor:export']"
        >导出</el-button>
      </el-col>
      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
@@ -87,14 +94,16 @@
    <el-table v-loading="loading" :data="monitorList" @selection-change="handleSelectionChange">
      <el-table-column type="selection" width="55" align="center" />
      <el-table-column label="设备编码" align="center" prop="serialNumber" />
      <el-table-column label="设备编码" align="center" prop="serialNumber" width="180px" />
      <el-table-column label="设备名称" align="center" prop="name" />
      <el-table-column label="标签" align="center" prop="tag" />
      <el-table-column label="设备状态" align="center" prop="onState">
      <template slot-scope="scope">
        <dict-tag :options="dict.type.camera_state" :value="scope.row.onState"/>
      </template>
      </el-table-column>
      <el-table-column label="地址" align="center" prop="address" />
      <el-table-column label="区域" align="center" prop="region" />
      <el-table-column label="详细地址" align="center" prop="address" />
      <el-table-column label="是否生成异常工单" align="center" prop="defaultOrder">
      <template slot-scope="scope">
        <dict-tag :options="dict.type.platform_yes_no" :value="scope.row.defaultOrder"/>
@@ -111,7 +120,6 @@
            type="text"
            icon="el-icon-view"
            @click="handleView(scope.row,scope.index)"
            v-hasPermi="['system:monitor:query']"
          >详细</el-button>
        </template>
      </el-table-column>
@@ -132,6 +140,7 @@
          <el-col :span="12">
            <el-form-item label="设备编码:">{{ form.serialNumber }}</el-form-item>
            <el-form-item label="设备名称:">{{ form.name }} </el-form-item>
            <el-form-item label="标签:">{{ form.deptName }} </el-form-item>
            <el-form-item label="设备状态:">
              <div v-if="form.onState === 1">可用</div>
              <div v-else-if="form.onState === 2">不可用</div>
@@ -170,6 +179,12 @@
  dicts: ['sys_normal_disable','platform_yes_no','camera_state'],
  data() {
    return {
      totalPosts: 1156,
      totalMembers: 1000,
      postsPercentage: 156,
      totalViews: 75,
      viewsPercentage: 91.36,
      totalErrors: 0,
      // 遮罩层
      loading: true,
      // 选中数组
@@ -328,3 +343,37 @@
  }
};
</script>
<style lang="scss" scoped>
.box-card {
  background-color: #F5F9FE;
  width: 100%;
  margin-bottom: 20px;
  height: 120px
}
.icon-container {
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 20px;
  width: 20%;
  height: 80px;
  margin-left: 5%;
}
.el-icon-refresh-left {
  font-size: 50px;
  color: #FFFFFF;
}
.dashboard {
  display: flex;
  gap: 10%;
  align-items: center;
  margin-left: -50%;
}
.dashboard-item {
  text-align: center;
}
</style>