Преглед на файлове

对公务用车 的 大屏界面及后台界面 进行调整,接口已接入

zhanghao преди 2 месеца
родител
ревизия
d1a033e29a

+ 60 - 0
src/api/screen/service.js

@@ -859,3 +859,63 @@ export function getOverIssueNum(appOrg) {
     method: 'get'
     method: 'get'
   })
   })
 }
 }
+
+
+/*--------------- 公务用车 ------------------*/
+
+// 资源台账
+export function getResource(appOrg) {
+  return request({
+    url: '/large/car/resource',
+    params: {
+      appOrg: appOrg
+    },
+    method: 'get'
+  })
+}
+
+// 2025年度公务车车辆明细
+export function getCarDetail(appOrg) {
+  return request({
+    url: '/large/car/carDetail',
+    method: 'get'
+  })
+}
+
+// 公务车预警明细
+export function getWarnDetail(appOrg) {
+  return request({
+    url: '/large/car/warnDetail',
+    method: 'get'
+  })
+}
+
+// 监控管理
+export function getMonitor(appOrg) {
+  return request({
+    url: '/large/car/monitor',
+    params: {
+      appOrg: appOrg
+    },
+    method: 'get'
+  })
+}
+
+// 运行管理 上
+export function getOperationManageTopHalf(appOrg) {
+  return request({
+    url: '/large/car/operationManageTopHalf',
+    params: {
+      appOrg: appOrg
+    },
+    method: 'get'
+  })
+}
+
+// 运行管理 下
+export function getOperationManageLastHalf() {
+  return request({
+    url: '/large/car/operationManageLastHalf',
+    method: 'get'
+  })
+}

+ 21 - 8
src/views/screen/logistics/car/carStock.vue

@@ -8,9 +8,9 @@
           <div class="carInstall">
           <div class="carInstall">
             <div style="width: 90%;display: flex;flex-wrap: wrap">
             <div style="width: 90%;display: flex;flex-wrap: wrap">
               <div style="width: 80%;margin-bottom: 10px">公务车终端安装率</div>
               <div style="width: 80%;margin-bottom: 10px">公务车终端安装率</div>
-              <div style="width: 20%;text-align: right">87%</div>
+              <div style="width: 20%;text-align: right">{{ monitorData.percentageInstall }}%</div>
               <div style="width: 100%;height: 5px;background-color: #14424C;border-radius: 5px">
               <div style="width: 100%;height: 5px;background-color: #14424C;border-radius: 5px">
-                <div class="animated-width-fir" style="height: 5px; border-radius: 5px;"></div>
+                <div class="animated-width-fir" style="height: 5px; border-radius: 5px;" :style="progressStyleFir"></div>
               </div>
               </div>
             </div>
             </div>
             <div style="width: 8%;height:30px;border-right: 3px #14424C solid"></div>
             <div style="width: 8%;height:30px;border-right: 3px #14424C solid"></div>
@@ -21,9 +21,9 @@
           <div class="carInstall">
           <div class="carInstall">
             <div style="width: 90%;display: flex;flex-wrap: wrap">
             <div style="width: 90%;display: flex;flex-wrap: wrap">
               <div style="width: 80%;margin-bottom: 10px">公务车终端在线率</div>
               <div style="width: 80%;margin-bottom: 10px">公务车终端在线率</div>
-              <div style="width: 20%;text-align: right">50%</div>
+              <div style="width: 20%;text-align: right">{{ monitorData.percentageOnline }}%</div>
               <div style="width: 100%;height: 5px;background-color: #14424C;border-radius: 5px">
               <div style="width: 100%;height: 5px;background-color: #14424C;border-radius: 5px">
-                <div class="animated-width-sec" style="height: 5px; border-radius: 5px;"></div>
+                <div class="animated-width-sec" style="height: 5px; border-radius: 5px;" :style="progressStyleSec"></div>
               </div>
               </div>
             </div>
             </div>
             <div style="width: 8%;height:30px;border-right: 3px #14424C solid"></div>
             <div style="width: 8%;height:30px;border-right: 3px #14424C solid"></div>
@@ -37,7 +37,7 @@
         <div style="display: flex;align-items: center">
         <div style="display: flex;align-items: center">
           <img src="../../../../assets/zhang/public_car.png" width="58" style="margin: 0 5px 0 33px">
           <img src="../../../../assets/zhang/public_car.png" width="58" style="margin: 0 5px 0 33px">
           <div style="width: 108px;height: 24px;color: #00FFFF;font-size: 34px;margin-bottom: 10px">
           <div style="width: 108px;height: 24px;color: #00FFFF;font-size: 34px;margin-bottom: 10px">
-            <span style="font-family: 'electronicFont'">5566</span>
+            <span style="font-family: 'electronicFont'">{{ monitorData.notArchivedNum }}</span>
             <span style="width: 15px;height: 24px;font-size: 14px;align-content: end">辆</span>
             <span style="width: 15px;height: 24px;font-size: 14px;align-content: end">辆</span>
           </div>
           </div>
         </div>
         </div>
@@ -48,7 +48,7 @@
         <div style="display: flex;align-items: center">
         <div style="display: flex;align-items: center">
           <img src="../../../../assets/zhang/publicCar/pentagonCar.png" width="55" style="margin: 0 5px 0 33px">
           <img src="../../../../assets/zhang/publicCar/pentagonCar.png" width="55" style="margin: 0 5px 0 33px">
           <div style="width: 108px;height: 24px;color: #00FFFF;font-size: 34px;margin-bottom: 10px">
           <div style="width: 108px;height: 24px;color: #00FFFF;font-size: 34px;margin-bottom: 10px">
-            <span style="font-family: 'electronicFont'">5566</span>
+            <span style="font-family: 'electronicFont'">{{ monitorData.noPidNum }}</span>
             <span style="width: 15px;height: 24px;font-size: 14px;align-content: end">辆</span>
             <span style="width: 15px;height: 24px;font-size: 14px;align-content: end">辆</span>
           </div>
           </div>
         </div>
         </div>
@@ -65,6 +65,7 @@ export default {
   name: "AssetsStock",
   name: "AssetsStock",
   components: {LineChart},
   components: {LineChart},
   props: {
   props: {
+    monitorData: {},
     appOrg: {
     appOrg: {
       type: String,
       type: String,
       default: "0000",
       default: "0000",
@@ -78,6 +79,18 @@ export default {
       },100)
       },100)
     },
     },
   },
   },
+  computed:{
+    progressStyleFir() {
+      return {
+        '--progressFir-width': `${this.monitorData.percentageInstall}%`
+      };
+    },
+    progressStyleSec() {
+      return {
+        '--progressSec-width': `${this.monitorData.percentageOnline}%`
+      };
+    }
+  },
   data() {
   data() {
     return {
     return {
       carTypeNum:[
       carTypeNum:[
@@ -743,7 +756,7 @@ export default {
     width: 0%;
     width: 0%;
   }
   }
   100% {
   100% {
-    width: 87%;
+    width: var(--progressFir-width, 87%);
   }
   }
 }
 }
 
 
@@ -759,7 +772,7 @@ export default {
     width: 0%;
     width: 0%;
   }
   }
   100% {
   100% {
-    width: 50%;
+    width: var(--progressSec-width, 50%);
   }
   }
 }
 }
 </style>
 </style>

