| | |
| | | <template> |
| | | <div class="app-container"> |
| | | <el-card class="box-card"> |
| | | <el-row type="flex" align="middle" justify="space-between"> |
| | | <el-col :span="2"> |
| | | <div class="icon-container"> |
| | | <i class="el-icon-wind-power"></i> |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="2"> |
| | | <div> |
| | | <div class="dashboard-item"> |
| | | <h3 style="color: #5C9BF8">{{ totalKiosks }}</h3> |
| | | <p>卡口总数</p> |
| | | <el-row style="display: flex; flex-direction: row; align-items: center" justify="space-between"> |
| | | <div v-for="card in cardList" style="display: flex;flex-direction: row; margin-right: 50px"> |
| | | <div> |
| | | <div class="icon-container"> |
| | | <i :class="card.icon"></i> |
| | | </div> |
| | | </div> |
| | | <div v-for="data in card.dataList" class="dashboard-item"> |
| | | <div style="color: #5C9BF8;margin-bottom: 20px;font-size: 20px">{{ data.value }}</div> |
| | | <div>{{data.label}}</div> |
| | | </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="1">--> |
| | | <!-- <div class="dashboard-item">--> |
| | | <!-- <div style="width: 1px;height: 55px;border: 1px solid #D7EBFA;margin: 20px;"></div>--> |
| | | <!-- </div>--> |
| | | <!-- </el-col>--> |
| | | <el-col :span="8"></el-col> |
| | | </el-row> |
| | | </el-card> |
| | |
| | | <el-input v-model="queryParams.bayonetName" placeholder="请输入卡口名称" clearable @keyup.enter.native="handleQuery" /> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> |
| | | <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> |
| | | <el-button type="primary" icon="el-icon-search" size="small" @click="handleQuery">搜索</el-button> |
| | | <el-button icon="el-icon-refresh" size="small" @click="resetQuery">重置</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | |
| | |
| | | </el-form-item> |
| | | </el-form> |
| | | <div slot="footer" class="dialog-footer"> |
| | | <el-button type="primary" @click="submitForm">确 定</el-button> |
| | | <el-button @click="cancel">取 消</el-button> |
| | | <el-button type="primary" @click="submitForm">确 定</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { listPlatform, getPlatform, delPlatform, addPlatform, updatePlatform } from "@/api/platform/vehicle-data-monitor"; |
| | | import { dataCenter } from "@/api/platform/data-center"; |
| | | import { videoData, carData, faceData, equipment } from "./list"; |
| | | import store from '@/store'; |
| | | |
| | |
| | | { required: true, message: "卡口编号不能为空", trigger: "blur" } |
| | | ], |
| | | }, |
| | | tableHead: [] |
| | | tableHead: [], |
| | | cardList: [] |
| | | }; |
| | | }, |
| | | beforeRouteEnter(to, from, next) { |
| | |
| | | next(); |
| | | }, |
| | | created() { |
| | | if (this.$route.query.type === '1') this.tableHead = videoData[this.$route.query.index].columns; |
| | | if (this.$route.query.type === '2') this.tableHead = carData[this.$route.query.index].columns; |
| | | if (this.$route.query.type === '3') this.tableHead = faceData[this.$route.query.index].columns; |
| | | if (this.$route.query.type === '4') this.tableHead = equipment[this.$route.query.index].columns; |
| | | this.getList(); |
| | | if (this.$route.query.type === '1') { |
| | | let data = videoData.table.filter(item => item.index === this.$route.query.index)[0] |
| | | this.tableHead = data.columns; |
| | | this.cardList = data.card; |
| | | console.log(data, "aaa") |
| | | console.log(this.cardList, "ddd") |
| | | }; |
| | | if (this.$route.query.type === '2') { |
| | | let data = carData.table.filter(item => item.index === this.$route.query.index)[0] |
| | | this.tableHead = data.columns; |
| | | this.cardList = data.card; |
| | | } |
| | | if (this.$route.query.type === '3') { |
| | | let data = faceData.table.filter(item => item.index === this.$route.query.index)[0] |
| | | this.tableHead = data.columns; |
| | | this.cardList = data.card; |
| | | } |
| | | if (this.$route.query.type === '4') { |
| | | let data = equipment.table.filter(item => item.index === this.$route.query.index)[0] |
| | | this.tableHead = data.columns; |
| | | this.cardList = data.card; |
| | | } |
| | | this.getList(this.$route.query.url); |
| | | }, |
| | | methods: { |
| | | /** 查询卡口过车数据一致性列表 */ |
| | | getList() { |
| | | getList(url) { |
| | | this.loading = true; |
| | | listPlatform(this.queryParams).then(response => { |
| | | dataCenter(url, this.queryParams).then(response => { |
| | | this.platformList = response.rows; |
| | | this.total = response.total; |
| | | this.loading = false; |
| | |
| | | |
| | | .icon-container { |
| | | display: flex; |
| | | flex-direction: row; |
| | | justify-content: center; |
| | | align-items: center; |
| | | border-radius: 20px; |
| | | border-radius: 10px; |
| | | width: 20%; |
| | | height: 80px; |
| | | margin-left: 5%; |
| | | background-color: #5599F7; |
| | | background-color: #1890FF; |
| | | font-size: 50px; |
| | | color: #FFF; |
| | | width: 85px; |
| | |
| | | } |
| | | |
| | | .dashboard-item { |
| | | text-align: center; |
| | | display: flex; |
| | | flex-direction: column; |
| | | justify-content: center; |
| | | align-items: center; |
| | | width: 150px; |
| | | } |
| | | </style> |
| | | </style> |