From a59da005567ed5eed92f1fa8ed27391192b4063d Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期三, 20 三月 2024 10:35:21 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
src/permission.js | 2
src/views/screen/components/screen-examine/components/examine-chart.vue | 2
vue.config.js | 2
src/views/screen/components/wrapper-title/index.vue | 8
src/views/system/check-result/index.vue | 64 ++++--
src/views/system/data-manage/index.vue | 104 +++++++----
src/views/system/check-template/index.vue | 8
src/views/screen/components/screen-wrapper/index.vue | 17 +
src/views/screen/index.vue | 2
src/views/screen/components/select-item/index.vue | 83 ++++++++
src/router/index.js | 16 +
src/views/system/score/index.vue | 4
src/views/screen/components/screen-car/index.vue | 21 +
src/views/screen/components/screen-examine/index.vue | 2
src/views/screen/components/screen-face/index.vue | 22 +
src/views/screen/components/screen-video/index.vue | 26 +-
src/main.js | 38 ++++
src/utils/format.js | 3
src/views/screen/components/screen-title/index.vue | 2
src/views/screen/components/screen-detection/index.vue | 2
src/views/system/vehicle-data-monitor/index.vue | 87 ++++++---
21 files changed, 375 insertions(+), 140 deletions(-)
diff --git a/src/main.js b/src/main.js
index 9ede569..7944e09 100644
--- a/src/main.js
+++ b/src/main.js
@@ -42,6 +42,9 @@
import VScaleScreen from 'v-scale-screen'
import dataV from '@jiaminghi/data-view'
+import gsap from 'gsap';
+import { formatNumber } from './utils/format';
+
// 鍏ㄥ眬鏂规硶鎸傝浇
@@ -87,6 +90,41 @@
Vue.config.productionTip = true
+
+// 鍏ㄥ眬鎸囦护
+Vue.directive('roll', {
+ inserted: (el, binding) => {
+ let target = {
+ count: 0
+ };
+ let finalNumber = el.innerText;
+ gsap.to(target, {
+ count: finalNumber,
+ duration: 1,
+ ease: "power2.out",
+ onUpdate: () => {
+ el.innerText = formatNumber(target.count.toFixed(0));
+ }
+ })
+
+ },
+ update: (el, binding) => {
+ let target = {
+ count: el.innerText
+ };
+ let finalNumber = el.getAttribute('value');
+ gsap.to(target, {
+ count: finalNumber,
+ duration: 1,
+ ease: "power2.out",
+ onUpdate: () => {
+ el.innerText = formatNumber(target.count.toFixed(0));
+ }
+ })
+ }
+})
+
+
new Vue({
el: '#app',
router,
diff --git a/src/permission.js b/src/permission.js
index 462668d..45c6285 100644
--- a/src/permission.js
+++ b/src/permission.js
@@ -8,7 +8,7 @@
NProgress.configure({ showSpinner: false })
-const whiteList = ['/login', '/register', '/screen']
+const whiteList = ['/login', '/register']
router.beforeEach((to, from, next) => {
NProgress.start()
diff --git a/src/router/index.js b/src/router/index.js
index f244038..8850356 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -47,6 +47,19 @@
hidden: true
},
{
+ path: '/car/vehicle-data-monitor',
+ component: Layout,
+ hidden: true,
+ children: [
+ {
+ path: 'index',
+ name: 'vehicle-data-monitor',
+ component: () => import('@/views/system/vehicle-data-monitor/index'),
+ meta: { title: '杞﹁締杩囧崱鍙f暟鎹竴鑷存��', activeMenu: '/system/vehicle-data-monitor' }
+ }
+ ]
+ },
+ {
path: '/register',
component: () => import('@/views/register'),
hidden: true
@@ -76,11 +89,8 @@
},
{
path: '/screen',
- component: Layout,
hidden: true,
component: () => import('@/views/screen/index'),
- name: 'Profile',
- meta: { title: '澶у睆淇℃伅', icon: 'user' }
},
{
path: '/user',
diff --git a/src/utils/format.js b/src/utils/format.js
new file mode 100644
index 0000000..1d6c37a
--- /dev/null
+++ b/src/utils/format.js
@@ -0,0 +1,3 @@
+export const formatNumber = (value) => {
+ return new Intl.NumberFormat('en-US').format(value);
+}
\ No newline at end of file
diff --git a/src/views/screen/components/screen-car/index.vue b/src/views/screen/components/screen-car/index.vue
index a8a6446..2ae312c 100644
--- a/src/views/screen/components/screen-car/index.vue
+++ b/src/views/screen/components/screen-car/index.vue
@@ -1,6 +1,6 @@
<template>
<div class="car-container">
- <wrapper-title :title="'杞﹁締璁惧鏁版嵁'"></wrapper-title>
+ <wrapper-title :title="'杞﹁締璁惧鏁版嵁'" :path="'/monitorServe/car'"></wrapper-title>
<div class="car-content">
<div class="data-plane">
@@ -11,7 +11,7 @@
</div>
<div class="data-info">
<div class="data-lable">璁惧鎬绘暟</div>
- <div class="data-num">{{ formatNumber(1123) }}</div>
+ <div class="data-num type1" v-roll>{{ 1123 }}</div>
</div>
</div>
</dv-border-box-13>
@@ -23,7 +23,7 @@
</div>
<div class="data-info">
<div class="data-lable">璁惧姝e父鏁�</div>
- <div class="data-num">{{ formatNumber(200000) }}</div>
+ <div class="data-num type2" v-roll>{{ 2000 }}</div>
</div>
</div>
</dv-border-box-13>
@@ -35,7 +35,7 @@
</div>
<div class="data-info">
<div class="data-lable">璁惧寮傚父鏁�</div>
- <div class="data-num">{{ formatNumber(112313141111) }}</div>
+ <div class="data-num type3" v-roll>{{ 1000 }}</div>
</div>
</div>
</dv-border-box-13>
@@ -63,9 +63,6 @@
},
methods: {
- formatNumber(value) {
- return new Intl.NumberFormat('en-US').format(value);
- }
},
mounted() {
@@ -114,6 +111,16 @@
font-size: 24px;
color: #fff;
}
+
+ .type1 {
+ color: #287cfa;
+ }
+ .type2 {
+ color: #0cd81d;
+ }
+ .type3 {
+ color: #e20c0c
+ }
}
}
}
diff --git a/src/views/screen/components/screen-detection/index.vue b/src/views/screen/components/screen-detection/index.vue
index 714f076..1eccea9 100644
--- a/src/views/screen/components/screen-detection/index.vue
+++ b/src/views/screen/components/screen-detection/index.vue
@@ -1,6 +1,6 @@
<template>
<div class="detection-container">
- <wrapper-title :title="'杩愯鐩戞帶鏁版嵁'"></wrapper-title>
+ <wrapper-title :title="'杩愯鐩戞帶鏁版嵁'" :path="'/dataManage'"></wrapper-title>
<div class="detection-content">
<div class="water-item">
diff --git a/src/views/screen/components/screen-examine/components/examine-chart.vue b/src/views/screen/components/screen-examine/components/examine-chart.vue
index 32dfd86..6b4b7f9 100644
--- a/src/views/screen/components/screen-examine/components/examine-chart.vue
+++ b/src/views/screen/components/screen-examine/components/examine-chart.vue
@@ -26,7 +26,7 @@
{id: 4,name: '鐐逛綅鍦ㄧ嚎鐜�', value: 40},
{id: 5,name: '褰曞儚鍙敤鐜�', value: 80},
{id: 6,name: '閲嶇偣鐐逛綅褰曞儚鍙敤鐜�', value: 20},
- {id: 7,name: '涓�鏈轰竴妗e悎鏍肩巼', value: 60},
+ {id: 7,name: '淇℃伅閲囬泦鍑嗙‘鐜�', value: 60},
{id: 8,name: '鍗¢棬杩囪溅鏁版嵁涓�鑷存��', value: 40},
]
diff --git a/src/views/screen/components/screen-examine/index.vue b/src/views/screen/components/screen-examine/index.vue
index 5447573..f48d208 100644
--- a/src/views/screen/components/screen-examine/index.vue
+++ b/src/views/screen/components/screen-examine/index.vue
@@ -1,6 +1,6 @@
<template>
<div class="examine-container">
- <wrapper-title :title="'鑰冩牳鏁版嵁'"></wrapper-title>
+ <wrapper-title :title="'鑰冩牳鏁版嵁'" :path="'/examine/check-rule'"></wrapper-title>
<div class="examine-content">
<div class="examine-wrapper">
<examine-chart class="wrapper-item"></examine-chart>
diff --git a/src/views/screen/components/screen-face/index.vue b/src/views/screen/components/screen-face/index.vue
index cf1a29a..488816b 100644
--- a/src/views/screen/components/screen-face/index.vue
+++ b/src/views/screen/components/screen-face/index.vue
@@ -1,6 +1,6 @@
<template>
<div class="face-container">
- <wrapper-title :title="'浜鸿劯璁惧鏁版嵁'"></wrapper-title>
+ <wrapper-title :title="'浜鸿劯璁惧鏁版嵁'" :path="'/monitorServe/face'"></wrapper-title>
<div class="face-content">
<div class="data-plane">
@@ -11,7 +11,7 @@
</div>
<div class="data-info">
<div class="data-lable">璁惧鎬绘暟</div>
- <div class="data-num">{{ formatNumber(1123) }}</div>
+ <div class="data-num type1" v-roll>{{ 1123 }}</div>
</div>
</div>
</dv-border-box-13>
@@ -23,7 +23,7 @@
</div>
<div class="data-info">
<div class="data-lable">璁惧姝e父鏁�</div>
- <div class="data-num">{{ formatNumber(200000) }}</div>
+ <div class="data-num type2" v-roll>{{ 2000 }}</div>
</div>
</div>
</dv-border-box-13>
@@ -35,7 +35,7 @@
</div>
<div class="data-info">
<div class="data-lable">璁惧寮傚父鏁�</div>
- <div class="data-num">{{ formatNumber(112313141111) }}</div>
+ <div class="data-num type3" v-roll>{{ 1000 }}</div>
</div>
</div>
</dv-border-box-13>
@@ -62,10 +62,6 @@
},
methods: {
-
- formatNumber(value) {
- return new Intl.NumberFormat('en-US').format(value);
- }
},
mounted() {
@@ -113,6 +109,16 @@
font-size: 24px;
color: #fff;
}
+
+ .type1 {
+ color: #287cfa;
+ }
+ .type2 {
+ color: #0cd81d;
+ }
+ .type3 {
+ color: #e20c0c
+ }
}
}
}
diff --git a/src/views/screen/components/screen-title/index.vue b/src/views/screen/components/screen-title/index.vue
index 1cf07c4..7dd1f76 100644
--- a/src/views/screen/components/screen-title/index.vue
+++ b/src/views/screen/components/screen-title/index.vue
@@ -5,7 +5,7 @@
<img src="@/assets/images/screen/header_bg.png" class="width-img" alt="">
</div>
<div class="header-text">
- 鑷础杩愮淮鑰冩牳鍙鍖栧ぇ灞�
+ 鑷础甯傝繍缁磋�冩牳鍙鍖�
</div>
</div>
</div>
diff --git a/src/views/screen/components/screen-video/index.vue b/src/views/screen/components/screen-video/index.vue
index 3fa66d1..d97042f 100644
--- a/src/views/screen/components/screen-video/index.vue
+++ b/src/views/screen/components/screen-video/index.vue
@@ -1,6 +1,6 @@
<template>
<div class="video-container">
- <wrapper-title :title="'瑙嗛璁惧鏁版嵁'"></wrapper-title>
+ <wrapper-title :title="'瑙嗛璁惧鏁版嵁'" :path="'/monitorServe/video'"></wrapper-title>
<div class="video-content">
<div class="data-plane">
@@ -11,7 +11,7 @@
</div>
<div class="data-info">
<div class="data-lable">璁惧鎬绘暟</div>
- <div class="data-num">{{ formatNumber(1123) }}</div>
+ <div class="data-num type1" v-roll>{{ 1123 }}</div>
</div>
</div>
</dv-border-box-13>
@@ -23,7 +23,7 @@
</div>
<div class="data-info">
<div class="data-lable">璁惧姝e父鏁�</div>
- <div class="data-num">{{ formatNumber(200000) }}</div>
+ <div class="data-num type2" v-roll>{{ 2000 }}</div>
</div>
</div>
</dv-border-box-13>
@@ -35,7 +35,7 @@
</div>
<div class="data-info">
<div class="data-lable">璁惧寮傚父鏁�</div>
- <div class="data-num">{{ formatNumber(112313141111) }}</div>
+ <div class="data-num type3" v-roll>{{ 1000 }}</div>
</div>
</div>
</dv-border-box-13>
@@ -54,18 +54,10 @@
},
data() {
return {
- dataList: {
- state: { '01:00': 1000, '02:00': 2131, '03:00': 1233, '04:00': 2132, '05:00': 3211, '06:00': 213, '07:00': 123, '08:00': 566 },
- state2: { '01:00': 900, '02:00': 1131, '03:00': 1533, '04:00': 2132, '05:00': 3011, '06:00': 13, '07:00': 113, '08:00': 566 },
- },
}
},
methods: {
-
- formatNumber(value) {
- return new Intl.NumberFormat('en-US').format(value);
- }
},
mounted() {
@@ -113,6 +105,16 @@
font-size: 24px;
color: #fff;
}
+
+ .type1 {
+ color: #287cfa;
+ }
+ .type2 {
+ color: #0cd81d;
+ }
+ .type3 {
+ color: #e20c0c
+ }
}
}
}
diff --git a/src/views/screen/components/screen-wrapper/index.vue b/src/views/screen/components/screen-wrapper/index.vue
index b314a67..6cbb50e 100644
--- a/src/views/screen/components/screen-wrapper/index.vue
+++ b/src/views/screen/components/screen-wrapper/index.vue
@@ -1,6 +1,9 @@
<template>
<div class="wrapper-container">
-
+ <select-item></select-item>
+ <div class="return-button">
+ <el-button type="primary" @click="returnPath">杩斿洖</el-button>
+ </div>
<div class="wrapper-content">
<div class="left-container wrapper">
<screen-face></screen-face>
@@ -20,6 +23,7 @@
</template>
<script>
+import SelectItem from '../select-item/index';
import ScreenFace from '../screen-face/index';
import ScreenDetection from '../screen-detection/index';
import ScreenExamine from '../screen-examine/index';
@@ -29,6 +33,7 @@
export default {
name: 'ScreenWrapper',
components: {
+ SelectItem,
ScreenFace,
ScreenDetection,
ScreenExamine,
@@ -36,10 +41,20 @@
ScreenCar,
ScreenMap
},
+ methods: {
+ returnPath() {
+ this.$router.go(-1);
+ }
+ }
}
</script>
<style lang="scss" scoped>
+.return-button {
+ position: absolute;
+ right: 20px;
+ top: 40px;
+}
.wrapper-container {
width: 100%;
height: 100%;
diff --git a/src/views/screen/components/select-item/index.vue b/src/views/screen/components/select-item/index.vue
index f458ad6..4bd541b 100644
--- a/src/views/screen/components/select-item/index.vue
+++ b/src/views/screen/components/select-item/index.vue
@@ -1,15 +1,92 @@
<template>
<div class="select-container">
-
+ <div class="type-select">
+ <div class="select-label">鏁版嵁婧�</div>
+ <el-select v-model="typeValue" popper-class="type-select" class="select-style" @change="setConfig">
+ <el-option v-for="item in testData1" :key="item.name" :label="item.name" :value="item.value" />
+ </el-select>
+ </div>
+
+ <div class="date-select">
+ <div class="select-label">鏃ユ湡</div>
+ <el-date-picker v-model="dateValue" type="daterange" range-separator="鑷�" start-placeholder="寮�濮嬫棩鏈�"
+ end-placeholder="缁撴潫鏃ユ湡" value-format="yyyy-MM-dd" @change="setConfig" />
+ </div>
+
</div>
</template>
<script>
- export default {
-
+export default {
+ data() {
+ return {
+ typeValue: 1,
+ dateValue: new Date(),
+ testData1: [
+ {
+ name: '鐪佸巺',
+ value: 1
+ },
+ {
+ name: '甯傚巺',
+ value: 2
+ },
+ {
+ name: '鍏畨閮�',
+ value: 3
+ }
+ ]
+ }
+ },
+ methods: {
+ setConfig() {
+
+ }
}
+}
</script>
<style lang="scss" scoped>
+.select-container {
+ position: absolute;
+ top: 40px;
+ left: 20px;
+ display: flex;
+ align-items: center;
+
+ .select-label {
+ font-size: 20px;
+ margin-right: 10px;
+ color: #2375f0;
+ flex-shrink: 0;
+ }
+
+ .type-select {
+ display: flex;
+ align-items: center;
+ margin-right: 20px;
+ width: 240px;
+ }
+
+ .date-select {
+ display: flex;
+ align-items: center;
+ width: 320px;
+ }
+}
+::v-deep .el-input__inner {
+ background: rgba(67, 102, 155, 0.4) !important;
+ color: #4481DD;
+ border-color: #4481DD !important;
+}
+
+::v-deep .date-select .el-range-input {
+ background-color: transparent !important;
+ color: #4481DD;
+}
+::v-deep .date-select .el-date-editor .el-range-separator {
+ color: #4481DD !important;
+}
+
</style>
\ No newline at end of file
diff --git a/src/views/screen/components/wrapper-title/index.vue b/src/views/screen/components/wrapper-title/index.vue
index 81de806..6351d2b 100644
--- a/src/views/screen/components/wrapper-title/index.vue
+++ b/src/views/screen/components/wrapper-title/index.vue
@@ -2,7 +2,7 @@
<div class="title-container">
<span class="title">{{ title }}</span>
- <div class="more-button">
+ <div class="more-button" v-if="path" @click="toPath">
<dv-border-box-12>
<div class="button-text">
璇︽儏
@@ -22,6 +22,12 @@
},
path: {
type: String,
+ default: ''
+ }
+ },
+ methods: {
+ toPath () {
+ this.$router.push(this.path);
}
}
}
diff --git a/src/views/screen/index.vue b/src/views/screen/index.vue
index 7f4fb93..2758458 100644
--- a/src/views/screen/index.vue
+++ b/src/views/screen/index.vue
@@ -1,5 +1,6 @@
<template>
<div class="screen-container">
+
<screen-title></screen-title>
<v-scale-screen width="1920" height="1080" :autoScale="true" :delay="0" class="screen">
<screen-wrapper></screen-wrapper>
@@ -35,4 +36,5 @@
background-repeat: no-repeat !important;
background-position: center center !important;
}
+
</style>
\ No newline at end of file
diff --git a/src/views/system/check-result/index.vue b/src/views/system/check-result/index.vue
index 572f380..0817e2b 100644
--- a/src/views/system/check-result/index.vue
+++ b/src/views/system/check-result/index.vue
@@ -90,8 +90,7 @@
<el-button style="float: right; padding: 3px 0" type="text" @click="handleDetail(item)">璇︽儏</el-button>
</div>
<div class="text item">鑰冩牳<span class="time">{{ item.examineName }}</span></div>
- <div class="text item">鑰冩牳鑼冨洿<span class="time">{{ item.examineRange }}</span></div>
- <div class="text item">鑰冩牳棰戠巼<span class="time">{{ item.frequency }}</span></div>
+ <div class="text item">鑰冩牳棰戠巼<span class="time">{{ "瀛e害鑰冩牳" }}</span></div>
<div class="text item">鑰冩牳鍒嗘暟<span class="time">{{ item.checkScore }}</span></div>
<div class="text item">鑰冩牳鏃堕棿
<span class="time">{{ item.checkTime }}</span>
@@ -184,32 +183,30 @@
<el-descriptions-item>
<template slot="label">
<i class="el-icon-medal"></i>
- 绯荤粺鍒嗘暟
+ 缁煎悎鍒嗘暟
</template>
<el-tag type="danger" size="small">{{detail.checkScore}}</el-tag>
</el-descriptions-item>
- <el-descriptions-item>
- <template slot="label">
- <i class="el-icon-medal"></i>
- 浜哄伐鍒嗘暟
- </template>
- <el-tag type="danger" size="small">{{detail.manualScore}}</el-tag>
- </el-descriptions-item>
- <el-descriptions-item>
- <template slot="label">
- <i class="el-icon-medal"></i>
- 杞﹁締鐐逛綅鍦ㄧ嚎鐜�
- </template>
- <el-tag type="danger" size="small">{{detail.carOnlineRate}}</el-tag>
- </el-descriptions-item>
- <el-descriptions-item>
- <template slot="label">
- <i class="el-icon-medal"></i>
- 缁煎悎鍒嗘暟
- </template>
- <el-tag type="danger" size="small">{{detail.systemScore}}</el-tag>
- </el-descriptions-item>
</el-descriptions>
+ <el-table
+ :data="tableData"
+ show-summary
+ style="width: 100%">
+ <el-table-column
+ prop="name"
+ label="瑙勫垯鍚�"
+ width="180">
+ </el-table-column>
+ <el-table-column
+ prop="content"
+ label="鎸囨爣"
+ width="180">
+ </el-table-column>
+ <el-table-column
+ prop="score"
+ label="寰楀垎">
+ </el-table-column>
+ </el-table>
</el-dialog>
<!-- 娣诲姞鎴栦慨鏀硅�冩牳缁撴灉瀵硅瘽妗� -->
@@ -233,9 +230,26 @@
return {
detailTitle: '',
detailOpen: false,
- detail: {
+ detail:{
},
+ tableData: [{
+ name: '瑙嗛骞冲潎鍦ㄧ嚎鐜�',
+ content: '97%',
+ score: '-5'
+ }, {
+ name: '涓�鏈轰竴妗�24灏忔椂鏈慨澶�',
+ content: '5涓�',
+ score: '-0.5'
+ }, {
+ name: '瀛樺偍鏁呴殰',
+ content: '5灏忔椂',
+ score: '-0.5'
+ }, {
+ name: '鏃堕挓涓嶅悓姝�24灏忔椂鏈慨澶�',
+ content: '3涓�',
+ score: '-0.3'
+ }],
manualScoreOpen: false,
manualScoreForm: {},
manualScoreTitle: '',
diff --git a/src/views/system/check-template/index.vue b/src/views/system/check-template/index.vue
index 2281e80..70c8f5c 100644
--- a/src/views/system/check-template/index.vue
+++ b/src/views/system/check-template/index.vue
@@ -9,10 +9,10 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
- <el-form-item label="鍏徃鍚�" prop="unitName">
+ <el-form-item label="鑰冩牳瀵硅薄" prop="unitName">
<el-input
v-model="queryParams.status"
- placeholder="璇疯緭鍏ュ叕鍙稿悕"
+ placeholder="璇疯緭鍏ヨ�冩牳瀵硅薄"
clearable
@keyup.enter.native="handleQuery"
/>
@@ -79,7 +79,7 @@
<el-table v-loading="loading" :data="checkTemplateList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="妯℃澘鍚嶇О" align="center" prop="templateName" />
- <el-table-column label="鍏徃鍚�" align="center" prop="unitName" />
+ <el-table-column label="鑰冩牳瀵硅薄" align="center" prop="unitName" />
<el-table-column label="璋冩暣绯绘暟" align="center" prop="adjustCoefficient" />
<el-table-column label="璋冩暣绯绘暟璁$畻鏂瑰紡" align="center" prop="adjustWay" />
<el-table-column label="鐘舵��" align="center" prop="status" />
@@ -115,7 +115,7 @@
<el-form-item label="妯℃澘鍚嶇О" prop="templateName">
<el-input v-model="form.templateName" placeholder="璇疯緭鍏ユā鏉垮悕绉�" />
</el-form-item>
- <el-form-item label="鍏徃鍚�" prop="unitName">
+ <el-form-item label="鑰冩牳瀵硅薄" prop="unitName">
<el-select v-model="form.unitName" placeholder="璇烽�夋嫨">
<el-option
v-for="item in unitList"
diff --git a/src/views/system/data-manage/index.vue b/src/views/system/data-manage/index.vue
index 764f510..eef8562 100644
--- a/src/views/system/data-manage/index.vue
+++ b/src/views/system/data-manage/index.vue
@@ -1,55 +1,79 @@
<template>
+ <div>
<div class="container">
- <el-row type="flex" justify="center">
- <el-col :span="24">
- <h3 style="color: rgb(104,104,103);padding-top: 20px;padding-bottom: 20px;">浜鸿劯鏁版嵁寮傚父妫�娴�</h3>
- </el-col>
- </el-row>
+ <el-row type="flex" justify="center">
+ <el-col :span="24">
+ <h3 style="color: rgb(104,104,103);padding-top: 20px;padding-bottom: 20px;">浜鸿劯鏁版嵁寮傚父妫�娴�</h3>
+ </el-col>
+ </el-row>
- <el-row type="flex" justify="center">
- <el-col :span="6" v-for="(item, index) in faceData" :key="index">
- <el-link @click="handleDetail(item)">
- <el-card style="width:150px;height: 150px;text-align: center;">
- <i style="font-size: 40px;padding: 15px;" :class="item.icon"></i>
- <div>{{ item.name }}</div>
- </el-card>
- </el-link>
- </el-col>
- </el-row>
+ <el-row type="flex" justify="center">
+ <el-col :span="6" v-for="(item, index) in faceData" :key="index">
+ <el-link @click="handleDetail(item)">
+ <el-card style="width:150px;height: 150px;text-align: center;">
+ <i style="font-size: 40px;padding: 15px;" :class="item.icon"></i>
+ <div>{{ item.name }}</div>
+ </el-card>
+ </el-link>
+ </el-col>
+ </el-row>
</div>
+
+ <div class="container">
+ <el-row type="flex" justify="center">
+ <el-col :span="24">
+ <h3 style="color: rgb(104,104,103);padding-top: 20px;padding-bottom: 20px;">杞︿咯鏁版嵁寮傚父妫�娴�</h3>
+ </el-col>
+ </el-row>
+
+ <el-row type="flex">
+ <el-col :span="6" v-for="(item, index) in carData" :key="index">
+ <el-link @click="handleDetail(item)">
+ <el-card style="width:150px;height: 150px;text-align: center;">
+ <i style="font-size: 40px;padding: 15px;" :class="item.icon"></i>
+ <div>{{ item.name }}</div>
+ </el-card>
+ </el-link>
+ </el-col>
+ </el-row>
+ </div>
+ </div>
</template>
<script>
export default {
- data() {
- return {
- faceData: [
- { name: '浜鸿劯璇嗗埆鏃堕挓鍑嗙‘鎬�', icon: 'el-icon-alarm-clock', description: '鎻忚堪淇℃伅', routerUrl: 'vehicle-data-monitor' },
- { name: '浜鸿劯鎶撴媿鏁版嵁鐩戞祴', icon: 'el-icon-user', description: '鎻忚堪淇℃伅', routerUrl: '/face/faceClock' },
- { name: '浜鸿劯鏁版嵁瓒嬪娍鍒嗘瀽', icon: 'el-icon-data-line', description: '鎻忚堪淇℃伅', routerUrl: '/face/faceClock' },
- { name: '浜鸿劯鎶撴媿璁惧娲昏穬鎬�', icon: 'el-icon-timer', description: '鎻忚堪淇℃伅', routerUrl: '/face/faceClock' },
- { name: '浜鸿劯鎶撴媿涓婁紶鍙婃椂鎬�', icon: 'el-icon-money', description: '鎻忚堪淇℃伅', routerUrl: '/face/faceClock' },
- { name: '浜鸿劯鎶撴媿澶у浘鍙敤鎬�', icon: 'el-icon-data-analysis', description: '鎻忚堪淇℃伅', routerUrl: '/face/faceClock' },
- ]
- }
- },
- methods: {
- handleDetail(item) {
- this.$router.push({
- name: item.routerUrl,
- params: {
- id: item.id
- }
- })
- }
+ data() {
+ return {
+ faceData: [
+ { name: '浜鸿劯璇嗗埆鏃堕挓鍑嗙‘鎬�', icon: 'el-icon-alarm-clock', description: '鎻忚堪淇℃伅', routerUrl: '/car/vehicle-data-monitor/index' },
+ { name: '浜鸿劯鎶撴媿鏁版嵁鐩戞祴', icon: 'el-icon-user', description: '鎻忚堪淇℃伅', routerUrl: '/car/vehicle-data-monitor/index' },
+ { name: '浜鸿劯鏁版嵁瓒嬪娍鍒嗘瀽', icon: 'el-icon-data-line', description: '鎻忚堪淇℃伅', routerUrl: '/car/vehicle-data-monitor/index' },
+ { name: '浜鸿劯鎶撴媿璁惧娲昏穬鎬�', icon: 'el-icon-timer', description: '鎻忚堪淇℃伅', routerUrl: '/car/vehicle-data-monitor/index' },
+ { name: '浜鸿劯鎶撴媿涓婁紶鍙婃椂鎬�', icon: 'el-icon-money', description: '鎻忚堪淇℃伅', routerUrl: '/car/vehicle-data-monitor/index' },
+ { name: '浜鸿劯鎶撴媿澶у浘鍙敤鎬�', icon: 'el-icon-data-analysis', description: '鎻忚堪淇℃伅', routerUrl: '/car/vehicle-data-monitor/index' },
+ ],
+ carData: [
+ { name: '鍗″彛杩囪溅鏁版嵁涓�鑷存��', icon: 'el-icon-truck', description: '鎻忚堪淇℃伅', routerUrl: '/car/vehicle-data-monitor/index' }
+ ]
}
+ },
+ methods: {
+ handleDetail(item) {
+ this.$router.push({
+ path: item.routerUrl,
+ params: {
+ id: item.id
+ }
+ })
+ }
+ }
}
</script>
<style scoped>
.container {
- margin-left: 100px;
- margin-right: 100px;
- margin-top: 10px;
+ margin-left: 100px;
+ margin-right: 100px;
+ margin-top: 10px;
}
-</style>
\ No newline at end of file
+</style>
diff --git a/src/views/system/score/index.vue b/src/views/system/score/index.vue
index bc293b4..7ad0604 100644
--- a/src/views/system/score/index.vue
+++ b/src/views/system/score/index.vue
@@ -76,9 +76,9 @@
<el-table v-loading="loading" :data="scoreList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="鑰冩牳鍚�" align="center" prop="examineName" />
- <el-table-column label="鍗曚綅鍚�" align="center" prop="unitName" />
+ <el-table-column label=鑰冩牳瀵硅薄" align="center" prop="unitName" />
<el-table-column label="鍒嗗��" align="center" prop="score" />
- <el-table-column label="绉垎绫诲瀷" align="center" prop="scoreCategory">
+ <el-table-column label="鑰冩牳瑙勫垯" align="center" prop="scoreCategory">
<template slot-scope="scope">
<div v-if="scope.row.scoreCategory === 1">瑙嗛鍦ㄧ嚎鐜�</div>
<div v-else-if="scope.row.scoreCategory === 2">瀛樺偍鏁呴殰</div>
diff --git a/src/views/system/vehicle-data-monitor/index.vue b/src/views/system/vehicle-data-monitor/index.vue
index 76ce1d1..44cac60 100644
--- a/src/views/system/vehicle-data-monitor/index.vue
+++ b/src/views/system/vehicle-data-monitor/index.vue
@@ -1,6 +1,6 @@
<template>
<div class="app-container">
- <div class="top">
+ <!-- <div class="top">
<el-row type="flex" justify="space-between" style="width: 60%;">
<el-col :span="6">
<el-card class="card">
@@ -37,7 +37,43 @@
</el-col>
</el-row>
- </div>
+ </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;">
+ <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">
+ <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-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">
@@ -276,41 +312,36 @@
};
</script>
<style scoped>
-.top {
- height: 150px;
+.box-card {
+ background-color: #F5F9FE;
+ width: 100%;
margin-bottom: 20px;
- background-color: #F2F9FF;
- border: 1px solid #77befd;
+ height: 120px
}
-.container {
- max-width: 1000px;
- margin: auto;
+.icon-container {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ border-radius: 20px;
+ width: 20%;
+ height: 80px;
+ margin-left: 5%;
}
-.number {
- font-size: 36px;
- font-weight: bold;
- color: #00A5FE;
+.el-icon-refresh-left {
+ font-size: 50px;
+ color: #FFFFFF;
}
-.numberTwo {
- font-size: 36px;
- font-weight: bold;
- color: #505051;
+.dashboard {
+ display: flex;
+ gap: 10%;
+ align-items: center;
+ margin-left: -50%;
}
-.card {
- width: 100px;
- height: 100px;
+.dashboard-item {
text-align: center;
- background-color: #00A5FE;
- color: aliceblue;
- border-radius: 10%;
- margin: 25px;
-}
-
-.mod {
- margin-top: 40px;
}
</style>
\ No newline at end of file
diff --git a/vue.config.js b/vue.config.js
index e61f74f..cf11cc5 100644
--- a/vue.config.js
+++ b/vue.config.js
@@ -35,7 +35,7 @@
proxy: {
// detail: https://cli.vuejs.org/config/#devserver-proxy
[process.env.VUE_APP_BASE_API]: {
- target: `http://localhost:8080`,
+ target: `http://192.168.3.88:8080`,
changeOrigin: true,
pathRewrite: {
['^' + process.env.VUE_APP_BASE_API]: ''
--
Gitblit v1.8.0