Bläddra i källkod

Merge remote-tracking branch 'origin/main'

zhanghao 2 månader sedan
förälder
incheckning
e6fd67e791

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

@@ -432,6 +432,118 @@ export function waterStatistics() {
     method: 'get'
   })
 }
+/*------------------后勤资产-------------------*/
+// 楼宇各类资产占比
+export function building(appOrg) {
+  return request({
+    url: '/large/asset/building?appOrg='+ appOrg,
+    method: 'get'
+  })
+}
+
+// 服务各类资产占比
+export function service(appOrg) {
+  return request({
+    url: '/large/asset/service?appOrg='+ appOrg,
+    method: 'get'
+  })
+}
+
+// 办公各类资产占比
+export function office(appOrg) {
+  return request({
+    url: '/large/asset/office?appOrg='+ appOrg,
+    method: 'get'
+  })
+}
+
+// 资产存量
+export function stock(appOrg) {
+  return request({
+    url: '/large/asset/stock?appOrg='+ appOrg,
+    method: 'get'
+  })
+}
+
+// 2025年度资产新增数量
+export function scrap(appOrg) {
+  return request({
+    url: '/large/asset/scrap?appOrg='+ appOrg,
+    method: 'get'
+  })
+}
+
+// 资产报废数量
+export function dump(appOrg) {
+  return request({
+    url: '/large/asset/new?appOrg='+ appOrg,
+    method: 'get'
+  })
+}
+
+// 赋码率 -贴签率
+export function codedAndLabelRate(appOrg) {
+  return request({
+    url: '/large/asset/codedAndLabelRate?appOrg='+ appOrg,
+    method: 'get'
+  })
+}
+
+// 三大类资产占比
+export function mainlyRate(appOrg) {
+  return request({
+    url: '/large/asset/mainlyRate?appOrg='+ appOrg,
+    method: 'get'
+  })
+}
+
+// 典型场景应用率-地市
+export function sceneRate() {
+  return request({
+    url: '/large/asset/sceneRate?flag='+ 0,
+    method: 'get'
+  })
+}
+
+// 典型场景应用率-直属单位
+export function sceneRateUnit() {
+  return request({
+    url: '/large/asset/sceneRate?flag='+ 1,
+    method: 'get'
+  })
+}
+
+
+// 楼宇设备运行情况
+export function operation(appOrg) {
+  return request({
+    url: '/large/asset/operation?appOrg='+ appOrg,
+    method: 'get'
+  })
+}
+
+// 地市巡检执行数量
+export function inspectionSchemeNumX() {
+  return request({
+    url: '/large/asset/inspectionSchemeNumX',
+    method: 'get'
+  })
+}
+
+// 直属单位巡检执行数量
+export function inspectionSchemeNumY() {
+  return request({
+    url: '/large/asset/inspectionSchemeNumY',
+    method: 'get'
+  })
+}
+
+
+
+
+
+
+
 /*------------------办公能耗-------------------*/
 // 近一月楼宇能耗信息
 export function powerAndWaterMonth() {

BIN
src/assets/images/mapGif.png


+ 491 - 231
src/views/screen/logistics/assets/codeBillDialog.vue

@@ -50,6 +50,7 @@
                   :chart-data="fwData"
                   :legend="fwLegend"
                   :center="['30%','60%']"
+                   :title="fwTitle"
                   width="400px"
                   height="180px"
                 />
@@ -59,6 +60,7 @@
                   :chart-data="bgData"
                   :legend="bgLegend"
                   :center="['30%','60%']"
+                   :title="bgTitle"
                   width="400px"
                   height="180px"
                 />
@@ -70,7 +72,7 @@
         <div class="content">
               <div class="total-cont">
                 <span class="title">资产存量
-                  <span class="smallTitle">截止至2025年1月17日</span>
+                  <span class="smallTitle">截止至{{timeString}}</span>
                 </span>
                
               </div>
@@ -81,7 +83,7 @@
                       <div> <img src="@/assets/images/service_new/liveSwin.png"></div>
                       <div>楼宇设备</div>
                     </div>
-                    <div class="num">56<span class="unit">件</span></div>
+                    <div class="num">{{ stockList.stockBuildingAssetNum}}<span class="unit">件</span></div>
                   </div>
                  </div>
                  <div class="left-list">
@@ -90,7 +92,7 @@
                       <div> <img src="@/assets/images/service_new/liveSwin.png"></div>
                       <div>服务设备</div>
                     </div>
-                    <div class="num">51<span class="unit">件</span></div>
+                    <div class="num">{{ stockList.stockServiceAssetNum }}<span class="unit">件</span></div>
                   </div>
                  </div>
                  <div class="left-list">
@@ -99,7 +101,7 @@
                       <div> <img src="@/assets/images/service_new/liveSwin.png"></div>
                       <div>办公设备</div>
                     </div>
-                    <div class="num">48<span class="unit">件</span></div>
+                    <div class="num">{{ stockList.stockOfficeAssetNum }}<span class="unit">件</span></div>
                   </div>
                  </div>
 
@@ -117,7 +119,7 @@
                       <div> <img src="@/assets/images/service_new/liveSwin.png"></div>
                       <div>楼宇设备</div>
                     </div>
-                    <div class="num">56<span class="unit">件</span></div>
+                    <div class="num">{{scrapList.scrapBuildingAssetNum }}<span class="unit">件</span></div>
                   </div>
                  </div>
                  <div class="left-list">
@@ -126,7 +128,7 @@
                       <div> <img src="@/assets/images/service_new/liveSwin.png"></div>
                       <div>服务设备</div>
                     </div>
-                    <div class="num">51<span class="unit">件</span></div>
+                    <div class="num">{{scrapList.scrapServiceAssetNum  }}<span class="unit">件</span></div>
                   </div>
                  </div>
                  <div class="left-list">
@@ -135,7 +137,7 @@
                       <div> <img src="@/assets/images/service_new/liveSwin.png"></div>
                       <div>办公设备</div>
                     </div>
-                    <div class="num">48<span class="unit">件</span></div>
+                    <div class="num">{{scrapList.scrapOfficeAssetNum}}<span class="unit">件</span></div>
                   </div>
                  </div>
 
@@ -145,7 +147,7 @@
             <div class="content">
               <div class="total-cont">
                 <span class="title">资产报废数量
-                  <span class="smallTitle">截止至2025年1月17日</span>
+                  <span class="smallTitle">截止至{{timeString}}</span>
                 </span>
               </div>
               <div class="rightList1">
@@ -155,7 +157,7 @@
                       <div> <img src="@/assets/images/service_new/liveSwin.png"></div>
                       <div>楼宇设备</div>
                     </div>
-                    <div class="num">56<span class="unit">件</span></div>
+                    <div class="num">{{ dumpList.newBuildingAssetNum }}<span class="unit">件</span></div>
                   </div>
                  </div>
                  <div class="left-list">
@@ -164,7 +166,7 @@
                       <div> <img src="@/assets/images/service_new/liveSwin.png"></div>
                       <div>服务设备</div>
                     </div>
-                    <div class="num">51<span class="unit">件</span></div>
+                    <div class="num">{{dumpList.newServiceAssetNum }}<span class="unit">件</span></div>
                   </div>
                  </div>
                  <div class="left-list">
@@ -173,7 +175,7 @@
                       <div> <img src="@/assets/images/service_new/liveSwin.png"></div>
                       <div>办公设备</div>
                     </div>
-                    <div class="num">48<span class="unit">件</span></div>
+                    <div class="num">{{dumpList.newOfficeAssetNum }}<span class="unit">件</span></div>
                   </div>
                  </div>
 
@@ -192,7 +194,7 @@
                     <img src="@/assets/images/logistics_guarantee/boxhigh.png" class="icon" alt="" />
                     <div class="rate">
                       <div class="rate-data">
-                        <div class="data">100</div>
+                        <div class="data">{{ codedAndLabelRateList.codedRate }}</div>
                         <div class="unit">%</div>
                       </div>
                       <div class="desc">赋码率</div>
@@ -202,7 +204,7 @@
                     <img src="@/assets/images/logistics_guarantee/boxhigh.png" class="icon" alt="" />
                     <div class="rate">
                       <div class="rate-data">
-                        <div class="data">100</div>
+                        <div class="data">{{ codedAndLabelRateList.labelRate }}</div>
                         <div class="unit">%</div>
                       </div>
                       <div class="desc">贴签率</div>
@@ -285,28 +287,28 @@
                    <img src="@/assets/images/service_new/grow.png">
                     <div class="left-info">
                     <div class="name">巡检异常数量</div>
-                    <div class="num">42<span class="unit">个</span></div>
+                    <div class="num">{{ operationList.inspectionAnomalyRecordNum }}<span class="unit">个</span></div>
                   </div>
                  </div>
                  <div class="left-list">
                    <img src="@/assets/images/service_new/grow.png">
                     <div class="left-info">
                     <div class="name">检修记录数量</div>
-                    <div class="num">51<span class="unit">条</span></div>
+                    <div class="num">{{operationList.repairRecordNum}}<span class="unit">条</span></div>
                   </div>
                  </div>
                  <div class="left-list">
                    <img src="@/assets/images/service_new/grow.png">
                     <div class="left-info">
                     <div class="name">维保记录数量</div>
-                    <div class="num">24<span class="unit">条</span></div>
+                    <div class="num">{{operationList.maintenanceRecordNum  }}<span class="unit">条</span></div>
                   </div>
                  </div>
                  <div class="left-list">
                    <img src="@/assets/images/service_new/setting.png">
                     <div class="left-info">
                     <div class="name">重点设备巡检覆盖率</div>
-                    <div class="num">63<span class="unit">%</span></div>
+                    <div class="num">{{ operationList.importantDeviceTypeInspectionExecuteRate }}<span class="unit">%</span></div>
                   </div>
                  </div>
               </div>
@@ -364,6 +366,10 @@ import LineChart from "@/components/Echarts/LineChart";
 import PieChart from "@/components/Echarts/PieChart";
 import BarChart from "@/components/Echarts/BarChart.vue";
 import echarts from "echarts";
+import {
+  building,service,office,stock,scrap,dump,codedAndLabelRate,mainlyRate,sceneRate,sceneRateUnit,operation,inspectionSchemeNumX,inspectionSchemeNumY
+
+} from "@/api/screen/service";
 
 export default {
   name: "CodeBillDialog",
@@ -372,13 +378,25 @@ export default {
     PieChart,
     LineChart,
   },
-  props: {},
+  props: {
+    appOrg: {
+      type: String,
+      default: "0000",
+    },
+  },
   data() {
     return {
       curIndex: 0,
       curBodex:0,
+      currentTime: new Date(),
       showTab: "main",
       showBox: "province",
+      // 资产存量
+      stockList:{},
+      scrapList:{},
+      dumpList:{},
+      codedAndLabelRateList:{},
+      operationList:{},
       tabs: [
         {
           name: "楼宇资产占比",
@@ -406,15 +424,11 @@ export default {
 
 
       ],
-      pieData: [
-        { value: 24.15, name: "楼宇" },
-        { value: 24.15, name: "办公" },
-        { value: 24.15, name: "服务" },
-      ],
+      pieData: [],
       pieLegend: {
         top: 30,
         orient: "vertical",
-        right: 15,
+        right: 0,
         itemWidth: 8, // 设置图例标记的宽度
         itemHeight: 8, // 设置图例标记的高度
         textStyle: {
@@ -434,7 +448,7 @@ export default {
                   fontWeight: 'normal',
                   align: 'center',
                 },
-                subtitle: {
+                subtitle: { 
                   fontSize: 14,
                   color: '#ffffff',
                   fontWeight: 'normal',
@@ -446,18 +460,11 @@ export default {
       },
       pieCenter: ["50%", "40%"],
       //楼宇资产占比
-      lyData: [
-        { value: 24.15, name: "电梯" },
-        { value: 24.15, name: "电气" },
-        { value: 44.15, name: "楼宇通风" },
-        { value: 24.15, name: "供热采暖" },
-        { value: 24.15, name: "消防" },
-        { value: 24.15, name: "给排水" },
-      ],
+      lyData: [],
       lyLegend: {
         top: 25,
         orient: "vertical",
-        left: 200,
+        left: 250,
         itemWidth: 8, // 设置图例标记的宽度
         itemHeight: 8, // 设置图例标记的高度
         textStyle: {
@@ -465,41 +472,16 @@ export default {
         },
 
       },
-      lyTitle: {
-        text: "{title|资产数量}\n{subtitle|5656}",
-        left: "22%",//对齐方式居中
-        top: "48%",//距离顶部
-        textStyle: {
-              rich: {
-                title: {
-                  color: '#ffffff',
-                  fontSize: 14,
-                  fontWeight: 'normal',
-                  align: 'center',
-                },
-                subtitle: {
-                  fontSize: 16,
-                  color: '#00FFFF',
-                  fontFamily: 'electronicFont',
-                  lineHeight: 30,
-                  align: 'center',
-                },
-              }
-            }
-      },
+      
+      lyTitle: {},
+      fwTitle: {},
+      bgTitle: {},
       //服务资产占比
-      fwData: [
-        { value: 24.15, name: "电梯" },
-        { value: 24.15, name: "电气" },
-        { value: 44.15, name: "楼宇通风" },
-        // { value: 24.15, name: "供热采暖" },
-        // { value: 24.15, name: "消防" },
-        // { value: 24.15, name: "给排水" },
-      ],
+      fwData: [],
       fwLegend: {
-        top: 25,
+        top: 65,
         orient: "vertical",
-        left: 200,
+        left: 250,
         itemWidth: 8, // 设置图例标记的宽度
         itemHeight: 8, // 设置图例标记的高度
         textStyle: {
@@ -508,17 +490,11 @@ export default {
 
       },
       //办公资产占比
-      bgData: [
-        { value: 24.15, name: "电梯" },
-        { value: 24.15, name: "电气" },
-        { value: 44.15, name: "楼宇通风" },
-        { value: 24.15, name: "供热采暖" },
-
-      ],
+      bgData: [],
       bgLegend: {
-        top: 25,
+        top: 55,
         orient: "vertical",
-        left: 200,
+        left: 250,
         itemWidth: 8, // 设置图例标记的宽度
         itemHeight: 8, // 设置图例标记的高度
         textStyle: {
@@ -527,46 +503,8 @@ export default {
 
       },
       //地市
-      nowBuildingAreaBarData: [
-        {
-          name: "",
-          type: "bar",
-          itemStyle: {
-            color: "#ECAA5A",
-            //barBorderRadius: [10, 10, 0, 0], // 统一设置四个角的圆角大小
-          },
-          barWidth: 15,
-          data: [40, 80, 50, 50, 90, 70,50,80,50,55,80],
-        },
-      ],
-      nowBuildingAreaBarAxis: {
-        type: "category",
-        data: [
-          "晋中供电公司",
-          "临汾供电公司",
-          "运城供电公司",
-          "晋城供电公司",
-          "长治供电公司",
-          "吕梁供电公司",
-          "忻州供电公司",
-          "朔州供电公司",
-          "阳泉供电公司",
-          "大同供电公司",
-          "太原供电公司",
-        ],
-        axisLabel: {
-          color: "white", // 设置横坐标轴字体颜色为红色
-          rotate: 40,
-          interval: 0
-        },
-        axisLine:{
-          show:true
-        },
-        axisTick: {
-          show: false,
-        },
-        splitArea:false
-      },
+      nowBuildingAreaBarData: [],
+      nowBuildingAreaBarAxis: {},
       nowBuildingAreaBarYaxis: {
         type: "value",
         boundaryGap: [0, 0.01],
@@ -592,39 +530,8 @@ export default {
         splitArea:false
       },
       //直属单位
-      regBuildingAreaBarData: [
-        {
-          name: "",
-          type: "bar",
-          itemStyle: {
-            color: "#ECAA5A",
-            //barBorderRadius: [10, 10, 0, 0], // 统一设置四个角的圆角大小
-          },
-          barWidth: 15,
-          data: [80, 40, 50,],
-        },
-      ],
-      regBuildingAreaBarAxis: {
-        type: "category",
-        data: [
-          "国网营销服务中心",
-          "国网太原供电公司",
-          "国网运城供电公司",
-
-        ],
-        axisLabel: {
-          color: "white", // 设置横坐标轴字体颜色为红色
-          rotate: 30,
-          interval: 0
-        },
-        axisLine:{
-          show:true
-        },
-        axisTick: {
-          show: false,
-        },
-        splitArea:false
-      },
+      regBuildingAreaBarData: [],
+      regBuildingAreaBarAxis: {},
       regBuildingAreaBarYaxis: {
         type: "value",
         boundaryGap: [0, 0.01],
@@ -651,47 +558,8 @@ export default {
       },
 
       //地市巡检执行数量
-      addBuildingAreaBarData: [
-        {
-          name: "",
-          type: "bar",
-          itemStyle: {
-            color: "#ECAA5A",
-            //barBorderRadius: [10, 10, 0, 0], // 统一设置四个角的圆角大小
-          },
-          barWidth: 15,
-          data: [40, 80, 45, 40, 70, 75,65,40,75,70,85],
-        },
-
-      ],
-      addBuildingAreaBarAxis: {
-        type: "category",
-        data: [
-          "晋中供电公司",
-          "临汾供电公司",
-          "运城供电公司",
-          "晋城供电公司",
-          "长治供电公司",
-          "吕梁供电公司",
-          "忻州供电公司",
-          "朔州供电公司",
-          "阳泉供电公司",
-          "大同供电公司",
-          "太原供电公司",
-        ],
-        axisLabel: {
-          color: "white", // 设置横坐标轴字体颜色为红色
-          rotate: 45,
-          interval: 0
-        },
-        axisLine:{
-          show:true
-        },
-        axisTick: {
-          show: false,
-        },
-        splitArea:false
-      },
+      addBuildingAreaBarData: [],
+      addBuildingAreaBarAxis: {},
       addBuildingAreaBarYaxis: {
         type: "value",
         boundaryGap: [0, 0.01],
@@ -717,48 +585,8 @@ export default {
         splitArea:false
       },
       //直属单位巡检执行数量
-      jueBuildingAreaBarData: [
-        {
-          name: "",
-          type: "bar",
-          itemStyle: {
-            color: "#ECAA5A",
-            //barBorderRadius: [10, 10, 0, 0], // 统一设置四个角的圆角大小
-          },
-          barWidth: 15,
-          data: [70, 90, 75, 70, 90, 75,65,70,75,70,70,85],
-        },
-       
-
-      ],
-      jueBuildingAreaBarAxis: {
-        type: "category",
-        data: [
-          "太原市电力公司",
-          "大同市电力公司",
-          "阳泉市电力公司",
-          "长治市电力公司",
-          "晋城市电力公司",
-          "朔州市电力公司",
-          "忻州市电力公司",
-          "晋中市电力公司",
-          "吕梁市电力公司",
-          "临汾市电力公司",
-          "运城市电力公司",
-        ],
-        axisLabel: {
-          color: "white", // 设置横坐标轴字体颜色为红色
-          rotate: 45,
-          interval: 0
-        },
-        axisLine:{
-          show:true
-        },
-        axisTick: {
-          show: false,
-        },
-        splitArea:false
-      },
+      jueBuildingAreaBarData: [],
+      jueBuildingAreaBarAxis: {},
       jueBuildingAreaBarYaxis: {
         type: "value",
         boundaryGap: [0, 0.01],
@@ -785,13 +613,445 @@ export default {
       },
     };
   },
+  computed: {
+    timeString() {
+      const year = this.currentTime.getFullYear();
+      const month = String(this.currentTime.getMonth() + 1);
+      const day = String(this.currentTime.getDate());
+      return `${year}年${month}月${day}日`;
+    },
+   
+  },
   created() {
+    //楼宇各类资产占比
+    this.building()
+    // 服务各类资产占比
+    this.service()
+    //办公各类资产占比
+    this.office()
+     // 资产存量
+     this.stock()
+     //2025年度资产新增数量
+     this.scrap()
+     //资产报废数量
+     this.dump()
+     //赋码率 -贴签率
+     this.codedAndLabelRate()
+    //  三大类资产占比
+    this.mainlyRate()
+    //典型场景应用率-地市
+    this.sceneRate()
+     //典型场景应用率-直属单位
+    this.sceneRateUnit()
+    //  楼宇设备运行情况
+    this.operation()
+    //地市巡检执行数量
+    this.inspectionSchemeNumX()
+    //直属单位巡检执行数量
+    this.inspectionSchemeNumY()
+    
 
   },
   destroyed() {},
   beforeDestroy() {},
   mounted() {},
   methods: {
+       // 楼宇各类资产占比
+       building(){
+        building(this.$props.appOrg).then((res) => {
+        if (Number(res.code) === 200) {
+          const colorList = ['#FEB948','#2F82FE','#01F6EC','#7465EF','#242CC4','#2FFEA0','#E16B21'];
+          const buildingAssetList = res.data.buildingAssetList;
+          this.lyData = buildingAssetList.map((item, index) => {
+            return {
+              value: item.assetNum, // 数据值
+              name: item.categoryName, // 数据名称
+              itemStyle: {
+                color: colorList[index % colorList.length] // 循环使用颜色列表
+              }
+            };
+          });
+ 
+      this.lyTitle= {
+        text: `{title|资产数量}\n{subtitle|${res.data.buildingAssetNum}}`,
+        left: "22%",//对齐方式居中
+        top: "48%",//距离顶部
+        textStyle: {
+              rich: {
+                title: {
+                  color: '#ffffff',
+                  fontSize: 14,
+                  fontWeight: 'normal',
+                  align: 'center',
+                },
+                subtitle: {
+                  fontSize: 16,
+                  color: '#00FFFF',
+                  fontFamily: 'electronicFont',
+                  lineHeight: 30,
+                  align: 'center',
+                },
+              }
+            }
+      }
+          
+        }
+      });
+    },
+
+    // 服务各类资产占比
+    service(){
+      service(this.$props.appOrg).then((res) => {
+        if (Number(res.code) === 200) {
+          const colorList = ['#FEB948','#2F82FE','#01F6EC','#7465EF','#242CC4','#2FFEA0','#E16B21'];
+          const buildingAssetList = res.data.serviceAssetList;
+          this.fwData = buildingAssetList.map((item, index) => {
+            return {
+              value: item.assetNum, // 数据值
+              name: item.categoryName, // 数据名称
+              itemStyle: {
+                color: colorList[index % colorList.length] // 循环使用颜色列表
+              }
+            };
+          });
+ 
+      this.fwTitle= {
+        text: `{title|资产数量}\n{subtitle|${res.data.serviceAssetNum}}`,
+        left: "22%",//对齐方式居中
+        top: "48%",//距离顶部
+        textStyle: {
+              rich: {
+                title: {
+                  color: '#ffffff',
+                  fontSize: 14,
+                  fontWeight: 'normal',
+                  align: 'center',
+                },
+                subtitle: {
+                  fontSize: 16,
+                  color: '#00FFFF',
+                  fontFamily: 'electronicFont',
+                  lineHeight: 30,
+                  align: 'center',
+                },
+              }
+            }
+      }
+          
+        }
+      });
+    },
+
+    //办公各类资产占比
+    office(){
+      office(this.$props.appOrg).then((res) => {
+        if (Number(res.code) === 200) {
+          const colorList = ['#FEB948','#2F82FE','#01F6EC','#7465EF','#242CC4','#2FFEA0','#E16B21'];
+          const buildingAssetList = res.data.officeAssetList;
+          this.bgData = buildingAssetList.map((item, index) => {
+            return {
+              value: item.assetNum, // 数据值
+              name: item.categoryName, // 数据名称
+              itemStyle: {
+                color: colorList[index % colorList.length] // 循环使用颜色列表
+              }
+            };
+          });
+ 
+      this.bgTitle= {
+        text: `{title|资产数量}\n{subtitle|${res.data.officeAssetNum}}`,
+        left: "22%",//对齐方式居中
+        top: "48%",//距离顶部
+        textStyle: {
+              rich: {
+                title: {
+                  color: '#ffffff',
+                  fontSize: 14,
+                  fontWeight: 'normal',
+                  align: 'center',
+                },
+                subtitle: {
+                  fontSize: 16,
+                  color: '#00FFFF',
+                  fontFamily: 'electronicFont',
+                  lineHeight: 30,
+                  align: 'center',
+                },
+              }
+            }
+      }
+          
+        }
+      });
+    },
+
+
+      //资产存量
+      stock() {
+        stock(this.$props.appOrg).then((res) => {
+        if (Number(res.code) === 200) {
+          this.stockList=res.data;
+        }
+      });
+    },
+     
+    //资产新增数量
+    scrap() {
+      scrap(this.$props.appOrg).then((res) => {
+        if (Number(res.code) === 200) {
+          this.scrapList=res.data;
+        }
+      });
+    },
+
+      
+    //资产报废数量
+    dump() {
+      dump(this.$props.appOrg).then((res) => {
+        if (Number(res.code) === 200) {
+          this.dumpList=res.data;
+        }
+      });
+    },
+
+     //赋码率 -贴签率
+     codedAndLabelRate() {
+      codedAndLabelRate(this.$props.appOrg).then((res) => {
+        if (Number(res.code) === 200) {
+          this.codedAndLabelRateList=res.data;
+        }
+      });
+    },
+
+      // 三大类资产占比
+      mainlyRate() {
+        mainlyRate(this.$props.appOrg).then((res) => {
+        if (Number(res.code) === 200) {
+          this.pieData= [
+        { value: res.data.buildingAssetNum, name: "楼宇资产", itemStyle: {color:'#FEB948'} },
+        { value: res.data.officeAssetNum, name: "办公资产" , itemStyle: {color:'#242CC4'}},
+        { value: res.data.serviceAssetNum, name: "服务资产" , itemStyle: {color:'#01F6EC'}},
+      ]
+        }
+      });
+    },
+
+     //典型场景应用率-地市
+     sceneRate() {
+      sceneRate(this.$props.appOrg).then((res) => {
+        if (Number(res.code) === 200) {
+          this.nowBuildingAreaBarAxis = {
+            type: "category",
+            data: res.data.xList,
+            axisLabel: {
+              color: "white", // 设置横坐标轴字体颜色为红色
+              rotate: 0,
+              interval: 0
+            },
+            axisLine: {
+              show: true
+            },
+            axisTick: {
+              show: false,
+            },
+            splitArea: false
+          };
+          this.nowBuildingAreaBarData = [
+            {
+              data: res.data.yList,
+              type: "bar",
+              barWidth: 15,
+              itemStyle: {
+                color: {
+                  type: 'linear',
+                  x: 0, //右
+                  y: 0, //下
+                  x2: 0, //左
+                  y2: 1, //上
+                  colorStops: [
+                    {
+                      offset: 0,
+                      color: '#FCE0BB' // 0% 处的颜色
+                    },
+                    {
+                      offset: 1,
+                      color: '#D47F1C' // 100% 处的颜色
+                    }
+                  ]
+                }
+              },
+            },
+          ];
+        }
+      });
+    },
+
+      //典型场景应用率-直属单位
+      sceneRateUnit() {
+        sceneRateUnit(this.$props.appOrg).then((res) => {
+        if (Number(res.code) === 200) {
+          this.regBuildingAreaBarAxis = {
+            type: "category",
+            data: res.data.xList,
+            axisLabel: {
+              color: "white", // 设置横坐标轴字体颜色为红色
+              rotate: 0,
+              interval: 0
+            },
+            axisLine: {
+              show: true
+            },
+            axisTick: {
+              show: false,
+            },
+            splitArea: false
+          };
+          this.regBuildingAreaBarData = [
+            {
+              data: res.data.yList,
+              type: "bar",
+              barWidth: 15,
+              itemStyle: {
+                color: {
+                  type: 'linear',
+                  x: 0, //右
+                  y: 0, //下
+                  x2: 0, //左
+                  y2: 1, //上
+                  colorStops: [
+                    {
+                      offset: 0,
+                      color: '#FCE0BB' // 0% 处的颜色
+                    },
+                    {
+                      offset: 1,
+                      color: '#D47F1C' // 100% 处的颜色
+                    }
+                  ]
+                }
+              },
+            },
+          ];
+        }
+      });
+    },
+
+
+     
+     
+      //楼宇设备运行情况
+      operation() {
+        operation(this.$props.appOrg).then((res) => {
+        if (Number(res.code) === 200) {
+          this.operationList=res.data[0];
+        }
+      });
+    },
+   
+
+    //地市巡检执行数量
+    inspectionSchemeNumX() {
+      inspectionSchemeNumX(this.$props.appOrg).then((res) => {
+        if (Number(res.code) === 200) {
+          this.addBuildingAreaBarAxis = {
+            type: "category",
+            data: res.data.xList,
+            axisLabel: {
+              color: "white", // 设置横坐标轴字体颜色为红色
+              rotate: 0,
+              interval: 0
+            },
+            axisLine: {
+              show: true
+            },
+            axisTick: {
+              show: false,
+            },
+            splitArea: false
+          };
+          this.addBuildingAreaBarData = [
+            {
+              data: res.data.yList,
+              type: "bar",
+              barWidth: 15,
+              itemStyle: {
+                color: {
+                  type: 'linear',
+                  x: 0, //右
+                  y: 0, //下
+                  x2: 0, //左
+                  y2: 1, //上
+                  colorStops: [
+                    {
+                      offset: 0,
+                      color: '#FCE0BB' // 0% 处的颜色
+                    },
+                    {
+                      offset: 1,
+                      color: '#D47F1C' // 100% 处的颜色
+                    }
+                  ]
+                }
+              },
+            },
+          ];
+        }
+      });
+    },
+
+    //直属单位巡检执行数量
+    inspectionSchemeNumY() {
+      inspectionSchemeNumY(this.$props.appOrg).then((res) => {
+        if (Number(res.code) === 200) {
+          this.jueBuildingAreaBarAxis = {
+            type: "category",
+            data: res.data.xList,
+            axisLabel: {
+              color: "white", // 设置横坐标轴字体颜色为红色
+              rotate: 45,
+              interval: 0
+            },
+            axisLine: {
+              show: true
+            },
+            axisTick: {
+              show: false,
+            },
+            splitArea: false
+          };
+          this.jueBuildingAreaBarData = [
+            {
+              data: res.data.yList,
+              type: "bar",
+              barWidth: 15,
+              itemStyle: {
+                color: {
+                  type: 'linear',
+                  x: 0, //右
+                  y: 0, //下
+                  x2: 0, //左
+                  y2: 1, //上
+                  colorStops: [
+                    {
+                      offset: 0,
+                      color: '#FCE0BB' // 0% 处的颜色
+                    },
+                    {
+                      offset: 1,
+                      color: '#D47F1C' // 100% 处的颜色
+                    }
+                  ]
+                }
+              },
+            },
+          ];
+        }
+      });
+    },
+     
+     
+     
+     
         //切换菜单
         chooseTab(index) {
       this.curIndex = index;

+ 142 - 52
src/views/screen/logistics/logisticsAssets.vue

@@ -68,7 +68,7 @@
         <div class="content">
               <div class="total-cont">
                 <span class="title">资产存量
-                  <span class="smallTitle">截止至2025年1月17日</span>
+                  <span class="smallTitle">截止至{{timeString}}</span>
                 </span>
               </div>
               <div class="rightList1">
@@ -78,7 +78,7 @@
                       <div> <img src="@/assets/images/service_new/liveSwin.png"></div>
                       <div>楼宇设备</div>
                     </div>
-                    <div class="num">56<span class="unit">件</span></div>
+                    <div class="num">{{ stockList.stockBuildingAssetNum}}<span class="unit">件</span></div>
                   </div>
                  </div>
                  <div class="left-list">
@@ -87,7 +87,7 @@
                       <div> <img src="@/assets/images/service_new/liveSwin.png"></div>
                       <div>服务设备</div>
                     </div>
-                    <div class="num">51<span class="unit">件</span></div>
+                    <div class="num">{{ stockList.stockServiceAssetNum }}<span class="unit">件</span></div>
                   </div>
                  </div>
                  <div class="left-list">
@@ -96,7 +96,7 @@
                       <div> <img src="@/assets/images/service_new/liveSwin.png"></div>
                       <div>办公设备</div>
                     </div>
-                    <div class="num">48<span class="unit">件</span></div>
+                    <div class="num">{{ stockList.stockOfficeAssetNum }}<span class="unit">件</span></div>
                   </div>
                  </div>
 
@@ -114,7 +114,7 @@
                       <div> <img src="@/assets/images/service_new/liveSwin.png"></div>
                       <div>楼宇设备</div>
                     </div>
-                    <div class="num">56<span class="unit">件</span></div>
+                    <div class="num">{{scrapList.scrapBuildingAssetNum }}<span class="unit">件</span></div>
                   </div>
                  </div>
                  <div class="left-list">
@@ -123,7 +123,7 @@
                       <div> <img src="@/assets/images/service_new/liveSwin.png"></div>
                       <div>服务设备</div>
                     </div>
-                    <div class="num">51<span class="unit">件</span></div>
+                    <div class="num">{{scrapList.scrapServiceAssetNum  }}<span class="unit">件</span></div>
                   </div>
                  </div>
                  <div class="left-list">
@@ -132,7 +132,7 @@
                       <div> <img src="@/assets/images/service_new/liveSwin.png"></div>
                       <div>办公设备</div>
                     </div>
-                    <div class="num">48<span class="unit">件</span></div>
+                    <div class="num">{{scrapList.scrapOfficeAssetNum}}<span class="unit">件</span></div>
                   </div>
                  </div>
 
@@ -142,7 +142,7 @@
             <div class="content">
               <div class="total-cont">
                 <span class="title">资产报废数量
-                  <span class="smallTitle">截止至2025年1月17日</span>
+                  <span class="smallTitle">截止至{{timeString}}</span>
                 </span>
               </div>
               <div class="rightList1">
@@ -152,7 +152,7 @@
                       <div> <img src="@/assets/images/service_new/liveSwin.png"></div>
                       <div>楼宇设备</div>
                     </div>
-                    <div class="num">56<span class="unit">件</span></div>
+                    <div class="num">{{ dumpList.newBuildingAssetNum }}<span class="unit">件</span></div>
                   </div>
                  </div>
                  <div class="left-list">
@@ -161,7 +161,7 @@
                       <div> <img src="@/assets/images/service_new/liveSwin.png"></div>
                       <div>服务设备</div>
                     </div>
-                    <div class="num">51<span class="unit">件</span></div>
+                    <div class="num">{{dumpList.newServiceAssetNum }}<span class="unit">件</span></div>
                   </div>
                  </div>
                  <div class="left-list">
@@ -170,7 +170,7 @@
                       <div> <img src="@/assets/images/service_new/liveSwin.png"></div>
                       <div>办公设备</div>
                     </div>
-                    <div class="num">48<span class="unit">件</span></div>
+                    <div class="num">{{dumpList.newOfficeAssetNum }}<span class="unit">件</span></div>
                   </div>
                  </div>
 
@@ -189,7 +189,7 @@
                     <img src="@/assets/images/logistics_guarantee/boxhigh.png" class="icon" alt="" />
                     <div class="rate">
                       <div class="rate-data">
-                        <div class="data">100</div>
+                        <div class="data">{{ codedAndLabelRateList.codedRate }}</div>
                         <div class="unit">%</div>
                       </div>
                       <div class="desc">赋码率</div>
@@ -199,7 +199,7 @@
                     <img src="@/assets/images/logistics_guarantee/boxhigh.png" class="icon" alt="" />
                     <div class="rate">
                       <div class="rate-data">
-                        <div class="data">100</div>
+                        <div class="data">{{ codedAndLabelRateList.labelRate }}</div>
                         <div class="unit">%</div>
                       </div>
                       <div class="desc">贴签率</div>
@@ -233,7 +233,10 @@ import LineChart from "@/components/Echarts/LineChart.vue";
 import PieChart from "@/components/Echarts/PieChart.vue";
 import BarChart from "@/components/Echarts/BarChart.vue";
 import echarts from "echarts";
+import {
+  building,stock,scrap,dump,codedAndLabelRate,mainlyRate,
 
+} from "@/api/screen/service";
 export default {
   name: "LogisticsAssets",
   components: {BarChart, PieChart, LineChart},
@@ -255,15 +258,17 @@ export default {
     return {
       curIndex: 0,
       showTab: "main",
-      pieData: [
-        { value: 24.15, name: "楼宇" },
-        { value: 24.15, name: "办公" },
-        { value: 24.15, name: "服务" },
-      ],
+      currentTime: new Date(),
+      // 资产存量
+      stockList:{},
+      scrapList:{},
+      dumpList:{},
+      codedAndLabelRateList:{},
+      pieData: [],
       pieLegend: {
-        top: 25,
+        top: 30,
         orient: "vertical",
-        right: 15,
+        right: 0,
         itemWidth: 8, // 设置图例标记的宽度
         itemHeight: 8, // 设置图例标记的高度
         textStyle: {
@@ -294,18 +299,11 @@ export default {
             }
       },
      //楼宇资产占比
-     lyData: [
-        { value: 24.15, name: "电梯" },
-        { value: 24.15, name: "电气" },
-        { value: 44.15, name: "楼宇通风" },
-        { value: 24.15, name: "供热采暖" },
-        { value: 24.15, name: "消防" },
-        { value: 24.15, name: "给排水" },
-      ],
+     lyData: [],
       lyLegend: {
         top: 25,
         orient: "vertical",
-        left: 200,
+        left: 250,
         itemWidth: 8, // 设置图例标记的宽度
         itemHeight: 8, // 设置图例标记的高度
         textStyle: {
@@ -313,28 +311,7 @@ export default {
         },
 
       },
-      lyTitle: {
-        text: "{title|资产数量}\n{subtitle|5656}",
-        left: "22%",//对齐方式居中
-        top: "48%",//距离顶部
-        textStyle: {
-              rich: {
-                title: {
-                  color: '#ffffff',
-                  fontSize: 14,
-                  fontWeight: 'normal',
-                  align: 'center',
-                },
-                subtitle: {
-                  fontSize: 16,
-                  color: '#00FFFF',
-                  fontFamily: 'electronicFont',
-                  lineHeight: 30,
-                  align: 'center',
-                },
-              }
-            }
-      },
+      lyTitle: {},
       //服务资产占比
       fwData: [
         { value: 24.15, name: "电梯" },
@@ -376,13 +353,126 @@ export default {
       },
     };
   },
+  computed: {
+    timeString() {
+      const year = this.currentTime.getFullYear();
+      const month = String(this.currentTime.getMonth() + 1);
+      const day = String(this.currentTime.getDate());
+      return `${year}年${month}月${day}日`;
+    },
+   
+  },
   created() {
-
+    //楼宇各类资产占比
+    this.building()
+    // 资产存量
+     this.stock()
+     //2025年度资产新增数量
+     this.scrap()
+     //资产报废数量
+     this.dump()
+     //赋码率 -贴签率
+     this.codedAndLabelRate()
+    //  三大类资产占比
+    this.mainlyRate()
   },
   destroyed() {},
   beforeDestroy() {},
   mounted() {},
   methods: {
+    // 楼宇各类资产占比
+    building(){
+        building(this.$props.appOrg).then((res) => {
+        if (Number(res.code) === 200) {
+          const colorList = ['#FEB948','#2F82FE','#01F6EC','#7465EF','#242CC4','#2FFEA0','#E16B21'];
+          const buildingAssetList = res.data.buildingAssetList;
+          this.lyData = buildingAssetList.map((item, index) => {
+            return {
+              value: item.assetNum, // 数据值
+              name: item.categoryName, // 数据名称
+              itemStyle: {
+                color: colorList[index % colorList.length] // 循环使用颜色列表
+              }
+            };
+          });
+ 
+      this.lyTitle= {
+        text: `{title|资产数量}\n{subtitle|${res.data.buildingAssetNum}}`,
+        left: "22%",//对齐方式居中
+        top: "48%",//距离顶部
+        textStyle: {
+              rich: {
+                title: {
+                  color: '#ffffff',
+                  fontSize: 14,
+                  fontWeight: 'normal',
+                  align: 'center',
+                },
+                subtitle: {
+                  fontSize: 16,
+                  color: '#00FFFF',
+                  fontFamily: 'electronicFont',
+                  lineHeight: 30,
+                  align: 'center',
+                },
+              }
+            }
+      }
+          
+        }
+      });
+    },
+
+
+     //资产存量
+     stock() {
+        stock(this.$props.appOrg).then((res) => {
+        if (Number(res.code) === 200) {
+          this.stockList=res.data;
+        }
+      });
+    },
+     
+    //资产新增数量
+    scrap() {
+      scrap(this.$props.appOrg).then((res) => {
+        if (Number(res.code) === 200) {
+          this.scrapList=res.data;
+        }
+      });
+    },
+
+      
+    //资产报废数量
+    dump() {
+      dump(this.$props.appOrg).then((res) => {
+        if (Number(res.code) === 200) {
+          this.dumpList=res.data;
+        }
+      });
+    },
+
+     //赋码率 -贴签率
+     codedAndLabelRate() {
+      codedAndLabelRate(this.$props.appOrg).then((res) => {
+        if (Number(res.code) === 200) {
+          this.codedAndLabelRateList=res.data;
+        }
+      });
+    },
+
+      // 三大类资产占比
+      mainlyRate() {
+        mainlyRate(this.$props.appOrg).then((res) => {
+        if (Number(res.code) === 200) {
+          this.pieData= [
+        { value: res.data.buildingAssetNum, name: "楼宇资产", itemStyle: {color:'#FEB948'} },
+        { value: res.data.officeAssetNum, name: "办公资产" , itemStyle: {color:'#242CC4'}},
+        { value: res.data.serviceAssetNum, name: "服务资产" , itemStyle: {color:'#01F6EC'}},
+      ]
+        }
+      });
+    },
            //切换菜单
            chooseTab(index) {
       this.curIndex = index;

+ 1 - 1
src/views/screen/map/province.vue

@@ -636,7 +636,7 @@ export default {
                 //直属单位
                 symbol =
                   "image://" + require("@/assets/images/main/map/zhishu.png");
-                  lines.push({
+                  lines.push({ 
                         coords: [
                         childs.poi,
                           [112.316448, 38.000045]