From 85c624731a4c554f8828c9c5cacf431142801435 Mon Sep 17 00:00:00 2001
From: liukangdong <898885815@qq.com>
Date: 星期五, 11 十月 2024 10:41:48 +0800
Subject: [PATCH] ll

---
 screen/package-lock.json                                |   27 
 admin/src/components/business/OperaPlatformWindow.vue   |    4 
 admin/src/views/platform/queueUp.vue                    |    2 
 screen/src/utils/scale_screen.js                        |    2 
 admin/src/views/platform/components/PlatformQueuing.vue |   57 ++
 admin/src/views/platform/components/PlatformSign.vue    |   10 
 admin/src/views/platform/LogisticsRecord/leaveAuth.vue  |    7 
 screen/package.json                                     |    2 
 admin/src/directives/directive.js                       |   21 +
 screen/vite.config.js                                   |    5 
 screen/src/views/PlatformCall.vue                       |    6 
 h5/pages/driver/taskDetail.vue                          |   96 +++---
 pda/pages/index/queueup.vue                             |  210 +++++++-------
 admin/src/views/platform/index.vue                      |   52 ++
 admin/src/views/platform/components/WaybillDetail.vue   |   10 
 pda/pages/index/center.vue                              |  138 ++++----
 h5/pages/driver/taskConfirm.vue                         |  202 ++++++------
 admin/src/main.js                                       |    3 
 18 files changed, 467 insertions(+), 387 deletions(-)

