From 328305d2e3fbac22e5c975b13667535b655ca445 Mon Sep 17 00:00:00 2001
From: liukangdong <898885815@qq.com>
Date: 星期三, 25 十二月 2024 17:40:33 +0800
Subject: [PATCH] ll

---
 admin/src/views/platform/LogisticsRecord/waybill.vue       |    7 
 screen/package-lock.json                                   |   18 
 admin/src/views/statistics/platformRecord.vue              |   10 
 screen/src/views/SecurityControl.vue                       |    6 
 admin/src/views/statistics/platformStatic.vue              |    1 
 admin/src/views/system/smsMessage.vue                      |    7 
 admin/src/views/platform/smokebox.vue                      |    2 
 screen/src/api/index.js                                    |    7 
 screen/src/views/LogisticsCenter.vue                       |  222 ++++++--
 admin/src/views/platform/LogisticsRecord/operation.vue     |    1 
 h5/manifest.json                                           |    4 
 screen/src/views/EnergyConsum.vue                          |    5 
 admin/src/views/platform/water.vue                         |    2 
 h5/pages/staffLogin/login.vue                              |   12 
 h5/utils/config.js                                         |    4 
 h5/pages/login/login.vue                                   |    3 
 admin/src/views/platform/LogisticsRecord/leaveAuth.vue     |    1 
 admin/src/views/platform/LogisticsRecord/operationCity.vue |   25 
 screen/package.json                                        |    1 
 screen/src/views/LogisticsEfficiency.vue                   |  103 ++-
 screen/src/router/index.js                                 |    2 
 screen/src/views/TaskEfficiency.vue                        |   31 +
 admin/src/views/vehicle/driver.vue                         |   80 +++
 admin/src/views/platform/LogisticsRecord/subscribe.vue     |   37 
 admin/src/views/system/publicMsg.vue                       |    1 
 admin/src/views/platform/LogisticsRecord/waybillQuery.vue  |    5 
 h5/App.vue                                                 |    1 
 h5/pages/driver/login.vue                                  |  488 ++++++++++---------
 h5/pages/staff/task/vDangetAppr.vue                        |    2 
 admin/src/views/platform/oil.vue                           |  102 +--
 screen/src/views/FireFighting.vue                          |  298 +++++++----
 31 files changed, 934 insertions(+), 554 deletions(-)

diff --git a/admin/src/views/platform/LogisticsRecord/leaveAuth.vue b/admin/src/views/platform/LogisticsRecord/leaveAuth.vue
index ecc0fa4..1d7eefc 100644
--- a/admin/src/views/platform/LogisticsRecord/leaveAuth.vue
+++ b/admin/src/views/platform/LogisticsRecord/leaveAuth.vue
@@ -237,6 +237,7 @@
     },
     handleSizeChange(capacity) {
       this.pagination.pageSize = capacity
+      this.getList()
     }
   }
 }
diff --git a/admin/src/views/platform/LogisticsRecord/operation.vue b/admin/src/views/platform/LogisticsRecord/operation.vue
index 95dd8c5..2fe8765 100644
--- a/admin/src/views/platform/LogisticsRecord/operation.vue
+++ b/admin/src/views/platform/LogisticsRecord/operation.vue
@@ -203,6 +203,7 @@
     },
     handleSizeChange(capacity) {
       this.pagination.pageSize = capacity
+      this.getList()
     }
   }
 }
diff --git a/admin/src/views/platform/LogisticsRecord/operationCity.vue b/admin/src/views/platform/LogisticsRecord/operationCity.vue
index 8b0634f..02f782d 100644
--- a/admin/src/views/platform/LogisticsRecord/operationCity.vue
+++ b/admin/src/views/platform/LogisticsRecord/operationCity.vue
@@ -1,12 +1,9 @@
 <template>
   <div class="main_app">
-    <QueryForm v-model="filters" :query-form-config="queryFormConfig" @changeForm='changeForm' @handleQuery="getList(1)" @clear="clear">
+    <QueryForm v-model="filters" :query-form-config="queryFormConfig" @changeForm='changeForm' @handleQuery="getList(1)"
+      @clear="clear">
       <template #fastdate>
-        <el-radio-group
-          v-model="filters.fastdate"
-          size="small"
-          @input="changeRadio"
-        >
+        <el-radio-group v-model="filters.fastdate" size="small" @input="changeRadio">
           <el-radio-button label="0">褰撳ぉ</el-radio-button>
           <el-radio-button label="6">杩�7澶�</el-radio-button>
           <el-radio-button label="29">杩�30澶�</el-radio-button>
@@ -14,7 +11,8 @@
       </template>
     </QueryForm>
     <div class="pt16">
-      <el-button :loading="exLoading" @click="handleEx" v-permissions="['business:platformjob:exportExcel']">瀵煎嚭</el-button>
+      <el-button :loading="exLoading" @click="handleEx"
+        v-permissions="['business:platformjob:exportExcel']">瀵煎嚭</el-button>
     </div>
     <el-table class="mb20" v-loading="loading" :data="list" stripe>
       <el-table-column prop="contractNum" label="鍚堝悓鍙�" min-width="100" show-overflow-tooltip />
@@ -49,7 +47,7 @@
 <script>
 import Pagination from '@/components/common/Pagination'
 import QueryForm from '@/components/common/QueryForm'
-import { platformJobPage,  platformJobExport,platformJobDel } from '@/api'
+import { platformJobPage, platformJobExport, platformJobDel } from '@/api'
 import { statusMap } from '../config'
 import DriverDetail from "@/views/task/driverDetail"
 import GlobalWindow from '@/components/common/GlobalWindow'
@@ -57,7 +55,7 @@
 import { Message } from 'element-ui'
 import dayjs from 'dayjs'
 import duration from 'dayjs/plugin/duration'
