From 996ba897101bbc959e035983c44d0bd4c5559fbb Mon Sep 17 00:00:00 2001 From: xiangpei <xiangpei@timesnew.cn> Date: 星期三, 20 三月 2024 17:03:01 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- src/views/index.vue | 2 src/views/screen/components/screen-examine/components/examine-chart.vue | 22 +- src/api/system/role.js | 8 src/views/system/check-result/index.vue | 4 src/views/system/data-manage/index.vue | 112 +++++++++- src/layout/components/Navbar.vue | 57 ++++ src/views/system/check-template/index.vue | 60 ++++ src/views/screen/components/screen-wrapper/index.vue | 4 src/views/screen/components/screen-map/index.vue | 134 ++++++++++- src/views/screen/components/screen-map/test.vue | 0 src/views/screen/components/select-item/index.vue | 6 src/router/index.js | 30 ++ src/views/system/work-order/index.vue | 13 src/views/system/check-result/city/index.vue | 4 src/views/login.vue | 3 src/views/home/data-view/index.vue | 39 +++ src/views/screen/components/screen-examine/components/examine-hola.vue | 18 + src/views/screen/components/screen-detection/index.vue | 4 src/views/system/vehicle-data-monitor/index.vue | 107 +++------ src/views/system/report/index.vue | 2 20 files changed, 466 insertions(+), 163 deletions(-) diff --git a/src/api/system/role.js b/src/api/system/role.js index f13e6f4..3e28128 100644 --- a/src/api/system/role.js +++ b/src/api/system/role.js @@ -56,7 +56,13 @@ data: data }) } - +// 鍒囨崲瑙掕壊 +export function exchangeRole(roleId) { + return request({ + url: '/system/role/exchange/'+ roleId, + method: 'get', + }) +} // 鍒犻櫎瑙掕壊 export function delRole(roleId) { return request({ diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue index c79a894..a122c07 100644 --- a/src/layout/components/Navbar.vue +++ b/src/layout/components/Navbar.vue @@ -1,12 +1,17 @@ <template> <div class="navbar"> - <hamburger id="hamburger-container" :is-active="sidebar.opened" class="hamburger-container" @toggleClick="toggleSideBar" /> + <hamburger id="hamburger-container" :is-active="sidebar.opened" class="hamburger-container" + @toggleClick="toggleSideBar" /> - <breadcrumb id="breadcrumb-container" class="breadcrumb-container" v-if="!topNav"/> - <top-nav id="topmenu-container" class="topmenu-container" v-if="topNav"/> + <breadcrumb id="breadcrumb-container" class="breadcrumb-container" v-if="!topNav" /> + <top-nav id="topmenu-container" class="topmenu-container" v-if="topNav" /> <div class="right-menu"> - <template v-if="device!=='mobile'"> + + + + + <template v-if="device !== 'mobile'"> <screenfull id="screenfull" class="right-menu-item hover-effect" /> <el-tooltip content="甯冨眬澶у皬" effect="dark" placement="bottom"> <size-select id="size-select" class="right-menu-item hover-effect" /> @@ -31,6 +36,17 @@ </el-dropdown-item> </el-dropdown-menu> </el-dropdown> + + </div> + <div class="test-container"> + <el-button-group style="vertical-align: text-bottom;"> + <el-button @click="exchange(100)">鐪佸巺瑙掕壊</el-button> + <el-button @click="exchange(103)">鍖哄幙瑙掕壊</el-button> + <el-button @click="exchange(2)">杩愮淮瑙掕壊</el-button> + </el-button-group> + </div> + <div class="button-container"> + <el-button type="primary" @click="toScreen">鍙鍖栧ぇ灞�</el-button> </div> </div> </template> @@ -45,7 +61,7 @@ import Search from '@/components/HeaderSearch' import RuoYiGit from '@/components/RuoYi/Git' import RuoYiDoc from '@/components/RuoYi/Doc' - +import { exchangeRole } from "@/api/system/role"; export default { components: { Breadcrumb, @@ -81,6 +97,11 @@ } }, methods: { + exchange(roleId) { + exchangeRole(roleId).then(response => { + this.$modal.msgSuccess("淇敼鎴愬姛"); + }).catch(() => { }); + }, toggleSideBar() { this.$store.dispatch('app/toggleSideBar') }, @@ -93,7 +114,13 @@ this.$store.dispatch('LogOut').then(() => { location.href = '/index'; }) - }).catch(() => {}); + }).catch(() => { }); + }, + + toScreen() { + this.$router.push({ + path: '/screen' + }) } } } @@ -105,7 +132,7 @@ overflow: hidden; position: relative; background: #fff; - box-shadow: 0 1px 4px rgba(0,21,41,.08); + box-shadow: 0 1px 4px rgba(0, 21, 41, .08); .hamburger-container { line-height: 46px; @@ -113,7 +140,7 @@ float: left; cursor: pointer; transition: background .3s; - -webkit-tap-highlight-color:transparent; + -webkit-tap-highlight-color: transparent; &:hover { background: rgba(0, 0, 0, .025) @@ -186,4 +213,18 @@ } } } +.test-container { + margin: 0 20px; + height: 100%; + float: right; + display: flex; + align-items: center; +} +.button-container { + margin: 0 20px; + height: 100%; + float: right; + display: flex; + align-items: center; +} </style> diff --git a/src/router/index.js b/src/router/index.js index 8850356..58389a7 100644 --- a/src/router/index.js +++ b/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: '杞﹁締杩囧崱鍙f暟鎹竴鑷存��', activeMenu: '/system/vehicle-data-monitor' } - } - ] + { + path: 'index', + name: 'vehicle-data-monitor', + component: () => import('@/views/system/vehicle-data-monitor/index'), + meta: { title: '杞﹁締杩囧崱鍙f暟鎹竴鑷存��', 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, diff --git a/src/views/home/data-view/index.vue b/src/views/home/data-view/index.vue index 54e595c..01aa966 100644 --- a/src/views/home/data-view/index.vue +++ b/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%; diff --git a/src/views/index.vue b/src/views/index.vue index d64cd44..9821ea7 100644 --- a/src/views/index.vue +++ b/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> diff --git a/src/views/login.vue b/src/views/login.vue index e604abf..e855493 100644 --- a/src/views/login.vue +++ b/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,6 +199,8 @@ this.loginInfo = loginInfo.user //濡傛灉杩斿洖涓�1姝e父璺宠浆 if(this.loginInfo.firstLogin == 1){ + this.$router.push({ path: "/" }).catch(()=>{}); + return; this.$router.push({ path: this.redirect || "/" }).catch(()=>{}); } else { localStorage.setItem('firstLogin',0) diff --git a/src/views/screen/components/screen-detection/index.vue b/src/views/screen/components/screen-detection/index.vue index 1eccea9..3f396f7 100644 --- a/src/views/screen/components/screen-detection/index.vue +++ b/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 }, 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 6b4b7f9..74c3413 100644 --- a/src/views/screen/components/screen-examine/components/examine-chart.vue +++ b/src/views/screen/components/screen-examine/components/examine-chart.vue @@ -3,7 +3,7 @@ <div class="rank-chart"> <div class="hola-item" v-for="item in dataList" :key="item.id"> <examine-hola :startColor="'#02C77E'" :endColor="'#017770'" :centerValue="item.value" - :bottomTitle="item.name"></examine-hola> + :bottomTitle="item.name" :routerPath="item.routerUrl" ></examine-hola> </div> </div> </div> @@ -20,15 +20,15 @@ data() { return { dataList: [ - {id: 1,name: '骞冲彴鍦ㄧ嚎鐜�', value: 60}, - {id: 2,name: '涓�鏈轰竴妗e悎鏍肩巼', value: 20}, - {id: 3,name: '妗f鑰冩牳姣�', value: 60}, - {id: 4,name: '鐐逛綅鍦ㄧ嚎鐜�', value: 40}, - {id: 5,name: '褰曞儚鍙敤鐜�', value: 80}, - {id: 6,name: '閲嶇偣鐐逛綅褰曞儚鍙敤鐜�', value: 20}, - {id: 7,name: '淇℃伅閲囬泦鍑嗙‘鐜�', value: 60}, - {id: 8,name: '鍗¢棬杩囪溅鏁版嵁涓�鑷存��', value: 40}, - + {id: 1,name: '骞冲彴鍦ㄧ嚎鐜�', value: 60,routerUrl: '/car/vehicle-data-monitor/index'}, + {id: 2,name: '涓�鏈轰竴妗e悎鏍肩巼', value: 20,routerUrl: '/car/vehicle-data-monitor/index'}, + {id: 3,name: '妗f鑰冩牳姣�', value: 60,routerUrl: '/car/vehicle-data-monitor/index'}, + {id: 4,name: '鐐逛綅鍦ㄧ嚎鐜�', value: 40,routerUrl: '/car/vehicle-data-monitor/index'}, + {id: 5,name: '褰曞儚鍙敤鐜�', value: 80,routerUrl: '/car/vehicle-data-monitor/index'}, + {id: 6,name: '閲嶇偣鐐逛綅褰曞儚鍙敤鐜�', value: 20,routerUrl: '/car/vehicle-data-monitor/index'}, + {id: 7,name: '淇℃伅閲囬泦鍑嗙‘鐜�', value: 60,routerUrl: '/car/vehicle-data-monitor/index'}, + {id: 8,name: '杞﹁締杩囧崱鍙f暟鎹竴鑷存��', value: 40,routerUrl: '/car/vehicle-data-monitor/index'}, + ] } }, @@ -65,4 +65,4 @@ } } } -</style> \ No newline at end of file +</style> diff --git a/src/views/screen/components/screen-examine/components/examine-hola.vue b/src/views/screen/components/screen-examine/components/examine-hola.vue index e034ab7..a4c2d87 100644 --- a/src/views/screen/components/screen-examine/components/examine-hola.vue +++ b/src/views/screen/components/screen-examine/components/examine-hola.vue @@ -2,7 +2,9 @@ <!-- 杩涘害鏉$被鍨嬬粍浠� --> <div class="progressChart"> <div class="chart" id="progressChart" ref="chartRef"></div> - <label class="bottom le-0-font">{{ bottomTitle }}</label> + <el-link class="bottom le-0-font" :underline="false" @click="handleDetail(routerPath)"> + <label >{{ bottomTitle }}</label> + </el-link> </div> </template> <script> @@ -120,12 +122,22 @@ type: [Number, String], default: 0 }, + routerPath: { + type: String, + default: '' + }, bottomTitle: { type: String, default: '' } }, - methods: {}, + methods: { + handleDetail(routerUrl) { + this.$router.push({ + path: routerUrl, + }) + } + }, created() { }, mounted() { let myChart = echarts.init(this.$refs['chartRef']) // 浣跨敤Id鏃犳硶瀹炵幇 @@ -154,4 +166,4 @@ margin-top: 10px; } } -</style> \ No newline at end of file +</style> diff --git a/src/views/screen/components/screen-map/index.vue b/src/views/screen/components/screen-map/index.vue index 8a263a0..e1b84bc 100644 --- a/src/views/screen/components/screen-map/index.vue +++ b/src/views/screen/components/screen-map/index.vue @@ -15,18 +15,18 @@ import WrapperTitle from '../wrapper-title/index'; echarts.registerMap('zigong', mapData); -console.log(mapData); let mapChart = null; let tempName = ''; let observer = null; const mapConfig = { - series: [{ - map: "zigong", //娉ㄥ唽鍦板浘鐨勫悕瀛� - type: "map3D", + geo3D: { + map: 'zigong', + show: true, bottom: 0, left: 0, top: 0, right: 0, + zlevel: 1, itemStyle: { color: "#4189f2", // 鑳屾櫙 opacity: 1, //閫忔槑搴� @@ -44,28 +44,112 @@ // 鎺у埗鍣� viewControl: { beta: -30, - alpha: 90, - distance: 100, + alpha: 50, + distance: 105, maxBeta: 180, - panSensitivity: 0 + panSensitivity: 0, + zoomSensitivity: 1, + rotateSensitivity: 0, }, // 榧犳爣绉诲叆鏃舵牱寮� emphasis: { itemStyle: { - color: "#F63545" + color: "#F63545", } }, + // regions: mapData.features.map((item) => { + // return { + // name: item.properties.name, + // itemStyle: { + // color: "#4189f2" + // } + // } + // }) + }, + series: [ + { + map: "zigong", //娉ㄥ唽鍦板浘鐨勫悕瀛� + type: "map3D", + bottom: 0, + left: 0, + top: 0, + right: 0, + zlevel: 2, + itemStyle: { + color: "#4189f2", // 鑳屾櫙 + opacity: 0, //閫忔槑搴� + borderWidth: 0, // 杈规瀹藉害 + borderColor: "#fff", // 杈规棰滆壊 + fontSize: 18, // + }, - // 鏁版嵁 - data: mapData.features.map((item) => { - return { - name: item.properties.name, - itemStyle: { - color: "#4189f2" + // 鏍囩 + label: { + show: false, + color: "#fff", //鍦板浘鍒濆鍖栧尯鍩熷瓧浣撻鑹� + fontSize: 18, + }, + // 鎺у埗鍣� + viewControl: { + beta: -30, + alpha: 50, + distance: 105, + maxBeta: 180, + panSensitivity: 0, + zoomSensitivity: 1, + rotateSensitivity: 0, + }, + + // 鏁版嵁 + data: mapData.features.map((item) => { + return { + name: item.properties.name, + itemStyle: { + color: "#4189f2" + } } - } - }), - } + }), + + }, + { + type: 'lines3D', + coordinateSystem: 'geo3D', + zlevel: 15, + + effect: { + show: true, + period: 5, + trailLength: 0.2, + color: '#01AAED', + }, + lineStyle: { + width: 3, + opacity: 0.6, + color: '#FFB800' + }, + data: [ + [ + [104.343914,29.470778], + [104.766432,29.328016] + ], + [ + [104.603116,29.347364], + [104.766432,29.328016] + ], + [ + [104.873139,29.30861], + [104.766432,29.328016] + ], + [ + [105.058792,29.1521], + [104.766432,29.328016] + ], + [ + [104.848535,29.410526], + [104.766432,29.328016] + ], + ] + } ] }; @@ -82,13 +166,21 @@ methods: { filterData(name) { this.initConfig(); - let temp = mapConfig.series[0].data.find(item => item.name === name); + let temp = mapConfig.geo3D.regions.find(item => item.name === name); + + // mapConfig.geo3D.regions.push({ + // name: name, + // itemStyle: { + // color: '#F63545' + // } + // }); temp.itemStyle.color = '#F63545'; mapChart.setOption(mapConfig, true); this.$emit('filterData', name); }, initConfig() { - mapConfig.series[0].data.forEach(item => { + // mapConfig.geo3D.regions = []; + mapConfig.geo3D.regions.forEach(item => { item.itemStyle.color = '#4189f2'; }); }, @@ -112,6 +204,7 @@ mapChart = echarts.init(this.$refs.map); mapChart.setOption(mapConfig, true); mapChart.on('click', (params) => { + return; if (tempName === params.name) { tempName = ''; this.initConfig(); @@ -144,8 +237,9 @@ .map-content { flex: 1; background: rgba(67, 102, 155, 0.3); - border: 1px solid rgba(47, 91, 157, 0.8); + border: 1px solid rgba(47, 91, 157, 0.8); } + .map-style { width: 100%; height: 100%; diff --git a/src/views/screen/components/screen-map/test.vue b/src/views/screen/components/screen-map/test.vue new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/src/views/screen/components/screen-map/test.vue diff --git a/src/views/screen/components/screen-wrapper/index.vue b/src/views/screen/components/screen-wrapper/index.vue index 6cbb50e..35e0763 100644 --- a/src/views/screen/components/screen-wrapper/index.vue +++ b/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'); } } } diff --git a/src/views/screen/components/select-item/index.vue b/src/views/screen/components/select-item/index.vue index 4bd541b..168db2c 100644 --- a/src/views/screen/components/select-item/index.vue +++ b/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 } ] diff --git a/src/views/system/check-result/city/index.vue b/src/views/system/check-result/city/index.vue index 20982a9..781a138 100644 --- a/src/views/system/check-result/city/index.vue +++ b/src/views/system/check-result/city/index.vue @@ -94,8 +94,8 @@ <div class="text item">鑰冩牳棰戠巼<span class="time">{{ "瀛e害" }}</span></div> <div class="text item">鑰冩牳鏃堕棿 <span class="time">{{ item.checkTime }}</span> - <el-button size="small" round style="float: right;" @click="handlePublish(item)" v-show="item.publish != 1">纭鍙戝竷</el-button> - <el-button size="small" round style="float: right;" v-show="item.publish == 1" disabled="true">宸插彂甯�</el-button> + <el-button size="small" round style="float: right;" @click="handlePublish(item)" v-show="item.publish != 1" v-hasPermi="['result:city:publish']">纭鍙戝竷</el-button> + <el-button size="small" round style="float: right;" v-show="item.publish == 1" disabled="true" v-hasPermi="['result:city:publish']">宸插彂甯�</el-button> </div> </el-card> diff --git a/src/views/system/check-result/index.vue b/src/views/system/check-result/index.vue index 0817e2b..536bd3a 100644 --- a/src/views/system/check-result/index.vue +++ b/src/views/system/check-result/index.vue @@ -94,8 +94,8 @@ <div class="text item">鑰冩牳鍒嗘暟<span class="time">{{ item.checkScore }}</span></div> <div class="text item">鑰冩牳鏃堕棿 <span class="time">{{ item.checkTime }}</span> - <el-button size="small" round style="float: right;" @click="handlePublish(item)" v-show="item.publish != 1">纭鍙戝竷</el-button> - <el-button size="small" round style="float: right;" @click="handlePublish(item)" v-show="item.publish == 1">宸插彂甯�</el-button> + <el-button size="small" round style="float: right;" @click="handlePublish(item)" v-show="item.publish != 1" v-hasPermi="['result:contract:publish']">纭鍙戝竷</el-button> + <el-button size="small" round style="float: right;" @click="handlePublish(item)" v-show="item.publish == 1" v-hasPermi="['result:contract:publish']">宸插彂甯�</el-button> </div> </el-card> diff --git a/src/views/system/check-template/index.vue b/src/views/system/check-template/index.vue index 70c8f5c..52dc255 100644 --- a/src/views/system/check-template/index.vue +++ b/src/views/system/check-template/index.vue @@ -116,14 +116,15 @@ <el-input v-model="form.templateName" placeholder="璇疯緭鍏ユā鏉垮悕绉�" /> </el-form-item> <el-form-item label="鑰冩牳瀵硅薄" prop="unitName"> - <el-select v-model="form.unitName" placeholder="璇烽�夋嫨"> - <el-option - v-for="item in unitList" - :key="item.id" - :label="item.value" - :value="item.id"> - </el-option> - </el-select> + <div class="block"> + <span class="demonstration"></span> + <el-cascader + v-model="value" + :options="options" + :props = "props" + @change="handleChange"></el-cascader> + </div> + </el-form-item> <el-form-item label="鑰冩牳瑙勫垯" prop="tempRuleFormList"> <div class="row-warp"> @@ -193,6 +194,46 @@ name: "CheckTemplate", data() { return { + props: { multiple: true }, + value: [], + options: [{ + value: 'city', + label: '鍖哄幙', + children: [{ + value: 'fushun', + label: '瀵岄『鍘�', + }, { + value: 'rong', + label: '鑽e幙', + },{ + value: 'gaoxin', + label: '楂樻柊鍖�', + },{ + value: 'ziliujing', + label: '鑷祦浜曞尯', + },{ + value: 'gongjing', + label: '璐′簳鍖�', + },{ + value: 'daan', + label: '澶у畨鍖�', + },{ + value: 'yantan', + label: '娌挎哗鍖�', + }, + ] + }, { + value: 'company', + label: '鍏徃', + children: [{ + value: 'yunwei', + label: '鎴愰兘x杩愮淮', + }, { + value: 'yunwei2', + label: '鑷础x杩愮淮', + }, ] + }, + ], ruleList: [], unitList: [], // 涓存椂瑙勫垯琛ㄥ崟 @@ -250,6 +291,9 @@ this.selectUnit(); }, methods: { + handleChange(value) { + console.log(value); + }, removeRule(form) { console.log(form) this.ruleFormList = this.ruleFormList.filter(item => item !== form); diff --git a/src/views/system/data-manage/index.vue b/src/views/system/data-manage/index.vue index eef8562..f0228ea 100644 --- a/src/views/system/data-manage/index.vue +++ b/src/views/system/data-manage/index.vue @@ -3,13 +3,24 @@ <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> + <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-col :span="6" v-for="(item, index) in videoData" :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> + <br/> + <el-row type="flex" justify="center"> + <el-col :span="6" v-for="(item, index) in videoData2" :key="index"> + <el-link @click="handleDetail(item)" :style="item.name == '' ? 'display:none' : ''"> <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> @@ -22,7 +33,7 @@ <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> + <h3 style="color: rgb(104,104,103);padding-top: 20px;padding-bottom: 20px;">杞﹁締杩愯鐩戞帶</h3> </el-col> </el-row> @@ -36,7 +47,49 @@ </el-link> </el-col> </el-row> + <br/> + <el-row type="flex" justify="center"> + <el-col :span="6" v-for="(item, index) in carData2" :key="index"> + <el-link @click="handleDetail(item)" :style="item.name == '' ? 'display:none' : ''"> + <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" 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> + <br/> + <el-row type="flex" justify="center"> + <el-col :span="6" v-for="(item, index) in faceData2" :key="index"> + <el-link @click="handleDetail(item)" :style="item.name == '' ? 'display:none' : ''"> + <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> + <br/><br/><br/><br/> </div> </template> @@ -44,16 +97,53 @@ export default { 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' }, + videoData: [ + { name: '骞冲彴鍦ㄧ嚎', icon: 'el-icon-connection', description: '鎻忚堪淇℃伅', routerUrl: '/car/vehicle-data-monitor/index' }, + { name: '涓�鏈轰竴妗�', icon: 'el-icon-folder', description: '鎻忚堪淇℃伅', routerUrl: '/car/vehicle-data-monitor/index' }, + { name: '鐐逛綅鍦ㄧ嚎', icon: 'el-icon-search', description: '鎻忚堪淇℃伅', routerUrl: '/car/vehicle-data-monitor/index' }, + { name: '褰曞儚鍙敤', icon: 'el-icon-turn-off', description: '鎻忚堪淇℃伅', routerUrl: '/car/vehicle-data-monitor/index' }, + { name: '瑙嗛鏍囨敞', icon: 'el-icon-place', description: '鎻忚堪淇℃伅', routerUrl: '/car/vehicle-data-monitor/index' }, + { name: '閲嶇偣鎸囨尌鍥惧儚鍦ㄧ嚎鐜�', icon: 'el-icon-film', description: '鎻忚堪淇℃伅', routerUrl: '/car/vehicle-data-monitor/index' }, + ], + videoData2: [ + { name: '瑙嗛鍥惧儚璧勬簮瀹夊叏绠$悊', icon: 'el-icon-house', description: '鎻忚堪淇℃伅', routerUrl: '/car/vehicle-data-monitor/index' }, + { name: '瑙嗛鍥惧儚璐ㄩ噺', icon: 'el-icon-set-up', description: '鎻忚堪淇℃伅', routerUrl: '/car/vehicle-data-monitor/index' }, + { name: '', icon: 'el-icon-connection', description: '鎻忚堪淇℃伅', routerUrl: '/car/vehicle-data-monitor/index' }, + { name: '', icon: 'el-icon-connection', description: '鎻忚堪淇℃伅', routerUrl: '/car/vehicle-data-monitor/index' }, + { name: '', icon: 'el-icon-connection', description: '鎻忚堪淇℃伅', routerUrl: '/car/vehicle-data-monitor/index' }, + { name: '', icon: 'el-icon-connection', description: '鎻忚堪淇℃伅', routerUrl: '/car/vehicle-data-monitor/index' } ], carData: [ - { name: '鍗″彛杩囪溅鏁版嵁涓�鑷存��', icon: 'el-icon-truck', description: '鎻忚堪淇℃伅', routerUrl: '/car/vehicle-data-monitor/index' } + { name: '瑙嗗浘搴撳鎺ョǔ瀹氭��1', icon: 'el-icon-truck', description: '鎻忚堪淇℃伅', routerUrl: '/car/vehicle-data-monitor/index' }, + { name: '鐐逛綅鍦ㄧ嚎鐜�', icon: 'el-icon-truck', description: '鎻忚堪淇℃伅', routerUrl: '/car/vehicle-data-monitor/index' }, + { name: '鑱旂綉鍗″彛璁惧鐩綍涓�鑷寸巼', icon: 'el-icon-truck', description: '鎻忚堪淇℃伅', routerUrl: '/car/vehicle-data-monitor/index' }, + { name: '杞﹁締鍗″彛淇℃伅閲囬泦鍑嗙‘鐜�', icon: 'el-icon-truck', description: '鎻忚堪淇℃伅', routerUrl: '/car/vehicle-data-monitor/index' }, + { name: '杞﹁締鍗″彛璁惧鎶撴媿鏁版嵁瀹屾暣鎬�', icon: 'el-icon-truck', description: '鎻忚堪淇℃伅', routerUrl: '/car/vehicle-data-monitor/index' }, + { name: '杞﹁締鍗″彛璁惧鎶撴媿鏁版嵁鍑嗙‘鎬�', icon: 'el-icon-truck', description: '鎻忚堪淇℃伅', routerUrl: '/car/vehicle-data-monitor/index' } + ], + carData2: [ + { name: '杞﹁締鍗″彛璁惧鏃堕挓鍑嗙‘鎬�', icon: 'el-icon-truck', description: '鎻忚堪淇℃伅', routerUrl: '/car/vehicle-data-monitor/index' }, + { name: '杞﹁締鍗″彛璁惧鎶撴媿鏁版嵁涓婁紶鍙婃椂鎬�', icon: 'el-icon-truck', description: '鎻忚堪淇℃伅', routerUrl: '/car/vehicle-data-monitor/index' }, + { name: '杞﹁締鍗″彛璁惧url鍙敤鎬�0.5', icon: 'el-icon-truck', description: '鎻忚堪淇℃伅', routerUrl: '/car/vehicle-data-monitor/index' }, + { name: '杞﹁締鍗″彛璁惧鎶撴媿鏁版嵁澶у浘鍙敤鎬�', icon: 'el-icon-truck', description: '鎻忚堪淇℃伅', routerUrl: '/car/vehicle-data-monitor/index' }, + { name: '', icon: 'el-icon-truck', description: '鎻忚堪淇℃伅', routerUrl: '/car/vehicle-data-monitor/index' }, + { name: '', icon: 'el-icon-truck', description: '鎻忚堪淇℃伅', routerUrl: '/car/vehicle-data-monitor/index' } + ], + 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' }, + ], + faceData2: [ + { name: '鎶撴媿浜鸿劯鏁版嵁涓婁紶鍙婃椂鎬�', icon: 'el-icon-thumb', description: '鎻忚堪淇℃伅', routerUrl: '/car/vehicle-data-monitor/index' }, + { name: '浜鸿劯鍗″彛璁惧鎶撴媿鏁版嵁澶у浘鍙敤鎬�', icon: 'el-icon-pie-chart', 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' }, ] } }, diff --git a/src/views/system/report/index.vue b/src/views/system/report/index.vue index aff69e5..458bf4d 100644 --- a/src/views/system/report/index.vue +++ b/src/views/system/report/index.vue @@ -104,7 +104,7 @@ type="text" icon="el-icon-edit" @click="handleAuditing(scope.row)" - v-hasPermi="['system:report:auditing']" + v-hasPermi="['system:report:audit']" >瀹℃牳</el-button> <el-button size="mini" diff --git a/src/views/system/vehicle-data-monitor/index.vue b/src/views/system/vehicle-data-monitor/index.vue index 44cac60..75bddb3 100644 --- a/src/views/system/vehicle-data-monitor/index.vue +++ b/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 { diff --git a/src/views/system/work-order/index.vue b/src/views/system/work-order/index.vue index f04eb76..a40125e 100644 --- a/src/views/system/work-order/index.vue +++ b/src/views/system/work-order/index.vue @@ -107,15 +107,16 @@ type="text" @click="handleYwCondition(scope.row)" >杩愮淮鎯呭喌</el-button> - <el-button - size="mini" - type="text" - @click="handleYwResult(scope.row)" - >杩愮淮缁撴灉</el-button> +<!-- <el-button--> +<!-- size="mini"--> +<!-- type="text"--> +<!-- @click="handleYwResult(scope.row)"--> +<!-- >杩愮淮缁撴灉</el-button>--> <el-button size="mini" type="text" @click="handleCheckResult(scope.row)" + v-hasPermi="['work:order:result']" >妫�娴嬬粨鏋�</el-button> <el-button size="mini" @@ -281,7 +282,7 @@ </el-form> <div slot="footer" class="dialog-footer"> <el-button type="primary" @click="submitYwResult">纭� 瀹�</el-button> - <el-button @click="cancelYwResult">鍙� 娑�</el-button> + <el-button @click="cancelCheckResult">鍙� 娑�</el-button> </div> </el-dialog> -- Gitblit v1.8.0