Commit 75499b0131150ce3bb2833e037aa0efe9654aa4f

Authored by guzijian
1 parent 95634eee

修改配置

.env.development
@@ -5,6 +5,6 @@ VITE_APP_TITLE = 酒精测试一体机管理系统 @@ -5,6 +5,6 @@ VITE_APP_TITLE = 酒精测试一体机管理系统
5 VITE_APP_ENV = 'development' 5 VITE_APP_ENV = 'development'
6 6
7 # 若依管理系统/开发环境 7 # 若依管理系统/开发环境
8 -VITE_APP_BASE_API = '/dev-api' 8 +# VITE_APP_BASE_API = '/dev-api'
9 9
10 -VITE_BIG_VIEW_URL = 'http://localhost:8081/' 10 +VITE_APP_BASE_API = http://101.95.136.202:8100
src/components/ConstForm/index.vue
1 <template> 1 <template>
2 <div v-loading="loading"> 2 <div v-loading="loading">
3 - <el-form :inline="true">  
4 - <el-form-item label="工号" width="50px">  
5 - <span>{{ info.jobCode }}</span>  
6 - </el-form-item>  
7 - <el-form-item label="姓名" width="50px">  
8 - <span>{{ info.name }}</span>  
9 - </el-form-item>  
10 - <el-form-item label="路牌" width="50px">  
11 - <span>{{ info.lpName }}</span>  
12 - </el-form-item>  
13 - <el-form-item label="车队" width="50px">  
14 - <span>{{ info.fleetName }}</span>  
15 - </el-form-item>  
16 - </el-form>  
17 - <span type="primary" style="text-align: center;" class="mx-1" size="large">打卡详情</span> 3 + <div class="person-info">
  4 + <div class="font-box">
  5 + <span class="label">
  6 + 工号:
  7 + </span>
  8 + <div class="content-box">
  9 + <span class="content-text"> {{ info.jobCode }}</span>
  10 + </div>
  11 + </div>
  12 + <div class="font-box">
  13 + <span class="label">
  14 + 工号:
  15 + </span>
  16 + <div class="content-box">
  17 + <span class="content-text"> {{ info.jobCode }}</span>
  18 + </div>
  19 + </div>
  20 +
  21 + <div class="font-box">
  22 + <span class="label">
  23 + 工号:
  24 + </span>
  25 + <div class="content-box">
  26 + <span class="content-text"> {{ info.jobCode }}</span>
  27 + </div>
  28 + </div>
  29 +
  30 + <div class="font-box">
  31 + <span class="label">
  32 + 工号:
  33 + </span>
  34 + <div class="content-box">
  35 + <span class="content-text"> {{ info.jobCode }}</span>
  36 + </div>
  37 + </div>
  38 + </div>
  39 + <div style="display: flex;align-items: center;margin-bottom: 7px; color: #0CFCFC; font-size: 13px; margin-top: 15px;">
  40 + 打卡详情</div>
18 <el-table :data="tableData" style="width: 100%;background-color: aliceblue;"> 41 <el-table :data="tableData" style="width: 100%;background-color: aliceblue;">
19 <el-table-column prop="date" label="打卡时间" width="120" /> 42 <el-table-column prop="date" label="打卡时间" width="120" />
20 <el-table-column prop="address" label="打卡地点" /> 43 <el-table-column prop="address" label="打卡地点" />
@@ -24,6 +47,7 @@ @@ -24,6 +47,7 @@
24 </template> 47 </template>
25 48
26 <script setup> 49 <script setup>
  50 +