+ 25 - 11
src/views/screen/logistics/car/carStockDialog.vue

@@ -14,9 +14,9 @@
               <div class="carInstall">
               <div class="carInstall">
                 <div style="width: 90%;display: flex;flex-wrap: wrap">
                 <div style="width: 90%;display: flex;flex-wrap: wrap">
                   <div style="width: 80%;margin-bottom: 10px">公务车终端安装率</div>
                   <div style="width: 80%;margin-bottom: 10px">公务车终端安装率</div>
-                  <div style="width: 20%;text-align: right">87%</div>
+                  <div style="width: 20%;text-align: right">{{ monitorData.percentageInstall }}%</div>
                   <div style="width: 100%;height: 5px;background-color: #14424C;border-radius: 5px">
                   <div style="width: 100%;height: 5px;background-color: #14424C;border-radius: 5px">
-                    <div class="animated-width-fir" style="height: 5px; border-radius: 5px;"></div>
+                    <div class="animated-width-fir" style="height: 5px; border-radius: 5px;" :style="progressStyleFir"></div>
                   </div>
                   </div>
                 </div>
                 </div>
                 <div style="width: 8%;height:30px;border-right: 3px #14424C solid"></div>
                 <div style="width: 8%;height:30px;border-right: 3px #14424C solid"></div>
@@ -27,9 +27,9 @@
               <div class="carInstall">
               <div class="carInstall">
                 <div style="width: 90%;display: flex;flex-wrap: wrap">
                 <div style="width: 90%;display: flex;flex-wrap: wrap">
                   <div style="width: 80%;margin-bottom: 10px">公务车终端在线率</div>
                   <div style="width: 80%;margin-bottom: 10px">公务车终端在线率</div>
-                  <div style="width: 20%;text-align: right">50%</div>
+                  <div style="width: 20%;text-align: right">{{ monitorData.percentageOnline }}%</div>
                   <div style="width: 100%;height: 5px;background-color: #14424C;border-radius: 5px">
                   <div style="width: 100%;height: 5px;background-color: #14424C;border-radius: 5px">
-                    <div class="animated-width-sec" style="height: 5px; border-radius: 5px;"></div>
+                    <div class="animated-width-sec" style="height: 5px; border-radius: 5px;" :style="progressStyleSec"></div>
                   </div>
                   </div>
                 </div>
                 </div>
                 <div style="width: 8%;height:30px;border-right: 3px #14424C solid"></div>
                 <div style="width: 8%;height:30px;border-right: 3px #14424C solid"></div>
@@ -46,7 +46,7 @@
             <div style="display: flex;align-items: center">
             <div style="display: flex;align-items: center">
               <img src="../../../../assets/zhang/public_car.png" width="58" style="margin: 0 5px 0 33px">
               <img src="../../../../assets/zhang/public_car.png" width="58" style="margin: 0 5px 0 33px">
               <div style="width: 108px;height: 24px;color: #00FFFF;font-size: 34px;margin-bottom: 10px">
               <div style="width: 108px;height: 24px;color: #00FFFF;font-size: 34px;margin-bottom: 10px">
-                <span style="font-family: 'electronicFont'">5566</span>
+                <span style="font-family: 'electronicFont'">{{ monitorData.notArchivedNum }}</span>
                 <span style="width: 15px;height: 24px;font-size: 14px;align-content: end">辆</span>
                 <span style="width: 15px;height: 24px;font-size: 14px;align-content: end">辆</span>
               </div>
               </div>
             </div>
             </div>
@@ -59,7 +59,7 @@
             <div style="display: flex;align-items: center;cursor: pointer" @click="chooseX">
             <div style="display: flex;align-items: center;cursor: pointer" @click="chooseX">
               <img src="../../../../assets/zhang/publicCar/pentagonCar.png" width="55" style="margin: 0 5px 0 33px">
               <img src="../../../../assets/zhang/publicCar/pentagonCar.png" width="55" style="margin: 0 5px 0 33px">
               <div style="width: 108px;height: 24px;color: #00FFFF;font-size: 34px;margin-bottom: 10px">
               <div style="width: 108px;height: 24px;color: #00FFFF;font-size: 34px;margin-bottom: 10px">
-                <span style="font-family: 'electronicFont'">5566</span>
+                <span style="font-family: 'electronicFont'">{{ monitorData.noPidNum }}</span>
                 <span style="width: 15px;height: 24px;font-size: 14px;align-content: end">辆</span>
                 <span style="width: 15px;height: 24px;font-size: 14px;align-content: end">辆</span>
               </div>
               </div>
             </div>
             </div>
@@ -72,7 +72,7 @@
             <div style="display: flex;align-items: center;cursor: pointer" @click="chooseY">
             <div style="display: flex;align-items: center;cursor: pointer" @click="chooseY">
               <img src="../../../../assets/zhang/publicCar/pentagonCar.png" width="55" style="margin: 0 5px 0 33px">
               <img src="../../../../assets/zhang/publicCar/pentagonCar.png" width="55" style="margin: 0 5px 0 33px">
               <div style="width: 108px;height: 24px;color: #00FFFF;font-size: 34px;margin-bottom: 10px">
               <div style="width: 108px;height: 24px;color: #00FFFF;font-size: 34px;margin-bottom: 10px">
-                <span style="font-family: 'electronicFont'">5566</span>
+                <span style="font-family: 'electronicFont'">{{ monitorData.overSpeedNum }}</span>
                 <span style="width: 15px;height: 24px;font-size: 14px;align-content: end">辆</span>
                 <span style="width: 15px;height: 24px;font-size: 14px;align-content: end">辆</span>
               </div>
               </div>
             </div>
             </div>
@@ -85,7 +85,7 @@
             <div style="display: flex;align-items: center;cursor: pointer" @click="chooseZ">
             <div style="display: flex;align-items: center;cursor: pointer" @click="chooseZ">
               <img src="../../../../assets/zhang/publicCar/pentagonCar.png" width="55" style="margin: 0 5px 0 33px">
               <img src="../../../../assets/zhang/publicCar/pentagonCar.png" width="55" style="margin: 0 5px 0 33px">
               <div style="width: 108px;height: 24px;color: #00FFFF;font-size: 34px;margin-bottom: 10px">
               <div style="width: 108px;height: 24px;color: #00FFFF;font-size: 34px;margin-bottom: 10px">
-                <span style="font-family: 'electronicFont'">5566</span>
+                <span style="font-family: 'electronicFont'">{{ monitorData.holidayNum }}</span>
                 <span style="width: 15px;height: 24px;font-size: 14px;align-content: end">辆</span>
                 <span style="width: 15px;height: 24px;font-size: 14px;align-content: end">辆</span>
               </div>
               </div>
             </div>
             </div>
@@ -110,7 +110,21 @@ export default {
     PieChart,
     PieChart,
     LineChart,
     LineChart,
   },
   },