diff --git a/admin/src/components/business/OperaPlatformWindow.vue b/admin/src/components/business/OperaPlatformWindow.vue
index b9ebeec..6214951 100644
--- a/admin/src/components/business/OperaPlatformWindow.vue
+++ b/admin/src/components/business/OperaPlatformWindow.vue
@@ -120,13 +120,13 @@
         })
     },
     loadLedList() {
-      deviceList({ type: 2 })
+      deviceList({ type: 2, isdeleted: 0 })
         .then(res => {
           this.ledList = res || []
         })
     },
     loadBroadcastList() {
-      deviceList({ type: 3 })
+      deviceList({ type: 3, isdeleted: 0 })
         .then(res => {
           this.broadcastList = res || []
         })
diff --git a/admin/src/directives/directive.js b/admin/src/directives/directive.js
new file mode 100644
index 0000000..39cf4a8
--- /dev/null
+++ b/admin/src/directives/directive.js
@@ -0,0 +1,21 @@
+import Vue from 'vue'
+const preventReClick = Vue.directive('preventReClick', {
+  inserted: function(el, binding, vNode, oldVnode) {
+    el.addEventListener('click', () => {
+      if (!el.disabled) {
+        el.disabled = true
+        // el.style.backgroundColor = '#ccc'
+        // el.style.border = 'none'
+        setTimeout(() => {
+          el.disabled = false
+          // el.style.backgroundColor = '#4870F7'
+          // el.style.border = '1px solid #4870F7'
+        }, 2000)
+      }
+    })
+  }
+})
+
+export default {
+  preventReClick
+}
diff --git a/admin/src/main.js b/admin/src/main.js
index ec668b6..13a6171 100644
--- a/admin/src/main.js
+++ b/admin/src/main.js
@@ -12,7 +12,8 @@
 import plugins from './plugins'
 import { mapState, mapMutations } from 'vuex'
 import { fetchMenuTree } from './api/system/menu'
-
+import preventReClick from '@/directives/directive'
+Vue.use(preventReClick)
 Vue.config.productionTip = false
 Vue.use(ElementUI, {
   size: 'small'
diff --git a/admin/src/views/platform/LogisticsRecord/leaveAuth.vue b/admin/src/views/platform/LogisticsRecord/leaveAuth.vue
index 032b282..35a4005 100644
--- a/admin/src/views/platform/LogisticsRecord/leaveAuth.vue
+++ b/admin/src/views/platform/LogisticsRecord/leaveAuth.vue
@@ -25,9 +25,10 @@
       <el-table-column prop="carCodeFront" label="杞︾墝鍙�" min-width="100" show-overflow-tooltip />
       <el-table-column prop="carCodeBack" label="鐢靛瓙閿佺姸鎬�" min-width="100" show-overflow-tooltip>
         <template v-slot="scope">
-          <span class="red" v-if="scope.row.lockStatus == 0">鏈笂閿�</span>
-          <span class="red" v-if="scope.row.lockStatus == 1">閮ㄥ垎涓婇攣</span>
-          <span v-if="scope.row.lockStatus == 2">鍏ㄩ儴涓婇攣</span>
+          <span class="red" v-if="scope.row.billCode && scope.row.lockStatus == 0">鏈笂閿�</span>
+          <span class="red" v-if="scope.row.billCode && scope.row.lockStatus == 1">閮ㄥ垎涓婇攣</span>
+          <span v-if="scope.row.billCode && scope.row.lockStatus == 2">鍏ㄩ儴涓婇攣</span>
+          <span v-if="!scope.row.billCode">-</span>
         </template>
       </el-table-column>
       <el-table-column prop="carrierName" label="杩愯緭鍏徃" min-width="100" show-overflow-tooltip />
diff --git a/admin/src/views/platform/components/PlatformQueuing.vue b/admin/src/views/platform/components/PlatformQueuing.vue
index 973220c..a82175c 100644
--- a/admin/src/views/platform/components/PlatformQueuing.vue
+++ b/admin/src/views/platform/components/PlatformQueuing.vue
@@ -20,13 +20,13 @@
             <div class="status">{{ statusMap[item.status] }}</div>
           </div>
           <div class="info">
-            <div v-if="item.type == 4" class="ite">
-              <span>鍚堝悓鍗曞彿锛�</span>
-              <span>{{ item.contractNum }}</span>
-            </div>
-            <div v-else class="ite">
+            <div v-if="item.billCode" class="ite">
               <span>杩愯緭鍗曞彿锛�</span>
               <span>{{ item.billCode }}</span>
+            </div>
+            <div v-else class="ite">
+              <span>鍚堝悓鍗曞彿锛�</span>
+              <span>{{ item.contractNum }}</span>
             </div>
             <div class="ite">
               <span>椹鹃┒鍛橈細</span>
@@ -40,21 +40,24 @@
               <span>鎬昏繍杈撻噺锛�</span>
               <span>{{ item.totalNum }}涓囨敮</span>
             </div>
-            <div v-if="item.type != 4" class="ite" style="width: 66%">
+            <div v-if="item.billCode" class="ite" style="width: 66%">
               <span>杩愯緭鍏徃锛�</span>
               <span>{{ item.carrierName }}</span>
             </div>
           </div>
           <div class="footer df_sb">
-            <div v-if="item.type != 4" class="detail">杩愬崟璇︽儏</div>
-            <div v-else></div>
-            <el-button type="primary" @click="handleCall(item)">鍙彿</el-button>
+            <div v-if="item.billCode" @click="handleDetail(item)" class="detail">杩愬崟璇︽儏</div>
+            <div v-else class="detail"  @click="subDetail(item)">棰勭害璇︽儏</div>
+            <el-button v-preventReClick :loading="loadingCall" type="primary" @click="handleCall(item)">鍙彿</el-button>
           </div>
         </div>
       </div>
       <pagination @size-change="handleSizeChange" @current-change="handlePageChange" :pagination="pagination">
       </pagination>
     </div>
+    <!--  -->
+    <WaybillDetail ref="WaybillDetailRef" v-if="isShowDetail" @success="getList" @close="isShowDetail = false" />
+    <DriverDetail v-if="isShowDriver" ref="DriverDetailRef" />
   </GlobalWindow>
 </template>
 
@@ -64,10 +67,14 @@
 import { platformCallList, platformCallNumber, platformInPark } from '@/api'
 import { statusMap } from '../config'
 import { Message } from 'element-ui'
+import WaybillDetail from './WaybillDetail.vue'
+import DriverDetail from "@/views/task/driverDetail.vue"
 export default {
   components: {
     GlobalWindow,
-    Pagination
+    Pagination,
+    WaybillDetail,
+    DriverDetail
   },
   data() {
     return {
@@ -83,30 +90,54 @@
       title: '',
       callType: '1',
       activePlat: {},
-      dataList: []
+      dataList: [],
+      isShowDetail: false, // 杩愬崟璇︽儏
+      isShowDriver: false, // 棰勭害璇︽儏
+      loadingCall: false
 
     }
   },
   methods: {
     handleCall(item) {
       const { activePlat, callType } = this
+      this.loadingCall = true
       if (callType == 1) { // 鍏ュ洯鍙彿
         platformInPark({
           jobId: item.id,
           platformId: activePlat.id
         }).then(() => {
+          this.loadingCall = false
           Message.success('鍙彿鎴愬姛')
           this.$emit('success')
           this.getList()
-        })
+        },() => {this.loadingCall = false})
       } else {
+        this.loadingCall = true
         platformCallNumber({ platformId: activePlat.id, jobId: item.id }).then(res => {
+          this.loadingCall = false
           Message.success('鍙彿鎴愬姛')
           this.$emit('success')
           this.getList()
-        })
+        },()=> {this.loadingCall = false})
       }
     },
+    subDetail(row) {
+      this.isShowDriver = true
+      this.$nextTick(() => {
+        this.$refs.DriverDetailRef.id = row.bookId
+        this.$refs.DriverDetailRef.type = row.objType
+        this.$refs.DriverDetailRef.getDetail()
+        this.$refs.DriverDetailRef.isShowModal = true
+      })
+    },
+    handleDetail(row) {
+      this.isShowDetail = true
+      this.$nextTick(() => {
+        this.$refs.WaybillDetailRef.isShowModal = true
+        this.$refs.WaybillDetailRef.id = row.id
+        this.$refs.WaybillDetailRef.getDetail()
+      })
+    },
     getList() {
       const { activePlat, pagination, carCodeFront, callType } = this
       platformCallList({
diff --git a/admin/src/views/platform/components/PlatformSign.vue b/admin/src/views/platform/components/PlatformSign.vue
index bc8558b..1ff8326 100644
--- a/admin/src/views/platform/components/PlatformSign.vue
+++ b/admin/src/views/platform/components/PlatformSign.vue
@@ -19,14 +19,14 @@
             <div class="status" :class="{ red: item.status == 0 }">{{ statusMap[item.status] }}</div>
           </div>
           <div class="info">
-            <div v-if="item.type == 4" class="ite">
-              <span>鍚堝悓鍗曞彿锛�</span>
-              <span>{{ item.contractNum }}</span>
-            </div>
-            <div v-else class="ite">
+            <div v-if="item.billCode" class="ite">
               <span>杩愯緭鍗曞彿锛�</span>
               <span>{{ item.billCode }}</span>
             </div>
+            <div v-else class="ite">
+              <span>鍚堝悓鍗曞彿锛�</span>
+              <span>{{ item.contractNum }}</span>
+            </div>
             <div class="ite">
               <span>椹鹃┒鍛橈細</span>
               <span>{{ item.driverName }}</span>
diff --git a/admin/src/views/platform/components/WaybillDetail.vue b/admin/src/views/platform/components/WaybillDetail.vue
index 546ce85..f3a4446 100644
--- a/admin/src/views/platform/components/WaybillDetail.vue
+++ b/admin/src/views/platform/components/WaybillDetail.vue
@@ -30,11 +30,11 @@
           <div class="contract">
             <span>鍚堝悓鍙凤細{{ item.contractCode }}</span>
             <div>
-              <span class="scs" v-if="item.platformWmsDetailList[0].status == 1">WMS浣滀笟宸插畬鎴�</span>
-              <span class="pad" v-if="item.platformWmsDetailList[0].status == 0">WMS浣滀笟鏈畬鎴�</span>
-              <span class="err" v-if="item.platformWmsDetailList[0].status == 2">WMS浣滀笟宸插彇娑�</span>
-              <span class="scs" v-if="item.platformWmsDetailList[0].lockStatus == 1">鐢靛瓙閿佸凡涓婇攣</span>
-              <span class="pad" v-if="item.platformWmsDetailList[0].lockStatus == 0">鐢靛瓙閿佹湭涓婇攣</span>
+              <span class="scs" v-if="item.status == 1">WMS浣滀笟宸插畬鎴�</span>
+              <span class="pad" v-if="item.status == 0">WMS浣滀笟鏈畬鎴�</span>
+              <span class="err" v-if="item.status == 2">WMS浣滀笟宸插彇娑�</span>
+              <span class="scs" v-if="item.lockStatus == 1">鐢靛瓙閿佸凡涓婇攣</span>
+              <span class="pad" v-if="item.lockStatus == 0">鐢靛瓙閿佹湭涓婇攣</span>
             </div>
           </div>
           <div class="placeholder6">鏀惰揣鍦帮細{{ item.address }}</div>
diff --git a/admin/src/views/platform/index.vue b/admin/src/views/platform/index.vue
index 8f4bacf..8ecaeba 100644
--- a/admin/src/views/platform/index.vue
+++ b/admin/src/views/platform/index.vue
@@ -62,13 +62,13 @@
               </div>
             </div>
             <div class="line">
-              <div v-if="task.type == 4" class="ite">
-                <span>鍚堝悓鍗曞彿锛�</span>
-                <span>{{ task.contractNum }}</span>
-              </div>
-              <div v-else class="ite">
+              <div v-if="task.billCode" class="ite">
                 <span>杩愯緭鍗曞彿锛�</span>
                 <span>{{ task.billCode }}</span>
+              </div>
+              <div v-else class="ite">
+                <span>鍚堝悓鍗曞彿锛�</span>
+                <span>{{ task.contractNum }}</span>
               </div>
               <div class="ite siji">
                 <span>椹鹃┒鍛橈細</span>
@@ -82,25 +82,25 @@
                 <span>鎬昏繍杈撻噺锛�</span>
                 <span>{{ task.totalNum }}涓囨敮</span>
               </div>
-              <div v-if="task.type != 4" class="ite" style="width: 66.6%">
+              <div v-if="task.billCode" class="ite" style="width: 66.6%">
                 <span>杩愯緭鍏徃锛�</span>
                 <span>{{ task.carrierName }}</span>
               </div>
               <div class="ite"></div>
             </div>
             <div class="line">
-              <div v-if="task.type != 4" class="left">
-                <span class="primaryColor pointer" @click="handleDetail(task)">杩愬崟璇︽儏</span>
+              <div class="left">
+                <span v-if="task.billCode" class="primaryColor pointer" @click="handleDetail(task)">杩愬崟璇︽儏</span>
+                <span v-else class="primaryColor pointer" @click="subDetail(task)">棰勭害璇︽儏</span>
               </div>
-              <div v-else></div>
               <div class="right">
                 <el-button v-if="task.status == 5" plain @click="handleErr(task)">寮傚父鎸傝捣</el-button>
                 <el-button v-if="task.status == 5 || task.status == 8" plain
                   @click="handleTransform(item, task)">杞Щ鏈堝彴</el-button>
                 <el-button v-if="task.status == 4" plain @click="handlePass(task)">杩囧彿</el-button>
-                <el-button v-if="task.status == 5 || task.status == 8" type="primary"
+                <el-button v-preventReClick :loading="loadingFinish" v-if="task.status == 5 || task.status == 8" type="primary"
                   @click="handleFinish(task)">浣滀笟瀹屾垚</el-button>
-                <el-button v-if="task.status == 4" type="primary" @click="handleWork(task)">寮�濮嬩綔涓�</el-button>
+                <el-button v-preventReClick :loading="loadingOpen" v-if="task.status == 4" type="primary" @click="handleWork(task)">寮�濮嬩綔涓�</el-button>
               </div>
             </div>
           </div>
@@ -135,6 +135,7 @@
     <PlatformQueuing ref="PlatformQueuingRef" v-if="isShowQueuing" @success="getPlatGroupList"
       @close="isShowQueuing = false" />
     <WaybillDetail ref="WaybillDetailRef" v-if="isShowDetail" @success="getList" @close="isShowDetail = false" />
+    <DriverDetail v-if="isShowDriver" ref="DriverDetailRef" />
     <el-dialog title="杞Щ鏈堝彴" :visible.sync="isShowTransform" width="500px" style="margin-top: 12vh">
       <div class="df_ac">
         <span>閫夋嫨杞Щ鍒扮殑鏈堝彴锛�</span>
@@ -145,7 +146,7 @@
       </div>
       <span slot="footer" class="dialog-footer">
         <el-button @click="isShowTransform = false">鍙栨秷</el-button>
-        <el-button type="primary" @click="transformSub">纭畾</el-button>
+        <el-button v-preventReClick type="primary" @click="transformSub">纭畾</el-button>
       </span>
     </el-dialog>
   </div>
@@ -165,16 +166,18 @@
 } from '@/api'
 import PlatformQueuing from './components/PlatformQueuing.vue'
 import WaybillDetail from './components/WaybillDetail.vue'
+import DriverDetail from "@/views/task/driverDetail.vue"
 import GlobalWindow from '@/components/common/GlobalWindow'
 import dayjs from 'dayjs'
 import duration from 'dayjs/plugin/duration'
-import { Message } from 'element-ui'
+import { Loading, Message } from 'element-ui'
 import { statusMap } from './config'
 dayjs.extend(duration)
 export default {
   components: {
     PlatformQueuing,
     WaybillDetail,
+    DriverDetail,
     GlobalWindow
   },
   data() {
@@ -194,9 +197,13 @@
 
       setParam: {},
       isShowDetail: false, // 杩愬崟璇︽儏
+      isShowDriver: false, // 棰勭害璇︽儏
       detail: {},
       isShowQueuing: false,
-      timer: null
+      timer: null,
+
+      loadingOpen: false,
+      loadingFinish: false,
     }
   },
   created() {
@@ -207,15 +214,23 @@
   },
   methods: {
     handleWork(item) {
+      this.loadingOpen = true
       platformBeginWork({ jobId: item.id }).then(res => {
+        this.loadingOpen = false
         Message.success('宸插紑濮嬩綔涓�')
         this.getPlatGroupList()
+      }, () => {
+        this.loadingOpen = false
       })
     },
     handleFinish(item) {
+      this.loadingFinish = true
       platformFinishWork({ jobId: item.id }).then(res => {
+        this.loadingFinish = false
         Message.success('瀹屾垚浣滀笟')
         this.getPlatGroupList()
+      },() => {
+        this.loadingFinish = false
       })
     },
     handleTransform(item, task) {
@@ -325,6 +340,15 @@
         this.$refs.PlatformQueuingRef.title = item.name
       })
     },
+    subDetail(row) {
+      this.isShowDriver = true
+      this.$nextTick(() => {
+        this.$refs.DriverDetailRef.id = row.bookId
+        this.$refs.DriverDetailRef.type = 6
+        this.$refs.DriverDetailRef.getDetail()
+        this.$refs.DriverDetailRef.isShowModal = true
+      })
+    },
     handleDetail(row) {
       this.isShowDetail = true
       this.$nextTick(() => {
diff --git a/admin/src/views/platform/queueUp.vue b/admin/src/views/platform/queueUp.vue
index 20aff75..9d04a1e 100644
--- a/admin/src/views/platform/queueUp.vue
+++ b/admin/src/views/platform/queueUp.vue
@@ -89,7 +89,6 @@
 <script>
 import Pagination from '@/components/common/Pagination'
 import QueryForm from '@/components/common/QueryForm'
-import DriverDetail from "@/views/task/driverDetail.vue"
 import {
   getPlatformGroupList,
   platformLineUpPage,
@@ -97,6 +96,7 @@
 } from '@/api'
 import { queryQueueUpConfig } from './config'
 import WaybillDetail from './components/WaybillDetail.vue'
+import DriverDetail from "@/views/task/driverDetail.vue"
 import PlatformSign from './components/PlatformSign.vue'
 export default {
   components: {
diff --git a/h5/pages/driver/taskConfirm.vue b/h5/pages/driver/taskConfirm.vue
index bcfbe59..622fc0c 100644
--- a/h5/pages/driver/taskConfirm.vue
+++ b/h5/pages/driver/taskConfirm.vue
@@ -16,7 +16,7 @@
 				<view class="label">鎵嬫満鍙�</view>
 				<view class="value">{{ param.drivierPhone }}</view>
 			</view>
-			<view class="line" v-if="type != 4">
+			<view class="line" v-if="param.billCode">
 				<view class="label">杩愯緭鍗曞彿</view>
 				<view class="value" @click="wmsDetail">
 					<text class="waybill_num">{{ param.billCode }}</text>
@@ -374,33 +374,33 @@
 }
 
 .detail_modal {
-		height: calc( 100vh - 88rpx );
+		height: calc( 100vh - 88rpx );
 		padding: 36rpx 30rpx;
 		border-radius: 12rpx;
-		box-shadow: 0 0 6rpx rgba(0, 0, 0, 0.5);
-		.modal_title {
-			font-weight: 600;
-			font-size: 32rpx;
-			color: #222222;
-			line-height: 44rpx;
-			text-align: center;
-			margin-bottom: 36rpx;
-		}
+		box-shadow: 0 0 6rpx rgba(0, 0, 0, 0.5);
+		.modal_title {
+			font-weight: 600;
+			font-size: 32rpx;
+			color: #222222;
+			line-height: 44rpx;
+			text-align: center;
+			margin-bottom: 36rpx;
+		}
 		.contract_wrap{
 			height: calc( 100% - 400rpx );
 			overflow-y: auto;
-		}
+		}
 		.contract_list {
 			border-top: 1rpx solid #E5E5E5;
 			margin-bottom: 30rpx;
 			padding-top: 30rpx;
 			&:nth-last-child(1){
 				margin-bottom: 0;
-			}
-			.list {
-				background: #f7f7f7;
-				border-radius: 8rpx;
-				padding: 20rpx;
+			}
+			.list {
+				background: #f7f7f7;
+				border-radius: 8rpx;
+				padding: 20rpx;
 				.item{
 					border-bottom: 1rpx solid #e5e5e5;
 					padding-bottom: 20rpx;
@@ -410,91 +410,91 @@
 						padding-bottom: 0;
 						margin-bottom: 0;
 					}
-				}
-				.line {
-					display: flex;
-					margin-bottom: 20rpx;
+				}
+				.line {
+					display: flex;
+					margin-bottom: 20rpx;
 					&:nth-last-child(1){
 						margin-bottom: 0rpx;
-					}
-					.label {
-						color: #666666;
-						width: 92rpx;
-					}
-
-					.value {
-						flex: 1;
-						color: #222222;
-					}
-				}
-			}
-
-			.title {
-				font-weight: 600;
-				font-size: 30rpx;
-				color: $uni-color-primary;
-				margin-bottom: 12rpx;
-			}
-
-			.address {
-				font-size: 26rpx;
-				color: #666666;
-				margin-bottom: 20rpx;
-			}
-		}
-
-		.info {
-			.line {
-				display: flex;
-				margin-bottom: 20rpx;
-
-				.label {
-					font-size: 30rpx;
-					color: #666666;
-					width: 150rpx;
-				}
-
-				.value {
-					flex: 1;
-					font-size: 30rpx;
-					color: #222222;
-				}
-			}
-		}
-
-		.separate {
-			width: 750rpx;
-			height: 2rpx;
-			margin: 30rpx -30rpx;
-			border: 1rpx solid #e5e5e5;
-		}
-
-		.id_card {
-			display: flex;
-			font-weight: 600;
-			height: 60rpx;
-			line-height: 60rpx;
-			font-size: 32rpx;
-			color: #111111;
-			border-radius: 8rpx;
-			border: 1rpx solid #dfdede;
-			width: 220rpx;
-			margin-bottom: 15rpx;
-
-			text {
-				&:nth-of-type(1) {
-					background: #e9f5f6;
-					padding: 0 12rpx;
-				}
-
-				&:nth-of-type(2) {
-					padding-left: 10rpx;
-				}
-
-				&:nth-of-type(4) {
-					padding-right: 6rpx;
-				}
-			}
-		}
+					}
+					.label {
+						color: #666666;
+						width: 92rpx;
+					}
+
+					.value {
+						flex: 1;
+						color: #222222;
+					}
+				}
+			}
+
+			.title {
+				font-weight: 600;
+				font-size: 30rpx;
+				color: $uni-color-primary;
+				margin-bottom: 12rpx;
+			}
+
+			.address {
+				font-size: 26rpx;
+				color: #666666;
+				margin-bottom: 20rpx;
+			}
+		}
+
+		.info {
+			.line {
+				display: flex;
+				margin-bottom: 20rpx;
+
+				.label {
+					font-size: 30rpx;
+					color: #666666;
+					width: 150rpx;
+				}
+
+				.value {
+					flex: 1;
+					font-size: 30rpx;
+					color: #222222;
+				}
+			}
+		}
+
+		.separate {
+			width: 750rpx;
+			height: 2rpx;
+			margin: 30rpx -30rpx;
+			border: 1rpx solid #e5e5e5;
+		}
+
+		.id_card {
+			display: flex;
+			font-weight: 600;
+			height: 60rpx;
+			line-height: 60rpx;
+			font-size: 32rpx;
+			color: #111111;
+			border-radius: 8rpx;
+			border: 1rpx solid #dfdede;
+			width: 220rpx;
+			margin-bottom: 15rpx;
+
+			text {
+				&:nth-of-type(1) {
+					background: #e9f5f6;
+					padding: 0 12rpx;
+				}
+
+				&:nth-of-type(2) {
+					padding-left: 10rpx;
+				}
+
+				&:nth-of-type(4) {
+					padding-right: 6rpx;
+				}
+			}
+		}
 	}
 </style>