27 const loading = ref(false); 51 const loading = ref(false);
28 const props = defineProps({ 52 const props = defineProps({
29 // 请求参数 53 // 请求参数
@@ -98,3 +122,42 @@ watch( @@ -98,3 +122,42 @@ watch(
98 } 122 }
99 ) 123 )
100 </script> 124 </script>
  125 +<style scoped lang="scss">
  126 +.person-info {
  127 + width: 300px;
  128 + display: flex;
  129 + flex-wrap: wrap;
  130 + justify-content: space-between;
  131 +
  132 + .font-box {
  133 + width: 50%;
  134 + box-sizing: border-box;
  135 + margin-top: 4px;
  136 + font-size: 13px;
  137 + display: flex;
  138 + align-items: center;
  139 +
  140 + .label {
  141 + color: #0CFCFC;
  142 + font-family: "黑体", "圆体";
  143 + font-weight: 500;
  144 + width: 39px;
  145 + }
  146 +
  147 + .content-box {
  148 + color: white;
  149 + width: 80px;
  150 + box-sizing: border-box;
  151 + padding: 2px;
  152 + text-align: center;
  153 + background-color: #03113F;
  154 +
  155 + .content-text {
  156 + display: flex;
  157 + justify-content: center;
  158 + align-items: center;
  159 + }
  160 + }
  161 + }
  162 +}
  163 +</style>
src/components/Screenfull/index.vue
1 <template> 1 <template>
2 <div> 2 <div>
3 - <svg-icon :icon-class="isFullscreen ? 'exit-fullscreen' : 'fullscreen'" @click="toggle" /> 3 + <svg-icon :icon-class="isFullscreen ? 'exit-fullscreen' : 'fullscreen'" @click="jumpBigView" />
4 </div> 4 </div>
5 </template> 5 </template>
6 6
7 <script setup> 7 <script setup>
8 -import { useFullscreen } from '@vueuse/core' 8 +import { useFullscreen } from '@vueuse/core';
9 9
  10 +import { useRouter } from "vue-router";
  11 +const router = useRouter();
  12 +const jumpBigView = () => {
  13 + router.push({
  14 + path: '/home/index',
  15 + })
  16 +}
10 const { isFullscreen, enter, exit, toggle } = useFullscreen(); 17 const { isFullscreen, enter, exit, toggle } = useFullscreen();
  18 +
  19 +// 可视化全屏
  20 +
11 </script> 21 </script>
12 22
13 <style lang='scss' scoped> 23 <style lang='scss' scoped>
@@ -19,4 +29,4 @@ const { isFullscreen, enter, exit, toggle } = useFullscreen(); @@ -19,4 +29,4 @@ const { isFullscreen, enter, exit, toggle } = useFullscreen();
19 height: 20px; 29 height: 20px;
20 vertical-align: 10px; 30 vertical-align: 10px;
21 } 31 }
22 -</style>  
23 \ No newline at end of file 32 \ No newline at end of file
  33 +</style>
src/layout/components/AppMain.vue
@@ -3,7 +3,7 @@ @@ -3,7 +3,7 @@
3 <router-view v-slot="{ Component, route }"> 3 <router-view v-slot="{ Component, route }">
4 <transition name="fade-transform" mode="out-in"> 4 <transition name="fade-transform" mode="out-in">
5 <keep-alive :include="tagsViewStore.cachedViews"> 5 <keep-alive :include="tagsViewStore.cachedViews">
6 - <component v-if="!route.meta.link" :is="Component" :key="route.path"/> 6 + <component v-if="!route.meta.link" :is="Component" :key="route.path" />
7 </keep-alive> 7 </keep-alive>
8 </transition> 8 </transition>
9 </router-view> 9 </router-view>
@@ -12,8 +12,8 @@ @@ -12,8 +12,8 @@
12 </template> 12 </template>
13 13
14 <script setup> 14 <script setup>
15 -import iframeToggle from "./IframeToggle/index"  
16 -import useTagsViewStore from '@/store/modules/tagsView' 15 +import useTagsViewStore from '@/store/modules/tagsView';
  16 +import iframeToggle from "./IframeToggle/index";
