Commit 590074cc74e96f723cd64dcd647af010f8e6af40
1 parent
5768c200
feat: 修改布局
Showing
22 changed files
with
184 additions
and
114 deletions
.env.development
.env.production
.env.staging
index.html
| ... | ... | @@ -9,7 +9,7 @@ |
| 9 | 9 | content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" |
| 10 | 10 | /> |
| 11 | 11 | <link rel="icon" href="public/favicon.ico" /> |
| 12 | - <title>酒精测试一体机管理系统</title> | |
| 12 | + <title>青浦巴士岗前检测系统</title> | |
| 13 | 13 | <!--[if lt IE 11 |
| 14 | 14 | ]><script> |
| 15 | 15 | window.location.href = "/html/ie.html"; | ... | ... |
package.json
src/api/big_view/big_view.js
| 1 | 1 | import request from '@/utils/request' |
| 2 | 2 | |
| 3 | -export function querySignInfoByType(type) { | |
| 3 | +export function querySignInfoByType(query) { | |
| 4 | 4 | return request({ |
| 5 | - url: `/big/view/queryNumberByType/${type}`, | |
| 6 | - method: 'GET' | |
| 5 | + url: `/big/view/queryNumberByType`, | |
| 6 | + method: 'GET', | |
| 7 | + params:query | |
| 7 | 8 | }) |
| 8 | 9 | } |
| 9 | 10 | |
| 10 | -export function queryLineInfo() { | |
| 11 | +export function queryLineInfo(dateKey) { | |
| 11 | 12 | return request({ |
| 12 | - url: `/big/view/queryLineInfo`, | |
| 13 | + url: `/big/view/queryLineInfo/${dateKey}`, | |
| 13 | 14 | method: 'GET' |
| 14 | 15 | }) |
| 15 | 16 | } |
| 17 | + | |
| 18 | +export function querySignDetails(query) { | |
| 19 | + return request({ | |
| 20 | + url: "/big/view/querySignDetails", | |
| 21 | + method: 'GET', | |
| 22 | + params: query | |
| 23 | + }) | |
| 24 | +} | ... | ... |
src/components/ConstForm/index.vue
| 1 | 1 | <template> |
| 2 | - <div v-loading="loading"> | |
| 2 | + <div v-loading="loading" element-loading-text="加载详情..." element-loading-svg-view-box="-10, -10, 50, 50" | |
| 3 | + element-loading-background="#062a5ac5"> | |
| 3 | 4 | <div class="person-info"> |
| 4 | 5 | <div class="font-box"> |
| 5 | 6 | <span class="label"> |
| ... | ... | @@ -11,43 +12,45 @@ |
| 11 | 12 | </div> |
| 12 | 13 | <div class="font-box"> |
| 13 | 14 | <span class="label"> |
| 14 | - 工号: | |
| 15 | + 姓名: | |
| 15 | 16 | </span> |
| 16 | 17 | <div class="content-box"> |
| 17 | - <span class="content-text"> {{ info.jobCode }}</span> | |
| 18 | + <span class="content-text"> {{ info.name }}</span> | |
| 18 | 19 | </div> |
| 19 | 20 | </div> |
| 20 | - | |
| 21 | 21 | <div class="font-box"> |
| 22 | 22 | <span class="label"> |
| 23 | - 工号: | |
| 23 | + 路牌: | |
| 24 | 24 | </span> |
| 25 | 25 | <div class="content-box"> |
| 26 | - <span class="content-text"> {{ info.jobCode }}</span> | |
| 26 | + <span class="content-text"> {{ info.lpName }}</span> | |
| 27 | 27 | </div> |
| 28 | 28 | </div> |
| 29 | - | |
| 30 | 29 | <div class="font-box"> |
| 31 | 30 | <span class="label"> |
| 32 | - 工号: | |
| 31 | + 车队: | |
| 33 | 32 | </span> |
| 34 | 33 | <div class="content-box"> |
| 35 | - <span class="content-text"> {{ info.jobCode }}</span> | |
| 34 | + <span class="content-text"> {{ info.fleetName }}</span> | |
| 36 | 35 | </div> |
| 37 | 36 | </div> |
| 38 | 37 | </div> |
| 39 | 38 | <div style="display: flex;align-items: center;margin-bottom: 7px; color: #0CFCFC; font-size: 13px; margin-top: 15px;"> |
| 40 | 39 | 打卡详情</div> |
| 41 | - <el-table :data="tableData" style="width: 100%;background-color: aliceblue;"> | |
| 42 | - <el-table-column prop="date" label="打卡时间" width="120" /> | |
| 43 | - <el-table-column prop="address" label="打卡地点" /> | |
| 44 | - <el-table-column prop="result" label="打卡结果" /> | |
| 45 | - </el-table> | |
| 40 | + <div class="mainTable"> | |
| 41 | + <el-table :data="info.signInfos" style="width: 100%;"> | |
| 42 | + <el-table-column prop="planDate" label="计划打卡" width="78" max-height="60" /> | |
| 43 | + <el-table-column prop="signDate" label="实际打卡" width="78" max-height="60" /> | |
| 44 | + <el-table-column prop="address" label="打卡地点" width="74" max-height="60" /> | |
| 45 | + <el-table-column prop="result" label="打卡结果" width="65" max-height="60" /> | |
| 46 | + </el-table> | |
| 47 | + </div> | |
| 48 | + | |
| 46 | 49 | </div> |
| 47 | 50 | </template> |
| 48 | 51 | |
| 49 | 52 | <script setup> |
| 50 | - | |
| 53 | +import { querySignDetails } from '@/api/big_view/big_view.js'; | |
| 51 | 54 | const loading = ref(false); |
| 52 | 55 | const props = defineProps({ |
| 53 | 56 | // 请求参数 |
| ... | ... | @@ -58,6 +61,10 @@ const props = defineProps({ |
| 58 | 61 | showFlag: { |
| 59 | 62 | type: Boolean, |
| 60 | 63 | required: true |
| 64 | + }, | |
| 65 | + currentDateKey: { | |
| 66 | + type: String, | |
| 67 | + require: true | |
| 61 | 68 | } |
| 62 | 69 | }) |
| 63 | 70 | /** 签到信息 */ |
| ... | ... | @@ -69,37 +76,19 @@ info.value = { |
| 69 | 76 | fleetName: "" |
| 70 | 77 | } |
| 71 | 78 | |
| 72 | -const tableData = ref( | |
| 73 | - [ | |
| 74 | - { | |
| 75 | - date: "今天 10:33:33", | |
| 76 | - result: "正常", | |
| 77 | - address: "背景" | |
| 78 | - }, | |
| 79 | - { | |
| 80 | - date: "今天 10:33:33", | |
| 81 | - result: "正常", | |
| 82 | - address: "背景" | |
| 83 | - }, | |
| 84 | - { | |
| 85 | - date: "今天 10:33:33", | |
| 86 | - result: "正常", | |
| 87 | - address: "背景" | |
| 88 | - } | |
| 89 | - ] | |
| 90 | -) | |
| 91 | 79 | /** 处理信息 */ |
| 92 | -const handleInfo = (val) => { | |
| 80 | +const handleInfo = (jobCode, date) => { | |
| 93 | 81 | loading.value = true |
| 94 | - setTimeout(() => { | |
| 82 | + querySignDetails({ jobCode: jobCode, date: date }).then(res => { | |
| 95 | 83 | loading.value = false; |
| 96 | 84 | info.value = { |
| 97 | - name: "张三", | |
| 98 | - lpName: "路牌", | |
| 99 | - jobCode: val, | |
| 100 | - fleetName: "三车队" | |
| 85 | + name: res.data.name, | |
| 86 | + lpName: res.data.lpName, | |
| 87 | + jobCode: res.data.jobCode, | |
| 88 | + fleetName: res.data.fleetName, | |
| 89 | + signInfos: res.data.signInfos | |
| 101 | 90 | } |
| 102 | - }, 1000); | |
| 91 | + }) | |
| 103 | 92 | } |
| 104 | 93 | |
| 105 | 94 | const reset = () => { |
| ... | ... | @@ -115,7 +104,7 @@ watch( |
| 115 | 104 | () => props.showFlag, |
| 116 | 105 | (count, prevCount) => { |
| 117 | 106 | if (props.showFlag) { |
| 118 | - handleInfo(props.jobCode); | |
| 107 | + handleInfo(props.jobCode, props.currentDateKey); | |
| 119 | 108 | } else { |
| 120 | 109 | reset() |
| 121 | 110 | } |
| ... | ... | @@ -123,8 +112,65 @@ watch( |
| 123 | 112 | ) |
| 124 | 113 | </script> |
| 125 | 114 | <style scoped lang="scss"> |
| 115 | +:deep(.mainTable .el-table .el-table__header-wrapper th, .el-table .el-table__fixed-header-wrapper th) { | |
| 116 | + text-align: center; | |
| 117 | + font-weight: bold; | |
| 118 | + color: white; | |
| 119 | + background-color: #0359A4 !important; | |
| 120 | + font-size: 0.5vw; | |
| 121 | + height: 20px !important; | |
| 122 | +} | |
| 123 | + | |
| 124 | +:deep(.mainTable .el-table__empty-text) { | |
| 125 | + line-height: 30px !important; | |
| 126 | + color: white; | |
| 127 | + font-weight: bold; | |
| 128 | + font-size: 0.5vw; | |
| 129 | +} | |
| 130 | + | |
| 131 | +:deep(.mainTable .el-table__empty-block) { | |
| 132 | + min-height: 30px !important; | |
| 133 | + background-color: #041e74d5; | |
| 134 | +} | |
| 135 | + | |
| 136 | +:deep(.mainTable .el-table tr) { | |
| 137 | + background-color: #03113F; | |
| 138 | +} | |
| 139 | + | |
| 140 | +:deep(.mainTable .el-table .el-table__cell) { | |
| 141 | + padding: 1px !important; | |
| 142 | + font-weight: bold; | |
| 143 | +} | |
| 144 | + | |
| 145 | +:deep(.mainTable .el-table tbody tr:hover>td) { | |
| 146 | + background: rgba(39, 54, 91, 0.571) !important; | |
| 147 | +} | |
| 148 | + | |
| 149 | +// :deep(.mainTable .el-table th) { | |
| 150 | +// border: 1px solid black !important; | |
| 151 | +// border-right: none !important; | |
| 152 | +// border-bottom: none !important; | |
| 153 | +// } | |
| 154 | + | |
| 155 | +:deep(.el-table td) { | |
| 156 | + border: 1px solid #033E72; | |
| 157 | + border-right: none !important; | |
| 158 | +} | |
| 159 | + | |
| 160 | +// 行单元格 | |
| 161 | +:deep(.mainTable td .cell) { | |
| 162 | + text-align: center; | |
| 163 | + font-size: 0.5vw; | |
| 164 | + color: white; | |
| 165 | +} | |
| 166 | + | |
| 167 | +// 修改行单元格内边距 | |
| 168 | +:deep(.mainTable .el-table .cell) { | |
| 169 | + padding: 1px !important; | |
| 170 | +} | |
| 171 | + | |
| 126 | 172 | .person-info { |
| 127 | - width: 300px; | |
| 173 | + width: 320px; | |
| 128 | 174 | display: flex; |
| 129 | 175 | flex-wrap: wrap; |
| 130 | 176 | justify-content: space-between; |
| ... | ... | @@ -146,7 +192,7 @@ watch( |
| 146 | 192 | |
| 147 | 193 | .content-box { |
| 148 | 194 | color: white; |
| 149 | - width: 80px; | |
| 195 | + width: 95.5px; | |
| 150 | 196 | box-sizing: border-box; |
| 151 | 197 | padding: 2px; |
| 152 | 198 | text-align: center; | ... | ... |
src/layout/components/Sidebar/Logo.vue
src/views/driver/driver/index.vue
| ... | ... | @@ -44,7 +44,7 @@ |
| 44 | 44 | <right-toolbar v-model:showSearch="showSearch" @queryTable="getList"></right-toolbar> |
| 45 | 45 | </el-row> |
| 46 | 46 | |
| 47 | - <el-table v-loading="loading" :data="driverList" @selection-change="handleSelectionChange"> | |
| 47 | + <el-table v-loading="loading" :data="driverList" max-height="600px" @selection-change="handleSelectionChange"> | |
| 48 | 48 | <el-table-column type="selection" width="55" align="center" /> |
| 49 | 49 | <el-table-column label="工号" align="center" prop="jobCode" /> |
| 50 | 50 | <el-table-column label="姓名" align="center" prop="personnelName" /> | ... | ... |
src/views/eexception/eexception/index.vue
| ... | ... | @@ -41,7 +41,7 @@ |
| 41 | 41 | <right-toolbar v-model:showSearch="showSearch" @queryTable="getList"></right-toolbar> |
| 42 | 42 | </el-row> |
| 43 | 43 | |
| 44 | - <el-table v-loading="loading" :data="eexceptionList" @selection-change="handleSelectionChange"> | |
| 44 | + <el-table height="600" v-loading="loading" :data="eexceptionList" @selection-change="handleSelectionChange"> | |
| 45 | 45 | <el-table-column type="selection" width="55" align="center" /> |
| 46 | 46 | <el-table-column label="标题" align="center" prop="title" /> |
| 47 | 47 | <el-table-column label="设备号" align="center" prop="deviceId" /> | ... | ... |
src/views/email/email/index.vue
| ... | ... | @@ -23,7 +23,7 @@ |
| 23 | 23 | </el-col> |
| 24 | 24 | </el-row> |
| 25 | 25 | |
| 26 | - <el-table v-loading="loading" :data="emailList" @selection-change="handleSelectionChange"> | |
| 26 | + <el-table height="600" v-loading="loading" :data="emailList" @selection-change="handleSelectionChange"> | |
| 27 | 27 | <el-table-column label="姓名" align="center" prop="name" /> |
| 28 | 28 | <el-table-column label="邮箱" align="center" prop="email" /> |
| 29 | 29 | <el-table-column label="类型" align="center" prop="type"> | ... | ... |
src/views/equipment/equipment/index.vue
| ... | ... | @@ -30,11 +30,11 @@ |
| 30 | 30 | v-hasPermi="['equipment:equipment:add']">新增</el-button> |
| 31 | 31 | </el-col> |
| 32 | 32 | <el-col :span="1.5"> |
| 33 | - <el-button type="success" v-show="false" plain icon="Edit" :disabled="single" @click="handleUpdate" | |
| 33 | + <el-button type="success" plain icon="Edit" :disabled="single" @click="handleUpdate" | |
| 34 | 34 | v-hasPermi="['equipment:equipment:edit']">修改</el-button> |
| 35 | 35 | </el-col> |
| 36 | 36 | <el-col :span="1.5"> |
| 37 | - <el-button type="danger" v-show="false" plain icon="Delete" :disabled="multiple" @click="handleDelete" | |
| 37 | + <el-button type="danger" plain icon="Delete" :disabled="multiple" @click="handleDelete" | |
| 38 | 38 | v-hasPermi="['equipment:equipment:remove']">删除</el-button> |
| 39 | 39 | </el-col> |
| 40 | 40 | <el-col :span="1.5"> |
| ... | ... | @@ -44,7 +44,7 @@ |
| 44 | 44 | <right-toolbar v-model:showSearch="showSearch" @queryTable="getList"></right-toolbar> |
| 45 | 45 | </el-row> |
| 46 | 46 | |
| 47 | - <el-table border v-loading="loading" :data="equipmentList" @selection-change="handleSelectionChange"> | |
| 47 | + <el-table border height="600" v-loading="loading" :data="equipmentList" @selection-change="handleSelectionChange"> | |
| 48 | 48 | <el-table-column label="序号" type="index" width="50" align="center"> |
| 49 | 49 | <template #default="scope"> |
| 50 | 50 | {{ (queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1 }} | ... | ... |
src/views/errorScheduling/errorScheduling/index.vue
| ... | ... | @@ -38,7 +38,7 @@ |
| 38 | 38 | <right-toolbar v-model:showSearch="showSearch" @queryTable="getList"></right-toolbar> |
| 39 | 39 | </el-row> |
| 40 | 40 | |
| 41 | - <el-table v-loading="loading" :data="errorSchedulingList" @selection-change="handleSelectionChange"> | |
| 41 | + <el-table max-height="600" v-loading="loading" :data="errorSchedulingList" @selection-change="handleSelectionChange"> | |
| 42 | 42 | <el-table-column type="selection" width="55" align="center" /> |
| 43 | 43 | <el-table-column label="工号" align="center" prop="jobCode" /> |
| 44 | 44 | <el-table-column label="姓名" align="center" prop="name" /> | ... | ... |
src/views/home/index.vue
| ... | ... | @@ -25,6 +25,7 @@ |
| 25 | 25 | <div class="global-info-box-container-right-number"> |
| 26 | 26 | <count-to ref="scrollNumber" :start-val="item.startNumber" :end-val="item.endNumber" :duration="8000" |
| 27 | 27 | :decimals="0" /> |
| 28 | + {{ item.allNumber == null ? "" : " / " + item.allNumber }} | |
| 28 | 29 | </div> |
| 29 | 30 | </div> |
| 30 | 31 | </div> |
| ... | ... | @@ -69,9 +70,9 @@ |
| 69 | 70 | <div v-for="(sunItem, sunIndex) in childItem.lineInfos" :key="sunItem.nbbm" class="fleet-nbbm-info-item"> |
| 70 | 71 | <div v-if="sunItem.saleInfoVo != null" class="fleet-nbbm-info-have-sale"> |
| 71 | 72 | <el-popover popper-class="fleet-popover-style" placement="top" :title="childItem.lineName" |
| 72 | - :width="300" :show-after="300" @after-enter="alterEnterHandler(sunItem.driverInfoVo.jobCode)"> | |
| 73 | + :width="320" :show-after="200" @after-enter="alterEnterHandler(sunItem.driverInfoVo.jobCode)"> | |
| 73 | 74 | <ConstForm :showFlag="personSignInfo.jobCode == sunItem.driverInfoVo.jobCode" |
| 74 | - :jobCode="sunItem.driverInfoVo.jobCode" /> | |
| 75 | + :currentDateKey="currentDateKey" :jobCode="sunItem.driverInfoVo.jobCode" /> | |
| 75 | 76 | <template #reference> |
| 76 | 77 | <div class="fleet-nbbm-have-sale-driver" :style="signStyleColor[sunItem.driverInfoVo.signStatus]"> |
| 77 | 78 | </div> |
| ... | ... | @@ -81,19 +82,19 @@ |
| 81 | 82 | <span class="fleet-nbbm-have-sale-txt">{{ sunItem.nbbm }}</span> |
| 82 | 83 | </div> |
| 83 | 84 | <el-popover popper-class="fleet-popover-style" placement="top" :title="childItem.lineName" |
| 84 | - :width="300" :show-after="300" @after-enter="alterEnterHandler(sunItem.saleInfoVo.jobCode)"> | |
| 85 | + :width="320" :show-after="200" @after-enter="alterEnterHandler(sunItem.saleInfoVo.jobCode)"> | |
| 85 | 86 | <ConstForm :showFlag="personSignInfo.jobCode == sunItem.saleInfoVo.jobCode" |
| 86 | - :jobCode="sunItem.saleInfoVo.jobCode" /> | |
| 87 | + :currentDateKey="currentDateKey" :jobCode="sunItem.saleInfoVo.jobCode" /> | |
| 87 | 88 | <template #reference> |
| 88 | 89 | <div class="fleet-nbbm-have-sale-sale" :style="signStyleColor[sunItem.saleInfoVo.signStatus]"> |
| 89 | 90 | </div> |
| 90 | 91 | </template> |
| 91 | 92 | </el-popover> |
| 92 | 93 | </div> |
| 93 | - <el-popover v-else :show-after="300" @after-enter="alterEnterHandler(sunItem.driverInfoVo.jobCode)" | |
| 94 | - placement="top" :title="childItem.lineName" popper-class="fleet-popover-style" :width="300"> | |
| 94 | + <el-popover v-else :show-after="200" @after-enter="alterEnterHandler(sunItem.driverInfoVo.jobCode)" | |
| 95 | + placement="top" :title="childItem.lineName" popper-class="fleet-popover-style" :width="320"> | |
| 95 | 96 | <ConstForm :showFlag="personSignInfo.jobCode == sunItem.driverInfoVo.jobCode" |
| 96 | - :jobCode="sunItem.driverInfoVo.jobCode" /> | |
| 97 | + :currentDateKey="currentDateKey" :jobCode="sunItem.driverInfoVo.jobCode" /> | |
| 97 | 98 | <template #reference> |
| 98 | 99 | <div class="fleet-nbbm-info-no-sale" :style="signStyleColor[sunItem.driverInfoVo.signStatus]"> |
| 99 | 100 | <span class="fleet-nbbm-info-no-sale-text"> |
| ... | ... | @@ -127,6 +128,7 @@ import icon4 from "../../assets/bigview/image-icon-3.png"; |
| 127 | 128 | import icon5 from "../../assets/bigview/image-icon-4.png"; |
| 128 | 129 | import icon6 from "../../assets/bigview/image-icon-5.png"; |
| 129 | 130 | import icon1 from "../../assets/bigview/image-icon-6.png"; |
| 131 | +const currentDateKey = ref(); | |
| 130 | 132 | const loading = ref(true); |
| 131 | 133 | /** 签到信息 */ |
| 132 | 134 | const personSignInfo = reactive( |
| ... | ... | @@ -161,37 +163,43 @@ const globalInfoBoxList = reactive( |
| 161 | 163 | title: "设备数", |
| 162 | 164 | icon: icon1, |
| 163 | 165 | startNumber: 0, |
| 164 | - endNumber: 0 | |
| 166 | + endNumber: 0, | |
| 167 | + allNumber: 0 | |
| 165 | 168 | }, |
| 166 | 169 | { |
| 167 | 170 | title: "线路数", |
| 168 | 171 | icon: icon2, |
| 169 | 172 | startNumber: 0, |
| 170 | - endNumber: 0 | |
| 173 | + endNumber: 0, | |
| 174 | + allNumber: 0 | |
| 171 | 175 | }, |
| 172 | 176 | { |
| 173 | 177 | title: "车辆数", |
| 174 | 178 | icon: icon3, |
| 175 | 179 | startNumber: 0, |
| 176 | - endNumber: 0 | |
| 180 | + endNumber: 0, | |
| 181 | + allNumber: 0 | |
| 177 | 182 | }, |
| 178 | 183 | { |
| 179 | 184 | title: "售票员签到", |
| 180 | 185 | icon: icon4, |
| 181 | 186 | startNumber: 0, |
| 182 | - endNumber: 0 | |
| 187 | + endNumber: 0, | |
| 188 | + allNumber: 0 | |
| 183 | 189 | }, |
| 184 | 190 | { |
| 185 | 191 | title: "驾驶员签到", |
| 186 | 192 | icon: icon5, |
| 187 | 193 | startNumber: 0, |
| 188 | - endNumber: 0 | |
| 194 | + endNumber: 0, | |
| 195 | + allNumber: 0 | |
| 189 | 196 | }, |
| 190 | 197 | { |
| 191 | 198 | title: "辅助人员签到", |
| 192 | 199 | icon: icon6, |
| 193 | 200 | startNumber: 0, |
| 194 | - endNumber: 0 | |
| 201 | + endNumber: 0, | |
| 202 | + allNumber: 0 | |
| 195 | 203 | }, |
| 196 | 204 | ] |
| 197 | 205 | ) |
| ... | ... | @@ -240,9 +248,20 @@ const fleetNbbmInfoContainer = ref(null); |
| 240 | 248 | const scrollNumber = ref(null); |
| 241 | 249 | // 计算宽度初始化数据 |
| 242 | 250 | onMounted(() => { |
| 243 | - handleUpdateDataRequest(); | |
| 251 | + | |
| 244 | 252 | timeTask.titleNowDateTimer = startUpdateNowDateTimerTaskScheduler(); |
| 245 | 253 | timeTask.updateDateSchedulerTimer = startUpdateDataTaskScheduler(); |
| 254 | + | |
| 255 | + const currentTime = moment().format('HH:mm'); | |
| 256 | + let dateKey; | |
| 257 | + if (currentTime < '03:00') { | |
| 258 | + dateKey = moment().subtract(1, 'day').format('YYYY-MM-DD'); | |
| 259 | + } else { | |
| 260 | + dateKey = moment().format("YYYY-MM-DD"); | |
| 261 | + } | |
| 262 | + console.log(); | |
| 263 | + currentDateKey.value = dateKey; | |
| 264 | + handleUpdateDataRequest(currentDateKey.value); | |
| 246 | 265 | }) |
| 247 | 266 | |
| 248 | 267 | /** 销毁之前触发 */ |
| ... | ... | @@ -304,43 +323,42 @@ const alterEnterHandler = (val, el) => { |
| 304 | 323 | |
| 305 | 324 | /** 监听数据更新日期 */ |
| 306 | 325 | watch(timeTaskObject.updateDateObject, (val1, val2) => { |
| 307 | - // TODO 发送请求更新数据 | |
| 308 | - handleUpdateDataRequest(); | |
| 309 | - console.log("时间到了,需要更新数据---"); | |
| 326 | + // 发送请求更新数据 | |
| 327 | + handleUpdateDataRequest(currentDateKey.value); | |
| 310 | 328 | }) |
| 311 | 329 | |
| 312 | 330 | /** |
| 313 | 331 | * 类型 device 设备数量 line 线路数 car 车辆数 |
| 314 | 332 | * sale 售票员签到数量 driver 驾驶员签到 auxiliary 辅助人员签到数量 |
| 315 | 333 | */ |
| 316 | -const handleUpdateDataRequest = () => { | |
| 334 | +const handleUpdateDataRequest = (dateKey) => { | |
| 317 | 335 | // 获取设备数量 |
| 318 | - querySignInfoByType("device").then(res => { | |
| 336 | + querySignInfoByType({ type: "device", dateKey: dateKey }).then(res => { | |
| 319 | 337 | handleGlobalInfo(res.data, 0) |
| 320 | 338 | }) |
| 321 | 339 | // 获取线路数 |
| 322 | - querySignInfoByType("line").then(res => { | |
| 340 | + querySignInfoByType({ type: "line", dateKey: dateKey }).then(res => { | |
| 323 | 341 | handleGlobalInfo(res.data, 1) |
| 324 | 342 | }) |
| 325 | 343 | // 获取车辆数 |
| 326 | - querySignInfoByType("car").then(res => { | |
| 344 | + querySignInfoByType({ type: "car", dateKey: dateKey }).then(res => { | |
| 327 | 345 | handleGlobalInfo(res.data, 2) |
| 328 | 346 | }) |
| 329 | 347 | // 售票员签到 |
| 330 | - querySignInfoByType("sale").then(res => { | |
| 348 | + querySignInfoByType({ type: "sale", dateKey: dateKey }).then(res => { | |
| 331 | 349 | handleGlobalInfo(res.data, 3) |
| 332 | 350 | }) |
| 333 | 351 | // 驾驶员签到 |
| 334 | - querySignInfoByType("driver").then(res => { | |
| 352 | + querySignInfoByType({ type: "driver", dateKey: dateKey }).then(res => { | |
| 335 | 353 | handleGlobalInfo(res.data, 4) |
| 336 | 354 | }) |
| 337 | 355 | // 辅助人员签到 |
| 338 | - querySignInfoByType("auxiliary").then(res => { | |
| 356 | + querySignInfoByType({ type: "auxiliary", dateKey: dateKey }).then(res => { | |
| 339 | 357 | handleGlobalInfo(res.data, 5) |
| 340 | 358 | }) |
| 341 | 359 | |
| 342 | 360 | //获取车队 |
| 343 | - queryLineInfo().then(res => { | |
| 361 | + queryLineInfo(dateKey).then(res => { | |
| 344 | 362 | fleetInfoList.value = res.data |
| 345 | 363 | nextTick(() => { |
| 346 | 364 | const containerElement = fleetNbbmInfoContainer.value; |
| ... | ... | @@ -373,7 +391,9 @@ const handleUpdateDataRequest = () => { |
| 373 | 391 | |
| 374 | 392 | const handleGlobalInfo = (data, num) => { |
| 375 | 393 | globalInfoBoxList[num].startNumber = globalInfoBoxList[num].endNumber; |
| 376 | - globalInfoBoxList[num].endNumber = data; | |
| 394 | + globalInfoBoxList[num].endNumber = data.nowNumber; | |
| 395 | + globalInfoBoxList[num].allNumber = data.allNumber; | |
| 396 | + | |
| 377 | 397 | } |
| 378 | 398 | </script> |
| 379 | 399 | |
| ... | ... | @@ -425,7 +445,7 @@ const handleGlobalInfo = (data, num) => { |
| 425 | 445 | display: flex; |
| 426 | 446 | align-items: center; |
| 427 | 447 | justify-content: flex-end; |
| 428 | - margin-top: 3%; | |
| 448 | + margin-top: 2.9%; | |
| 429 | 449 | box-sizing: border-box; |
| 430 | 450 | } |
| 431 | 451 | } |
| ... | ... | @@ -434,9 +454,8 @@ const handleGlobalInfo = (data, num) => { |
| 434 | 454 | .big-view-container-global-info { |
| 435 | 455 | height: 11%; |
| 436 | 456 | width: 100%; |
| 437 | - font-size: clamp(0.3rem, -2.531rem + 19.69vw, 1.1rem); | |
| 457 | + font-size: clamp(0.5rem, -2.531rem + 19.69vw, 1.3rem); | |
| 438 | 458 | display: flex; |
| 439 | - | |
| 440 | 459 | justify-content: center; |
| 441 | 460 | align-items: center; |
| 442 | 461 | |
| ... | ... | @@ -462,8 +481,8 @@ const handleGlobalInfo = (data, num) => { |
| 462 | 481 | |
| 463 | 482 | .global-info-box-container-left { |
| 464 | 483 | // icon |
| 465 | - flex-grow: 1; | |
| 466 | - width: 100%; | |
| 484 | + // flex-grow: 1; | |
| 485 | + // width: 100%; | |
| 467 | 486 | height: 100%; |
| 468 | 487 | display: flex; |
| 469 | 488 | align-items: center; |
| ... | ... | @@ -478,9 +497,8 @@ const handleGlobalInfo = (data, num) => { |
| 478 | 497 | } |
| 479 | 498 | |
| 480 | 499 | .global-info-box-container-right { |
| 481 | - // icon | |
| 482 | - flex-grow: 1; | |
| 483 | - width: 100%; | |
| 500 | + // flex-grow: 1; | |
| 501 | + // width: 100%; | |
| 484 | 502 | height: clamp(4rem, 3.713rem + 2vw, 4.1rem); |
| 485 | 503 | display: flex; |
| 486 | 504 | flex-direction: column; |
| ... | ... | @@ -567,7 +585,7 @@ const handleGlobalInfo = (data, num) => { |
| 567 | 585 | width: 100%; |
| 568 | 586 | height: calc(85% - clamp(0.7rem, 0.489rem + 1.05vw, 1.2rem) * 3); |
| 569 | 587 | display: flex; |
| 570 | - font-size: clamp(0.6rem, -0.907rem + 5.71vw, 1.2rem); | |
| 588 | + font-size: clamp(0.7rem, -0.907rem + 5.71vw, 1.1rem); | |
| 571 | 589 | |
| 572 | 590 | // 通用样式 |
| 573 | 591 | .fleet-common-style { |
| ... | ... | @@ -599,11 +617,12 @@ const handleGlobalInfo = (data, num) => { |
| 599 | 617 | display: flex; |
| 600 | 618 | justify-content: center; |
| 601 | 619 | align-items: center; |
| 620 | + font-size: clamp(0.8rem, -0.907rem + 5.71vw, 1.3rem); | |
| 602 | 621 | } |
| 603 | 622 | } |
| 604 | 623 | |
| 605 | 624 | .fleet-content-box { |
| 606 | - height: calc(100% - clamp(0.6rem, -0.907rem + 5.71vw, 1.2rem)); | |
| 625 | + height: calc(100% - clamp(0.8rem, -0.907rem + 5.71vw, 1.3rem)); | |
| 607 | 626 | width: 100%; |
| 608 | 627 | overflow-y: scroll; |
| 609 | 628 | overflow-x: hidden; |
| ... | ... | @@ -614,7 +633,8 @@ const handleGlobalInfo = (data, num) => { |
| 614 | 633 | height: auto; |
| 615 | 634 | |
| 616 | 635 | .fleet-line-title { |
| 617 | - margin: clamp(0.8rem, -0.549rem + 4.09vw, 1.2rem) 0 clamp(0.8rem, -0.549rem + 4.09vw, 1.2rem) 0; | |
| 636 | + margin-top: clamp(0.8rem, -0.549rem + 4.09vw, 1.2rem); | |
| 637 | + margin-bottom: calc(clamp(0.8rem, -0.549rem + 4.09vw, 1.2rem) - 0.4vw); | |
| 618 | 638 | box-sizing: border-box; |
| 619 | 639 | font-weight: bold; |
| 620 | 640 | } |
| ... | ... | @@ -759,10 +779,6 @@ const handleGlobalInfo = (data, num) => { |
| 759 | 779 | .el-popover.fleet-popover-style { |
| 760 | 780 | border-color: #146EBD; |
| 761 | 781 | background-color: #062a5ac5; |
| 762 | - /* background: | |
| 763 | - -webkit-linear-gradient(top, transparent 14px, blue 15px), | |
| 764 | - -webkit-linear-gradient(left, transparent 14px, blue 15px); | |
| 765 | - background-size: 15px 15px; */ | |
| 766 | 782 | } |
| 767 | 783 | |
| 768 | 784 | .fleet-popover-style .el-popover__title { |
| ... | ... | @@ -771,7 +787,7 @@ const handleGlobalInfo = (data, num) => { |
| 771 | 787 | } |
| 772 | 788 | |
| 773 | 789 | .el-popper[data-popper-placement^=top]>.el-popper__arrow::before { |
| 774 | - border-top-color: #062B5A !important; | |
| 775 | - background-color: #062B5A !important; | |
| 790 | + border-top-color: #062a5ac5 !important; | |
| 791 | + background-color: #062a5ac5 !important; | |
| 776 | 792 | } |
| 777 | 793 | </style> | ... | ... |
src/views/in/in/index.vue
| ... | ... | @@ -43,7 +43,7 @@ |
| 43 | 43 | <right-toolbar v-model:showSearch="showSearch" @queryTable="getList"></right-toolbar> |
| 44 | 44 | </el-row> |
| 45 | 45 | |
| 46 | - <el-table v-loading="loading" :data="inList" row-key="id" @selection-change="handleSelectionChange"> | |
| 46 | + <el-table height="600" v-loading="loading" :data="inList" row-key="id" @selection-change="handleSelectionChange"> | |
| 47 | 47 | <el-table-column type="selection" width="55" align="center" /><el-table-column label="序号" type="index" width="50" |
| 48 | 48 | align="center"> |
| 49 | 49 | <template #default="scope"> | ... | ... |
src/views/login.vue
| 1 | 1 | <template> |
| 2 | 2 | <div class="login"> |
| 3 | 3 | <el-form ref="loginRef" :model="loginForm" :rules="loginRules" class="login-form"> |
| 4 | - <h3 class="title">酒精测试一体机管理系统</h3> | |
| 4 | + <h3 class="title">青浦巴士岗前检测系统</h3> | |
| 5 | 5 | <el-form-item prop="username"> |
| 6 | 6 | <el-input v-model="loginForm.username" type="text" size="large" auto-complete="off" placeholder="账号"> |
| 7 | 7 | <template #prefix><svg-icon icon-class="user" class="el-input__icon input-icon" /></template> | ... | ... |
src/views/register.vue
| 1 | 1 | <template> |
| 2 | 2 | <div class="register"> |
| 3 | 3 | <el-form ref="registerRef" :model="registerForm" :rules="registerRules" class="register-form"> |
| 4 | - <h3 class="title">酒精测试一体机管理系统</h3> | |
| 4 | + <h3 class="title">青浦巴士岗前检测系统</h3> | |
| 5 | 5 | <el-form-item prop="username"> |
| 6 | 6 | <el-input v-model="registerForm.username" type="text" size="large" auto-complete="off" placeholder="账号"> |
| 7 | 7 | <template #prefix><svg-icon icon-class="user" class="el-input__icon input-icon" /></template> | ... | ... |
src/views/report/error/index.vue
| ... | ... | @@ -70,8 +70,8 @@ |
| 70 | 70 | </el-dropdown-menu> |
| 71 | 71 | </template> |
| 72 | 72 | </el-dropdown> |
| 73 | - <el-table v-loading="loading" row-key="id" :data="tableData" @selection-change="handleSelectionChange" border | |
| 74 | - default-expand-all> | |
| 73 | + <el-table max-height="500" v-loading="loading" row-key="id" :data="tableData" | |
| 74 | + @selection-change="handleSelectionChange" border default-expand-all> | |
| 75 | 75 | <el-table-column label="序号" fixed="left" type="index" width="60" align="center"> |
| 76 | 76 | <template #default="scope"> |
| 77 | 77 | {{ (currentPage - 1) * size + scope.$index + 1 }} | ... | ... |
src/views/report/sign/index.vue
| ... | ... | @@ -41,7 +41,7 @@ |
| 41 | 41 | </div> |
| 42 | 42 | |
| 43 | 43 | |
| 44 | - <el-table v-loading="loading" :data="tableData" @selection-change="handleSelectionChange" border | |
| 44 | + <el-table v-loading="loading" :data="tableData" @selection-change="handleSelectionChange" border max-height="600" | |
| 45 | 45 | :default-expand-all="false" :row-class-name="tableRowClassName"> |
| 46 | 46 | <el-table-column label="序号" type="index" width="60" align="center"> |
| 47 | 47 | <template #default="scope"> | ... | ... |
src/views/scheduling/scheduling/index.vue
| ... | ... | @@ -45,7 +45,7 @@ |
| 45 | 45 | <right-toolbar v-model:showSearch="showSearch" @queryTable="getList"></right-toolbar> |
| 46 | 46 | </el-row> |
| 47 | 47 | |
| 48 | - <el-table v-loading="loading" :data="schedulingList" border @selection-change="handleSelectionChange"> | |
| 48 | + <el-table v-loading="loading" height="600" :data="schedulingList" border @selection-change="handleSelectionChange"> | |
| 49 | 49 | <el-table-column type="selection" width="55" align="center" /> |
| 50 | 50 | <el-table-column label="规则名称" align="center" prop="ruleName" /> |
| 51 | 51 | <el-table-column label="时间范围" align="center" prop="rangeTime" /> | ... | ... |
src/views/schedulingAssociateNum/Attendance/index.vue
src/views/schedulingAssociateNum/schedulingAssociateNum/index.vue
| ... | ... | @@ -26,7 +26,7 @@ |
| 26 | 26 | <right-toolbar v-model:showSearch="showSearch" @queryTable="getList"></right-toolbar> |
| 27 | 27 | </el-row> |
| 28 | 28 | |
| 29 | - <el-table border v-loading="loading" height="650px" stripe :data="schedulingAssociateNumList" | |
| 29 | + <el-table border v-loading="loading" max-height="650px" stripe :data="schedulingAssociateNumList" | |
| 30 | 30 | @selection-change="handleSelectionChange"> |
| 31 | 31 | <el-table-column type="selection" width="55" align="center" /> |
| 32 | 32 | <el-table-column label="班次类型" align="center" prop="ruleType"> | ... | ... |