diff --git a/h5/pages/driver/taskDetail.vue b/h5/pages/driver/taskDetail.vue
index d8ab8f0..2b56631 100644
--- a/h5/pages/driver/taskDetail.vue
+++ b/h5/pages/driver/taskDetail.vue
@@ -4,8 +4,8 @@
 			<image class="bg" src="../../static/driver/bg_renwu@2x.png" mode=""></image>
 			<view class="name" v-if="param.status == 1">璇蜂笌{{ param.arriveDate.slice(0,11) }}鐜板満绛惧埌</view>
 			<view class="name" v-if="param.status == 2">鍓嶆柟鎺掗槦锛歿{param.lineUpNum}}杈�</view>
-			<view class="name" v-if="param.status == 3">鍏ュ洯绛夊緟</view>
-			<view class="name" v-if="param.status == 4">璇峰叆鍥仠闈爗{param.platformName}}浣滀笟</view>
+			<view class="name" v-if="param.status == 3">鍏ュ洯绛夊緟</view>
+			<view class="name" v-if="param.status == 4">璇峰叆鍥仠闈爗{param.platformName}}浣滀笟</view>
 			<view class="name" v-if="param.status == 5">鏈堝彴浣滀笟涓�</view>
 			<view class="name" v-if="param.status == 6">浣滀笟宸插畬鎴�</view>
 			<view class="id_card">{{ param.carCodeFront }}</view>