17 17
18 const tagsViewStore = useTagsViewStore() 18 const tagsViewStore = useTagsViewStore()
19 </script> 19 </script>
@@ -27,7 +27,7 @@ const tagsViewStore = useTagsViewStore() @@ -27,7 +27,7 @@ const tagsViewStore = useTagsViewStore()
27 overflow: hidden; 27 overflow: hidden;
28 } 28 }
29 29
30 -.fixed-header + .app-main { 30 +.fixed-header+.app-main {
31 padding-top: 50px; 31 padding-top: 50px;
32 } 32 }
33 33
@@ -35,9 +35,10 @@ const tagsViewStore = useTagsViewStore() @@ -35,9 +35,10 @@ const tagsViewStore = useTagsViewStore()
35 .app-main { 35 .app-main {
36 /* 84 = navbar + tags-view = 50 + 34 */ 36 /* 84 = navbar + tags-view = 50 + 34 */
37 min-height: calc(100vh - 84px); 37 min-height: calc(100vh - 84px);
  38 + height: calc(100vh - 84px);
38 } 39 }
39 40
40 - .fixed-header + .app-main { 41 + .fixed-header+.app-main {
41 padding-top: 84px; 42 padding-top: 84px;
42 } 43 }
43 } 44 }
@@ -65,4 +66,3 @@ const tagsViewStore = useTagsViewStore() @@ -65,4 +66,3 @@ const tagsViewStore = useTagsViewStore()
65 border-radius: 3px; 66 border-radius: 3px;
66 } 67 }
67 </style> 68 </style>
68 -  
src/layout/components/Navbar.vue
@@ -17,7 +17,9 @@ @@ -17,7 +17,9 @@
17 <ruo-yi-doc id="ruoyi-doc" class="right-menu-item hover-effect" /> 17 <ruo-yi-doc id="ruoyi-doc" class="right-menu-item hover-effect" />
18 </el-tooltip> 18 </el-tooltip>
19 19
20 - <screenfull id="screenfull" class="right-menu-item hover-effect" /> 20 + <el-tooltip content="可视化全屏" effect="dark" placement="bottom">
  21 + <screenfull id="screenfull" class="right-menu-item hover-effect" />
  22 + </el-tooltip>
21 23
22 <el-tooltip content="布局大小" effect="dark" placement="bottom"> 24 <el-tooltip content="布局大小" effect="dark" placement="bottom">
23 <size-select id="size-select" class="right-menu-item hover-effect" /> 25 <size-select id="size-select" class="right-menu-item hover-effect" />
src/views/driver/driver/index.vue
@@ -48,8 +48,7 @@ @@ -48,8 +48,7 @@
48 <el-table-column type="selection" width="55" align="center" /> 48 <el-table-column type="selection" width="55" align="center" />
49 <el-table-column label="工号" align="center" prop="jobCode" /> 49 <el-table-column label="工号" align="center" prop="jobCode" />
50 <el-table-column label="姓名" align="center" prop="personnelName" /> 50 <el-table-column label="姓名" align="center" prop="personnelName" />
51 -  
52 - 51 + <el-table-column label="部门" align="center" prop="fleetName" />
53 <el-table-column label="人脸注册" align="center" prop="faceSignIn" width="130"> 52 <el-table-column label="人脸注册" align="center" prop="faceSignIn" width="130">
54 <template #default="scope"> 53 <template #default="scope">
55 <dict-tag :options="face_sign_in" :value="scope.row.faceSignIn" /> 54 <dict-tag :options="face_sign_in" :value="scope.row.faceSignIn" />
@@ -91,8 +90,8 @@ @@ -91,8 +90,8 @@
91 <el-form-item label="所属岗位/工种" prop="posts"> 90 <el-form-item label="所属岗位/工种" prop="posts">
92 <el-input v-model="form.posts" placeholder="请输入所属岗位/工种" /> 91 <el-input v-model="form.posts" placeholder="请输入所属岗位/工种" />
93 </el-form-item> 92 </el-form-item>
94 - <el-form-item label="身份证" prop="card">  
95 - <el-input v-model="form.card" placeholder="请输入身份证" /> 93 + <el-form-item label="部门" prop="fleetName">
  94 + <el-input v-model="form.fleetName" placeholder="部门" />
