fuliqi
2024-03-20 e8acc5b07f200d20137171d9aec084040cab5709
Merge remote-tracking branch 'origin/master'

# Conflicts:
# src/views/login.vue
8个文件已修改
197 ■■■■ 已修改文件
src/router/index.js 30 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/home/data-view/index.vue 39 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/login.vue 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/screen/components/screen-detection/index.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/screen/components/screen-wrapper/index.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/screen/components/select-item/index.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/vehicle-data-monitor/index.vue 107 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/router/index.js
@@ -51,13 +51,13 @@
    component: Layout,
    hidden: true,
    children: [
    {
      path: 'index',
      name: 'vehicle-data-monitor',
      component: () => import('@/views/system/vehicle-data-monitor/index'),
      meta: { title: '车辆过卡口数据一致性', activeMenu: '/system/vehicle-data-monitor' }
    }
  ]
      {
        path: 'index',
        name: 'vehicle-data-monitor',
        component: () => import('@/views/system/vehicle-data-monitor/index'),
        meta: { title: '车辆过卡口数据一致性', activeMenu: '/system/vehicle-data-monitor' }
      }
    ]
  },
  {
    path: '/register',
@@ -77,7 +77,7 @@
  {
    path: '',
    component: Layout,
    redirect: 'index',
    redirect: 'screen',
    children: [
      {
        path: 'index',
@@ -87,6 +87,20 @@
      }
    ]
  },
  // {
  //   path: '',
  //   component: Layout,
  //   redirect: 'index',
  //   children: [
  //     {
  //       path: 'index',
  //       component: () => import('@/views/index'),
  //       name: 'Index',
  //       meta: { title: '首页', icon: 'dashboard', affix: true }
  //     }
  //   ]
  // },
  {
    path: '/screen',
    hidden: true,
src/views/home/data-view/index.vue
@@ -9,11 +9,20 @@
    <el-card class="map-wrapper">
      <el-row>
        <el-col :offset="21" :span="3">
          <el-select v-model="selectOption" placeholder="请选择">
            <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
            </el-option>
          </el-select>
        <el-col :span="5">
          <div class="select-container">
            <div class="select-label">
              数据源
            </div>
            <el-select v-model="selectOption" placeholder="请选择">
              <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
              </el-option>
            </el-select>
          </div>
        </el-col>
        <el-col :offset="17" :span="2">
          <el-button type="primary" @click="toScreen">可视化大屏</el-button>
        </el-col>
      </el-row>
      <el-row :gutter="40" class="data-plane" style="height: 100%;">
@@ -123,6 +132,10 @@
          value: 2,
          label: '市局数据'
        },
        {
          value: 3,
          label: '公安部数据'
        },
      ],
      selectOption: 1
    }
