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