96 </el-form-item> 95 </el-form-item>
97 <el-form-item label="人脸注册" prop="faceSignIn"> 96 <el-form-item label="人脸注册" prop="faceSignIn">
98 <el-radio-group v-model="form.faceSignIn"> 97 <el-radio-group v-model="form.faceSignIn">
@@ -119,11 +118,11 @@ @@ -119,11 +118,11 @@
119 118
120 <script setup name="Driver"> 119 <script setup name="Driver">
121 import { 120 import {
122 -addDriver,  
123 -delDriver,  
124 -getDriver,  
125 -listDriver,  
126 -updateDriver, 121 + addDriver,
  122 + delDriver,
  123 + getDriver,
  124 + listDriver,
  125 + updateDriver,
127 } from "@/api/driver/driver"; 126 } from "@/api/driver/driver";
128 127
129 const { proxy } = getCurrentInstance(); 128 const { proxy } = getCurrentInstance();
src/views/home/index.vue
1 <template> 1 <template>
2 <div class="app-container"> 2 <div class="app-container">
3 <!-- 可视化大屏 --> 3 <!-- 可视化大屏 -->
4 - <div class="box-view"> 4 + <div class="box-view" v-loading="loading">
5 <!-- 标题 --> 5 <!-- 标题 -->
6 <div class="big-view-container-title"> 6 <div class="big-view-container-title">
7 <div class="big-view-container-time"> 7 <div class="big-view-container-time">
@@ -59,15 +59,16 @@ @@ -59,15 +59,16 @@
59 <!-- 内容盒子 --> 59 <!-- 内容盒子 -->
60 <div class="fleet-content-box"> 60 <div class="fleet-content-box">
61 <!-- 线路信息 --> 61 <!-- 线路信息 -->
62 - <div v-for="(childItem, childIndex) in item.fleetInfos" :key="childIndex" class="fleet-line-info-container"> 62 + <div v-for="(childItem, childIndex) in item.fleetInfos" :key="childItem.lineName"
  63 + class="fleet-line-info-container">
63 <div class="fleet-line-title"> 64 <div class="fleet-line-title">
64 {{ childItem.lineName }} 65 {{ childItem.lineName }}
65 </div> 66 </div>
66 <div ref="fleetNbbmInfoContainer" class="fleet-nbbm-info-container"> 67 <div ref="fleetNbbmInfoContainer" class="fleet-nbbm-info-container">
67 - <div v-for="(sunItem, sunIndex) in childItem.lineInfos" :key="sunIndex" class="fleet-nbbm-info-item">  
68 - <div v-if="childItem.saleInfoVo" class="fleet-nbbm-info-have-sale"> 68 + <div v-for="(sunItem, sunIndex) in childItem.lineInfos" :key="sunItem.nbbm" class="fleet-nbbm-info-item">
  69 + <div v-if="sunItem.saleInfoVo != null" class="fleet-nbbm-info-have-sale">