@@ -145,6 +158,12 @@
      });
      data.name = '自贡市';
      this.activeData = data;
    },
    toScreen() {
      this.$router.push({
        path: '/screen'
      })
    }
  },
  created() {
@@ -179,6 +198,16 @@
  aspect-ratio: 6/2;
}
.select-container {
  display: flex;
  align-items: center;
  .select-label {
    color: #666;
    margin-right: 20px;
    font-size: 16px;
  }
}
@media screen and (min-width: 1200px) {
  .el-col-md-6 {
    width: 20%;
src/views/index.vue
@@ -1,6 +1,6 @@
<template>
  <div class="app-container home">
    <data-view></data-view>
    <!-- <data-view></data-view> -->
    <data-wrapper></data-wrapper>
  </div>
</template>
src/views/login.vue
@@ -149,6 +149,7 @@
  watch: {
    $route: {
      handler: function(route) {
        console.log(route);
        this.redirect = route.query && route.query.redirect;
      },
      immediate: true
@@ -198,7 +199,9 @@
              this.loginInfo = loginInfo.user
              //如果返回为1正常跳转
              if(this.loginInfo.firstLogin == 1){
                this.$router.push({ path: "/screen" }).catch(()=>{});
                this.$router.push({ path: "/" }).catch(()=>{});
                return;
                this.$router.push({ path: this.redirect || "/" }).catch(()=>{});
              } else {
                 localStorage.setItem('firstLogin',0)
              }
src/views/screen/components/screen-detection/index.vue
@@ -41,12 +41,12 @@
        waveHeight: 5
      },
      config2: {
        data: [99.77],
        data: [70.77],
        shape: 'round',
        waveHeight: 5
      },
      config3: {
        data: [95.39],
        data: [60.39],
        shape: 'round',
        waveHeight: 5
      },
src/views/screen/components/screen-wrapper/index.vue
@@ -2,7 +2,7 @@
  <div class="wrapper-container">
    <select-item></select-item>
    <div class="return-button">
      <el-button type="primary" @click="returnPath">返回</el-button>
      <el-button type="primary" @click="returnPath">管理系统</el-button>
    </div>
    <div class="wrapper-content">
      <div class="left-container wrapper">
@@ -43,7 +43,7 @@
  },
  methods: {
    returnPath() {
      this.$router.go(-1);
      this.$router.push('/index');
    }
  }
}
src/views/screen/components/select-item/index.vue
@@ -24,15 +24,15 @@
      dateValue: new Date(),
      testData1: [
        {
          name: '省厅',
          name: '省厅数据',
          value: 1
        },
        {
          name: '市厅',
          name: '市局数据',
          value: 2
        },
        {
          name: '公安部',
          name: '公安部数据',
          value: 3
        }
      ]
src/views/system/vehicle-data-monitor/index.vue
@@ -1,79 +1,51 @@
<template>
  <div class="app-container">
    <!-- <div class="top">
      <el-row type="flex" justify="space-between" style="width: 60%;">
        <el-col :span="6">
          <el-card class="card">
            <i style="font-size: 40px;padding: 15px;" class="el-icon-wind-power"></i>
          </el-card>
        </el-col>
        <el-col :span="6" class="mod">
          <div class="number">{{ totalKiosks }}</div>
          <div>卡口总数</div>
        </el-col>
        <el-col :span="6" class="mod">
          <div class="numberTwo">{{ uniqueKiosks }}</div>
          <div>不唯一卡口数</div>
        </el-col>
        <div style="width: 1px;height: 60px;border: 1px solid #D7EBFA;margin: 40px;"></div>
        <el-col :span="6">
          <el-card class="card">
            <i style="font-size: 40px;padding: 15px;" class="el-icon-truck"></i>
          </el-card>
        </el-col>
        <el-col :span="6" class="mod">
          <div class="number">{{ totalCarData }}</div>
          <div>过车数据总量</div>
        </el-col>
        <el-col :span="6" class="mod">
          <div class="numberTwo">{{ uniqueCarData }}</div>
          <div>不唯一数据量</div>
        </el-col>
      </el-row>
    </div> -->
    <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;font-size: 50px;color: #FFF;">
        <el-col :span="2">
          <div class="icon-container">
            <i class="el-icon-wind-power"></i>
          </div>
        </el-col>
        <el-col :xl="14" :lg="14" :md="12" :sm="14" :xs="16">
          <div class="dashboard">
        <el-col :span="2">
          <div>
            <div class="dashboard-item">
              <h3 style="color: #5C9BF8">{{ totalKiosks }}</h3>
              <p>卡口总数</p>
            </div>
            <div class="dashboard-item">
              <h3>{{ uniqueKiosks }}</h3>
              <p>不唯一卡口数</p>
            </div>
            <div class="dashboard-item">
              <div style="width: 1px;height: 55px;border: 1px solid #D7EBFA;"></div>
            </div>
            <div class="dashboard-item">
              <h3 style="color: #5C9BF8">{{ totalCarData }}</h3>
              <p>过车数据总量</p>
            </div>
            <div class="dashboard-item">
              <h3>{{ uniqueCarData }}</h3>
              <p>不唯一数据量</p>
            </div>
          </div>
        </el-col>
        <el-col :span="2">
          <div class="dashboard-item">
            <h3>{{ uniqueKiosks }}</h3>
            <p>不唯一卡口数</p>
          </div>
        </el-col>
        <el-col :span="1">
          <div class="dashboard-item">
            <div style="width: 1px;height: 55px;border: 1px solid #D7EBFA;margin: 20px;"></div>
          </div>
        </el-col>
        <el-col :span="2">
          <div class="icon-container">
            <i class="el-icon-truck"></i>
          </div>
        </el-col>
        <el-col :span="2">
          <div class="dashboard-item">
            <h3 style="color: #5C9BF8">{{ totalCarData }}</h3>
            <p>过车数据总量</p>
          </div>
        </el-col>
        <el-col :span="2">
          <div class="dashboard-item">
            <h3>{{ uniqueCarData }}</h3>
            <p>不唯一数据量</p>
          </div>
        </el-col>
        <el-col :span="8"></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="bayonetNumber">
@@ -165,7 +137,7 @@
    return {
      totalKiosks: 1157,
      uniqueKiosks: 580,
      totalCarData: 77422,
      totalCarData: 1477422,
      uniqueCarData: 431163,
      // 遮罩层
      loading: true,
@@ -327,18 +299,15 @@
  width: 20%;
  height: 80px;
  margin-left: 5%;
  background-color: #5599F7;
  font-size: 50px;
  color: #FFF;
  width: 85px;
}
.el-icon-refresh-left {
  font-size: 50px;
  color: #FFFFFF;
}
.dashboard {
  display: flex;
  gap: 10%;
  align-items: center;
  margin-left: -50%;
}
.dashboard-item {