@@ -21,7 +21,7 @@
 				<view class="label">鎵嬫満鍙�</view>
 				<view class="value">{{param.drivierPhone}}</view>
 			</view>
-			<template v-if="param.type != 4">
+			<template v-if="param.billCode">
 				<view class="line">
 					<view class="label">杩愯緭鍗曞彿</view>
 					<view class="value" @click="wmsDetail">
@@ -31,9 +31,9 @@
 				</view>
 				<view class="line">
 					<view class="label">浣滀笟绫诲瀷</view>
-					<view class="value" v-if="param.type == 0">鑷湁杞﹀嵏璐�</view>
-					<view class="value" v-if="param.type == 1">鑷湁杞﹁璐�</view>
-					<view class="value" v-if="param.type == 2">澶栧崗杞﹀嵏璐�</view>
+					<view class="value" v-if="param.type == 0">鑷湁杞﹀嵏璐�</view>
+					<view class="value" v-if="param.type == 1">鑷湁杞﹁璐�</view>
+					<view class="value" v-if="param.type == 2">澶栧崗杞﹀嵏璐�</view>
 					<view class="value" v-if="param.type == 3">澶栧崗杞﹁璐�</view>
 				</view>
 			</template>
@@ -139,24 +139,24 @@
 						<view class="label">杩愯緭鍏徃</view>
 						<view class="value">{{ wmsInfo.carrierName }}</view>
 					</view>