-dayjs.extend(duration);
+dayjs.extend(duration)
 export default {
   components: {
     Pagination,
@@ -84,7 +82,7 @@
       list: [],
       queryFormConfig: {
         formItems: [
-        {
+          {
             filed: 'contractNum',
             type: 'input',
             label: '鍚堝悓鍙�'
@@ -120,12 +118,12 @@
     this.getList()
   },
   methods: {
-    changeRadio (day) {
+    changeRadio(day) {
       const arr = [dayjs().subtract(day, 'day').format('YYYY-MM-DD') + ' 00:00:00', dayjs().format('YYYY-MM-DD') + ' 23:59:59']
       this.$set(this.filters, 'selDate', arr)
       this.getList()
     },
-    changeForm (str) {
+    changeForm(str) {
       if (str === 'selDate') {
         this.$set(this.filters, 'fastdate', null)
         this.getList()
@@ -149,7 +147,7 @@
         this.list.forEach(item => {
           item.inTypeTemp = item.inType == 0 ? '鏁存墭鐩�' : '浠剁儫'
           item.taskOrigin = 'WMS鑾峰彇'
-          item.workTime = dayjs.duration(item.workTime, 'seconds').format('H鏃秏鍒唖绉�');
+          item.workTime = dayjs.duration(item.workTime, 'seconds').format('H鏃秏鍒唖绉�')
         })
         this.pagination.total = res.total || 0
       }, () => {
@@ -204,6 +202,7 @@
     },
     handleSizeChange(capacity) {
       this.pagination.pageSize = capacity
+      this.getList()
     }
   }
 }
diff --git a/admin/src/views/platform/LogisticsRecord/subscribe.vue b/admin/src/views/platform/LogisticsRecord/subscribe.vue
index 3673592..6422ad2 100644
--- a/admin/src/views/platform/LogisticsRecord/subscribe.vue
+++ b/admin/src/views/platform/LogisticsRecord/subscribe.vue
@@ -1,12 +1,9 @@
 <template>
   <div class="main_app">
-    <QueryForm v-model="filters" :query-form-config="queryFormConfig" @changeForm='changeForm' @handleQuery="getList(1)" @clear="clear">
+    <QueryForm v-model="filters" :query-form-config="queryFormConfig" @changeForm='changeForm' @handleQuery="getList(1)"
+      @clear="clear">
       <template #fastdate>
-        <el-radio-group
-          v-model="filters.fastdate"
-          size="small"
-          @input="changeRadio"
-        >
+        <el-radio-group v-model="filters.fastdate" size="small" @input="changeRadio">
           <el-radio-button label="0">褰撳ぉ</el-radio-button>
           <el-radio-button label="6">杩�7澶�</el-radio-button>
           <el-radio-button label="29">杩�30澶�</el-radio-button>
@@ -16,7 +13,8 @@
     <div class="pt16">
       <el-button type="primary" @click="handleEdit" icon="el-icon-plus"
         v-permissions="['business:platformbooks:create']">鏂板缓</el-button>
-      <el-button :loading="exLoading" @click="handleEx" v-permissions="['business:platformbooks:exportExcel']">瀵煎嚭</el-button>
+      <el-button :loading="exLoading" @click="handleEx"
+        v-permissions="['business:platformbooks:exportExcel']">瀵煎嚭</el-button>
     </div>
     <el-table class="mb20" v-loading="loading" :data="list" stripe>
       <el-table-column prop="contractNum" label="鍚堝悓鍗曞彿" min-width="100" show-overflow-tooltip />
@@ -62,8 +60,8 @@
           <el-input v-model="param.contractNum" class="w300" placeholder="璇疯緭鍏ュ悎鍚屽彿"></el-input>
         </el-form-item>
         <el-form-item label="鍒板満鏃堕棿" prop="arriveDate">
-          <el-date-picker v-model="param.arriveDate" @change="checkSurplus" value-format="yyyy-MM-dd HH:mm:ss" type="datetime" class="w300"
-            placeholder="璇烽�夋嫨">
+          <el-date-picker v-model="param.arriveDate" @change="checkSurplus" value-format="yyyy-MM-dd HH:mm:ss"
+            type="datetime" class="w300" placeholder="璇烽�夋嫨">
           </el-date-picker>
         </el-form-item>
         <el-form-item label="鍏ュ簱绫诲瀷" prop="inType">
@@ -73,7 +71,8 @@
           </div>
         </el-form-item>
         <el-form-item label="鎬昏繍杈撻噺" prop="totalNum">
-          <el-input @blur="checkSurplus" oninput="value=value.replace(/^(0+)|[^\d]+/g, '').slice(0, 10)" v-model="param.totalNum" placeholder="璇疯緭鍏�" class="w300"></el-input>
+          <el-input @blur="checkSurplus" oninput="value=value.replace(/^(0+)|[^\d]+/g, '').slice(0, 10)"
+            v-model="param.totalNum" placeholder="璇疯緭鍏�" class="w300"></el-input>
           <span class="ml10">涓囨敮</span>
         </el-form-item>
         <el-form-item label="鍑嗚繍璇佺収鐗�" prop="transportImg">
@@ -86,7 +85,8 @@
           <el-input v-model="param.driverName" placeholder="璇疯緭鍏�" class="w300"></el-input>
         </el-form-item>
         <el-form-item label="鍙告満鎵嬫満鍙�" prop="driverPhone">
-          <el-input oninput="value=value.replace(/^(0+)|[^\d]+/g, '').slice(0, 11)" v-model="param.driverPhone" placeholder="璇疯緭鍏�" class="w300"></el-input>
+          <el-input oninput="value=value.replace(/^(0+)|[^\d]+/g, '').slice(0, 11)" v-model="param.driverPhone"
+            placeholder="璇疯緭鍏�" class="w300"></el-input>
         </el-form-item>
         <el-form-item label="杞﹀墠鐗岀収鍙�" prop="carCodeFront">
           <el-input v-model="param.carCodeFront" placeholder="璇疯緭鍏�" class="w300"></el-input>
@@ -105,7 +105,7 @@
 import Pagination from '@/components/common/Pagination'
 import QueryForm from '@/components/common/QueryForm'
 import { platformBooksPage, platformReasonList, platformBooksApply, platformBooksExport } from '@/api'
-import { checkSurplusNum } from '@/api/platform/platform' 
+import { checkSurplusNum } from '@/api/platform/platform'
 import DriverDetail from "@/views/task/driverDetail"
 import GlobalWindow from '@/components/common/GlobalWindow'
 import UploadAvatarImage from '@/components/common/UploadAvatarImage'
@@ -207,25 +207,25 @@
   methods: {
     checkSurplus() {
       const { arriveDate, reasonId, totalNum } = this.param
-      if(!arriveDate || !reasonId || !totalNum) return
+      if (!arriveDate || !reasonId || !totalNum) return
       checkSurplusNum({
         arriveDate,
         reasonId,
         totalNum
       }).then(res => {
-        console.log('res', res);
-        
-        if( res == 0 ||  res < Number(totalNum)){
+        console.log('res', res)
+
+        if (res == 0 || res < Number(totalNum)) {
           Message.error(`褰撴棩鍓╀綑鍙绾︿綔涓氶噺${res}涓囨敮涓嶈冻璇烽�夋嫨鍏朵粬鍒板満鏃ユ湡`)
         }
       })
     },
-    changeRadio (day) {
+    changeRadio(day) {
       const arr = [dayjs().subtract(day, 'day').format('YYYY-MM-DD') + ' 00:00:00', dayjs().format('YYYY-MM-DD') + ' 23:59:59']
       this.$set(this.filters, 'selDate', arr)
       this.getList()
     },
-    changeForm (str) {
+    changeForm(str) {
       if (str === 'selDate') {
         this.$set(this.filters, 'fastdate', null)
         this.getList()
@@ -336,6 +336,7 @@
     handleDel() { },
     handleSizeChange(capacity) {
       this.pagination.pageSize = capacity
+      this.getList()
     }
   }
 }
diff --git a/admin/src/views/platform/LogisticsRecord/waybill.vue b/admin/src/views/platform/LogisticsRecord/waybill.vue
index c34af48..11b86a6 100644
--- a/admin/src/views/platform/LogisticsRecord/waybill.vue
+++ b/admin/src/views/platform/LogisticsRecord/waybill.vue
@@ -23,7 +23,7 @@
       <el-table-column prop="driverName" label="鍙告満" min-width="100" show-overflow-tooltip />
       <el-table-column prop="drivierPhone" label="鍙告満鐢佃瘽" min-width="100" show-overflow-tooltip />
       <el-table-column prop="inTypeTemp" label="浣滀笟绫诲瀷" min-width="100" show-overflow-tooltip>
-        <template v-slot="scope"> 
+        <template v-slot="scope">
           <span v-if="scope.row.type == '0'">鑷湁杞﹀嵏璐�</span>
           <span v-if="scope.row.type == '1'">鑷湁杞﹁璐�</span>
           <span v-if="scope.row.type == '2'">澶栧崗杞﹀嵏璐�</span>
@@ -39,8 +39,8 @@
       </el-table-column>
       <el-table-column prop="name" label="鎿嶄綔" min-width="120" align="center" fixed="right" show-overflow-tooltip>
         <template v-slot="scope">
-          <el-button v-if="scope.row.status == '12'" type="text" class="red" v-permissions="['business:platformjob:delete']"
-            @click="handleDel(scope.row)">鍒犻櫎</el-button>
+          <el-button v-if="scope.row.status == '12'" type="text" class="red"
+            v-permissions="['business:platformjob:delete']" @click="handleDel(scope.row)">鍒犻櫎</el-button>
           <el-button v-if="scope.row != 12" type="text" v-permissions="['business:platformjob:query']"
             @click="handleDetail(scope.row)">杩愬崟璇︽儏</el-button>
         </template>
@@ -226,6 +226,7 @@
     },
     handleSizeChange(capacity) {
       this.pagination.pageSize = capacity
+      this.getList()
     }
   }
 }
diff --git a/admin/src/views/platform/LogisticsRecord/waybillQuery.vue b/admin/src/views/platform/LogisticsRecord/waybillQuery.vue
index e9cb826..7f91fa0 100644
--- a/admin/src/views/platform/LogisticsRecord/waybillQuery.vue
+++ b/admin/src/views/platform/LogisticsRecord/waybillQuery.vue
@@ -15,8 +15,8 @@
       <el-table-column prop="driverName" label="鏈�鍚庢洿鏂版椂闂�" min-width="100" show-overflow-tooltip />
       <el-table-column prop="name" label="鎿嶄綔" min-width="120" align="center" fixed="right" show-overflow-tooltip>
         <template v-slot="scope">
-          <el-button v-if="scope.row.status == '12'" type="text" class="red" v-permissions="['business:platformjob:delete']"
-            @click="handleDel(scope.row)">鍒犻櫎</el-button>
+          <el-button v-if="scope.row.status == '12'" type="text" class="red"
+            v-permissions="['business:platformjob:delete']" @click="handleDel(scope.row)">鍒犻櫎</el-button>
           <el-button v-if="scope.row != 12" type="text" v-permissions="['business:platformjob:query']"
             @click="handleDetail(scope.row)">缂栬緫</el-button>
         </template>
@@ -167,6 +167,7 @@
     },
     handleSizeChange(capacity) {
       this.pagination.pageSize = capacity
+      this.getList()
     }
   }
 }
diff --git a/admin/src/views/platform/oil.vue b/admin/src/views/platform/oil.vue
index a6b5680..8ae45c5 100644
--- a/admin/src/views/platform/oil.vue
+++ b/admin/src/views/platform/oil.vue
@@ -1,30 +1,17 @@
 <template>
   <TableLayout :permissions="['business:platformwatergas:query']">
     <SearchFormCollapse slot="search-form" :need-more="false">
-      <el-form ref="searchForm" :model="searchForm"  label-width="100px" inline >
-          <el-form-item title="璇疯緭鍏ヨ溅鐗屽彿"  >
-            <el-input v-model="searchForm.carCode" clearable placeholder="璇疯緭鍏ヨ溅鐗屽彿" @keypress.enter.native="search"></el-input>
-          </el-form-item>
-          <el-form-item  label="浣跨敤鏃堕棿锛�"  >
-            <el-date-picker
-                @change="search"
-                v-model="searchForm.startTime"
-                format="yyyy-MM"
-                style="width: 140px"
-                placeholder="寮�濮嬫椂闂�"
-                value-format="yyyy-MM-dd HH:mm:ss"
-                type="month"
-            />~
-              <el-date-picker
-                  @change="search"
-                  v-model="searchForm.endTime"
-                  format="yyyy-MM"
-                  style="width: 140px"
-                  placeholder="缁撴潫鏃堕棿"
-                  value-format="yyyy-MM-dd HH:mm:ss"
-                  type="month"
-              />
-          </el-form-item>
+      <el-form ref="searchForm" :model="searchForm" label-width="100px" inline>
+        <el-form-item title="璇疯緭鍏ヨ溅鐗屽彿">
+          <el-input v-model="searchForm.carCode" clearable placeholder="璇疯緭鍏ヨ溅鐗屽彿"
+            @keypress.enter.native="search"></el-input>
+        </el-form-item>
+        <el-form-item label="浣跨敤鏃堕棿锛�">
+          <el-date-picker @change="search" v-model="searchForm.startTime" format="yyyy-MM" style="width: 140px"
+            placeholder="寮�濮嬫椂闂�" value-format="yyyy-MM-dd HH:mm:ss" type="month" /> ~
+          <el-date-picker @change="search" v-model="searchForm.endTime" format="yyyy-MM" style="width: 140px"
+            placeholder="缁撴潫鏃堕棿" value-format="yyyy-MM-dd HH:mm:ss" type="month" />
+        </el-form-item>
         <section>
           <el-button type="primary" @click="search">鎼滅储</el-button>
           <el-button @click="reset">閲嶇疆</el-button>
@@ -33,51 +20,45 @@
     </SearchFormCollapse>
     <!-- 琛ㄦ牸鍜屽垎椤� -->
     <template v-slot:table-wrap>
-      <ul class="toolbar" v-permissions="['business:platformwatergas:create','business:platformwatergas:delete','business:notice:exportExcel']">
-        <li><el-button type="primary" @click="$refs.OperaPlatformOilWindow.open('鏂板缓娌硅��')" icon="el-icon-plus" v-permissions="['business:platformwatergas:create']">鏂板缓</el-button></li>
-        <li><el-button @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['business:platformwatergas:delete']">鍒犻櫎</el-button></li>
-        <el-button type="primary" :loading="isWorking.export" v-permissions="['business:platformwatergas:exportExcel']" @click="exportExcel">瀵煎嚭</el-button>
-        <el-button type="primary" :loading="isWorking.export" v-permissions="['business:platformwatergas:exportExcel']" @click="handleImport">瀵煎叆</el-button>
+      <ul class="toolbar"
+        v-permissions="['business:platformwatergas:create', 'business:platformwatergas:delete', 'business:notice:exportExcel']">
+        <li><el-button type="primary" @click="$refs.OperaPlatformOilWindow.open('鏂板缓娌硅��')" icon="el-icon-plus"
+            v-permissions="['business:platformwatergas:create']">鏂板缓</el-button></li>
+        <li><el-button @click="deleteByIdInBatch" icon="el-icon-delete"
+            v-permissions="['business:platformwatergas:delete']">鍒犻櫎</el-button></li>
+        <el-button type="primary" :loading="isWorking.export" v-permissions="['business:platformwatergas:exportExcel']"
+          @click="exportExcel">瀵煎嚭</el-button>
+        <el-button type="primary" :loading="isWorking.export" v-permissions="['business:platformwatergas:exportExcel']"
+          @click="handleImport">瀵煎叆</el-button>
       </ul>
-      <el-table
-        v-loading="isWorking.search"
-        :data="tableData.list"
-        stripe
-        @selection-change="handleSelectionChange"
-      >
+      <el-table v-loading="isWorking.search" :data="tableData.list" stripe @selection-change="handleSelectionChange">
         <el-table-column type="selection" width="55"></el-table-column>
         <el-table-column prop="carCode" label="杞︾墝鍙�" fixed min-width="150px"></el-table-column>
         <el-table-column prop="timeInfo" label="浣跨敤鏈堜唤" fixed min-width="100px">
           <template slot-scope="{row}">
-              {{(row.timeInfo || row.timeInfo.length >7 )?row.timeInfo.substr(0,7):'-'}}
+            {{ (row.timeInfo || row.timeInfo.length > 7) ? row.timeInfo.substr(0, 7) : '-' }}
           </template>
         </el-table-column>
         <el-table-column prop="num" label="娌硅�楋紙鍗囷級" fixed min-width="150px"></el-table-column>
         <el-table-column prop="content" label="璇存槑" min-width="120px"></el-table-column>
         <el-table-column prop="editDate" label="鏈�杩戞搷浣滄椂闂�" min-width="140px"></el-table-column>
         <el-table-column
-          v-if="containPermissions(['business:platformwatergas:update', 'business:platformwatergas:delete'])"
-          label="鎿嶄綔"
-          align="center"
-          min-width="150"
-          fixed="right"
-        >
+          v-if="containPermissions(['business:platformwatergas:update', 'business:platformwatergas:delete'])" label="鎿嶄綔"
+          align="center" min-width="150" fixed="right">
           <template slot-scope="{row}">
-            <el-button type="text" @click="$refs.OperaPlatformOilWindow.open('缂栬緫娌硅��', row)" icon="el-icon-edit" v-permissions="['business:platformwatergas:update']">缂栬緫</el-button>
-            <el-button type="text" @click="deleteById(row)" icon="el-icon-delete" v-permissions="['business:platformwatergas:delete']">鍒犻櫎</el-button>
+            <el-button type="text" @click="$refs.OperaPlatformOilWindow.open('缂栬緫娌硅��', row)" icon="el-icon-edit"
+              v-permissions="['business:platformwatergas:update']">缂栬緫</el-button>
+            <el-button type="text" @click="deleteById(row)" icon="el-icon-delete"
+              v-permissions="['business:platformwatergas:delete']">鍒犻櫎</el-button>
           </template>
         </el-table-column>
       </el-table>
-      <pagination
-        @size-change="handleSizeChange"
-        @current-change="handlePageChange"
-        :pagination="tableData.pagination"
-      >
+      <pagination @size-change="handleSizeChange" @current-change="handlePageChange" :pagination="tableData.pagination">
       </pagination>
     </template>
     <!-- 鏂板缓/淇敼 -->
-    <OperaPlatformOilWindow ref="OperaPlatformOilWindow" @success="handlePageChange"/>
-    <oilImportTem ref="oilImportTem" @success="handlePageChange"/>
+    <OperaPlatformOilWindow ref="OperaPlatformOilWindow" @success="handlePageChange" />
+    <oilImportTem ref="oilImportTem" @success="handlePageChange" />
   </TableLayout>
 </template>
 
@@ -93,21 +74,21 @@
   name: 'Platform',
   extends: BaseTable,
   components: { SearchFormCollapse, TableLayout, Pagination, OperaPlatformOilWindow, oilImportTem },
-  data () {
+  data() {
     return {
       groupList: [],
       // 鎼滅储
       working: false,
       working1: false,
       searchForm: {
-        carCode:'',
+        carCode: '',
         startTime: '',
         endTime: '',
         type: 2
       }
     }
   },
-  created () {
+  created() {
     this.config({
       module: '娌硅�椾俊鎭〃',
       api: '/platform/platformWaterGas',
@@ -118,16 +99,25 @@
     this.loadGroupList()
   },
   methods: {
+    reset() {
+      this.searchForm = {
+        carCode: '',
+        startTime: '',
+        endTime: '',
+        type: 2
+      }
+      this.search()
+    },
     handleImport() {
       this.$refs.oilImportTem.open('鎵归噺瀵煎叆')
     },
-    loadGroupList () {
+    loadGroupList() {
       allList({})
         .then(res => {
           this.groupList = res || []
         })
     },
-    changeStatus (e, row) {
+    changeStatus(e, row) {
       this.api.updateStatusById({
         id: row.id,
         status: e
diff --git a/admin/src/views/platform/smokebox.vue b/admin/src/views/platform/smokebox.vue
index 95917eb..19c12f6 100644
--- a/admin/src/views/platform/smokebox.vue
+++ b/admin/src/views/platform/smokebox.vue
@@ -2,7 +2,7 @@
   <TableLayout :permissions="['business:platformwatergas:query']">
     <SearchFormCollapse slot="search-form" :need-more="false">
       <el-form ref="searchForm" :model="searchForm"  label-width="100px" inline>
-          <el-form-item title="璇烽�夋嫨骞存湀鏃堕棿" label=""   >
+          <el-form-item title="璇烽�夋嫨骞存湀鏃堕棿" label=""  prop="timeInfo" >
             <el-date-picker
                 @change="search"
                 clearable
diff --git a/admin/src/views/platform/water.vue b/admin/src/views/platform/water.vue
index fd99d89..1adb08a 100644
--- a/admin/src/views/platform/water.vue
+++ b/admin/src/views/platform/water.vue
@@ -2,7 +2,7 @@
   <TableLayout :permissions="['business:platformwatergas:query']">
     <SearchFormCollapse slot="search-form" :need-more="false">
       <el-form ref="searchForm" :model="searchForm"  label-width="100px" inline>
-          <el-form-item title="璇烽�夋嫨骞存湀鏃堕棿" label=""   >
+          <el-form-item title="璇烽�夋嫨骞存湀鏃堕棿" label="" prop="timeInfo"   >
             <el-date-picker
                 @change="search"
                 clearable
diff --git a/admin/src/views/statistics/platformRecord.vue b/admin/src/views/statistics/platformRecord.vue
index f9f3291..729cf99 100644
--- a/admin/src/views/statistics/platformRecord.vue
+++ b/admin/src/views/statistics/platformRecord.vue
@@ -9,8 +9,7 @@
       <el-table-column prop="param1" label="浣滀笟寮�濮�" min-width="100" show-overflow-tooltip />
       <el-table-column prop="param2" label="浣滀笟缁撴潫" min-width="100" show-overflow-tooltip />
       <el-table-column prop="workTime" label="浣滀笟鏃堕暱" min-width="100" show-overflow-tooltip />
-      <el-table-column prop="name"
-        label="杩愯緭鍗曞彿/鍚堝悓鍙�" min-width="100" show-overflow-tooltip>
+      <el-table-column prop="name" label="杩愯緭鍗曞彿/鍚堝悓鍙�" min-width="100" show-overflow-tooltip>
         <template v-slot="scope">
           <span>{{ scope.row.billCode || scope.row.contractNum }}</span>
         </template>
@@ -117,11 +116,11 @@
           item.inTypeTemp = item.inType == 0 ? '鏁存墭鐩�' : '浠剁儫'
           item.taskOrigin = 'WMS鑾峰彇'
           // item.workTime = dayjs.duration(item.param3, 'seconds').format('H鏃秏鍒唖绉�')
-          if(item.param3 > 3600){
+          if (item.param3 > 3600) {
             item.workTime = Math.ceil(item.param3 / 3600) + '鏃�' + Math.ceil(Math.ceil(item.param3 % 3600) / 60) + '鍒�' + item.param3 % 60 + '绉�'
-          }else if(item.param3 > 60){
+          } else if (item.param3 > 60) {
             item.workTime = Math.ceil(item.param3 / 60) + '鍒�' + item.param3 % 60 + '绉�'
-          }else{
+          } else {
             item.workTime = item.param3 + '绉�'
           }
         })
@@ -138,6 +137,7 @@
     },
     handleSizeChange(capacity) {
       this.pagination.pageSize = capacity
+      this.getList()
     }
   }
 }
diff --git a/admin/src/views/statistics/platformStatic.vue b/admin/src/views/statistics/platformStatic.vue
index 6bec585..520748a 100644
--- a/admin/src/views/statistics/platformStatic.vue
+++ b/admin/src/views/statistics/platformStatic.vue
@@ -130,6 +130,7 @@
     },
     handleSizeChange(capacity) {
       this.pagination.pageSize = capacity
+      this.getList()
     }
   }
 }
diff --git a/admin/src/views/system/publicMsg.vue b/admin/src/views/system/publicMsg.vue
index 085dbd0..136d910 100644
--- a/admin/src/views/system/publicMsg.vue
+++ b/admin/src/views/system/publicMsg.vue
@@ -145,6 +145,7 @@
     },
     handleSizeChange(capacity) {
       this.pagination.pageSize = capacity
+      this.getList()
     }
   }
 }
diff --git a/admin/src/views/system/smsMessage.vue b/admin/src/views/system/smsMessage.vue
index f3f551f..0dbf752 100644
--- a/admin/src/views/system/smsMessage.vue
+++ b/admin/src/views/system/smsMessage.vue
@@ -3,8 +3,7 @@
     <QueryForm v-model="filters" :query-form-config="queryFormConfig" @handleQuery="getList(1)" @clear="clear">
     </QueryForm>
     <div class="pt16 mb10">
-      <el-button type="primary" @click="batchStatus(0)"
-        v-permissions="['business:platformjob:update']">鎵归噺鍚敤</el-button>
+      <el-button type="primary" @click="batchStatus(0)" v-permissions="['business:platformjob:update']">鎵归噺鍚敤</el-button>
       <el-button @click="batchStatus(1)" v-permissions="['business:platformjob:update']">鎵归噺绂佺敤</el-button>
     </div>
     <el-table @selection-change="handleSelectionChange" class="mb20" v-loading="loading" :data="list" stripe>
@@ -15,7 +14,8 @@
       <el-table-column prop="content" label="娑堟伅妯℃澘" min-width="300" show-overflow-tooltip />
       <el-table-column label="鐘舵��" width="120" align="center" fixed="right">
         <template v-slot="scope">
-          <el-switch v-permissions="['business:platformjob:update']" v-model="scope.row.status" @change="changeStatus(scope.row)" :active-value="0" :inactive-value="1">
+          <el-switch v-permissions="['business:platformjob:update']" v-model="scope.row.status"
+            @change="changeStatus(scope.row)" :active-value="0" :inactive-value="1">
           </el-switch>
         </template>
       </el-table-column>
@@ -145,6 +145,7 @@
     },
     handleSizeChange(capacity) {
       this.pagination.pageSize = capacity
+      this.getList()
     }
   }
 }
diff --git a/admin/src/views/vehicle/driver.vue b/admin/src/views/vehicle/driver.vue
new file mode 100644
index 0000000..edd3410
--- /dev/null
+++ b/admin/src/views/vehicle/driver.vue
@@ -0,0 +1,80 @@
+<template>
+  <div class="main_app">
+    <QueryForm v-model="filters" :query-form-config="queryFormConfig" @handleQuery="getList(1)" @clear="clear">
+    </QueryForm>
+    <el-table v-loading="loading" :data="list" stripe row-key="id" class="mb20" default-expand-all>
+      <el-table-column prop="realname" label="濮撳悕" min-width="100"></el-table-column>
+      <el-table-column prop="mobile" label="鎵嬫満鍙�" min-width="100"></el-table-column>
+    </el-table>
+    <pagination @size-change="handleSizeChange" @current-change="getList" :pagination="pagination" />
+  </div>
+</template>
+
+<script>
+import Pagination from '@/components/common/Pagination'
+import QueryForm from '@/components/common/QueryForm'
+import { fetchList } from '@/api/system/user.js'
+export default {
+  components: {
+    QueryForm,
+    Pagination
+  },
+  data() {
+    return {
+      filters: {},
+      list: [],
+      queryFormConfig: {
+        formItems: [
+          {
+            type: 'input',
+            filed: 'realname',
+            label: '濮撳悕'
+          },
+          {
+            type: 'input',
+            filed: 'username',
+            label: '鎵嬫満鍙�'
+          },
+        ],
+        online: true
+      },
+      pagination: {
+        capacity: 10,
+        page: 1,
+        total: 0,
+      },
+      loading: false,
+    }
+  },
+  created() {
+    this.getList()
+  },
+  methods: {
+    getList(page) {
+      const { filters, pagination } = this
+      pagination.page = page || pagination.page
+      fetchList({
+        model: {
+          ...filters,
+          //  memberType: 0
+        },
+        ...pagination
+      }).then(res => {
+        console.log('res', res)
+        this.list = res.records || []
+        this.pagination.total = res.total || 0
+      })
+    },
+    clear() {
+      this.filters = {}
+      this.getList(0)
+    },
+    handleSizeChange(capacity) {
+      this.pagination.capacity = capacity
+      this.getList(0)
+    }
+  }
+}
+</script>
+
+<style lang="scss" scoped></style>
\ No newline at end of file
diff --git a/h5/App.vue b/h5/App.vue
index 709d712..a944dea 100644
--- a/h5/App.vue
+++ b/h5/App.vue
@@ -8,6 +8,7 @@
 				window.location.href = app_url
 			}
     })