-  props: {},
+  props: {
+    monitorData: {},
+  },
+  computed:{
+    progressStyleFir() {
+      return {
+        '--progressFir-width': `${this.monitorData.percentageInstall}%`
+      };
+    },
+    progressStyleSec() {
+      return {
+        '--progressSec-width': `${this.monitorData.percentageOnline}%`
+      };
+    }
+  },
   data() {
   data() {
     return {
     return {
       // 公务用车资源情况
       // 公务用车资源情况
@@ -417,7 +431,7 @@ export default {
     width: 0%;
     width: 0%;
   }
   }
   100% {
   100% {
-    width: 87%;
+    width: var(--progressFir-width, 87%);
   }
   }
 }
 }
 
 
@@ -433,7 +447,7 @@ export default {
     width: 0%;
     width: 0%;
   }
   }
   100% {
   100% {
-    width: 50%;
+    width: var(--progressSec-width, 50%);
   }
   }
 }
 }
 </style>
 </style>

+ 1 - 0
src/views/screen/map/mapTwo.vue

@@ -191,6 +191,7 @@ export default {
           console.log("Clicked map area: ", params.name);
           console.log("Clicked map area: ", params.name);
         } else if (params.componentType === "series") {
         } else if (params.componentType === "series") {
           this.appOrg = params.data.appOrg
           this.appOrg = params.data.appOrg
+          this.$emit('transmit', this.appOrg)
           // 点击的是自定义图标(scatter)
           // 点击的是自定义图标(scatter)
           console.log("Clicked scatter point: ", params.name, params.data.appOrg);
           console.log("Clicked scatter point: ", params.name, params.data.appOrg);
           // 销毁当前图表实例
           // 销毁当前图表实例

+ 83 - 19
src/views/screen/official/carWarning.vue

@@ -8,7 +8,7 @@
         <div style="display: flex;align-items: center">
         <div style="display: flex;align-items: center">
           <img src="../../../assets/zhang/public_car.png" width="58" style="margin: 0 5px 0 33px">
           <img src="../../../assets/zhang/public_car.png" width="58" style="margin: 0 5px 0 33px">
           <div style="width: 108px;height: 24px;color: #00FFFF;font-size: 34px;margin-bottom: 10px">
           <div style="width: 108px;height: 24px;color: #00FFFF;font-size: 34px;margin-bottom: 10px">
-            <span style="font-family: 'electronicFont'">5566</span>
+            <span style="font-family: 'electronicFont'">{{ manageTopHalf.pcdNum }}</span>
             <span style="width: 15px;height: 24px;font-size: 14px;align-content: end">单</span>
             <span style="width: 15px;height: 24px;font-size: 14px;align-content: end">单</span>
           </div>
           </div>
         </div>
         </div>
@@ -22,7 +22,7 @@
         <div style="display: flex;align-items: center">
         <div style="display: flex;align-items: center">
           <img src="../../../assets/zhang/public_car.png" width="58" style="margin: 0 5px 0 33px">
           <img src="../../../assets/zhang/public_car.png" width="58" style="margin: 0 5px 0 33px">
           <div style="width: 108px;height: 24px;color: #00FFFF;font-size: 34px;margin-bottom: 10px">
           <div style="width: 108px;height: 24px;color: #00FFFF;font-size: 34px;margin-bottom: 10px">
-            <span style="font-family: 'electronicFont'">5566</span>
+            <span style="font-family: 'electronicFont'">{{ manageTopHalf.avgPcdNum }}</span>
             <span style="width: 15px;height: 24px;font-size: 14px;align-content: end">单</span>
             <span style="width: 15px;height: 24px;font-size: 14px;align-content: end">单</span>
           </div>
           </div>
         </div>
         </div>
@@ -35,7 +35,7 @@
         <div style="display: flex;align-items: center">
         <div style="display: flex;align-items: center">
           <img src="../../../assets/zhang/public_car.png" width="58" style="margin: 0 5px 0 33px">
           <img src="../../../assets/zhang/public_car.png" width="58" style="margin: 0 5px 0 33px">
           <div style="width: 108px;height: 24px;color: #00FFFF;font-size: 34px;margin-bottom: 10px">
           <div style="width: 108px;height: 24px;color: #00FFFF;font-size: 34px;margin-bottom: 10px">
-            <span style="font-family: 'electronicFont'">5566</span>
+            <span style="font-family: 'electronicFont'">{{ manageTopHalf.mileCount }}</span>
             <span style="width: 15px;height: 24px;font-size: 14px;align-content: end">公里</span>
             <span style="width: 15px;height: 24px;font-size: 14px;align-content: end">公里</span>
           </div>
           </div>
         </div>
         </div>
@@ -48,7 +48,7 @@
         <div style="display: flex;align-items: center">
         <div style="display: flex;align-items: center">
           <img src="../../../assets/zhang/public_car.png" width="58" style="margin: 0 5px 0 33px">
           <img src="../../../assets/zhang/public_car.png" width="58" style="margin: 0 5px 0 33px">
           <div style="width: 108px;height: 24px;color: #00FFFF;font-size: 34px;margin-bottom: 10px">
           <div style="width: 108px;height: 24px;color: #00FFFF;font-size: 34px;margin-bottom: 10px">
-            <span style="font-family: 'electronicFont'">5566</span>
+            <span style="font-family: 'electronicFont'">{{ manageTopHalf.avgMile }}</span>
             <span style="width: 15px;height: 24px;font-size: 14px;align-content: end">公里</span>
             <span style="width: 15px;height: 24px;font-size: 14px;align-content: end">公里</span>
           </div>
           </div>
         </div>
         </div>
@@ -64,8 +64,8 @@
           <div style="position: absolute;left: 20px;top: 8px;color: #FFFFFF;font-size: 12px;">前三名单位情况</div>
           <div style="position: absolute;left: 20px;top: 8px;color: #FFFFFF;font-size: 12px;">前三名单位情况</div>
         </div>
         </div>
         <bar-chart
         <bar-chart
-          :chart-data="barData"
-          :x-axis="barAxis"
+          :chart-data="barDataTop"
+          :x-axis="barAxisTop"
           :y-axis="barYAxis"
           :y-axis="barYAxis"
           :grid="barGrid"
           :grid="barGrid"
           :legend="legend"
           :legend="legend"
@@ -81,8 +81,8 @@
           <div style="position: absolute;left: 20px;top: 8px;color: #FFFFFF;font-size: 12px;">后三名单位情况</div>
           <div style="position: absolute;left: 20px;top: 8px;color: #FFFFFF;font-size: 12px;">后三名单位情况</div>
         </div>
         </div>
         <bar-chart
         <bar-chart
-          :chart-data="barData"
-          :x-axis="barAxis"
+          :chart-data="barDataLast"
+          :x-axis="barAxisLast"
           :y-axis="barYAxis"
           :y-axis="barYAxis"
           :grid="barGrid"
           :grid="barGrid"
           :legend="legend"
           :legend="legend"
@@ -105,10 +105,10 @@
           <div class="flex-column">派车单数</div>
           <div class="flex-column">派车单数</div>
         </div>
         </div>
         <div class="dataBody">
         <div class="dataBody">
-          <div class="flex-row" style="margin-bottom: 10px" v-for="(item,index) in dataList" :key="index" @click="choose()">
-            <div class="flex-column" style="width: 50%">{{item.unit}}</div>
-            <div class="flex-column">{{item.car}}</div>
-            <div class="flex-column">{{item.order}}</div>
+          <div class="flex-row" style="margin-bottom: 10px" v-for="(item,index) in manageLastHalf.list" :key="index" @click="choose()">
+            <div class="flex-column" style="width: 50%">{{item.appName}}</div>
+            <div class="flex-column">{{item.vechileNum}}</div>
+            <div class="flex-column">{{item.pcdCount}}</div>
           </div>
           </div>
         </div>
         </div>
       </div>
       </div>
@@ -124,6 +124,8 @@ export default {
   name: "CarResource",
   name: "CarResource",
   components: { BarChart, PieChart },
   components: { BarChart, PieChart },
   props: {
   props: {
+    manageTopHalf: {},
+    manageLastHalf: {},
     appOrg: {
     appOrg: {
       type: String,
       type: String,
       default: "0000",
       default: "0000",
@@ -182,7 +184,7 @@ export default {
           order: 200,
           order: 200,
         },
         },
       ],
       ],
-      barData: [
+      barDataTop: [
         {
         {
           name: "公务车总数",
           name: "公务车总数",
           type: "bar",
           type: "bar",
@@ -206,7 +208,7 @@ export default {
             }
             }
           },
           },
           barWidth: 10,
           barWidth: 10,
-          data: [110, 140, 150],
+          data: this.manageLastHalf.x1,
         },
         },
         {
         {
           name: "派车单数",
           name: "派车单数",
@@ -231,14 +233,75 @@ export default {
             }
             }
           },
           },
           barWidth: 10,
           barWidth: 10,
-          data: [110, 120, 130],
+          data: this.manageLastHalf.y1,
         },
         },
       ],
       ],