-				</view>
-				<view class="contract_wrap">
-					<view class="contract_list" v-for="item in wmsInfo.wmsJobContractVOList">
-						<view class="title">鍚堝悓鍙凤細{{ item.contractCode }}</view>
-						<view class="address">鏀惰揣鍦帮細{{ item.address }}</view>
-						<view class="list">
-							<view class="item" v-for="line in item.platformWmsDetailList">
-								<view class="line">
-									<view class="label">鐗╂枡锛�</view>
-									<view class="value">{{ line.materialName }}</view>
-								</view>
-								<view class="line">
-									<view class="label">鏁伴噺锛�</view>
-									<view class="value">{{ line.ioQty }}</view>
-								</view>
-							</view>
-						</view>
-					</view>
+				</view>
+				<view class="contract_wrap">
+					<view class="contract_list" v-for="item in wmsInfo.wmsJobContractVOList">
+						<view class="title">鍚堝悓鍙凤細{{ item.contractCode }}</view>
+						<view class="address">鏀惰揣鍦帮細{{ item.address }}</view>
+						<view class="list">
+							<view class="item" v-for="line in item.platformWmsDetailList">
+								<view class="line">
+									<view class="label">鐗╂枡锛�</view>
+									<view class="value">{{ line.materialName }}</view>
+								</view>
+								<view class="line">
+									<view class="label">鏁伴噺锛�</view>
+									<view class="value">{{ line.ioQty }}</view>
+								</view>
+							</view>
+						</view>
+					</view>
 				</view>
 			</view>
 		</u-popup>
@@ -438,10 +438,10 @@
 		}
 	}
 