+		console.log('onLaunch')
   },
   onShow: function () {
     console.log('App Show')
diff --git a/h5/manifest.json b/h5/manifest.json
index d3e82c9..d3fa7f7 100644
--- a/h5/manifest.json
+++ b/h5/manifest.json
@@ -128,8 +128,8 @@
                 "/zhyq_interface" : {
                     // 杩欎釜瀛楁鍚嶉渶涓庝綘閰嶇疆鐨刡asePrefixUrl涓�鑷达紝绯荤粺璇嗗埆鍒板甫鏈�/dev-api璇锋眰鐨勫湴鍧�鏃讹紝浼氬湪鍓嶉潰鎷兼帴涓婁唬鐞嗘湇鍔″櫒鍦板潃
                     // "target" : "http://172.20.10.7:10010", // 浠g悊鏈嶅姟鍣ㄥ煙鍚嶆垨IP鍦板潃
-                    // "target" : "http://192.168.0.107:10010", // 浠g悊鏈嶅姟鍣ㄥ煙鍚嶆垨IP鍦板潃
-                    "target" : "http://10.50.250.253:8088/gateway_interface", // 浠g悊鏈嶅姟鍣ㄥ煙鍚嶆垨IP鍦板潃
+                    "target" : "http://192.168.0.102:10010", // 浠g悊鏈嶅姟鍣ㄥ煙鍚嶆垨IP鍦板潃
+                    // "target" : "http://10.50.250.253:8088/gateway_interface", // 浠g悊鏈嶅姟鍣ㄥ煙鍚嶆垨IP鍦板潃
                     // "target" : "https://atwl.ahzyssl.com/zhyq_interface", // 浠g悊鏈嶅姟鍣ㄥ煙鍚嶆垨IP鍦板潃
                     "changeOrigin" : true, // 鍏佽璺ㄥ煙 
                     "pathRewrite" : {
diff --git a/h5/pages/driver/login.vue b/h5/pages/driver/login.vue
index 374d179..99240e5 100644
--- a/h5/pages/driver/login.vue
+++ b/h5/pages/driver/login.vue
@@ -1,228 +1,260 @@
-<template>
-  <view class="login">
-    <image class="login_bg" src="@/static/login_bg@2x.png" mode="widthFix" />
-    <image class="login_logo" src="@/static/logo@2x.png" mode="widthFix" />
-    <view class="login_title">瀹夋嘲鐗╂祦鏅烘収鍥尯</view>
-    <view class="login_title">鐗╂祦杞﹀徃鏈虹櫥褰�</view>
-    <view class="login_list">
-      <view class="login_list_item">
-        <image src="@/static/login_ic_phone@2x.png" mode="widthFix" />
-        <input v-model="form.username"  type="tel"  @focus="showKeyboard = true" @blur="showKeyboard = false" maxlength="18" placeholder="鎵嬫満鍙�" />
-      </view>
-      <view class="login_list_item">
-        <image src="@/static/login_ic_password@2x.png" mode="widthFix" />
-        <input
-          v-model="form.password"
-					@focus="showKeyboard = true" @blur="showKeyboard = false"
-          type="password"
-          placeholder="瀵嗙爜"
-        />
-      </view>
-    </view>
-    <view class="login_btn">
-      <view class="login_btn_n" @click="onLogin">绔嬪嵆鐧诲綍</view>
-    </view>
-    <!--  -->
-		<view class="btns" v-if="!showKeyboard">
-			<view class="btn" @click="handleRegister">绔嬪嵆娉ㄥ唽</view>
-			<view class="btn separate"> | </view>
-			<view class="btn" @click="handleSetPsd">蹇樿瀵嗙爜</view>
-		</view>
-  </view>
-</template>
-
-<script>
-import { driverLogin, loginCaptcha, getUserInfo } from '@/api'
-import { mapState, mapMutations } from 'vuex'
-export default {
-  data() {
-    return {
-      form: {
-				username: '',
-				password: ''
-      },
-      isShowProtocol: false,
-			showKeyboard: false,
-      countDown: 0
-    }
-  },
-  onLoad() {
-		this.initCaptcha()
-  },
-	
-  methods: {
-		...mapMutations(["setToken", "setDriverInfo"]),
-		handleRegister() {
-			uni.navigateTo({
-				url: "/pages/driver/register"
-			})
-		},
-		handleSetPsd() {
-			uni.navigateTo({
-				url: "/pages/driver/forgetPsd?phone=" + this.form.username
-			})
-		},
-    dealChange(e) {
-      console.log(e)
-    },
-    initCaptcha() {
-      loginCaptcha().then(res => {
-        this.captcha = res.data
-      })
-    },
-
-    onLogin() {
-      const { form } = this
-      if (!form.username) return uni.showToast({
-        title: '鎵嬫満鍙蜂笉鑳戒负绌�',
-        icon: 'none'
-      })
-      if (!form.password) return uni.showToast({
-        title: '瀵嗙爜涓嶈兘涓虹┖',
-        icon: 'none'
-      })
-      driverLogin({
-        ...form,
-				uuid: this.captcha.uuid,
-				openid: this.$store.state.openId,
-				code: '1'
-      }).then(res => {
-        if (res.code === 200) {
-          this.setToken(res.data)
-          getUserInfo().then(ress => {
-						setTimeout(() => {
-							this.showToast('鐧诲綍鎴愬姛')
-						})
-            this.setDriverInfo(ress.data)
-            uni.redirectTo({
-              url: "/pages/driver/index"
-            })
-          })
-        }
-      })
-    }
-  }
-}
-</script>
-
-<style lang="scss" scoped>
-.login {
-  width: 100%;
-  display: flex;
-  padding-top: 100rpx;
-  box-sizing: border-box;
-  align-items: center;
-  flex-direction: column;
-  background: linear-gradient(
-    180deg,
-    rgba(39, 155, 170, 0.2) 0%,
-    rgba(39, 155, 170, 0) 100%
-  );
-  .login_logo {
-    width: 180rpx;
-    height: 180rpx;
-		margin-bottom: 40rpx;
-  }
-  .login_bg {
-  	position: absolute;
-  	top: 0;
-  	left: 0;
-  	width: 100%;
-  	z-index: -1;
-  }
-  .login_title {
-    font-size: 44rpx;
-    font-weight: 600;
-    color: #333333;
-  }
-  .login_list {
-		margin-top: 60rpx;
-    width: 100%;
-    padding: 0 60rpx;
-    box-sizing: border-box;
-    .login_list_item {
-      width: 100%;
-      border-radius: 50rpx;
-      height: 98rpx;
-      padding: 0 40rpx;
-      box-sizing: border-box;
-      background: #ffffff;
-      margin-bottom: 40rpx;
-      display: flex;
-      align-items: center;
-      justify-content: space-between;
-      &:last-child {
-        margin-bottom: 0 !important;
-      }
-      image {
-        flex-shrink: 0;
-        width: 40rpx;
-        height: 40rpx;
-      }
-      .captcha {
-        color: $uni-color-primary;
-      }
-      input {
-        flex: 1;
-        height: 100%;
-        color: #666666;
-        margin-left: 24rpx;
-        border: none;
-      }
-    }
-  }
-  .login_btn {
-    width: 100%;
-    padding: 0 60rpx;
-    box-sizing: border-box;
-    margin-top: 80rpx;
-    .for_psd {
-      color: $uni-color-primary;
-      margin-top: 40rpx;
-      width: 140rpx;
-      text-align: center;
-      margin: 40rpx auto;
-    }
-    .login_btn_n {
-      width: 100%;
-      height: 98rpx;
-      background: $uni-color-primary;
-      box-shadow: 0rpx 12rpx 24rpx 0rpx rgba(39, 155, 170, 0.2);
-      display: flex;
-      align-items: center;
-      justify-content: center;
-      font-weight: 600;
-      font-size: 32rpx;
-      color: #ffffff;
-      border-radius: 50rpx;
-    }
-  }
-  .deal_wrap {
-    position: absolute;
-    width: 100%;
-    left: 0;
-    text-align: center;
-    bottom: 108rpx;
-    .deal {
-      color: $uni-color-primary;
-    }
-  }
-	.btns{
-		display: flex;
-		align-items: center;
-		justify-content: center;
-		position: fixed;
-		bottom: 60rpx;
-		left: 0;
-		width: 100%;
-		.btn{
-			font-size: 30rpx;
-			color: $uni-color-primary;
-		}
-		.separate{ margin: 0 8rpx; }
-	}
-}
-.modal {
-  padding: 32rpx;
-}
-</style>
+<template>
+	<view class="login">
+		<image class="login_bg" src="@/static/login_bg@2x.png" mode="widthFix" />
+		<image class="login_logo" src="@/static/logo@2x.png" mode="widthFix" />
+		<view class="login_title">瀹夋嘲鐗╂祦鏅烘収鍥尯</view>
+		<view class="login_title">鐗╂祦杞﹀徃鏈虹櫥褰�</view>
+		<view class="login_list">
+			<view class="login_list_item">
+				<image src="@/static/login_ic_phone@2x.png" mode="widthFix" />
+				<input v-model="form.username" type="tel" @focus="showKeyboard = true" @blur="showKeyboard = false"
+					maxlength="18" placeholder="鎵嬫満鍙�" />
+			</view>
+			<view class="login_list_item">
+				<image src="@/static/login_ic_password@2x.png" mode="widthFix" />
+				<input v-model="form.password" @focus="showKeyboard = true" @blur="showKeyboard = false" type="password"
+					placeholder="瀵嗙爜" />
+			</view>
+		</view>
+		<view class="login_btn">
+			<view class="login_btn_n" @click="onLogin">绔嬪嵆鐧诲綍</view>
+		</view>
+		<!--  -->
+		<view class="btns" v-if="!showKeyboard">
+			<view class="btn" @click="handleRegister">绔嬪嵆娉ㄥ唽</view>
+			<view class="btn separate"> | </view>
+			<view class="btn" @click="handleSetPsd">蹇樿瀵嗙爜</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	import {
+		driverLogin,
+		loginCaptcha,
+		getUserInfo
+	} from '@/api'
+	import {
+		mapState,
+		mapMutations
+	} from 'vuex'
+	export default {
+		data() {
+			return {
+				form: {
+					username: '',
+					password: ''
+				},
+				isShowProtocol: false,
+				showKeyboard: false,
+				countDown: 0,
+				
+				ywinfo: {}
+			}
+		},
+		onLoad() {
+			this.initCaptcha()
+			const ywinfo = uni.getStorageSync('ywinfo') || {}
+			if (ywinfo.ywid && ywinfo.type == 0) {
+				this.ywinfo = ywinfo
+				uni.setStorageSync('ywinfo', {})
+			}
+		},
+
+		methods: {
+			...mapMutations(["setToken", "setDriverInfo"]),
+			handleRegister() {
+				uni.navigateTo({
+					url: "/pages/driver/register"
+				})
+			},
+			handleSetPsd() {
+				uni.navigateTo({
+					url: "/pages/driver/forgetPsd?phone=" + this.form.username
+				})
+			},
+			dealChange(e) {
+				console.log(e)
+			},
+			initCaptcha() {
+				loginCaptcha().then(res => {
+					this.captcha = res.data
+				})
+			},
+
+			onLogin() {
+				const {
+					form
+				} = this
+				if (!form.username) return uni.showToast({
+					title: '鎵嬫満鍙蜂笉鑳戒负绌�',
+					icon: 'none'
+				})
+				if (!form.password) return uni.showToast({
+					title: '瀵嗙爜涓嶈兘涓虹┖',
+					icon: 'none'
+				})
+				driverLogin({
+					...form,
+					uuid: this.captcha.uuid,
+					openid: this.$store.state.openId,
+					code: '1'
+				}).then(res => {
+					if (res.code === 200) {
+						this.setToken(res.data)
+						getUserInfo().then(ress => {
+							setTimeout(() => {
+								this.showToast('鐧诲綍鎴愬姛')
+							})
+							uni.setStorageSync('ywinfo', this.ywinfo)
+							this.setDriverInfo(ress.data)
+							uni.redirectTo({
+								url: "/pages/driver/index"
+							})
+						})
+					}
+				})
+			}
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.login {
+		width: 100%;
+		display: flex;
+		padding-top: 100rpx;
+		box-sizing: border-box;
+		align-items: center;
+		flex-direction: column;
+		background: linear-gradient(180deg,
+				rgba(39, 155, 170, 0.2) 0%,
+				rgba(39, 155, 170, 0) 100%);
+
+		.login_logo {
+			width: 180rpx;
+			height: 180rpx;
+			margin-bottom: 40rpx;
+		}
+
+		.login_bg {
+			position: absolute;
+			top: 0;
+			left: 0;
+			width: 100%;
+			z-index: -1;
+		}
+
+		.login_title {
+			font-size: 44rpx;
+			font-weight: 600;
+			color: #333333;
+		}
+
+		.login_list {
+			margin-top: 60rpx;
+			width: 100%;
+			padding: 0 60rpx;
+			box-sizing: border-box;
+
+			.login_list_item {
+				width: 100%;
+				border-radius: 50rpx;
+				height: 98rpx;
+				padding: 0 40rpx;
+				box-sizing: border-box;
+				background: #ffffff;
+				margin-bottom: 40rpx;
+				display: flex;
+				align-items: center;
+				justify-content: space-between;
+
+				&:last-child {
+					margin-bottom: 0 !important;
+				}
+
+				image {
+					flex-shrink: 0;
+					width: 40rpx;
+					height: 40rpx;
+				}
+
+				.captcha {
+					color: $uni-color-primary;
+				}
+
+				input {
+					flex: 1;
+					height: 100%;
+					color: #666666;
+					margin-left: 24rpx;
+					border: none;
+				}
+			}
+		}
+
+		.login_btn {
+			width: 100%;
+			padding: 0 60rpx;
+			box-sizing: border-box;
+			margin-top: 80rpx;
+
+			.for_psd {
+				color: $uni-color-primary;
+				margin-top: 40rpx;
+				width: 140rpx;
+				text-align: center;
+				margin: 40rpx auto;
+			}
+
+			.login_btn_n {
+				width: 100%;
+				height: 98rpx;
+				background: $uni-color-primary;
+				box-shadow: 0rpx 12rpx 24rpx 0rpx rgba(39, 155, 170, 0.2);
+				display: flex;
+				align-items: center;
+				justify-content: center;
+				font-weight: 600;
+				font-size: 32rpx;
+				color: #ffffff;
+				border-radius: 50rpx;
+			}
+		}
+
+		.deal_wrap {
+			position: absolute;
+			width: 100%;
+			left: 0;
+			text-align: center;
+			bottom: 108rpx;
+
+			.deal {
+				color: $uni-color-primary;
+			}
+		}
+
+		.btns {
+			display: flex;
+			align-items: center;
+			justify-content: center;
+			position: fixed;
+			bottom: 60rpx;
+			left: 0;
+			width: 100%;
+
+			.btn {
+				font-size: 30rpx;
+				color: $uni-color-primary;
+			}
+
+			.separate {
+				margin: 0 8rpx;
+			}
+		}
+	}
+
+	.modal {
+		padding: 32rpx;
+	}
+</style>
\ No newline at end of file
diff --git a/h5/pages/login/login.vue b/h5/pages/login/login.vue
index 9ab5fd0..196c85d 100644
--- a/h5/pages/login/login.vue
+++ b/h5/pages/login/login.vue
@@ -41,10 +41,11 @@
 	export default {
 		data() {
 			return {
-				code: ''
+				code: 'qqq'
 			}
 		},
 		onLoad(option) {
+			console.log('onLoad');
 			if(option.ywid){
 				uni.setStorageSync('ywinfo', {
 					type: option.type,
diff --git a/h5/pages/staff/task/vDangetAppr.vue b/h5/pages/staff/task/vDangetAppr.vue
index a5caa3e..2e619e1 100644
--- a/h5/pages/staff/task/vDangetAppr.vue
+++ b/h5/pages/staff/task/vDangetAppr.vue
@@ -14,7 +14,7 @@
 						class="img" />
 					<view v-if="item.type == 1" @click="videoClick(item, i)" class="video_wrap">
 						<video :src="item.fileurlFull" initial-time="0.01" :show-center-play-btn="false" :controls="false"
-							class="video" :enable-progress-gesture="false" autoplay muted />
+							class="video" :enable-progress-gesture="false" muted />
 						<image src="@/static/play.png" class="play" mode=""></image>
 					</view>
 				</view>
diff --git a/h5/pages/staffLogin/login.vue b/h5/pages/staffLogin/login.vue
index ddde42d..6e6aa57 100644
--- a/h5/pages/staffLogin/login.vue
+++ b/h5/pages/staffLogin/login.vue
@@ -86,7 +86,9 @@
       ProtocolFlag: false,
       captcha: {},
       htmlText: '',
-			windowHeight: ''
+			windowHeight: '',
+			
+			ywinfo: {}
     }
   },
 
@@ -94,7 +96,12 @@
     this.initCaptcha()
 		const result = uni.getWindowInfo()
 		this.windowHeight = result.windowHeight
-		console.log('result', result);
+		
+		const ywinfo = uni.getStorageSync('ywinfo') || {}
+		if (ywinfo.ywid && ywinfo.type == 2) {
+			this.ywinfo = ywinfo
+			uni.setStorageSync('ywinfo', {})
+		}
   },
   onBackPress(options) {
     uni.redirectTo({
@@ -151,6 +158,7 @@
         if (res.code === 200) {
           this.setToken(res.data)
           getUserInfo().then(ress => {
+						uni.setStorageSync('ywinfo', this.ywinfo)
             this.setUserInfo(ress.data)
             uni.redirectTo({
               url: "/pages/staff/index"
diff --git a/h5/utils/config.js b/h5/utils/config.js
index 05ff784..08884a3 100644
--- a/h5/utils/config.js
+++ b/h5/utils/config.js
@@ -1,8 +1,8 @@
 
-// export const baseUrl = 'zhyq_interface/'
+export const baseUrl = 'zhyq_interface/'
 // export const baseUrl = 'http://192.168.0.173/gateway_interface/'
 // export const baseUrl = 'http://10.50.250.253:8088/gateway_interface/'
-export const baseUrl = 'https://atwl.ahzyssl.com/zhyq_interface/' 
+// export const baseUrl = 'https://atwl.ahzyssl.com/zhyq_interface/' 
 
 export const app_url = 'https://atwl.ahzyssl.com/zhyq_h5/#/'
 
diff --git a/screen/package-lock.json b/screen/package-lock.json
index b22bfc0..d1d2315 100644
--- a/screen/package-lock.json
+++ b/screen/package-lock.json
@@ -18,7 +18,6 @@
         "uqrcodejs": "^4.0.7",
         "v-scale-screen": "^2.0.0",
         "vue": "^3.4.21",
-        "vue-loading-overlay": "^6.0.6",
         "vue-router": "^4.3.0"
       },
       "devDependencies": {
@@ -3167,9 +3166,9 @@
       }
     },
     "node_modules/sass": {
-      "version": "1.82.0",
-      "resolved": "https://registry.npmmirror.com/sass/-/sass-1.82.0.tgz",
-      "integrity": "sha512-j4GMCTa8elGyN9A7x7bEglx0VgSpNUG4W4wNedQ33wSMdnkqQCT8HTwOaVSV4e6yQovcu/3Oc4coJP/l0xhL2Q==",
+      "version": "1.83.0",
+      "resolved": "https://registry.npmjs.org/sass/-/sass-1.83.0.tgz",
+      "integrity": "sha512-qsSxlayzoOjdvXMVLkzF84DJFc2HZEL/rFyGIKbbilYtAvlCxyuzUeff9LawTn4btVnLKg75Z8MMr1lxU1lfGw==",
       "dev": true,
       "dependencies": {
         "chokidar": "^4.0.0",
@@ -3718,17 +3717,6 @@
         "@vue/composition-api": {
           "optional": true
         }
-      }
-    },
-    "node_modules/vue-loading-overlay": {
-      "version": "6.0.6",
-      "resolved": "https://registry.npmjs.org/vue-loading-overlay/-/vue-loading-overlay-6.0.6.tgz",
-      "integrity": "sha512-ZPrWawjCoNKGbCG9z4nePgbs/K9KXPa1j1oAJXP6T8FQho3NO+/chhjx4MLYFzfpwr+xkiQ8SNrV1kUG1bZPAw==",
-      "engines": {
-        "node": ">=12.13.0"
-      },
-      "peerDependencies": {
-        "vue": "^3.2.0"
       }
     },
     "node_modules/vue-router": {
diff --git a/screen/package.json b/screen/package.json
index 32f3191..828491a 100644
--- a/screen/package.json
+++ b/screen/package.json
@@ -20,7 +20,6 @@
     "uqrcodejs": "^4.0.7",
     "v-scale-screen": "^2.0.0",
     "vue": "^3.4.21",
-    "vue-loading-overlay": "^6.0.6",
     "vue-router": "^4.3.0"
   },
   "devDependencies": {
diff --git a/screen/src/api/index.js b/screen/src/api/index.js
index 919a5b1..74d7469 100644
--- a/screen/src/api/index.js
+++ b/screen/src/api/index.js
@@ -83,6 +83,9 @@
 export const getTemperatureHumidityData = (data) => {
   return request('visitsAdmin/cloudService/board/api/fightingAdmin/getTemperatureHumidityData', data)
 }
+export const monitorDataListP = (data) => {
+  return request('visitsAdmin/cloudService/board/api/fightingAdmin/monitorDataList', data)
+}
 
 
 // 鍦哄唴璋冨害鐪嬫澘 浠婃棩鏈堝彴瀹屾垚璁㈠崟缁熻
@@ -142,6 +145,10 @@
 export const carsListPost = (data) => {
   return request('/visitsAdmin/cloudService/board/api/platformJobRun/carsList', data)
 }
+// 鐗╂祦杩愯璋冨害鐪嬫澘 鎶ヨ淇℃伅
+export const carsEventListP = (data) => {
+  return request('/visitsAdmin/cloudService/board/api/platformJobRun/carsEventList', data)
+}
 // 鐗╂祦杩愯璋冨害鐪嬫澘 鏍规嵁杞﹁締鏌ヤ俊鎭�
 export const getCarsJobDetails = (data) => {
   return request('/visitsAdmin/cloudService/board/api/platformJobRun/getCarsJobDetails', data, 'POST')
diff --git a/screen/src/router/index.js b/screen/src/router/index.js
index 01f66d0..af696c1 100644
--- a/screen/src/router/index.js
+++ b/screen/src/router/index.js
@@ -43,7 +43,7 @@
       path: '/LogisticsCenter', //鍏ㄧ渷鐗╂祦鍦ㄩ��-鐗╂祦涓績
       name: 'LogisticsCenter',
       meta: {
-        title: '鍏ㄧ渷鐗╂祦鍦ㄩ��'
+        title: '瀹夊窘涓儫鎴愬搧闆嗘帶澶у睆'
       },
       component: () => import('../views/LogisticsCenter.vue')
     },
diff --git a/screen/src/views/EnergyConsum.vue b/screen/src/views/EnergyConsum.vue
index 3ad40c9..419ae85 100644
--- a/screen/src/views/EnergyConsum.vue
+++ b/screen/src/views/EnergyConsum.vue
@@ -255,7 +255,7 @@
             <div v-if="data3 && data3.length > 0" class="list">
               <template v-for="item, i in data3">
                 <div v-if="i < 6" class="line">
-                  <div class="top"><span v-if="i < 3">top</span>{{ i + 1 }}</div>
+                  <div class="top" :class="{top3: i < 3}"><span v-if="i < 3">top</span>{{ i + 1 }}</div>
                   <div class="id_card">{{ item.carNo }}</div>
                   <div class="wrap">
                     <ChargeRate :rate="item.rate" :color="i > 2 ? 'cyan' : '#e3a83a'" />
@@ -1013,6 +1013,9 @@
             box-shadow: inset 0px 0px 3px 0px #01D9FE;
             margin-right: 10px;
           }
+          .top3{
+            box-shadow: inset 0px 0px 3px 0px #FEAF01;
+          }
 
           .id_card {
             color: #DBEAEA;
diff --git a/screen/src/views/FireFighting.vue b/screen/src/views/FireFighting.vue
index f9590a4..f0ca910 100644
--- a/screen/src/views/FireFighting.vue
+++ b/screen/src/views/FireFighting.vue
@@ -30,7 +30,7 @@
                   <span class="item">鎶ヨ</span>
                   <span class="item">灞忚斀</span>
                   <span class="item">鏁呴殰</span>
-                  <span class="item">绂荤嚎</span>
+                  <span class="item">姝e父</span>
                 </div>
                 <div class="one-swiper list_content">
                   <div class="swiper-wrapper">
@@ -89,7 +89,7 @@
               <div class="item">
                 <img src="@/assets/images/FireFighting/xiaofang_ic_zaixian@2x.png" alt="">
                 <div class="content">
-                  <div class="name">鍦ㄧ嚎</div>
+                  <div class="name">鎬绘暟</div>
                   <div class="num">{{ dataList4.onlineDeviceNum }}</div>
                 </div>
               </div>
@@ -110,7 +110,7 @@
               <div class="item">
                 <img src="@/assets/images/FireFighting/xiaofang_ic_lixian@2x.png" alt="">
                 <div class="content">
-                  <div class="name">绂荤嚎</div>
+                  <div class="name">姝e父</div>
                   <div class="num num4">{{ dataList4.offlineDeviceNum }}</div>
                 </div>
               </div>
@@ -131,29 +131,33 @@
                   <span>娓╁害/婀垮害浼犳劅鍣�</span>
                 </div>
                 <div class="right">
-                  <img @click="changeData8(-1)" class="icon" src="@/assets/images/FireFighting/xiaofang_ar_left@2x.png" alt="">
-                  <div class="num">{{dataIndex8 + 1}}/{{ dataList8.length }}</div>
-                  <img @click="changeData8(1)" class="icon" src="@/assets/images/FireFighting/xiaofang_ar_right@2x.png" alt="">
+                  <img @click="changeData8(-1)" class="icon" src="@/assets/images/FireFighting/xiaofang_ar_left@2x.png"
+                    alt="">
+                  <div class="num">{{ dataIndex8 + 1 }}/{{ dataList8.length }}</div>
+                  <img @click="changeData8(1)" class="icon" src="@/assets/images/FireFighting/xiaofang_ar_right@2x.png"
+                    alt="">
                 </div>
               </div>
               <div class="list_wrap">
                 <div class="title">
                   <img class="icon" src="@/assets/images/FireFighting/ic_location@2x.png" alt="">
-                  <span>鍗歌揣鍖�1</span>
+                  <span v-if="dataList8 && dataList8.length > 0">{{ dataList8[dataIndex8].humidityData.name }}</span>
                 </div>
                 <div class="list" v-if="dataList8 && dataList8.length > 0">
                   <div class="item">
                     <img class="icon" src="@/assets/images/FireFighting/ic_wendu@2x.png" alt="">
                     <div class="content">
                       <div class="num">{{ dataList8[dataIndex8].temperatureData?.latestValue }}<span>掳C</span></div>
-                      <div class="la">闃堝�� {{ dataList8[dataIndex8].temperatureData?.alarmLow }}锝瀧{ dataList8[dataIndex8].temperatureData?.alarmHigh }}掳C</div>
+                      <div class="la">闃堝�� {{ dataList8[dataIndex8].temperatureData?.alarmLow }}锝瀧{
+                        dataList8[dataIndex8].temperatureData?.alarmHigh }}掳C</div>
                     </div>
                   </div>
                   <div class="item">
                     <img class="icon" src="@/assets/images/FireFighting/ic_shidu@2x.png" alt="">
                     <div class="content">
                       <div class="num">{{ dataList8[dataIndex8].humidityData?.latestValue }}<span>%</span></div>
-                      <div class="la">闃堝�� {{ dataList8[dataIndex8].humidityData?.alarmLow }}锝瀧{ dataList8[dataIndex8].humidityData?.alarmHigh }}</div>
+                      <div class="la">闃堝�� {{ dataList8[dataIndex8].humidityData?.alarmLow }}锝瀧{
+                        dataList8[dataIndex8].humidityData?.alarmHigh }}</div>
                     </div>
                   </div>
                 </div>
@@ -166,35 +170,30 @@
                   <span>瀹炴椂浼犳劅鍣ㄦ娴�</span>
                 </div>
                 <div class="right">
-                  <img class="icon" src="@/assets/images/FireFighting/xiaofang_ar_left@2x.png" alt="">
-                  <div class="num">1/5</div>
-                  <img class="icon" src="@/assets/images/FireFighting/xiaofang_ar_right@2x.png" alt="">
+                  <img @click="changeData9(-1)" class="icon" src="@/assets/images/FireFighting/xiaofang_ar_left@2x.png"
+                    alt="">
+                  <div class="num">{{ dataIndex9 + 1 }}/{{ dataTotal9 }}</div>
+                  <img @click="changeData9(1)" class="icon" src="@/assets/images/FireFighting/xiaofang_ar_right@2x.png"
+                    alt="">
                 </div>
               </div>
-              <div class="list_wrap">
-                <div class="title_wrap">
+              <div class="list_wrap2">
+                <div class="item" v-for="item, i in dataListTemp9">
                   <div class="title">
                     <img class="icon" src="@/assets/images/FireFighting/ic_location@2x.png" alt="">
-                    <span>1璺�/姘村帇</span>
+                    <span>{{ item.name }}</span>
                   </div>
-                  <div class="title">
-                    <img class="icon" src="@/assets/images/FireFighting/ic_location@2x.png" alt="">
-                    <span>2璺�/娑蹭綅</span>
+                  <div class="watergage_wrap" v-if="item.obj.typeCode == 253958">
+                    <div class="watergage" :id="'watergage' + i"></div>
+                    <div class="unit">{{ item.obj.value }}</div>
+                    <div class="place">闃堝�� {{ item.level }}</div>
                   </div>
-                </div>
-                <div class="list">
-                  <div class="watergage_wrap">
-                    <div class="watergage" id="watergage"></div>
-                    <div class="unit">2.50 <span>Mpa</span></div>
-                    <div class="place">闃堝�� 0锝�2.5Mpa</div>
-                  </div>
-                  <div class="item">
-                    <div class="liquidlevel_wrap">
-                      <div class="liquidlevel" id="liquidlevel"></div>
-                      <div class="unit">3.45 <span>M</span></div>
-                      <div class="placeT">闃堝��</div>
+                  <div v-if="item.obj.typeCode == 254001" class="liquidlevel_wrap">
+                    <div class="liquidlevel" :id="'liquidlevel' + i"></div>
+                    <div class="liquidle_te">
+                      <div class="unit">{{ item.obj.value }}</div>
+                      <div class="placeT">闃堝�納{ item.level }}</div>
                     </div>
-                    <div class="place">闃堝�� 0锝�4.50M</div>
                   </div>
                 </div>
               </div>
@@ -312,7 +311,7 @@
 </template>
 
 <script setup>
-import { ref, onMounted } from 'vue'
+import { ref, onMounted, nextTick } from 'vue'
 import VScaleScreen from 'v-scale-screen'
 import FirePercent from '@/components/FirePercent.vue'
 import dayjs from 'dayjs'
@@ -328,7 +327,8 @@
   getFightingDeAlarm,
   getFightingDeviceY,
   getFighalarmDataList,
-  getTemperatureHumidityData
+  getTemperatureHumidityData,
+  monitorDataListP
 } from '@/api'
 
 const colors = ['#FEAF01', '#01ABFE', '#51F9E4']
@@ -344,9 +344,14 @@
 }, 1000)
 
 
-const initWatergage = () => {
-  const myChart = echarts.init(document.getElementById('watergage'))
-  var data_value = 1
+const initWatergage = (id, item) => {
+  const myChart = echarts.init(document.getElementById(id))
+  var data_value = item.obj.value.replaceAll('Mpa', '')
+  const startI = item.level.indexOf('-')
+  const endI = item.level.indexOf('Mpa')
+  let maxNum = item.level.slice(startI + 1, endI)
+  let minNum = item.level.slice(0, startI)
+  // let maxNum = 
   const option = {
     barMaxWidth: 3,
     polar: {
@@ -373,8 +378,8 @@
     series: [
       {
         type: 'gauge',
-        min: 0,
-        max: 2.50,
+        min: minNum,
+        max: maxNum,
         splitNumber: 5,
         radius: '100%',
         center: ['50%', '50%'],
@@ -506,9 +511,17 @@
     myChart.resize()
   })
 }
-const initLiquidlevel = () => {
-  const myChart = echarts.init(document.getElementById('liquidlevel'))
-  var data = 65
+const initLiquidlevel = (id, item) => {
+  const myChart = echarts.init(document.getElementById(id))
+  const startI = item.level.indexOf('-')
+  const endI = item.level.indexOf('M')
+  let maxNum = item.level.slice(startI + 1, endI)
+  let minNum = item.level.slice(0, startI)
+  let conNum = maxNum - minNum
+  let acNum = item.obj.value.replaceAll('M', '')
+  var data = (((acNum - minNum) / conNum) * 100).toFixed(0)
+  console.log('data', data);
+  
   const option = {
     tooltip: {
       trigger: 'none',
@@ -924,20 +937,69 @@
 
 const dataList8 = ref([])
 const dataIndex8 = ref(0)
+
+const dataList9 = ref([])
+const dataListTemp9 = ref([])
+const dataIndex9 = ref(0)
+const dataTotal9 = ref(0)
+
 const getData8 = () => {
   getTemperatureHumidityData().then(res => {
     dataList8.value = res.data || []
   })
+  monitorDataListP().then(res => {
+    dataList9.value = res.data || []
+    dataList9.value.forEach(item => {
+      if (item.dataList && item.dataList.length > 0) {
+        item.obj = item.dataList[0]
+      }
+    })
+    if (dataList9.value.length > 0) {
+      dataTotal9.value = Math.ceil(dataList9.value.length / 2)
+      dataListTemp9.value = dataList9.value.slice(0, 2)
+    }
+    initEcharts9()
+  })
 }
 const changeData8 = (num) => {
-  if(dataIndex8.value == dataList8.value.length - 1  && num > 0){
+  if (dataIndex8.value == dataList8.value.length - 1 && num > 0) {
     dataIndex8.value = 0
-  }else if (dataIndex8.value == 0 && num < 0){
+  } else if (dataIndex8.value == 0 && num < 0) {
     dataIndex8.value = dataList8.value.length - 1
-  }else{
-    dataIndex8.value =  dataIndex8.value + num
+  } else {
+    dataIndex8.value = dataIndex8.value + num
   }
 }
+const changeData9 = (num) => {
+  // return
+  if (dataIndex9.value == dataTotal9.value - 1 && num > 0) {
+    dataIndex9.value = 0
+    dataListTemp9.value = dataList9.value.slice(0, 2)
+  } else if (dataIndex9.value == 0 && num < 0) {
+    dataIndex9.value = dataTotal9.value - 1
+    dataListTemp9.value = dataList9.value.slice(dataList9.value.length - 2, dataList9.value.length)
+  } else {
+    dataIndex9.value = dataIndex9.value + num
+    dataListTemp9.value = dataList9.value.slice(dataIndex9.value * 2, (dataIndex9.value + 1) * 2)
+  }
+  initEcharts9()
+}
+const initEcharts9 = () => {
+  dataListTemp9.value.forEach((item, i) => {
+
+    if (item.obj && item.obj.typeCode == 253958) {
+      nextTick(() => {
+        initWatergage('watergage' + i, item)
+      })
+    }
+    if (item.obj && item.obj.typeCode == 254001) {
+      nextTick(() => {
+        initLiquidlevel('liquidlevel' + i, item)
+      })
+    }
+  })
+}
+
 
 const autoplayFlag = (list = [], leng = 4, time = 2000) => {
   if (list.length > leng) {
@@ -987,9 +1049,6 @@
     getData8()
 
   }, 60 * 60 * 1000)
-
-  initWatergage()
-  initLiquidlevel()
 
   setTimeout(() => {
     loopFn1()
@@ -1273,7 +1332,8 @@
               display: flex;
               align-items: center;
               position: relative;
-              .place{
+
+              .place {
                 position: absolute;
                 top: 120px;
                 right: 70px;
@@ -1283,6 +1343,7 @@
                 width: 120px;
                 text-align: center;
               }
+
               .icon {
                 width: 70px;
                 height: 70px;
@@ -1307,76 +1368,111 @@
               }
             }
           }
+        }
 
-          .watergage_wrap {
-            text-align: center;
-            position: relative;
-            left: 30px;
-            .watergage {
-              width: 130px;
-              height: 112px;
-            }
+        .list_wrap2 {
+          display: flex;
+          align-items: center;
+          height: 206px;
+          background-image: url('@/assets/images/FireFighting/bg_wendu@2x.png');
+          background-size: cover;
 
-            .unit {
-              font-weight: 500;
-              font-size: 18px;
-              position: relative;
-              bottom: 16px;
-              left: 4px;
+          .item {
+            width: 50%;
+            height: 100%;
 
-              span {
-                font-size: 12px;
-                font-weight: 400;
+            .title {
+              height: 46px;
+              display: flex;
+              align-items: center;
+              color: #D2E0FF;
+              padding-left: 20px;
+
+              .icon {
+                width: 16px;
+                margin-right: 8px;
               }
             }
 
-            .place {
+            .watergage_wrap {
+              text-align: center;
               position: relative;
-              bottom: 16px;
-              left: 4px;
-              font-size: 13px;
-              color: #869CC9;
-            }
-          }
+              left: 30px;
 
-          .liquidlevel_wrap {
-            transform: scale(0.24);
-            color: #fff;
-            text-align: center;
-            position: relative;
-            left: 20px;
-            bottom: 10px;
+              .watergage {
+                width: 130px;
+                height: 112px;
+              }
 
-            .unit {
-              font-weight: 500;
-              font-size: 80px;
-              position: relative;
-              bottom: 24px;
-              left: 4px;
+              .unit {
+                font-weight: 500;
+                font-size: 18px;
+                position: relative;
+                bottom: 16px;
+                left: 4px;
+                width: 130px;
+                margin-bottom: 6px;
+                margin-top: 2px;
 
-              span {
-                font-size: 52px;
-                font-weight: 400;
+                span {
+                  font-size: 12px;
+                  font-weight: 400;
+                }
+              }
+
+              .place {
+                position: relative;
+                bottom: 16px;
+                left: 4px;
+                width: 130px;
+                font-size: 13px;
+                color: #869CC9;
               }
             }
 
-            .placeT {
+            .liquidlevel_wrap {
               position: relative;
-              bottom: 10px;
-              left: 4px;
-              font-size: 44px;
-              color: #869CC9;
-              opacity: 0;
-            }
 
-            .liquidlevel {
-              width: 300px;
-              height: 396px;
+              /* border: 6px solid red; */
+              .liquidle_te {
+                font-weight: 500;
+                font-size: 16px;
+                position: absolute;
+                top: 102px;
+                left: 0;
+                width: 214px;
+                display: flex;
+                flex-direction: column;
+                align-items: center;
 
+                .placeT {
+                  font-size: 12px;
+                  color: #869CC9;
+                  margin-top: 4px;
+                }
+              }
+
+              /* .placeT {
+                position: relative;
+                bottom: 10px;
+                left: 4px;
+                font-size: 74px;
+                color: #869CC9;
+                opacity: 0;
+              } */
+
+              .liquidlevel {
+                width: 300px;
+                height: 400px;
+                transform: scale(0.24);
+                color: #fff;
+                text-align: center;
+                position: relative;
+                left: -42px;
+                top: -140px;
+              }
             }
           }
-
-
         }
       }
 
diff --git a/screen/src/views/LogisticsCenter.vue b/screen/src/views/LogisticsCenter.vue
index 7b0303a..1359e22 100644
--- a/screen/src/views/LogisticsCenter.vue
+++ b/screen/src/views/LogisticsCenter.vue
@@ -4,7 +4,7 @@
       <img src="@/assets/images/LogisticsCenter/bg@2x.png" class="main_bg" alt="" />
       <div class="main_header">
         <img src="@/assets/images/maintitle.gif" class="main_header_bg" alt="" />
-        <div class="title">鍏ㄧ渷鐗╂祦鍦ㄩ��</div>
+        <div class="title">瀹夊窘涓儫鎴愬搧闆嗘帶澶у睆</div>
         <div class="time_wrap">
           <span class="date">{{ date }}</span>
           <span class="week">{{ week }}</span>
@@ -101,9 +101,9 @@
             </div>
             <div class="list_wrap">
               <div class="header line">
-                <span class="item">杩愯緭杞﹁締</span>
-                <span class="item status">鐘舵��</span>
-                <span class="item">浣嶇疆</span>
+                <span class="item">鍚堝悓鍙�</span>
+                <span class="item status">璁㈠崟鐘舵��</span>
+                <span class="item">鐩殑鍦�</span>
                 <span class="item">浠诲姟涓嬭揪鏃堕棿</span>
               </div>
               <div class="one-swiper list">
@@ -225,17 +225,19 @@
           </div>
           <div class="center_box_two">
             <div class="echart_map" ref="mapEchart" id="echart_map"></div>
-            <div v-if="showModal1" @click="showModal1 = false" class="modal1">
-              <div class="list">
+            <div v-if="showModal1" class="modal1">
+              <div class="content">
                 <div class="head line">
                   <div class="item">杞︾墝鍙�</div>
                   <div class="item">鍚堝悓鍙�</div>
                   <div class="item addr">鐩殑鍦�</div>
                 </div>
-                <div class="line" v-for="item in active1List">
-                  <div class="item">{{ item.platNumber }}</div>
-                  <div class="item">{{ item.contractNumber }}</div>
-                  <div class="item addr">{{ item.repertotyName }}</div>
+                <div class="list">
+                  <div class="line" v-for="item in active1List">
+                    <div class="item">{{ item.platNumber }}</div>
+                    <div class="item">{{ item.contractNumber }}</div>
+                    <div class="item addr">{{ item.repertotyName }}</div>
+                  </div>
                 </div>
               </div>
             </div>
@@ -305,7 +307,7 @@
             <div class="second_title">
               <div class="title">
                 <img src="@/assets/images/LogisticsCenter/ic_title@2x.png" class="icon" alt="" />
-                <div>杩愮敤璧勬簮鍒╃敤鐜�</div>
+                <div>杩愬姏璧勬簮鍒╃敤鐜�</div>
               </div>
               <div class="side">
                 鍏ㄧ渷锛�
@@ -323,8 +325,11 @@
       <!--  -->
       <div class="modal_wrap" v-if="showModal">
         <div class="title_head">
-          <img src="@/assets/images/energy_ef/chuku_ic_car@2x.png" alt="">
-          <span>鍚堝悓鍙凤細{{ modalInfo.contractNumber }}</span>
+          <div class="left">
+            <img src="@/assets/images/energy_ef/chuku_ic_car@2x.png" alt="">
+            <span>鍚堝悓鍙凤細{{ modalInfo.contractNumber }}</span>
+          </div>
+          <div class="tit_status">{{ modalInfo.orderStatusDesc }}</div>
         </div>
         <div class="info">
           <div class="item">
@@ -366,6 +371,7 @@
           <div id="map-container" ref="mapContainer"></div>
           <div class="fu_list">
             <div class="fu_item" v-for="item, k in modalInfo.cicleStatusList">
+              <view v-if="k != modalInfo.cicleStatusList.length - 1" class="separate"></view>
               <div class="item_title">
                 <div class="icon">
                   <img v-if="item.key == 0 && k != 0" src="@/assets/images/LogisticsCenter/ic_dingdan@2x.png"
@@ -400,7 +406,7 @@
                   <div v-else class="icon_wrap"></div>
                   <div class="text" :class="{ placeholder3: k == 0 && i == 0 }">
                     {{ ite.orderStatusDes }}
-                    <text v-if="ite.tel">锛屽彂璐т粨搴撶數璇濓細</text>
+                    <text v-if="ite.tel">,鍙戣揣浠撳簱鐢佃瘽锛�</text>
                     <text v-if="ite.tel" class="primaryColor">{{ ite.tel }}</text>
                   </div>
                 </div>
@@ -411,7 +417,7 @@
         </div>
         <Loading v-if="modalLoading" />
       </div>
-      <div class="modal_mask" v-if="showModal" @click="closeModal"></div>
+      <div class="modal_mask" v-if="showModal || showModal1" @click="closeModal"></div>
     </div>
   </v-scale-screen>
 </template>
@@ -517,7 +523,7 @@
     item.yearNum = 0
     mapList.value.forEach(ite => {
       if (item.name == ite.name) {
-        item.value = ite.value
+        item.value = ite.yearNum
         item.monthNum = ite.monthNum
         item.yearNum = ite.yearNum
       }
@@ -612,11 +618,12 @@
           },
           itemStyle: {
             show: true,
-            color: '#00114F', // 楂樹寒鏂囧瓧棰滆壊
+            color: '#fff', // 楂樹寒鏂囧瓧棰滆壊
             borderColor: '#a4d0ec', // 楂樹寒杈规棰滆壊
-            areaColor: '#63d5c1', //楂樹寒鍖哄煙棰滆壊
+            areaColor: '#0056FF', //楂樹寒鍖哄煙棰滆壊
           },
         },
+        selectedMode: false,
         label: {
           // 鍦板浘鏍囨敞
           show: false,
@@ -747,7 +754,7 @@
           show: true,
           textStyle: {
             color: '#000000',
-            fontSize: 10
+            fontSize: 12
           }
         },
         emphasis: {
@@ -783,7 +790,11 @@
         stack: 'total',
         barWidth: 14,
         label: {
-          show: true
+          show: true,
+          textStyle: {
+            color: '#000000',
+            fontSize: 12
+          }
         },
         emphasis: {
           focus: 'series'
@@ -818,7 +829,11 @@
         barWidth: 14,
         stack: 'total',
         label: {
-          show: true
+          show: true,
+          textStyle: {
+            color: '#000000',
+            fontSize: 12
+          }
         },
         textStyle: {
           color: '#000000',
@@ -834,13 +849,13 @@
               y2: 0,
               colorStops: [{
                 offset: 0,
-                color: '#71f3ce'
+                color: '#73f7d1'
               }, {
                 offset: 1,
-                color: '#4da999'
+                color: '#58beaa'
               }]
             }
-          }
+          },
         },
         emphasis: {
           focus: 'series'
@@ -900,6 +915,7 @@
 }
 const closeModal = () => {
   showModal.value = false
+  showModal1.value = false
   modalInfo.value = {}
 }
 
@@ -1153,7 +1169,33 @@
       containLabel: true
     },
     tooltip: {
-      trigger: 'axis'
+      trigger: 'axis',
+      formatter: function (params) {
+        // 閬嶅巻鎮诞鏃剁殑鎵�鏈夌偣锛屽畾鍒跺寲鏄剧ず鍐呭
+        let result = `<div style="width: 160px">${params[0].name}</div>`
+        params.forEach((item) => {
+          if (item.seriesName === '鎬诲簱瀛�') {
+            result += `
+            <div style="display: flex;align-items: center;justify-content: space-between;margin-top: 2px;">
+              <div style="display: flex;align-items: center;"><div style="width: 10px;height: 10px; border-radius: 50%;background-color: #5e9bca;margin-right: 4px;"></div><div>${item.seriesName}</div></div>
+              <div><strong>${item.value}</strong></div>
+            </div>`
+          } else if (item.seriesName === '褰撳墠搴撳瓨') {
+            result += `
+            <div style="display: flex;align-items: center;justify-content: space-between;margin-top: 2px;">
+              <div style="display: flex;align-items: center;"><div style="width: 10px;height: 10px;  border-radius: 50%;background-color: #e2a44f;margin-right: 4px;"></div><div>${item.seriesName}</div></div>
+              <div><strong>${item.value}</strong></div>
+            </div>`
+          } else if (item.seriesName === '搴撳瓨鍒╃敤鐜�') {
+            result += `
+            <div style="display: flex;align-items: center;justify-content: space-between;margin-top: 2px;">
+              <div style="display: flex;align-items: center;"><div style="width: 10px;height: 10px; border-radius: 50%;background-color: #5a6fc0;margin-right: 4px;"></div><div>${item.seriesName}</div></div>
+              <div><strong>${item.value}%</strong></div>
+            </div>`
+          }
+        })
+        return result
+      }
     },
     xAxis: [{
       nameGap: 5,
@@ -1165,7 +1207,7 @@
         },
       },
       axisLabel: {
-        color: '#D2E0FF'
+        color: '#869CC9'
       },
       axisTick: {
         show: false,
@@ -1285,11 +1327,14 @@
           color: "#9eabc2"
         },
         yAxisIndex: 1,
+        tooltip: {
+          show: true,
+          formatter: '{c}' + '%',
+        },
         label: {
           show: false,
           position: 'top',
           color: '#fff',
-          // formatter: '{c}' + '%',
         },
         data: data5.value.detailList.map(i => i.useRate)
       }
@@ -1318,15 +1363,41 @@
         borderColor: '#fff'
       },
     },
+    tooltip: {
+      trigger: 'axis',
+      formatter: function (params) {
+        // 閬嶅巻鎮诞鏃剁殑鎵�鏈夌偣锛屽畾鍒跺寲鏄剧ず鍐呭
+        let result = `<div style="width: 160px">${params[0].name}</div>`
+        params.forEach((item) => {
+          if (item.seriesName === '鍑哄簱鑳藉姏') {
+            result += `
+            <div style="display: flex;align-items: center;justify-content: space-between;margin-top: 2px;">
+              <div style="display: flex;align-items: center;"><div style="width: 10px;height: 10px; border-radius: 50%;background-color: #487af3;margin-right: 4px;"></div><div>${item.seriesName}</div></div>
+              <div><strong>${item.value}</strong></div>
+            </div>`
+          } else if (item.seriesName === '褰撴棩鍑哄簱閲�') {
+            result += `
+            <div style="display: flex;align-items: center;justify-content: space-between;margin-top: 2px;">
+              <div style="display: flex;align-items: center;"><div style="width: 10px;height: 10px;  border-radius: 50%;background-color: #e2a44f;margin-right: 4px;"></div><div>${item.seriesName}</div></div>
+              <div><strong>${item.value}</strong></div>
+            </div>`
+          } else if (item.seriesName === '鍑哄簱鍒╃敤鐜�') {
+            result += `
+            <div style="display: flex;align-items: center;justify-content: space-between;margin-top: 2px;">
+              <div style="display: flex;align-items: center;"><div style="width: 10px;height: 10px; border-radius: 50%;background-color: #b0bcd3;margin-right: 4px;"></div><div>${item.seriesName}</div></div>
+              <div><strong>${item.value}%</strong></div>
+            </div>`
+          }
+        })
+        return result
+      }
+    },
     grid: {
       left: '3%',
       right: '0%',
       bottom: '3%',
       top: '18%',
       containLabel: true
-    },
-    tooltip: {
-      trigger: 'axis'
     },
     xAxis: [{
       nameGap: 5,
@@ -1468,7 +1539,6 @@
           show: false,
           position: 'top',
           color: '#fff',
-          // formatter: '{c}' + '%',
         },
         data: data6.value.detailList.map(i => i.useRate)
       }
@@ -1497,15 +1567,41 @@
         borderColor: '#fff'
       },
     },
+    tooltip: {
+      trigger: 'axis',
+      formatter: function (params) {
+        // 閬嶅巻鎮诞鏃剁殑鎵�鏈夌偣锛屽畾鍒跺寲鏄剧ず鍐呭
+        let result = `<div style="width: 160px">${params[0].name}</div>`
+        params.forEach((item) => {
+          if (item.seriesName === '鎬昏繍鍔涜祫婧�') {
+            result += `
+            <div style="display: flex;align-items: center;justify-content: space-between;margin-top: 2px;">
+              <div style="display: flex;align-items: center;"><div style="width: 10px;height: 10px; border-radius: 50%;background-color: #88d9cc;margin-right: 4px;"></div><div>${item.seriesName}</div></div>
+              <div><strong>${item.value}</strong></div>
+            </div>`
+          } else if (item.seriesName === '褰撴棩鎻愭姤杩愬姏') {
+            result += `
+            <div style="display: flex;align-items: center;justify-content: space-between;margin-top: 2px;">
+              <div style="display: flex;align-items: center;"><div style="width: 10px;height: 10px;  border-radius: 50%;background-color: #e2a44f;margin-right: 4px;"></div><div>${item.seriesName}</div></div>
+              <div><strong>${item.value}</strong></div>
+            </div>`
+          } else if (item.seriesName === '杞﹁締鍒╃敤鐜�') {
+            result += `
+            <div style="display: flex;align-items: center;justify-content: space-between;margin-top: 2px;">
+              <div style="display: flex;align-items: center;"><div style="width: 10px;height: 10px; border-radius: 50%;background-color: #b0bcd3;margin-right: 4px;"></div><div>${item.seriesName}</div></div>
+              <div><strong>${item.value}%</strong></div>
+            </div>`
+          }
+        })
+        return result
+      }
+    },
     grid: {
       left: '3%',
       right: '0%',
       bottom: '3%',
       top: '18%',
       containLabel: true
-    },
-    tooltip: {
-      trigger: 'axis'
     },
     xAxis: [{
       nameGap: 5,
@@ -1645,7 +1741,6 @@
           show: false,
           position: 'top',
           color: '#fff',
-          // formatter: '{c}' + '%',
         },
         data: data7.value.detailList.map(i => i.useRate)
       }
@@ -2226,7 +2321,7 @@
 
       .modal1 {
         width: 500px;
-        height: 224px;
+        height: 192px;
         background: rgba(0, 86, 255, 0.1);
         backdrop-filter: blur(5px);
         padding: 12px 30px;
@@ -2234,10 +2329,13 @@
         top: 36px;
         left: 12px;
         border: 1px solid #4ba7f7;
+        z-index: 999999;
 
-        .list {
-          height: 192px;
-          overflow: auto;
+        .content {
+          .list {
+            height: 128px;
+            overflow: auto;
+          }
 
           .line {
             display: flex;
@@ -2399,7 +2497,7 @@
   width: 600px;
   height: 556px;
   background: rgba(0, 30, 63, 0.5);
-  border: 1px solid #c6eef7;
+  /* border: 1px solid #c6eef7; */
   backdrop-filter: blur(5px);
   position: fixed;
   top: 20%;
@@ -2409,12 +2507,13 @@
   padding: 24px;
 
   #map-container {
-    width: 300px;
-    height: 180px;
+    width: 260px;
+    height: 320px;
     position: absolute;
-    top: 220px;
-    right: 10px;
+    top: 190px;
+    right: 20px;
     z-index: 999999;
+    border-radius: 2px;
 
     :deep(.amap-markers) {
       left: -12px !important;
@@ -2425,9 +2524,19 @@
   .title_head {
     display: flex;
     align-items: center;
-    font-weight: bold;
-    font-size: 17px;
+    justify-content: space-between;
     margin-bottom: 20px;
+
+    .left {
+      display: flex;
+      align-items: center;
+      font-weight: bold;
+      font-size: 17px;
+    }
+
+    .tit_status {
+      color: #af8832;
+    }
 
     img {
       width: 20px;
@@ -2484,11 +2593,13 @@
 
     .fu_list {
       height: 310px;
+      width: 290px;
       margin-top: 20px;
       overflow: auto;
 
-
       .fu_item {
+        position: relative;
+
         .item_title {
           margin-bottom: 6px;
 
@@ -2505,12 +2616,13 @@
       }
 
       .separate {
-        height: calc(100% - 125px);
-        width: 1px;
-        border: 1px dashed #CCCCCC;
+        height: calc(100% - 8px);
+        /* width: 1px; */
+        border: 1px dashed #576783;
+        /* border: 1px dashed red; */
         position: absolute;
-        left: 26px;
-        top: 51px;
+        left: 10px;
+        top: 20px;
         z-index: -1;
       }
 
@@ -2565,6 +2677,8 @@
 
         .text {
           color: #b1bfdc;
+          margin-bottom: 6px;
+          width: 100%;
         }
 
         .icon {
@@ -2577,7 +2691,6 @@
         .h2 {
           display: flex;
           align-items: center;
-          height: 24px;
         }
 
         .h1 {}
@@ -2585,7 +2698,6 @@
         .time {
           padding-left: 39px;
           font-size: 12px;
-          margin-top: 3px;
         }
       }
     }
@@ -2601,7 +2713,7 @@
   top: 0;
   left: 0;
   z-index: 9999;
-  background-color: rgba(0, 0, 0, 0.1);
+  /* background-color: rgba(0, 0, 0, 0.0); */
   /* background-color: red; */
 }
 
diff --git a/screen/src/views/LogisticsEfficiency.vue b/screen/src/views/LogisticsEfficiency.vue
index 6e62925..8fcfb75 100644
--- a/screen/src/views/LogisticsEfficiency.vue
+++ b/screen/src/views/LogisticsEfficiency.vue
@@ -101,7 +101,7 @@
                 </div>
                 <div class="one-swiper list_temp">
                   <div class="swiper-wrapper">
-                    <div class="line swiper-slide one-swiper-slide" v-for="item in dataList3">
+                    <div @click="taskClick(item)" class="line swiper-slide one-swiper-slide" v-for="item in dataList3">
                       <span class="item flag"><span :class="{ flag_bg: item.type == 1 || item.type == 3 }">{{ item.type
                         == 1
                         || item.type == 3 ? '鍑�' : '鍏�' }}</span></span>
@@ -151,7 +151,7 @@
                         data1.currentInDoneNum
                     }}</span>
                     <span v-else>0</span>
-                    <span>涓囨敮</span>
+                    涓囨敮
                   </div>
                 </div>
               </div>
@@ -161,9 +161,10 @@
                   <div class="name">宸插畬鎴愭瘮渚�</div>
                   <div class="num">
                     <span v-if="activeTab4 == 0 && data1.currentOutNum" class="finish">{{ ((data1.currentOutDoneNum /
-                      data1.currentOutNum) * 100).toFixed(1) }}%</span>
+                      data1.currentOutNum) * 100).toFixed(1) }}</span>
                     <span v-if="activeTab4 == 1 && data1.currentInNum" class="finish">{{ ((data1.currentInDoneNum /
-                      data1.currentInNum) * 100).toFixed(1) }}%</span>
+                      data1.currentInNum) * 100).toFixed(1) }}</span>
+                    %
                   </div>
                 </div>
               </div>
@@ -193,7 +194,7 @@
                 <span>杞﹁締鎶ヨ</span>
               </div>
               <div v-if="isShowCarW" class="war_list">
-                <div class="line" v-for="item in data7.eventList">
+                <div class="line" v-for="item in eventList">
                   <div class="id_card">{{ item.carCode }}</div>
                   <div class="title">{{ item.title }}</div>
                   <div v-if="item.time">{{ item.time.slice(11) }}</div>
@@ -282,7 +283,8 @@
               </div>
               <div class="list two-swiper">
                 <div class="swiper-wrapper">
-                  <div class="item two-swiper-slide swiper-slide" v-for="item in data6.stockList">
+                  <div :class="{ orange: item.num < 200 }" class="item two-swiper-slide swiper-slide"
+                    v-for="item in data6.stockList">
                     <div class="la">{{ item.name }}</div>
                     <div class="val">{{ item.num }}涓囨敮</div>
                   </div>
@@ -325,7 +327,7 @@
               <div class="icon_wrap">
                 <img v-if="i != 0" class="dian" src="@/assets/images/ic_dangqian@2x.png" alt="">
                 <img v-else src="@/assets/images/ic_jindu@2x.png" class="dian_ac" alt="">
-                <div class="line"></div>
+                <div v-if="i != activeCar.logList.length - 1" class="line"></div>
               </div>
               <div class="content">
                 <div class="status" :class="{ ac: i == 0 }">{{ statusMapD[item.objType] }}</div>
@@ -381,7 +383,8 @@
   wltotalInList,
   wltransportMeasure,
   carsListPost,
-  getCarsJobDetails
+  getCarsJobDetails,
+  carsEventListP
 } from '@/api'
 import 'swiper/css/swiper.min.css'
 import Swiper from 'swiper'
@@ -452,26 +455,6 @@
     yAxis: [
       {
         type: 'value',
-        name: '涓�',
-        min: 0,
-        axisLabel: {
-          color: '#869CC9'
-        },
-        nameTextStyle: {
-          color: '#869CC9',
-          padding: [0, 0, 0, -18]    // 鍥涗釜鏁板瓧鍒嗗埆涓轰笂鍙充笅宸︿笌鍘熶綅缃窛绂�
-        },
-        splitLine: {
-          show: true,
-          lineStyle: {
-            width: 1,
-            color: "rgba(49,105,129,0.4)",
-            type: 'dashed'
-          }
-        },
-      },
-      {
-        type: 'value',
         name: '涓囨敮',
         offset: 0,
         type: 'value',
@@ -494,6 +477,26 @@
           padding: [0, 0, 0, 12]    // 鍥涗釜鏁板瓧鍒嗗埆涓轰笂鍙充笅宸︿笌鍘熶綅缃窛绂�
         },
       },
+      {
+        type: 'value',
+        name: '涓�',
+        min: 0,
+        axisLabel: {
+          color: '#869CC9'
+        },
+        nameTextStyle: {
+          color: '#869CC9',
+          padding: [0, 0, 0, -18]    // 鍥涗釜鏁板瓧鍒嗗埆涓轰笂鍙充笅宸︿笌鍘熶綅缃窛绂�
+        },
+        splitLine: {
+          show: false,
+          lineStyle: {
+            width: 1,
+            color: "rgba(49,105,129,0.4)",
+            type: 'dashed'
+          }
+        },
+      },
     ],
     series: [
       {
@@ -506,7 +509,7 @@
           position: 'top',
           color: '#fff',
         },
-        yAxisIndex: 1,
+        yAxisIndex: 0,
         itemStyle: {
           color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
             {
@@ -530,7 +533,7 @@
         name: '浠诲姟瀹屾垚閲�',
         type: 'bar',
         barWidth: 10,
-        yAxisIndex: 1,
+        yAxisIndex: 0,
         label: {
           show: false,
           position: 'top',
@@ -560,7 +563,7 @@
         type: 'line',
         smooth: false,
         showAllSymbol: true,
-        yAxisIndex: 0,
+        yAxisIndex: 1,
         symbol: 'none',
         lineStyle: {
           color: "#1a43bc"
@@ -590,7 +593,19 @@
           show: false,
           position: 'center'
         },
-        padAngle: 5,
+        tooltip: {
+          trigger: 'none'
+        },
+        emphasis: {
+          // 璁剧疆鎮诞鏃舵牱寮忎负绌�
+          scale: false, // 鍏抽棴鏀惧ぇ鏁堟灉
+          itemStyle: {
+            shadowBlur: 0, // 闃村奖妯$硦搴︿负 0
+            shadowOffsetX: 0,
+            shadowColor: 'rgba(0, 0, 0, 0)',
+          },
+        },
+        padAngle: 3,
         itemStyle: {
           borderRadius: 10
         },
@@ -827,6 +842,13 @@
   showModal.value = false
   activeCar.value = {}
 }
+const taskClick = (item) => {
+  getCarsJobDetails({ carCode: item.carCodeFront }).then(res => {
+    // getCarsJobDetails({ carCode: '鐨朅E5277' }).then(res => {
+    showModal.value = true
+    activeCar.value = { ...res.data, carCode: item.carCodeFront }
+  })
+}
 
 
 const data1 = ref({})
@@ -916,11 +938,15 @@
 
 const isShowCarW = ref(false)
 const data7 = ref({})
+const eventList = ref([])
 const getData7 = () => {
   carsListPost().then(res => {
     const result = res.data || {}
     data7.value = result
     initMap()
+  })
+  carsEventListP().then(res => {
+    eventList.value = res.data || []
   })
 }
 
@@ -1106,6 +1132,7 @@
             align-items: center;
             padding: 0 10px;
             font-size: 12px;
+            cursor: pointer;
 
             &:nth-of-type(2n) {
               background: rgba(27, 64, 97, 0.52);
@@ -1295,13 +1322,13 @@
         bottom: 0;
         border-top: 1px solid #5ecbce;
         border-bottom: 1px solid #5ecbce;
+        background: rgba(0, 30, 63, 0.4);
+        /* backdrop-filter: blur(5px); */
 
         .head {
           display: flex;
           width: 280px;
           height: 57px;
-          background: rgba(0, 30, 63, 0.4);
-          backdrop-filter: blur(5px);
           display: flex;
           align-items: center;
           padding-left: 10px;
@@ -1318,7 +1345,8 @@
         .war_list {
           max-height: 300px;
           overflow: auto;
-
+          padding-left: 10px;
+          padding-bottom: 12px;
           .line {
             font-size: 13px;
             color: #D2E0FF;
@@ -1505,6 +1533,7 @@
             height: 36px !important;
             display: flex;
             align-items: center;
+            font-size: 14px;
 
             &:nth-of-type(2n+1) {
               background: rgba(0, 152, 255, 0.13);
@@ -1519,6 +1548,10 @@
               flex: 2;
             }
           }
+
+          .orange {
+            color: #FF5728;
+          }
         }
       }
     }
diff --git a/screen/src/views/SecurityControl.vue b/screen/src/views/SecurityControl.vue
index 233548d..f8f77ea 100644
--- a/screen/src/views/SecurityControl.vue
+++ b/screen/src/views/SecurityControl.vue
@@ -164,7 +164,7 @@
                   <img src="@/assets/images/SecurityControl/title_short@2x.png" class="bg" alt="">
                 </div>
                 <div class="num_wrap">
-                  <div class="num">{{ data.internalCarTotal }}</div>
+                  <div class="num">{{ data.inParkCarTotal || 0 }}</div>
                   <img src="@/assets/images/SecurityControl/anfang_ic_data@2x.png" class="bg" alt="">
                 </div>
               </div>
@@ -423,7 +423,7 @@
               </div>
               <div class="list two-swiper">
                 <div class="swiper-wrapper">
-                  <template v-for="item, i in dataList2.filter(i => i.total > 0)">
+                  <template v-for="item, i in dataList2.filter(i => i.totalNum > 0)">
                     <div class="item two-swiper-slide swiper-slide">
                       <div class="line">
                         <div class="driver">{{ item.deviceType }}</div>
@@ -826,6 +826,8 @@
         }
         return item
       })
+      console.log('dataList2', dataList2.value);
+      
       data2.value = total
       if (online >= outline) {
         temp.push({ name: '鍦ㄧ嚎', value: online, rate: ((online / (online + outline)) * 100).toFixed(1) })
diff --git a/screen/src/views/TaskEfficiency.vue b/screen/src/views/TaskEfficiency.vue
index 7923c46..3189033 100644
--- a/screen/src/views/TaskEfficiency.vue
+++ b/screen/src/views/TaskEfficiency.vue
@@ -65,7 +65,7 @@
             <div class="list one-swiper">
               <div class="swiper-wrapper">
                 <div class="line one-swiper-slide swiper-slide" v-for="item, i in dataList2" :key="i">
-                  <div class="top"><span v-if="i < 3">top</span>{{ i + 1 }}</div>
+                  <div class="top" :class="{top3: i < 3}"><span v-if="i < 3">top</span>{{ i + 1 }}</div>
                   <div class="id_card">{{ item.platformName }}</div>
                   <div class="wrap">
                     <ChargeRate :rate="item.rate" />
@@ -163,7 +163,7 @@
                 <div class="val">{{ workModalParam.finishTimeStr }}</div>
               </div>
             </div>
-            <div class="modal_bg" v-if="showWorkModal" @click="showWorkModal = false"></div>
+            <div class="modal_bg" v-if="showWorkModal" @click="closeModal"></div>
           </div>
           <div class="center_box_two">
             <div v-if="data4.videoIndexCodes && data4.videoIndexCodes.length > 0" class="videos">
@@ -342,6 +342,18 @@
         label: {
           show: false,
           position: 'center'
+        },
+        tooltip: {
+          trigger: 'none'
+        },
+        emphasis: {
+          // 璁剧疆鎮诞鏃舵牱寮忎负绌�
+          scale: false, // 鍏抽棴鏀惧ぇ鏁堟灉
+          itemStyle: {
+            shadowBlur: 0, // 闃村奖妯$硦搴︿负 0
+            shadowOffsetX: 0,
+            shadowColor: 'rgba(0, 0, 0, 0)',
+          },
         },
         padAngle: 2,
         itemStyle: {
@@ -755,7 +767,6 @@
       i.finishTime = dayjs(i.finishTime).format('HH:mm')
       return i
     })
-    console.log('dataList5', dataList5.value)
 
   })
 }
@@ -801,7 +812,15 @@
 const platformClick = (val) => {
   const index = pointList.findIndex(i => i.name == val.platformName)
   workModalParam.value = { ...val, ...pointList[index], index: pointList }
+  if(workModalParam.value.workTime){
+    workModalParam.value.workTime = workModalParam.value.workTime.replaceAll('m', '鍒嗛挓')
+    workModalParam.value.workTime = workModalParam.value.workTime.replaceAll('h', '灏忔椂')
+  }
   showWorkModal.value = true
+}
+const closeModal = () => {
+  showWorkModal.value = false
+  workModalParam.value = {}
 }
 const loopFn2 = () => {
   var newSwiper1 = new Swiper('.one-swiper', {
@@ -1002,7 +1021,9 @@
             box-shadow: inset 0px 0px 3px 0px #01D9FE;
             margin-right: 10px;
           }
-
+          .top3{
+            box-shadow: inset 0px 0px 3px 0px #FEAF01;
+          }
           .one-swiper-slide {
             height: 40px !important;
           }
@@ -1131,7 +1152,7 @@
         padding: 22px 20px;
         left: 850px;
         top: 60px;
-
+        z-index: 99999999;
         .head {
           display: flex;
           justify-content: space-between;

--
Gitblit v1.9.3