Commit 75499b0131150ce3bb2833e037aa0efe9654aa4f
1 parent
95634eee
修改配置
Showing
7 changed files
with
166 additions
and
102 deletions
.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 "../../assets/bigview/image-icon-3.png"; | @@ -124,7 +125,7 @@ import icon4 from "../../assets/bigview/image-icon-3.png"; | ||
| 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 = () => { | @@ -356,25 +342,29 @@ const handleUpdateDataRequest = () => { | ||
| 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) => { | @@ -389,7 +379,7 @@ const handleGlobalInfo = (data, num) => { | ||
| 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) => { | @@ -398,7 +388,7 @@ const handleGlobalInfo = (data, num) => { | ||
| 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) => { | @@ -413,13 +403,13 @@ const handleGlobalInfo = (data, num) => { | ||
| 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) => { | @@ -433,14 +423,14 @@ const handleGlobalInfo = (data, num) => { | ||
| 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) => { | @@ -515,10 +505,10 @@ const handleGlobalInfo = (data, num) => { | ||
| 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) => { | @@ -548,7 +538,6 @@ const handleGlobalInfo = (data, num) => { | ||
| 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) => { | @@ -574,7 +563,7 @@ const handleGlobalInfo = (data, num) => { | ||
| 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) => { | @@ -582,6 +571,7 @@ const handleGlobalInfo = (data, num) => { | ||
| 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) => { | @@ -616,7 +606,6 @@ const handleGlobalInfo = (data, num) => { | ||
| 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) => { | @@ -634,7 +623,7 @@ const handleGlobalInfo = (data, num) => { | ||
| 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) => { | @@ -676,6 +665,7 @@ const handleGlobalInfo = (data, num) => { | ||
| 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) => { | @@ -765,8 +755,8 @@ const handleGlobalInfo = (data, num) => { | ||
| 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) => { | @@ -779,7 +769,7 @@ const handleGlobalInfo = (data, num) => { | ||
| 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> |