69 <el-popover popper-class="fleet-popover-style" placement="top" :title="childItem.lineName" 70 <el-popover popper-class="fleet-popover-style" placement="top" :title="childItem.lineName"
70 - :width="350" :show-after="300" @after-enter="alterEnterHandler(sunItem.driverInfoVo.jobCode)"> 71 + :width="300" :show-after="300" @after-enter="alterEnterHandler(sunItem.driverInfoVo.jobCode)">
71 <ConstForm :showFlag="personSignInfo.jobCode == sunItem.driverInfoVo.jobCode" 72 <ConstForm :showFlag="personSignInfo.jobCode == sunItem.driverInfoVo.jobCode"
72 :jobCode="sunItem.driverInfoVo.jobCode" /> 73 :jobCode="sunItem.driverInfoVo.jobCode" />
73 <template #reference> 74 <template #reference>
@@ -79,7 +80,7 @@ @@ -79,7 +80,7 @@
79 <span class="fleet-nbbm-have-sale-txt">{{ sunItem.nbbm }}</span> 80 <span class="fleet-nbbm-have-sale-txt">{{ sunItem.nbbm }}</span>
80 </div> 81 </div>
81 <el-popover popper-class="fleet-popover-style" placement="top" :title="childItem.lineName" 82 <el-popover popper-class="fleet-popover-style" placement="top" :title="childItem.lineName"
82 - :width="350" :show-after="300" @after-enter="alterEnterHandler(sunItem.saleInfoVo.jobCode)"> 83 + :width="300" :show-after="300" @after-enter="alterEnterHandler(sunItem.saleInfoVo.jobCode)">
83 <ConstForm :showFlag="personSignInfo.jobCode == sunItem.saleInfoVo.jobCode" 84 <ConstForm :showFlag="personSignInfo.jobCode == sunItem.saleInfoVo.jobCode"
84 :jobCode="sunItem.saleInfoVo.jobCode" /> 85 :jobCode="sunItem.saleInfoVo.jobCode" />
85 <template #reference> 86 <template #reference>
@@ -89,7 +90,7 @@ @@ -89,7 +90,7 @@
89 </el-popover> 90 </el-popover>
90 </div> 91 </div>
91 <el-popover v-else :show-after="300" @after-enter="alterEnterHandler(sunItem.driverInfoVo.jobCode)" 92 <el-popover v-else :show-after="300" @after-enter="alterEnterHandler(sunItem.driverInfoVo.jobCode)"
92 - placement="top" :title="childItem.lineName" popper-class="fleet-popover-style" :width="350"> 93 + placement="top" :title="childItem.lineName" popper-class="fleet-popover-style" :width="300">
93 <ConstForm :showFlag="personSignInfo.jobCode == sunItem.driverInfoVo.jobCode" 94 <ConstForm :showFlag="personSignInfo.jobCode == sunItem.driverInfoVo.jobCode"
94 :jobCode="sunItem.driverInfoVo.jobCode" /> 95 :jobCode="sunItem.driverInfoVo.jobCode" />
95 <template #reference> 96 <template #reference>
@@ -124,7 +125,7 @@ import icon4 from &quot;../../assets/bigview/image-icon-3.png&quot;; @@ -124,7 +125,7 @@ import icon4 from &quot;../../assets/bigview/image-icon-3.png&quot;;
124 import icon5 from "../../assets/bigview/image-icon-4.png"; 125 import icon5 from "../../assets/bigview/image-icon-4.png";
125 import icon6 from "../../assets/bigview/image-icon-5.png"; 126 import icon6 from "../../assets/bigview/image-icon-5.png";
126 import icon1 from "../../assets/bigview/image-icon-6.png"; 127 import icon1 from "../../assets/bigview/image-icon-6.png";
127 - 128 +const loading = ref(true);
128 /** 签到信息 */ 129 /** 签到信息 */
129 const personSignInfo = reactive( 130 const personSignInfo = reactive(
130 { 131 {
@@ -158,37 +159,37 @@ const globalInfoBoxList = reactive( @@ -158,37 +159,37 @@ const globalInfoBoxList = reactive(
158 title: "设备数", 159 title: "设备数",
159 icon: icon1, 160 icon: icon1,
160 startNumber: 0, 161 startNumber: 0,
161 - endNumber: 562 162 + endNumber: 0
162 }, 163 },
163 { 164 {
164 title: "线路数", 165 title: "线路数",
165 icon: icon2, 166 icon: icon2,
166 startNumber: 0, 167 startNumber: 0,
167 - endNumber: 562 168 + endNumber: 0
168 }, 169 },
169 { 170 {
170 title: "车辆数", 171 title: "车辆数",
171 icon: icon3, 172 icon: icon3,
172 startNumber: 0, 173 startNumber: 0,
173 - endNumber: 562 174 + endNumber: 0
174 }, 175 },
175 { 176 {
176 title: "售票员签到", 177 title: "售票员签到",
177 icon: icon4, 178 icon: icon4,
178 startNumber: 0, 179 startNumber: 0,
179 - endNumber: 562 180 + endNumber: 0
180 }, 181 },
181 { 182 {
182 title: "驾驶员签到", 183 title: "驾驶员签到",
183 icon: icon5, 184 icon: icon5,
184 startNumber: 0, 185 startNumber: 0,
185 - endNumber: 562 186 + endNumber: 0
186 }, 187 },
187 { 188 {
188 title: "辅助人员签到", 189 title: "辅助人员签到",
189 icon: icon6, 190 icon: icon6,
190 startNumber: 0, 191 startNumber: 0,
191 - endNumber: 562 192 + endNumber: 0
192 }, 193 },
193 ] 194 ]
194 ) 195 )
@@ -219,15 +220,15 @@ const fleetInfoList = ref( @@ -219,15 +220,15 @@ const fleetInfoList = ref(
219 [ 220 [
220 { 221 {
221 title: "一车队", 222 title: "一车队",
222 - lineInfos: [] 223 + fleetInfos: []
223 }, 224 },
224 { 225 {
225 title: "二车队", 226 title: "二车队",
226 - lineInfos: [] 227 + fleetInfos: []
227 }, 228 },
228 { 229 {
229 title: "三车队", 230 title: "三车队",
230 - lineInfos: [] 231 + fleetInfos: []
231 } 232 }
232 ] 233 ]
233 ) 234 )
@@ -237,21 +238,6 @@ const fleetNbbmInfoContainer = ref(null); @@ -237,21 +238,6 @@ const fleetNbbmInfoContainer = ref(null);
237 const scrollNumber = ref(null); 238 const scrollNumber = ref(null);
238 // 计算宽度初始化数据 239 // 计算宽度初始化数据
239 onMounted(() => { 240 onMounted(() => {
240 -  
241 - // // TODO  
242 - // setInterval(() => {  
243 - // for (let index = 0; index < fleetInfoList.value.length; index++) {  
244 - // const element = fleetInfoList.value[index].lineInfos;  
245 - // for (let childrenIndex = 0; childrenIndex < element.length; childrenIndex++) {  
246 - // const childrenElement = element[childrenIndex].lineInfo;  
247 - // for (let sunIndex = 0; sunIndex < childrenElement.length; sunIndex++) {  
248 - // const sunItem = childrenElement[sunIndex];  
249 - // sunItem.driverSignStatus = Math.floor(Math.random() * 4);  
250 - // }  
251 - // }  
252 - // }  
253 - // }, 5000);  
254 - // TODO  
255 handleUpdateDataRequest(); 241 handleUpdateDataRequest();
256 timeTask.titleNowDateTimer = startUpdateNowDateTimerTaskScheduler(); 242 timeTask.titleNowDateTimer = startUpdateNowDateTimerTaskScheduler();
257 timeTask.updateDateSchedulerTimer = startUpdateDataTaskScheduler(); 243 timeTask.updateDateSchedulerTimer = startUpdateDataTaskScheduler();
@@ -356,25 +342,29 @@ const handleUpdateDataRequest = () =&gt; { @@ -356,25 +342,29 @@ const handleUpdateDataRequest = () =&gt; {
356 fleetInfoList.value = res.data 342 fleetInfoList.value = res.data
357 nextTick(() => { 343 nextTick(() => {
358 const containerElement = fleetNbbmInfoContainer.value; 344 const containerElement = fleetNbbmInfoContainer.value;
359 - console.log(containerElement);  
360 - containerElement.forEach((el) => {  
361 - const nbbmHaveSaleInfo = el.firstElementChild.firstElementChild;  
362 - if ("fleet-nbbm-info-have-sale" == nbbmHaveSaleInfo.className) {  
363 - const textWidth = nbbmHaveSaleInfo.children[1].firstElementChild.offsetWidth;  
364 - // 有售票员  
365 - for (let index = 0; index < el.children.length; index++) {  
366 - const element = el.children[index];  
367 - element.style.width = `${textWidth}px`;  
368 - }  
369 - // 无售票员  
370 - } else {  
371 - const textWidth = nbbmHaveSaleInfo.firstElementChild.offsetWidth;  
372 - for (let index = 0; index < el.children.length; index++) {  
373 - const element = el.children[index];  
374 - element.style.width = `${textWidth}px`; 345 + if (containerElement != null) {
  346 + containerElement.forEach((el) => {
  347 + const nbbmHaveSaleInfo = el.firstElementChild.firstElementChild;
  348 + if ("fleet-nbbm-info-have-sale" == nbbmHaveSaleInfo.className) {
  349 + const textWidth = nbbmHaveSaleInfo.children[1].firstElementChild.offsetWidth;
  350 + // 有售票员
  351 + for (let index = 0; index < el.children.length; index++) {
  352 + const element = el.children[index];
  353 + element.style.width = `${textWidth}px`;
  354 + }
  355 + // 无售票员
  356 + } else {
  357 + const textWidth = nbbmHaveSaleInfo.firstElementChild.offsetWidth;
  358 + for (let index = 0; index < el.children.length; index++) {
  359 + const element = el.children[index];
  360 + element.style.width = `${textWidth}px`;
  361 + }
375 } 362 }
376 - }  
377 - }) 363 + })
  364 + loading.value = false;
  365 + } else {
  366 + loading.value = false;
  367 + }
378 }) 368 })
379 }) 369 })
380 } 370 }
@@ -389,7 +379,7 @@ const handleGlobalInfo = (data, num) =&gt; { @@ -389,7 +379,7 @@ const handleGlobalInfo = (data, num) =&gt; {
389 // 可视化大屏 379 // 可视化大屏
390 .app-container { 380 .app-container {
391 width: 100%; 381 width: 100%;
392 - height: 91vh; 382 + height: 100%;
393 background-color: #081138; 383 background-color: #081138;
394 padding: 0 !important; 384 padding: 0 !important;
395 box-sizing: border-box; 385 box-sizing: border-box;
@@ -398,7 +388,7 @@ const handleGlobalInfo = (data, num) =&gt; { @@ -398,7 +388,7 @@ const handleGlobalInfo = (data, num) =&gt; {
398 // min-width: 1600px; 388 // min-width: 1600px;
399 .box-view { 389 .box-view {
400 width: 100%; 390 width: 100%;
401 - height: 91vh; 391 + height: 100%;
402 // 整体蓝色背景 392 // 整体蓝色背景
403 background-image: url("@/assets/bigview/back.png"); 393 background-image: url("@/assets/bigview/back.png");
404 background-size: cover; 394 background-size: cover;
@@ -413,13 +403,13 @@ const handleGlobalInfo = (data, num) =&gt; { @@ -413,13 +403,13 @@ const handleGlobalInfo = (data, num) =&gt; {
413 // min-width: 1600px; 403 // min-width: 1600px;
414 404
415 .common-style { 405 .common-style {
416 - padding-top: clamp(0.7rem, 0.489rem + 1.05vw, 1.2rem); 406 + padding-top: clamp(1rem, -1.5rem + 2.5vh, 2rem);
417 box-sizing: border-box; 407 box-sizing: border-box;
418 } 408 }
419 409
420 // 标题 410 // 标题
421 .big-view-container-title { 411 .big-view-container-title {
422 - height: 6.5vh; 412 + height: 7%;
423 width: 100%; 413 width: 100%;
424 font-size: clamp(0.7rem, 0.489rem + 1.05vw, 1.2rem); 414 font-size: clamp(0.7rem, 0.489rem + 1.05vw, 1.2rem);
425 display: flex; 415 display: flex;
@@ -433,14 +423,14 @@ const handleGlobalInfo = (data, num) =&gt; { @@ -433,14 +423,14 @@ const handleGlobalInfo = (data, num) =&gt; {
433 display: flex; 423 display: flex;
434 align-items: center; 424 align-items: center;
435 justify-content: flex-end; 425 justify-content: flex-end;
436 - margin-top: 4vh; 426 + margin-top: 3%;
437 box-sizing: border-box; 427 box-sizing: border-box;
438 } 428 }
439 } 429 }
440 430
441 // 全局信息 431 // 全局信息
442 .big-view-container-global-info { 432 .big-view-container-global-info {
443 - height: 11vh; 433 + height: 11%;
444 width: 100%; 434 width: 100%;
445 font-size: clamp(0.3rem, -2.531rem + 19.69vw, 1.1rem); 435 font-size: clamp(0.3rem, -2.531rem + 19.69vw, 1.1rem);
446 display: flex; 436 display: flex;
@@ -515,10 +505,10 @@ const handleGlobalInfo = (data, num) =&gt; { @@ -515,10 +505,10 @@ const handleGlobalInfo = (data, num) =&gt; {
515 505
516 // 提示信息 506 // 提示信息
517 .big-view-container-prompt-info { 507 .big-view-container-prompt-info {
518 - font-size: clamp(0.5rem, -2.5rem + 30vw, 1.1rem); 508 + font-size: 1vw;
519 box-sizing: border-box; 509 box-sizing: border-box;
520 width: 100%; 510 width: 100%;
521 - height: 4.5vh; 511 + height: 4.5%;
522 display: flex; 512 display: flex;
523 align-items: center; 513 align-items: center;
524 514
@@ -548,7 +538,6 @@ const handleGlobalInfo = (data, num) =&gt; { @@ -548,7 +538,6 @@ const handleGlobalInfo = (data, num) =&gt; {
548 align-items: center; 538 align-items: center;
549 539
550 .label-txt { 540 .label-txt {
551 -  
552 white-space: nowrap; 541 white-space: nowrap;
553 } 542 }
554 } 543 }
@@ -574,7 +563,7 @@ const handleGlobalInfo = (data, num) =&gt; { @@ -574,7 +563,7 @@ const handleGlobalInfo = (data, num) =&gt; {
574 // 主要内容 563 // 主要内容
575 .big-view-container-main-content { 564 .big-view-container-main-content {
576 width: 100%; 565 width: 100%;
577 - height: calc(69vh - clamp(0.7rem, 0.489rem + 1.05vw, 1.2rem) * 3); 566 + height: calc(85% - clamp(0.7rem, 0.489rem + 1.05vw, 1.2rem) * 3);
578 display: flex; 567 display: flex;
579 font-size: clamp(0.6rem, -0.907rem + 5.71vw, 1.2rem); 568 font-size: clamp(0.6rem, -0.907rem + 5.71vw, 1.2rem);
580 569
@@ -582,6 +571,7 @@ const handleGlobalInfo = (data, num) =&gt; { @@ -582,6 +571,7 @@ const handleGlobalInfo = (data, num) =&gt; {
582 .fleet-common-style { 571 .fleet-common-style {
583 flex-grow: 1; 572 flex-grow: 1;
584 width: 33.3%; 573 width: 33.3%;
  574 + height: 100%;
585 background-image: url("@/assets/bigview/bottom-box.png"); 575 background-image: url("@/assets/bigview/bottom-box.png");
586 margin-right: clamp(0.7rem, 0.489rem + 1.05vw, 1.2rem); 576 margin-right: clamp(0.7rem, 0.489rem + 1.05vw, 1.2rem);
587 background-size: 100% 100%; 577 background-size: 100% 100%;
@@ -616,7 +606,6 @@ const handleGlobalInfo = (data, num) =&gt; { @@ -616,7 +606,6 @@ const handleGlobalInfo = (data, num) =&gt; {
616 overflow-y: scroll; 606 overflow-y: scroll;
617 overflow-x: hidden; 607 overflow-x: hidden;
618 608
619 -  
620 // 线路信息 609 // 线路信息
621 .fleet-line-info-container { 610 .fleet-line-info-container {
622 width: 100%; 611 width: 100%;
@@ -634,7 +623,7 @@ const handleGlobalInfo = (data, num) =&gt; { @@ -634,7 +623,7 @@ const handleGlobalInfo = (data, num) =&gt; {
634 box-sizing: border-box; 623 box-sizing: border-box;
635 display: flex; 624 display: flex;
636 flex-wrap: wrap; 625 flex-wrap: wrap;
637 - font-size: clamp(0.7rem, -0.8rem + 24vw, 1rem); 626 + font-size: 0.8vw;
638 627
639 .fleet-nbbm-info-item { 628 .fleet-nbbm-info-item {
640 // width: 6vw; 629 // width: 6vw;
@@ -676,6 +665,7 @@ const handleGlobalInfo = (data, num) =&gt; { @@ -676,6 +665,7 @@ const handleGlobalInfo = (data, num) =&gt; {
676 width: auto; 665 width: auto;
677 /* 防止文字换行 */ 666 /* 防止文字换行 */
678 white-space: nowrap; 667 white-space: nowrap;
  668 +
679 padding-left: 0.5vw; 669 padding-left: 0.5vw;
680 padding-right: 0.5vw; 670 padding-right: 0.5vw;
681 /** 防止元素遮挡 */ 671 /** 防止元素遮挡 */
@@ -765,8 +755,8 @@ const handleGlobalInfo = (data, num) =&gt; { @@ -765,8 +755,8 @@ const handleGlobalInfo = (data, num) =&gt; {
765 } 755 }
766 756
767 .el-popover.fleet-popover-style { 757 .el-popover.fleet-popover-style {
768 - border-color: #146ebd;  
769 - background-color: #05417585; 758 + border-color: #146EBD;
  759 + background-color: #062a5ac5;
770 /* background: 760 /* background:
771 -webkit-linear-gradient(top, transparent 14px, blue 15px), 761 -webkit-linear-gradient(top, transparent 14px, blue 15px),
772 -webkit-linear-gradient(left, transparent 14px, blue 15px); 762 -webkit-linear-gradient(left, transparent 14px, blue 15px);
@@ -779,7 +769,7 @@ const handleGlobalInfo = (data, num) =&gt; { @@ -779,7 +769,7 @@ const handleGlobalInfo = (data, num) =&gt; {
779 } 769 }
780 770
781 .el-popper[data-popper-placement^=top]>.el-popper__arrow::before { 771 .el-popper[data-popper-placement^=top]>.el-popper__arrow::before {
782 - border-top-color: #001bea21 !important;  
783 - background-color: #001bea21 !important; 772 + border-top-color: #062B5A !important;
  773 + background-color: #062B5A !important;
784 } 774 }
785 </style> 775 </style>