-.detail_modal {
+.detail_modal {
 		height: calc( 100vh - 88rpx );
-		padding: 36rpx 30rpx;
-		border-radius: 12rpx;
+		padding: 36rpx 30rpx;
+		border-radius: 12rpx;
 		box-shadow: 0 0 6rpx rgba(0, 0, 0, 0.5);
 		.modal_title {
 			font-weight: 600;
@@ -451,36 +451,36 @@
 			text-align: center;
 			margin-bottom: 36rpx;
 		}
-		.contract_wrap{
-			height: calc( 100% - 400rpx );
-			overflow-y: auto;
+		.contract_wrap{
+			height: calc( 100% - 400rpx );
+			overflow-y: auto;
 		}
-		.contract_list {
-			border-top: 1rpx solid #E5E5E5;
-			margin-bottom: 30rpx;
-			padding-top: 30rpx;
-			&:nth-last-child(1){
-				margin-bottom: 0;
+		.contract_list {
+			border-top: 1rpx solid #E5E5E5;
+			margin-bottom: 30rpx;
+			padding-top: 30rpx;
+			&:nth-last-child(1){
+				margin-bottom: 0;
 			}
 			.list {
 				background: #f7f7f7;
 				border-radius: 8rpx;
 				padding: 20rpx;
-				.item{
-					border-bottom: 1rpx solid #e5e5e5;
-					padding-bottom: 20rpx;
-					margin-bottom: 20rpx;
-					&:nth-last-child(1){
-						border: none;
-						padding-bottom: 0;
-						margin-bottom: 0;
-					}
+				.item{
+					border-bottom: 1rpx solid #e5e5e5;
+					padding-bottom: 20rpx;
+					margin-bottom: 20rpx;
+					&:nth-last-child(1){
+						border: none;
+						padding-bottom: 0;
+						margin-bottom: 0;
+					}
 				}
 				.line {
 					display: flex;
 					margin-bottom: 20rpx;
-					&:nth-last-child(1){
-						margin-bottom: 0rpx;
+					&:nth-last-child(1){
+						margin-bottom: 0rpx;
 					}
 					.label {
 						color: #666666;
@@ -561,5 +561,5 @@
 				}
 			}
 		}
-	}
+	}
 </style>
\ No newline at end of file
diff --git a/pda/pages/index/center.vue b/pda/pages/index/center.vue
index d23f44e..478bfab 100644
--- a/pda/pages/index/center.vue
+++ b/pda/pages/index/center.vue
@@ -32,14 +32,14 @@
 					<view class="status" v-if="item.status == 4">鍙彿涓� {{ item.callDateTemp }}</view>
 					<view class="status scs" v-if="item.status == 5">宸蹭綔涓� {{ item.startDateTemp }}</view>
 				</view>
-				<view class="line" v-if="item.type == 4">
-					<text class="label">鍚堝悓鍗曞彿</text>
-					<text class="value">{{ item.contractNum }}</text>
-				</view>
-				<view class="line" v-else>
+				<view class="line" v-if="item.code">
 					<text class="label">杩愯緭鍗曞彿</text>
 					<text class="value">{{ item.code }}</text>
 					<text class="primaryColor" @click="handleDetail(item)">杩愬崟璇︽儏</text>
+				</view>
+				<view class="line" v-else>
+					<text class="label">鍚堝悓鍗曞彿</text>
+					<text class="value">{{ item.contractNum }}</text>
 				</view>
 				<view class="line">
 					<text class="label">椹鹃┒鍛�</text>
@@ -96,14 +96,14 @@
                   statusMap[item.status]
                 }}</view>
 							</view>
-							<view class="line" v-if="item.type == 4">
-								<text class="label">鍚堝悓鍗曞彿</text>
-								<text class="value">{{ item.contractNum }}</text>
-							</view>
-							<view class="line" v-else>
+							<view class="line" v-if="item.billCode">
 								<text class="label">杩愯緭鍗曞彿</text>
 								<text class="value">{{ item.billCode }}</text>
 								<text class="primaryColor" @click="handleDetail(item)">杩愬崟璇︽儏</text>
+							</view>
+							<view class="line" v-else>
+								<text class="label">鍚堝悓鍗曞彿</text>
+								<text class="value">{{ item.contractNum }}</text>
 							</view>
 							<view class="line">
 								<text class="label">椹鹃┒鍛�</text>
@@ -154,24 +154,24 @@
 						<view class="label">杩愯緭鍏徃</view>
 						<view class="value">{{ wmsInfo.carrierName }}</view>
 					</view>
-				</view>
-				<view class="contract_wrap">
-					<view class="contract_list" v-for="item in wmsInfo.wmsJobContractVOList">
-						<view class="title">鍚堝悓鍙凤細{{ item.contractCode }}</view>
-						<view class="address">鏀惰揣鍦帮細{{ item.address }}</view>
-						<view class="list">
-							<view class="item" v-for="line in item.platformWmsDetailList">
-								<view class="line">
-									<view class="label">鐗╂枡锛�</view>
-									<view class="value">{{ line.materialName }}</view>
-								</view>
-								<view class="line">
-									<view class="label">鏁伴噺锛�</view>
-									<view class="value">{{ line.ioQty }}涓囨敮</view>
-								</view>
-							</view>
-						</view>
-					</view>
+				</view>
+				<view class="contract_wrap">
+					<view class="contract_list" v-for="item in wmsInfo.wmsJobContractVOList">
+						<view class="title">鍚堝悓鍙凤細{{ item.contractCode }}</view>
+						<view class="address">鏀惰揣鍦帮細{{ item.address }}</view>
+						<view class="list">
+							<view class="item" v-for="line in item.platformWmsDetailList">
+								<view class="line">
+									<view class="label">鐗╂枡锛�</view>
+									<view class="value">{{ line.materialName }}</view>
+								</view>
+								<view class="line">
+									<view class="label">鏁伴噺锛�</view>
+									<view class="value">{{ line.ioQty }}涓囨敮</view>
+								</view>
+							</view>
+						</view>
+					</view>
 				</view>
 			</view>
 		</u-popup>
@@ -248,9 +248,9 @@
 			}
 		},
 		onLoad() {
-			this.getPlatformGroup()
-			setInterval(() => {
-				this.getPlatformGroup()
+			this.getPlatformGroup()
+			setInterval(() => {
+				this.getPlatformGroup()
 			}, 1000 * 30)
 		},
 		methods: {
@@ -368,7 +368,7 @@
 				this.platformCallPage = 1
 				if (callType == 1) { // 鍏ュ洯鍙彿
 					platformInPark({
-						jobId: item.id,
+						jobId: item.id,
 						platformId: activePlatform.id
 					}).then(res => {
 						this.showToast('鍙彿鎴愬姛')
@@ -496,8 +496,8 @@
 				.item {
 					width: 210rpx;
 					height: 80rpx;
-					display: flex;
-					justify-content: center;
+					display: flex;
+					justify-content: center;
 					align-items: center;
 					background: #ffffff;
 					border-radius: 8rpx;
@@ -570,18 +570,18 @@
 				.code {
 					font-weight: 600;
 					height: 60rpx;
-					display: flex;
-					justify-content: center;
+					display: flex;
+					justify-content: center;
 					align-items: center;
 					font-size: 32rpx;
 					color: #111111;
 					border-radius: 8rpx;
 					border: 1rpx solid #dfdede;
 
-					text {
-						display: flex;
-						justify-content: center;
-						align-items: center;
+					text {
+						display: flex;
+						justify-content: center;
+						align-items: center;
 						height: 100%;
 						&:nth-of-type(1) {
 							background: #e9f5f6;
@@ -665,8 +665,8 @@
 			.btn {
 				width: 224rpx;
 				height: 88rpx;
-				display: flex;
-				justify-content: center;
+				display: flex;
+				justify-content: center;
 				align-items: center;
 				background: #ffffff;
 				border-radius: 44rpx;
@@ -703,7 +703,7 @@
 		}
 
 		.order_list {
-			height: calc(100% - 160rpx);
+			height: calc(100% - 160rpx);
 			margin-top: 20rpx;
 			.scroll_view {
 				height: 100%;
@@ -711,9 +711,9 @@
 
 			.platform_ing {
 				border-radius: 8rpx;
-				border: 1rpx solid #dfe2e8;
-				&:nth-of-type(1){
-					margin-top: 0;
+				border: 1rpx solid #dfe2e8;
+				&:nth-of-type(1){
+					margin-top: 0;
 				}
 			}
 		}
@@ -866,10 +866,10 @@
 		}
 	}
 
-	.detail_modal {
+	.detail_modal {
 		height: 100vh;
-		padding: 36rpx 30rpx;
-		border-radius: 12rpx;
+		padding: 36rpx 30rpx;
+		border-radius: 12rpx;
 		box-shadow: 0 0 6rpx rgba(0, 0, 0, 0.5);
 		.modal_title {
 			font-weight: 600;
@@ -879,36 +879,36 @@
 			text-align: center;
 			margin-bottom: 36rpx;
 		}
-		.contract_wrap{
-			height: calc( 100% - 400rpx );
-			overflow-y: auto;
+		.contract_wrap{
+			height: calc( 100% - 400rpx );
+			overflow-y: auto;
 		}
-		.contract_list {
-			border-top: 1rpx solid #E5E5E5;
-			margin-bottom: 30rpx;
-			padding-top: 30rpx;
-			&:nth-last-child(1){
-				margin-bottom: 0;
+		.contract_list {
+			border-top: 1rpx solid #E5E5E5;
+			margin-bottom: 30rpx;
+			padding-top: 30rpx;
+			&:nth-last-child(1){
+				margin-bottom: 0;
 			}
 			.list {
 				background: #f7f7f7;
 				border-radius: 8rpx;
 				padding: 20rpx;
-				.item{
-					border-bottom: 1rpx solid #e5e5e5;
-					padding-bottom: 20rpx;
-					margin-bottom: 20rpx;
-					&:nth-last-child(1){
-						border: none;
-						padding-bottom: 0;
-						margin-bottom: 0;
-					}
+				.item{
+					border-bottom: 1rpx solid #e5e5e5;
+					padding-bottom: 20rpx;
+					margin-bottom: 20rpx;
+					&:nth-last-child(1){
+						border: none;
+						padding-bottom: 0;
+						margin-bottom: 0;
+					}
 				}
 				.line {
 					display: flex;
 					margin-bottom: 20rpx;
-					&:nth-last-child(1){
-						margin-bottom: 0rpx;
+					&:nth-last-child(1){
+						margin-bottom: 0rpx;
 					}
 					.label {
 						color: #666666;
diff --git a/pda/pages/index/queueup.vue b/pda/pages/index/queueup.vue
index 25c6711..f3e8a24 100644
--- a/pda/pages/index/queueup.vue
+++ b/pda/pages/index/queueup.vue
@@ -38,14 +38,14 @@
             >绛惧埌鏃堕棿锛歿{ item.signDate.slice(11, 16) }}</view
           >
         </view>
-        <view class="line" v-if="item.type == 4">
-          <text class="label">鍚堝悓鍗曞彿</text>
-          <text class="value">{{ item.contractNum }}</text>
-        </view>
-        <view class="line" v-else>
+        <view class="line" v-if="item.billCode">
           <text class="label">杩愯緭鍗曞彿</text>
           <text class="value">{{ item.billCode }}</text>
           <text class="primaryColor" @click="handleDetail(item)">杩愬崟璇︽儏</text>
+        </view>
+        <view class="line" v-else>
+          <text class="label">鍚堝悓鍗曞彿</text>
+          <text class="value">{{ item.contractNum }}</text>
         </view>
         <view class="line">
           <text class="label">椹鹃┒鍛�</text>
@@ -322,33 +322,33 @@
   }
 }
 .detail_modal {
-		height: 100vh;
+		height: 100vh;
 		padding: 36rpx 30rpx;
 		border-radius: 12rpx;
-		box-shadow: 0 0 6rpx rgba(0, 0, 0, 0.5);
-		.modal_title {
-			font-weight: 600;
-			font-size: 32rpx;
-			color: #222222;
-			line-height: 44rpx;
-			text-align: center;
-			margin-bottom: 36rpx;
-		}
+		box-shadow: 0 0 6rpx rgba(0, 0, 0, 0.5);
+		.modal_title {
+			font-weight: 600;
+			font-size: 32rpx;
+			color: #222222;
+			line-height: 44rpx;
+			text-align: center;
+			margin-bottom: 36rpx;
+		}
 		.contract_wrap{
 			height: calc( 100% - 400rpx );
 			overflow-y: auto;
-		}
+		}
 		.contract_list {
 			border-top: 1rpx solid #E5E5E5;
 			margin-bottom: 30rpx;
 			padding-top: 30rpx;
 			&:nth-last-child(1){
 				margin-bottom: 0;
-			}
-			.list {
-				background: #f7f7f7;
-				border-radius: 8rpx;
-				padding: 20rpx;
+			}
+			.list {
+				background: #f7f7f7;
+				border-radius: 8rpx;
+				padding: 20rpx;
 				.item{
 					border-bottom: 1rpx solid #e5e5e5;
 					padding-bottom: 20rpx;
@@ -358,91 +358,91 @@
 						padding-bottom: 0;
 						margin-bottom: 0;
 					}
-				}
-				.line {
-					display: flex;
-					margin-bottom: 20rpx;
+				}
+				.line {
+					display: flex;
+					margin-bottom: 20rpx;
 					&:nth-last-child(1){
 						margin-bottom: 0rpx;
-					}
-					.label {
-						color: #666666;
-						width: 92rpx;
-					}
-
-					.value {
-						flex: 1;
-						color: #222222;
-					}
-				}
-			}
-
-			.title {
-				font-weight: 600;
-				font-size: 30rpx;
-				color: $uni-color-primary;
-				margin-bottom: 12rpx;
-			}
-
-			.address {
-				font-size: 26rpx;
-				color: #666666;
-				margin-bottom: 20rpx;
-			}
-		}
-
-		.info {
-			.line {
-				display: flex;
-				margin-bottom: 20rpx;
-
-				.label {
-					font-size: 30rpx;
-					color: #666666;
-					width: 150rpx;
-				}
-
-				.value {
-					flex: 1;
-					font-size: 30rpx;
-					color: #222222;
-				}
-			}
-		}
-
-		.separate {
-			width: 750rpx;
-			height: 2rpx;
-			margin: 30rpx -30rpx;
-			border: 1rpx solid #e5e5e5;
-		}
-
-		.id_card {
-			display: flex;
-			font-weight: 600;
-			height: 60rpx;
-			line-height: 60rpx;
-			font-size: 32rpx;
-			color: #111111;
-			border-radius: 8rpx;
-			border: 1rpx solid #dfdede;
-			width: 220rpx;
-			margin-bottom: 15rpx;
-
-			text {
-				&:nth-of-type(1) {
-					background: #e9f5f6;
-					padding: 0 12rpx;
-				}
-
-				&:nth-of-type(2) {
-					padding-left: 10rpx;
-				}
-
-				&:nth-of-type(4) {
-					padding-right: 6rpx;
-				}
-			}
-		}
+					}
+					.label {
+						color: #666666;
+						width: 92rpx;
+					}
+
+					.value {
+						flex: 1;
+						color: #222222;
+					}
+				}
+			}
+
+			.title {
+				font-weight: 600;
+				font-size: 30rpx;
+				color: $uni-color-primary;
+				margin-bottom: 12rpx;
+			}
+
+			.address {
+				font-size: 26rpx;
+				color: #666666;
+				margin-bottom: 20rpx;
+			}
+		}
+
+		.info {
+			.line {
+				display: flex;
+				margin-bottom: 20rpx;
+
+				.label {
+					font-size: 30rpx;
+					color: #666666;
+					width: 150rpx;
+				}
+
+				.value {
+					flex: 1;
+					font-size: 30rpx;
+					color: #222222;
+				}
+			}
+		}
+
+		.separate {
+			width: 750rpx;
+			height: 2rpx;
+			margin: 30rpx -30rpx;
+			border: 1rpx solid #e5e5e5;
+		}
+
+		.id_card {
+			display: flex;
+			font-weight: 600;
+			height: 60rpx;
+			line-height: 60rpx;
+			font-size: 32rpx;
+			color: #111111;
+			border-radius: 8rpx;
+			border: 1rpx solid #dfdede;
+			width: 220rpx;
+			margin-bottom: 15rpx;
+
+			text {
+				&:nth-of-type(1) {
+					background: #e9f5f6;
+					padding: 0 12rpx;
+				}
+
+				&:nth-of-type(2) {
+					padding-left: 10rpx;
+				}
+
+				&:nth-of-type(4) {
+					padding-right: 6rpx;
+				}
+			}
+		}
 	}
 </style>
\ No newline at end of file
diff --git a/screen/package-lock.json b/screen/package-lock.json
index a4d4d51..7d77ab2 100644
--- a/screen/package-lock.json
+++ b/screen/package-lock.json
@@ -12,7 +12,7 @@
         "dayjs": "^1.11.11",
         "echarts": "^5.5.1",
         "pinia": "^2.1.7",
-        "postcss-px2rem": "^0.3.0",
+        "postcss-plugin-px2rem": "^0.8.1",
         "px2rem-loader": "^0.1.9",
         "uqrcodejs": "^4.0.7",
         "v-scale-screen": "^2.0.0",
@@ -2769,16 +2769,15 @@
         "node": "^10 || ^12 || >=14"
       }
     },
-    "node_modules/postcss-px2rem": {
-      "version": "0.3.0",
-      "resolved": "https://registry.npmjs.org/postcss-px2rem/-/postcss-px2rem-0.3.0.tgz",
-      "integrity": "sha512-ACZRimmOEDma0L/sI5ENREY3BoYB4LNME9iM9VcZU2t598OB9KLEPDYX8JBohNsvwJ+Nvlvk3IcGm0bRqOBC/Q==",
+    "node_modules/postcss-plugin-px2rem": {
+      "version": "0.8.1",
+      "resolved": "https://registry.npmjs.org/postcss-plugin-px2rem/-/postcss-plugin-px2rem-0.8.1.tgz",
+      "integrity": "sha512-gNxhrnR57pnGrPLLqVNWY9+BWgj46kYkphw+0gpRJf9tjgwI7/tLqQPK7KdlksB2SSAddOb11otDVwri8b8mXw==",
       "dependencies": {
-        "postcss": "^5.0.0",
-        "px2rem": "~0.5.0"
+        "postcss": "^5.0.21"
       }
     },
-    "node_modules/postcss-px2rem/node_modules/ansi-styles": {
+    "node_modules/postcss-plugin-px2rem/node_modules/ansi-styles": {
       "version": "2.2.1",
       "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
       "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==",
@@ -2786,7 +2785,7 @@
         "node": ">=0.10.0"
       }
     },
-    "node_modules/postcss-px2rem/node_modules/chalk": {
+    "node_modules/postcss-plugin-px2rem/node_modules/chalk": {
       "version": "1.1.3",
       "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
       "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==",
@@ -2801,7 +2800,7 @@
         "node": ">=0.10.0"
       }
     },
-    "node_modules/postcss-px2rem/node_modules/chalk/node_modules/supports-color": {
+    "node_modules/postcss-plugin-px2rem/node_modules/chalk/node_modules/supports-color": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
       "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==",
@@ -2809,7 +2808,7 @@
         "node": ">=0.8.0"
       }
     },
-    "node_modules/postcss-px2rem/node_modules/has-flag": {
+    "node_modules/postcss-plugin-px2rem/node_modules/has-flag": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
       "integrity": "sha512-DyYHfIYwAJmjAjSSPKANxI8bFY9YtFrgkAfinBojQ8YJTOuOuav64tMUJv584SES4xl74PmuaevIyaLESHdTAA==",
@@ -2817,7 +2816,7 @@
         "node": ">=0.10.0"
       }
     },
-    "node_modules/postcss-px2rem/node_modules/postcss": {
+    "node_modules/postcss-plugin-px2rem/node_modules/postcss": {
       "version": "5.2.18",
       "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
       "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
@@ -2831,7 +2830,7 @@
         "node": ">=0.12"
       }
     },
-    "node_modules/postcss-px2rem/node_modules/source-map": {
+    "node_modules/postcss-plugin-px2rem/node_modules/source-map": {
       "version": "0.5.7",
       "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
       "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==",
@@ -2839,7 +2838,7 @@
         "node": ">=0.10.0"
       }
     },
-    "node_modules/postcss-px2rem/node_modules/supports-color": {
+    "node_modules/postcss-plugin-px2rem/node_modules/supports-color": {
       "version": "3.2.3",
       "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
       "integrity": "sha512-Jds2VIYDrlp5ui7t8abHN2bjAu4LV/q4N2KivFPpGH0lrka0BMq/33AmECUXlKPcHigkNaqfXRENFju+rlcy+A==",
diff --git a/screen/package.json b/screen/package.json
index 37cbfeb..d7e0320 100644
--- a/screen/package.json
+++ b/screen/package.json
@@ -13,7 +13,7 @@
     "dayjs": "^1.11.11",
     "echarts": "^5.5.1",
     "pinia": "^2.1.7",
-    "postcss-px2rem": "^0.3.0",
+    "postcss-plugin-px2rem": "^0.8.1",
     "px2rem-loader": "^0.1.9",
     "uqrcodejs": "^4.0.7",
     "v-scale-screen": "^2.0.0",
diff --git a/screen/src/utils/scale_screen.js b/screen/src/utils/scale_screen.js
index 6917201..40a7ff9 100644
--- a/screen/src/utils/scale_screen.js
+++ b/screen/src/utils/scale_screen.js
@@ -1,7 +1,7 @@
 
 // rem绛夋瘮閫傞厤閰嶇疆鏂囦欢
 // 鍩哄噯澶у皬
-const baseSize = 14
+const baseSize = 16
 // 璁剧疆 rem 鍑芥暟
 function setRem() {
   // 褰撳墠椤甸潰瀹藉害鐩稿浜� 1920瀹界殑缂╂斁姣斾緥锛屽彲鏍规嵁鑷繁闇�瑕佷慨鏀广��
diff --git a/screen/src/views/PlatformCall.vue b/screen/src/views/PlatformCall.vue
index 0bf36df..99cbbae 100644
--- a/screen/src/views/PlatformCall.vue
+++ b/screen/src/views/PlatformCall.vue
@@ -108,7 +108,7 @@
   var qr = new UQRCode()
   // 璁剧疆浜岀淮鐮佸唴瀹�
   qr.data = qrcode.value
-  qr.size = 220
+  qr.size = 268
   // 璋冪敤鍒朵綔浜岀淮鐮佹柟娉�
   qr.make()
   var canvas = document.getElementById("qrcode")
@@ -248,7 +248,7 @@
           </div>
           <div class="qrcode_wrap">
             <div class="qrcode">
-              <canvas id="qrcode" width="220" height="220"></canvas>
+              <canvas id="qrcode" width="268" height="268"></canvas>
             </div>
             <div class="title">璇锋壂鐮佺鍒�</div>
           </div>
@@ -501,7 +501,7 @@
         justify-content: center;
 
         .qrcode {
-          padding: 6px;
+          padding: 6px 6px 4px;
           background-color: #fff;
         }
 
diff --git a/screen/vite.config.js b/screen/vite.config.js
index fe6a483..0b71753 100644
--- a/screen/vite.config.js
+++ b/screen/vite.config.js
@@ -3,8 +3,8 @@
 import { defineConfig } from 'vite'
 import vue from '@vitejs/plugin-vue'
 import VueDevTools from 'vite-plugin-vue-devtools'
+//閰嶇疆鍙傛暟
 
-// https://vitejs.dev/config/
 export default defineConfig({
   plugins: [
     vue(),
@@ -16,6 +16,9 @@
       '@': fileURLToPath(new URL('./src', import.meta.url))
     }
   },
+  css: {
+
+  },
   build: {
     outDir: 'platform_screen'
   },

--
Gitblit v1.9.3