-      barAxis:{
+      barAxisTop:{
         type: "category",
         type: "category",
-        data: [
-          "太原国家电网", "运城国家电网", "晋城国家电网"
-        ],
+        data: this.manageLastHalf.z1,
+        axisLabel: {
+          color: "white",
+          fontSize: 7
+        },
+        axisTick: {
+          show: false,
+        },
+      },
+      barDataLast: [
+        {
+          name: "公务车总数",
+          type: "bar",
+          itemStyle: {
+            color: {
+              type:'linear',
+              x:0,//右
+              y:0,//下
+              x2:0,//左
+              y2:1,//上
+              colorStops:[
+                {
+                  offset:0,
+                  color:'#FFD296'
+                },
+                {
+                  offset:1,
+                  color:'#D67C15'
+                },
+              ]
+            }
+          },
+          barWidth: 10,
+          data: this.manageLastHalf.x2,
+        },
+        {
+          name: "派车单数",
+          type: "bar",
+          itemStyle: {
+            color: {
+              type:'linear',
+              x:0,//右
+              y:0,//下
+              x2:0,//左
+              y2:1,//上
+              colorStops:[
+                {
+                  offset:0,
+                  color:'#43DCDB'
+                },
+                {
+                  offset:1,
+                  color:'#00576D'
+                },
+              ]
+            }
+          },
+          barWidth: 10,
+          data: this.manageLastHalf.y2,
+        },
+      ],
+      barAxisLast:{
+        type: "category",
+        data: this.manageLastHalf.z2,
         axisLabel: {
         axisLabel: {
           color: "white",
           color: "white",
           fontSize: 7
           fontSize: 7
@@ -289,6 +352,7 @@ export default {
         right: 'left',  // 将图例放置在容器的左侧
         right: 'left',  // 将图例放置在容器的左侧
         top: 'top',    // 将图例放置在容器的顶部
         top: 'top',    // 将图例放置在容器的顶部
       },
       },
+
       pieCenter: ["25%", "50%"],
       pieCenter: ["25%", "50%"],
       pieRadius: ["50%", "60%"],
       pieRadius: ["50%", "60%"],
       pieLegend: {
       pieLegend: {

+ 106 - 6
src/views/screen/official/main.vue

@@ -16,7 +16,7 @@
             <div class="cont-title">资源台账</div>
             <div class="cont-title">资源台账</div>
           </div>
           </div>
           <div class="components-item bg2">
           <div class="components-item bg2">
-            <terminal-data :key="appOrg"></terminal-data>
+            <terminal-data :key="appOrg" :resourceData="resourceData" :carTypeNum="carTypeNum" :carActivationNum="carActivationNum" :carUseNum="carUseNum"></terminal-data>
           </div>
           </div>
         </div>
         </div>
         <div class="left-bottom"
         <div class="left-bottom"
@@ -32,14 +32,14 @@
             <div class="cont-title">监控管理</div>
             <div class="cont-title">监控管理</div>
           </div>
           </div>
           <div class="components-item bg2">
           <div class="components-item bg2">
-            <car-stock :key="appOrg"></car-stock>
+            <car-stock :key="appOrg" :monitorData="monitorData"></car-stock>
           </div>
           </div>
         </div>
         </div>
       </div>
       </div>
     </div>
     </div>
     <div class="middle">
     <div class="middle">
       <img src="@/assets/zhang/publicCar/officialCar.png" width="50" style="position: absolute;top: 125px;left: 20px;cursor: pointer">
       <img src="@/assets/zhang/publicCar/officialCar.png" width="50" style="position: absolute;top: 125px;left: 20px;cursor: pointer">
-      <MapTwo></MapTwo>
+      <MapTwo @transmit="transmit"></MapTwo>
 <!--      <img
 <!--      <img
         v-if="showLocal"
         v-if="showLocal"
         class="build"
         class="build"
@@ -129,7 +129,7 @@
           <div class="cont-title">运行管理</div>
           <div class="cont-title">运行管理</div>
         </div>
         </div>
         <div class="components-item bg3">
         <div class="components-item bg3">
-          <car-warning :key="appOrg"></car-warning>
+          <car-warning :key="appOrg" :manageTopHalf="manageTopHalf" :manageLastHalf="manageLastHalf" v-if="this.flag===2"></car-warning>
         </div>
         </div>
       </div>
       </div>
     </div>
     </div>
@@ -141,6 +141,7 @@
     >
     >
       <terminal-data-dialog
       <terminal-data-dialog
         v-if="dialogType === 1"
         v-if="dialogType === 1"
+        :resourceData="resourceData" :carTypeNum="carTypeNum" :carActivationNum="carActivationNum" :carUseNum="carUseNum"
         @chooseX="chooseCost"
         @chooseX="chooseCost"
         @chooseY="chooseHealth"
         @chooseY="chooseHealth"
         @closeDialog="closeDialog"
         @closeDialog="closeDialog"
@@ -152,6 +153,7 @@
       ></car-warning-dialog>
       ></car-warning-dialog>
       <car-stock-dialog
       <car-stock-dialog
         v-if="dialogType === 2"
         v-if="dialogType === 2"
+        :monitorData="monitorData"
         @chooseX="chooseOp('未带工单预警数')"
         @chooseX="chooseOp('未带工单预警数')"
         @chooseY="chooseOp('超速预警数')"
         @chooseY="chooseOp('超速预警数')"
         @chooseZ="chooseOp('节假日预警数')"
         @chooseZ="chooseOp('节假日预警数')"
@@ -194,6 +196,7 @@ import CarCost from '@/views/screen/official/carCost.vue'
 import CarHealth from '@/views/screen/official/carHealth.vue'
 import CarHealth from '@/views/screen/official/carHealth.vue'
 import CarStockDialog from "@/views/screen/logistics/car/carStockDialog.vue";
 import CarStockDialog from "@/views/screen/logistics/car/carStockDialog.vue";
 import MapTwo from '@/views/screen/map/mapTwo.vue'
 import MapTwo from '@/views/screen/map/mapTwo.vue'
+import { getMonitor, getOperationManageLastHalf, getOperationManageTopHalf, getResource } from '@/api/screen/service'
 
 
 
 
 export default {
 export default {
@@ -226,6 +229,14 @@ export default {
   },
   },
   data() {
   data() {
     return {
     return {
+      flag: 0,
+      carActivationNum:[],
+      carUseNum:[],
+      carTypeNum:[],
+      resourceData:{},
+      monitorData:{},
+      manageTopHalf:{},
+      manageLastHalf:{},
       op:'',
       op:'',
       showC:false,
       showC:false,
       showRes:0,
       showRes:0,
@@ -239,16 +250,105 @@ export default {
       showBack: false,
       showBack: false,
       showMap: true,
       showMap: true,
       showLocal: false,
       showLocal: false,
-      appOrg: "0000",
+      appOrg: "10001",
       curCompany: [],
       curCompany: [],
       company: company,
       company: company,
     };
     };
   },
   },
-  created() {},
+  created() {
+    this.resource();
+    this.monitor();
+    this.operationManage();
+  },
   destroyed() {},
   destroyed() {},
   beforeDestroy() {},
   beforeDestroy() {},
   mounted() {},
   mounted() {},
   methods: {
   methods: {
+    transmit(appOrg){
+      this.appOrg = appOrg
+      this.resource();
+      this.monitor();
+      this.operationManage();
+    },
+
+    resource(){
+      getResource(this.appOrg).then(res => {
+          if (Number(res.code) === 200) {
+            this.resourceData = res.data
+            this.resourceData.cd = 5 - this.resourceData.totalCarNum.toString().length
+            this.resourceData.totalCarNum = this.resourceData.totalCarNum.toString().padStart(5, '0');
+            this.resourceData.percentageLack = Math.round((this.resourceData.lackCarNum / this.resourceData.totalCarNum) * 100);
+            this.resourceData.percentagePosess = Math.round((this.resourceData.establishmentsCarNum / this.resourceData.totalCarNum) * 100);
+            this.carTypeNum = [
+              {
+                type: "商务车",
+                num: this.resourceData.carNumOne
+              },
+              {
+                type: "越野车",
+                num: this.resourceData.carNumTwo
+              },
+              {
+                type: "小轿车",
+                num: this.resourceData.carNumThree
+              },
+              {
+                type: "小型客车",
+                num: this.resourceData.carNumFour
+              },
+              {
+                type: "大型客车",
+                num: this.resourceData.carNumFive
+              }
+            ]
+            this.carUseNum = [
+                {
+                  type: "企业用车",
+                  num: this.resourceData.enterpriseCarNum
+                },
+                {
+                  type: "企业负责人用车",
+                  num: this.resourceData.headCarNum
+                }
+              ]
+            this.carActivationNum = [
+              {
+                type: "燃油汽车",
+                num: this.resourceData.oilCarNum
+              },
+              {
+                type: "新能源汽车",
+                num: this.resourceData.newPowerCarNum
+              }
+            ]
+          }
+      })
+    },
+    monitor(){
+      getMonitor(this.appOrg).then(res => {
+        if (Number(res.code) === 200) {
+          this.monitorData = res.data
+          this.monitorData.percentageInstall = Math.round((this.monitorData.terminalInstall / this.monitorData.terminalTotal) * 100);
+          this.monitorData.percentageOnline = Math.round((this.monitorData.terminalOnline / this.monitorData.terminalTotal) * 100);
+        }
+      })
+    },
+    operationManage(){
+      getOperationManageTopHalf(this.appOrg).then(res => {
+        if (Number(res.code) === 200) {
+          this.manageTopHalf = res.data
+          this.flag++
+        }
+      })
+      getOperationManageLastHalf().then(res => {
+        if (Number(res.code) === 200) {
+          this.manageLastHalf = res.data
+          this.flag++
+        }
+      })
+    },
+
+
     chooseOp(title){
     chooseOp(title){
       this.op = title
       this.op = title
       this.closeDialog()
       this.closeDialog()

+ 8 - 47
src/views/screen/official/terminalData.vue

@@ -4,11 +4,10 @@
     <div class="c1_body">
     <div class="c1_body">
       <div style="display: flex;justify-content: center;align-items: center;margin-bottom: 10px">
       <div style="display: flex;justify-content: center;align-items: center;margin-bottom: 10px">
         <img src="../../../assets/zhang/publicCar/car.png" width="68" style="margin-right: 20px">
         <img src="../../../assets/zhang/publicCar/car.png" width="68" style="margin-right: 20px">
-        <div class="carNum" style="color: rgba(0,255,255,0.3)">0</div>
-        <div class="carNum" style="color: rgba(0,255,255,0.3)">0</div>
-        <div class="carNum">2</div>
-        <div class="carNum">8</div>
-        <div class="carNum">2</div>
+        <div class="carNum" v-for="(it, index) in resourceData.totalCarNum.split('')">
+          <span v-if="index < resourceData.cd" style="color: rgba(0,255,255,0.3)">{{ it }}</span>
+          <span v-if="index >= resourceData.cd">{{ it }}</span>
+        </div>
         <div class="carText">辆</div>
         <div class="carText">辆</div>
       </div>
       </div>
       <div class="c1_titleText"></div>
       <div class="c1_titleText"></div>
@@ -72,6 +71,10 @@ export default {
     BarChart
     BarChart
   },
   },
   props: {
   props: {
+    carTypeNum: Array,
+    carUseNum: Array,
+    carActivationNum: Array,
+    resourceData:{},
     appOrg: {
     appOrg: {
       type: String,
       type: String,
       default: "0000",
       default: "0000",
@@ -84,48 +87,6 @@ export default {
   },
   },
   data() {
   data() {
     return {
     return {
-      carTypeNum:[
-        {
-          type: "商务车",
-          num: 56
-        },
-        {
-          type: "越野车",
-          num: 56
-        },
-        {
-          type: "小轿车",
-          num: 56
-        },
-        {
-          type: "小型客车",
-          num: 56
-        },
-        {
-          type: "大型客车",
-          num: 56
-        }
-      ],
-      carUseNum:[
-        {
-          type: "企业用车",
-          num: 56
-        },
-        {
-          type: "企业负责人用车",
-          num: 56
-        }
-      ],
-      carActivationNum:[
-        {
-          type: "燃油汽车",
-          num: 56
-        },
-        {
-          type: "新能源汽车",
-          num: 56
-        }
-      ],
       //在线数
       //在线数
       pieData: [],
       pieData: [],
       catePieData: [
       catePieData: [

+ 16 - 53
src/views/screen/official/terminalDataDialog.vue

@@ -10,11 +10,10 @@
         <div class="c1_body">
         <div class="c1_body">
           <div style="display: flex;justify-content: center;align-items: center;margin-bottom: 10px">
           <div style="display: flex;justify-content: center;align-items: center;margin-bottom: 10px">
             <img src="../../../assets/zhang/publicCar/car.png" width="68" style="margin-right: 20px">
             <img src="../../../assets/zhang/publicCar/car.png" width="68" style="margin-right: 20px">
-            <div class="carNum" style="color: rgba(0,255,255,0.3)">0</div>
-            <div class="carNum" style="color: rgba(0,255,255,0.3)">0</div>
-            <div class="carNum">2</div>
-            <div class="carNum">8</div>
-            <div class="carNum">2</div>
+            <div class="carNum" v-for="(it, index) in resourceData.totalCarNum.split('')">
+              <span v-if="index < resourceData.cd" style="color: rgba(0,255,255,0.3)">{{ it }}</span>
+              <span v-if="index >= resourceData.cd">{{ it }}</span>
+            </div>
             <div class="carText">辆</div>
             <div class="carText">辆</div>
           </div>
           </div>
           <div class="c1_titleText"></div>
           <div class="c1_titleText"></div>
@@ -71,7 +70,7 @@
             <div style="display: flex;align-items: center">
             <div style="display: flex;align-items: center">
               <img src="../../../assets/zhang/public_car.png" width="58" style="margin: 10px 5px 0 33px">
               <img src="../../../assets/zhang/public_car.png" width="58" style="margin: 10px 5px 0 33px">
               <div style="width: 108px;height: 24px;color: #00FFFF;font-size: 34px;margin-bottom: 10px">
               <div style="width: 108px;height: 24px;color: #00FFFF;font-size: 34px;margin-bottom: 10px">
-                <span style="font-family: 'electronicFont'">5566</span>
+                <span style="font-family: 'electronicFont'">{{ resourceData.establishmentsCarNum }}</span>
                 <span style="width: 15px;height: 24px;font-size: 14px;align-content: end">辆</span>
                 <span style="width: 15px;height: 24px;font-size: 14px;align-content: end">辆</span>
               </div>
               </div>
             </div>
             </div>
@@ -84,7 +83,8 @@
             <div style="display: flex;align-items: center">
             <div style="display: flex;align-items: center">
               <div style="position: relative">
               <div style="position: relative">
                 <img src="../../../assets/zhang/publicCar/arcBlueEx.png" width="90" style="margin: 20px 5px 0 33px">
                 <img src="../../../assets/zhang/publicCar/arcBlueEx.png" width="90" style="margin: 20px 5px 0 33px">
-                <div style="position: absolute;color: #00FFFF;top: 5px;left: 55px;font-size: 34px;font-family: 'electronicFont'">56<span style="font-size: 12px">%</span></div>
+                <div style="position: absolute;color: #00FFFF;width: 158px;top: 5px;font-size: 34px;font-family: 'electronicFont';text-align: center">
+                  {{ resourceData.percentageLack }}<span style="font-size: 12px">%</span></div>
               </div>
               </div>
 
 
             </div>
             </div>
@@ -97,7 +97,7 @@
             <div style="display: flex;align-items: center">
             <div style="display: flex;align-items: center">
               <div style="position: relative">
               <div style="position: relative">
                 <img src="../../../assets/zhang/publicCar/arcBlueEx.png" width="90" style="margin: 20px 5px 0 33px">
                 <img src="../../../assets/zhang/publicCar/arcBlueEx.png" width="90" style="margin: 20px 5px 0 33px">
-                <div style="position: absolute;color: #00FFFF;top: 5px;left: 55px;font-size: 34px;font-family: 'electronicFont'">56<span style="font-size: 12px">%</span></div>
+                <div style="position: absolute;color: #00FFFF;width: 158px;top: 5px;font-size: 34px;font-family: 'electronicFont';text-align: center">{{ resourceData.percentagePosess }}<span style="font-size: 12px">%</span></div>
               </div>
               </div>
             </div>
             </div>
           </div>
           </div>
@@ -112,7 +112,7 @@
                 <div style="position: absolute;width: 48px;color: #00FFFF;top: 5px;left: 55px;font-size: 12px;text-align: center">年度增加车辆数</div>
                 <div style="position: absolute;width: 48px;color: #00FFFF;top: 5px;left: 55px;font-size: 12px;text-align: center">年度增加车辆数</div>
               </div>
               </div>
               <div style="width: 108px;height: 24px;color: #00FFFF;font-size: 34px;margin-bottom: 20px">
               <div style="width: 108px;height: 24px;color: #00FFFF;font-size: 34px;margin-bottom: 20px">
-                <span style="font-family: 'electronicFont'">56</span>
+                <span style="font-family: 'electronicFont'">{{ resourceData.yearAddNum }}</span>
                 <span style="width: 15px;height: 24px;font-size: 10px;align-content: end">万辆</span>
                 <span style="width: 15px;height: 24px;font-size: 10px;align-content: end">万辆</span>
               </div>
               </div>
             </div>
             </div>
@@ -122,7 +122,7 @@
                 <div style="position: absolute;width: 48px;color: #FEC72F;top: 5px;left: 55px;font-size: 12px;text-align: center">年度减少车辆数</div>
                 <div style="position: absolute;width: 48px;color: #FEC72F;top: 5px;left: 55px;font-size: 12px;text-align: center">年度减少车辆数</div>
               </div>
               </div>
               <div style="width: 108px;height: 24px;color: #FEC72F;font-size: 34px;margin-bottom: 20px">
               <div style="width: 108px;height: 24px;color: #FEC72F;font-size: 34px;margin-bottom: 20px">
-                <span style="font-family: 'electronicFont'">56</span>
+                <span style="font-family: 'electronicFont'">{{ resourceData.yearReduceNum }}</span>
                 <span style="width: 15px;height: 24px;font-size: 10px;align-content: end">万辆</span>
                 <span style="width: 15px;height: 24px;font-size: 10px;align-content: end">万辆</span>
               </div>
               </div>
             </div>
             </div>
@@ -147,51 +147,14 @@ export default {
     PieChart,
     PieChart,
     LineChart,
     LineChart,
   },
   },
-  props: {},
+  props: {
+    carTypeNum: Array,
+    carUseNum: Array,
+    carActivationNum: Array,
+    resourceData:{}
+  },
   data() {
   data() {
     return {
     return {
-      carTypeNum:[
-        {
-          type: "商务车",
-          num: 56
-        },
-        {
-          type: "越野车",
-          num: 56
-        },
-        {
-          type: "小轿车",
-          num: 56
-        },
-        {
-          type: "小型客车",
-          num: 56
-        },
-        {
-          type: "大型客车",
-          num: 56
-        }
-      ],
-      carUseNum:[
-        {
-          type: "企业用车",
-          num: 56
-        },
-        {
-          type: "企业负责人用车",
-          num: 56
-        }
-      ],
-      carActivationNum:[
-        {
-          type: "燃油汽车",
-          num: 56
-        },
-        {
-          type: "新能源汽车",
-          num: 56
-        }
-      ],
       //在线数
       //在线数
       pieData: [],
       pieData: [],
       catePieData: [
       catePieData: [

+ 30 - 30
src/views/zcustom/public/index.vue

@@ -57,13 +57,13 @@
       <el-table-column label="企业负责人用车数量" align="center" prop="headCarNum" />
       <el-table-column label="企业负责人用车数量" align="center" prop="headCarNum" />
       <el-table-column label="燃油车数量" align="center" prop="oilCarNum" />
       <el-table-column label="燃油车数量" align="center" prop="oilCarNum" />
       <el-table-column label="新能源车数量" align="center" prop="newPowerCarNum" />
       <el-table-column label="新能源车数量" align="center" prop="newPowerCarNum" />
-      <el-table-column label="公务车缺编率" align="center" prop="lackRate" />
-      <el-table-column label="公务车占编率" align="center" prop="possesRate" />
+      <el-table-column label="公务车缺编数" align="center" prop="lackCarNum" />
       <el-table-column label="公务车编制数" align="center" prop="establishmentsCarNum" />
       <el-table-column label="公务车编制数" align="center" prop="establishmentsCarNum" />
       <el-table-column label="公务车年度增加数" align="center" prop="yearAddNum" />
       <el-table-column label="公务车年度增加数" align="center" prop="yearAddNum" />
       <el-table-column label="公务车年度减少数" align="center" prop="yearReduceNum" />
       <el-table-column label="公务车年度减少数" align="center" prop="yearReduceNum" />
-      <el-table-column label="公务车终端安装率" align="center" prop="terminalInstallRate" />
-      <el-table-column label="公务车终端在线率" align="center" prop="terminalOnlineRate" />
+      <el-table-column label="公务车终端数" align="center" prop="terminalTotal" />
+      <el-table-column label="公务车终端安装数" align="center" prop="terminalInstall" />
+      <el-table-column label="公务车终端在线数" align="center" prop="terminalOnline" />
       <el-table-column label="处置未归档数量" align="center" prop="notArchivedNum" />
       <el-table-column label="处置未归档数量" align="center" prop="notArchivedNum" />
       <el-table-column label="未带工单数" align="center" prop="noPidNum" />
       <el-table-column label="未带工单数" align="center" prop="noPidNum" />
       <el-table-column label="超速预警数" align="center" prop="overSpeedNum" />
       <el-table-column label="超速预警数" align="center" prop="overSpeedNum" />
@@ -136,11 +136,8 @@
         <el-form-item label="新能源车数量" prop="newPowerCarNum">
         <el-form-item label="新能源车数量" prop="newPowerCarNum">
           <el-input v-model="form.newPowerCarNum" placeholder="请输入新能源车数量" />
           <el-input v-model="form.newPowerCarNum" placeholder="请输入新能源车数量" />
         </el-form-item>
         </el-form-item>
-        <el-form-item label="公务车缺编率" prop="lackRate">
-          <el-input v-model="form.lackRate" placeholder="请输入公务车缺编率" />
-        </el-form-item>
-        <el-form-item label="公务车占编率" prop="possesRate">
-          <el-input v-model="form.possesRate" placeholder="请输入公务车占编率" />
+        <el-form-item label="公务车缺编数" prop="lackCarNum">
+          <el-input v-model="form.lackCarNum" placeholder="请输入公务车缺编数" />
         </el-form-item>
         </el-form-item>
         <el-form-item label="公务车编制数" prop="establishmentsCarNum">
         <el-form-item label="公务车编制数" prop="establishmentsCarNum">
           <el-input v-model="form.establishmentsCarNum" placeholder="请输入公务车编制数" />
           <el-input v-model="form.establishmentsCarNum" placeholder="请输入公务车编制数" />
@@ -151,11 +148,14 @@
         <el-form-item label="公务车年度减少数" prop="yearReduceNum">
         <el-form-item label="公务车年度减少数" prop="yearReduceNum">
           <el-input v-model="form.yearReduceNum" placeholder="请输入公务车年度减少数" />
           <el-input v-model="form.yearReduceNum" placeholder="请输入公务车年度减少数" />
         </el-form-item>
         </el-form-item>
-        <el-form-item label="公务车终端安装率" prop="terminalInstallRate">
-          <el-input v-model="form.terminalInstallRate" placeholder="请输入公务车终端安装率" />
+        <el-form-item label="公务车终端数" prop="terminalTotal">
+          <el-input v-model="form.terminalTotal" placeholder="请输入公务车终端数" />
+        </el-form-item>
+        <el-form-item label="公务车终端安装数" prop="terminalInstall">
+          <el-input v-model="form.terminalInstall" placeholder="请输入公务车终端安装数" />
         </el-form-item>
         </el-form-item>
-        <el-form-item label="公务车终端在线率" prop="terminalOnlineRate">
-          <el-input v-model="form.terminalOnlineRate" placeholder="请输入公务车终端在线率" />
+        <el-form-item label="公务车终端在线数" prop="terminalOnline">
+          <el-input v-model="form.terminalOnline" placeholder="请输入公务车终端在线数" />
         </el-form-item>
         </el-form-item>
         <el-form-item label="处置未归档数量" prop="notArchivedNum">
         <el-form-item label="处置未归档数量" prop="notArchivedNum">
           <el-input v-model="form.notArchivedNum" placeholder="请输入处置未归档数量" />
           <el-input v-model="form.notArchivedNum" placeholder="请输入处置未归档数量" />
@@ -233,13 +233,13 @@ export default {
         headCarNum: null,
         headCarNum: null,
         oilCarNum: null,
         oilCarNum: null,
         newPowerCarNum: null,
         newPowerCarNum: null,
-        lackRate: null,
-        possesRate: null,
+        lackCarNum: null,
         establishmentsCarNum: null,
         establishmentsCarNum: null,
         yearAddNum: null,
         yearAddNum: null,
         yearReduceNum: null,
         yearReduceNum: null,
-        terminalInstallRate: null,
-        terminalOnlineRate: null,
+        terminalInstall: null,
+        terminalTotal: null,
+        terminalOnline: null,
         notArchivedNum: null,
         notArchivedNum: null,
         noPidNum: null,
         noPidNum: null,
         overSpeedNum: null,
         overSpeedNum: null,
@@ -292,11 +292,8 @@ export default {
         newPowerCarNum: [
         newPowerCarNum: [
           { required: true, message: "新能源车数量不能为空", trigger: "blur" }
           { required: true, message: "新能源车数量不能为空", trigger: "blur" }
         ],
         ],
-        lackRate: [
-          { required: true, message: "公务车缺编率不能为空", trigger: "blur" }
-        ],
-        possesRate: [
-          { required: true, message: "公务车占编率不能为空", trigger: "blur" }
+        lackCarNum: [
+          { required: true, message: "公务车缺编数不能为空", trigger: "blur" }
         ],
         ],
         establishmentsCarNum: [
         establishmentsCarNum: [
           { required: true, message: "公务车编制数不能为空", trigger: "blur" }
           { required: true, message: "公务车编制数不能为空", trigger: "blur" }
@@ -307,11 +304,14 @@ export default {
         yearReduceNum: [
         yearReduceNum: [
           { required: true, message: "公务车年度减少数不能为空", trigger: "blur" }
           { required: true, message: "公务车年度减少数不能为空", trigger: "blur" }
         ],
         ],
-        terminalInstallRate: [
-          { required: true, message: "公务车终端安装率不能为空", trigger: "blur" }
+        terminalTotal: [
+          { required: true, message: "公务车终端数不能为空", trigger: "blur" }
+        ],
+        terminalInstall: [
+          { required: true, message: "公务车终端安装数不能为空", trigger: "blur" }
         ],
         ],
-        terminalOnlineRate: [
-          { required: true, message: "公务车终端在线率不能为空", trigger: "blur" }
+        terminalOnline: [
+          { required: true, message: "公务车终端在线不能为空", trigger: "blur" }
         ],
         ],
         notArchivedNum: [
         notArchivedNum: [
           { required: true, message: "处置未归档数量不能为空", trigger: "blur" }
           { required: true, message: "处置未归档数量不能为空", trigger: "blur" }
@@ -374,13 +374,13 @@ export default {
         headCarNum: null,
         headCarNum: null,
         oilCarNum: null,
         oilCarNum: null,
         newPowerCarNum: null,
         newPowerCarNum: null,
-        lackRate: null,
-        possesRate: null,
+        lackCarNum: null,
         establishmentsCarNum: null,
         establishmentsCarNum: null,
         yearAddNum: null,
         yearAddNum: null,
         yearReduceNum: null,
         yearReduceNum: null,
-        terminalInstallRate: null,
-        terminalOnlineRate: null,
+        terminalTotal: null,
+        terminalInstall: null,
+        terminalOnline: null,
         notArchivedNum: null,
         notArchivedNum: null,
         noPidNum: null,
         noPidNum: null,
         overSpeedNum: null,
         overSpeedNum: null,

+ 55 - 28
src/views/zcustom/unitRank/index.vue

@@ -17,25 +17,25 @@
     </el-form>
     </el-form>
 
 
     <el-row :gutter="10" class="mb8">
     <el-row :gutter="10" class="mb8">
-      <el-col :span="1.5">
-        <el-button
-          type="primary"
-          icon="el-icon-plus"
-          size="mini"
-          @click="handleAdd"
-          v-hasPermi="['zcustom:platPublicCarRankUnit:add']"
-        >新增</el-button>
-      </el-col>
-      <el-col :span="1.5">
-        <el-button
-          type="danger"
-          icon="el-icon-delete"
-          size="mini"
-          :disabled="multiple"
-          @click="handleDelete"
-          v-hasPermi="['zcustom:platPublicCarRankUnit:remove']"
-        >删除</el-button>
-      </el-col>
+<!--      <el-col :span="1.5">-->
+<!--        <el-button-->
+<!--          type="primary"-->
+<!--          icon="el-icon-plus"-->
+<!--          size="mini"-->
+<!--          @click="handleAdd"-->
+<!--          v-hasPermi="['zcustom:platPublicCarRankUnit:add']"-->
+<!--        >新增</el-button>-->
+<!--      </el-col>-->
+<!--      <el-col :span="1.5">-->
+<!--        <el-button-->
+<!--          type="danger"-->
+<!--          icon="el-icon-delete"-->
+<!--          size="mini"-->
+<!--          :disabled="multiple"-->
+<!--          @click="handleDelete"-->
+<!--          v-hasPermi="['zcustom:platPublicCarRankUnit:remove']"-->
+<!--        >删除</el-button>-->
+<!--      </el-col>-->
       <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
       <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
     </el-row>
     </el-row>
 
 
@@ -46,6 +46,12 @@
           {{(scope.$index + 1) + ((queryParams.pageNum - 1) * queryParams.pageSize)}}
           {{(scope.$index + 1) + ((queryParams.pageNum - 1) * queryParams.pageSize)}}
         </template>
         </template>
       </el-table-column>
       </el-table-column>
+      <el-table-column label="单位排名" align="center">
+        <template slot-scope="scope">
+          <span v-if="scope.row.id > 3">后三名</span>
+          <span v-if="scope.row.id < 4">前三名</span>
+        </template>
+      </el-table-column>
       <el-table-column label="公务车总数" align="center" prop="gwcCount" />
       <el-table-column label="公务车总数" align="center" prop="gwcCount" />
       <el-table-column label="公务车派车次数" align="center" prop="gwcPcd" />
       <el-table-column label="公务车派车次数" align="center" prop="gwcPcd" />
       <el-table-column label="单位编码" align="center" prop="appEncode" />
       <el-table-column label="单位编码" align="center" prop="appEncode" />
@@ -58,13 +64,13 @@
             @click="handleUpdate(scope.row)"
             @click="handleUpdate(scope.row)"
             v-hasPermi="['zcustom:platPublicCarRankUnit:edit']"
             v-hasPermi="['zcustom:platPublicCarRankUnit:edit']"
           >修改</el-button>
           >修改</el-button>
-          <el-button
-            size="mini"
-            type="text"
-            icon="el-icon-delete"
-            @click="handleDelete(scope.row)"
-            v-hasPermi="['zcustom:platPublicCarRankUnit:remove']"
-          >删除</el-button>
+<!--          <el-button-->
+<!--            size="mini"-->
+<!--            type="text"-->
+<!--            icon="el-icon-delete"-->
+<!--            @click="handleDelete(scope.row)"-->
+<!--            v-hasPermi="['zcustom:platPublicCarRankUnit:remove']"-->
+<!--          >删除</el-button>-->
         </template>
         </template>
       </el-table-column>
       </el-table-column>
     </el-table>
     </el-table>
@@ -86,8 +92,12 @@
         <el-form-item label="公务车派车次数" prop="gwcPcd">
         <el-form-item label="公务车派车次数" prop="gwcPcd">
           <el-input v-model="form.gwcPcd" placeholder="请输入公务车派车次数" />
           <el-input v-model="form.gwcPcd" placeholder="请输入公务车派车次数" />
         </el-form-item>
         </el-form-item>
-        <el-form-item label="单位编码" prop="appEncode">
-          <el-input v-model="form.appEncode" placeholder="请输入单位编码" />
+        <el-form-item label="具体单位">
+          <el-cascader :options="treeList" placeholder="请选择单位" v-model="form.appEncode" :props="props" @change="handleChange" style="width: 400px">
+            <template slot-scope="{ node, data }">
+              <span>{{ data.appName }}</span>
+            </template>
+          </el-cascader>
         </el-form-item>
         </el-form-item>
       </el-form>
       </el-form>
       <div slot="footer" class="dialog-footer">
       <div slot="footer" class="dialog-footer">
@@ -100,11 +110,19 @@
 
 
 <script>
 <script>
 import { listPlatPublicCarRankUnit, getPlatPublicCarRankUnit, delPlatPublicCarRankUnit, addPlatPublicCarRankUnit, updatePlatPublicCarRankUnit } from "@/api/zcustom/unitRank";
 import { listPlatPublicCarRankUnit, getPlatPublicCarRankUnit, delPlatPublicCarRankUnit, addPlatPublicCarRankUnit, updatePlatPublicCarRankUnit } from "@/api/zcustom/unitRank";
+import { getListTree } from '@/api/zcustom/platAppOrg'
 
 
 export default {
 export default {
   name: "PlatPublicCarRankUnit",
   name: "PlatPublicCarRankUnit",
   data() {
   data() {
     return {
     return {
+      treeList:[],
+      props:{
+        value: 'appEncode',
+        label: 'appName',
+        checkStrictly: true,
+        emitPath: false
+      },
       // 根路径
       // 根路径
       baseURL: process.env.VUE_APP_BASE_API,
       baseURL: process.env.VUE_APP_BASE_API,
       // 遮罩层
       // 遮罩层
@@ -158,8 +176,17 @@ export default {
   },
   },
   created() {
   created() {
     this.getList();
     this.getList();
+    this.getListTree()
   },
   },
   methods: {
   methods: {
+    handleChange(value) {
+      console.log(value);
+    },
+    getListTree(){
+      getListTree().then(res => {
+        this.treeList.push(res.data)
+      })
+    },
     /** 查询公务用车列表 */
     /** 查询公务用车列表 */
     getList() {
     getList() {
       this.loading = true;
       this.loading = true;