소스 검색

修复问题

tianyabing 2 년 전
부모
커밋
529fa9ca20
100개의 변경된 파일961개의 추가작업 그리고 1075개의 파일을 삭제
  1. 11 2
      src/api/scene/apiSceneStrategy.js
  2. 8 2
      src/api/scene/meeting/apiSceneMeeting.js
  3. 3 15
      src/components/business/analysis/all/businessEnergyChart.vue
  4. 0 1
      src/components/business/analysis/all/businessEnergyDistributeChart.vue
  5. 6 6
      src/components/business/analysis/analysis.vue
  6. 3 2
      src/components/business/analysis/cold/BusinessColdChart.vue
  7. 3 2
      src/components/business/analysis/electric/BusinessElectricChart.vue
  8. 2 1
      src/components/business/analysis/electric/BusinessElectricDistributeChart.vue
  9. 3 2
      src/components/business/analysis/hot/BusinessHotChart.vue
  10. 3 1
      src/components/business/analysis/hot/BusinessHotDistributeChart.vue
  11. 3 2
      src/components/business/analysis/pv/BusinessPvChart.vue
  12. 3 15
      src/components/business/analysis/pv/BusinessPvMoneyChart.vue
  13. 3 2
      src/components/business/analysis/water/BusinessWaterChart.vue
  14. 2 1
      src/components/business/analysis/water/BusinessWaterDistributeChart.vue
  15. 2 1
      src/components/business/asset/charts/assetMoneyRepairChart.vue
  16. 3 15
      src/components/business/space/charts/spaceCostChart.vue
  17. 1 0
      src/components/common/card.vue
  18. 1 0
      src/components/common/coreData.vue
  19. 0 1
      src/components/common/timeLine.vue
  20. 1 1
      src/components/dashboard/more/pv/pvPowerProfitChart.vue
  21. 3 15
      src/components/dashboard/more/pv/pvPowerSummaryChart.vue
  22. 3 25
      src/components/dashboard/portrait/cold/coldTrendChart.vue
  23. 11 9
      src/components/dashboard/portrait/coldPortrait.vue
  24. 3 0
      src/components/dashboard/portrait/dashboardPortrait.vue
  25. 43 33
      src/components/dashboard/portrait/electricity/electricityDistributionChart.vue
  26. 9 31
      src/components/dashboard/portrait/electricity/electricityUseChart.vue
  27. 3 15
      src/components/dashboard/portrait/hot/hotTrendChart.vue
  28. 77 75
      src/components/dashboard/portrait/hotPortrait.vue
  29. 0 6
      src/components/dashboard/portrait/money/investDistributeChart.vue
  30. 0 6
      src/components/dashboard/portrait/money/investYearChart.vue
  31. 90 88
      src/components/dashboard/portrait/moneyPortrait.vue
  32. 136 182
      src/components/dashboard/portrait/person/personTrendChart.vue
  33. 1 1
      src/components/dashboard/portrait/personPortrait.vue
  34. 12 41
      src/components/dashboard/portrait/restaurant/restaurantTrendChart.vue
  35. 6 3
      src/components/dashboard/portrait/restaurantPortrait.vue
  36. 12 45
      src/components/dashboard/portrait/supermarket/supermarketTrendChart.vue
  37. 6 3
      src/components/dashboard/portrait/supermarketPortrait.vue
  38. 17 22
      src/components/dashboard/portrait/water/waterDistributionChart.vue
  39. 12 32
      src/components/dashboard/portrait/water/waterUseChart.vue
  40. 3 15
      src/components/doubleCarbon/PV/charts/carbonPvEmissionChart.vue
  41. 15 0
      src/components/doubleCarbon/PV/charts/carbonPvQuotaChart.vue
  42. 0 1
      src/components/doubleCarbon/PV/doubleCarbonPv.vue
  43. 3 15
      src/components/doubleCarbon/car/charts/carbonCarEmissionChart.vue
  44. 16 1
      src/components/doubleCarbon/car/charts/carbonCarQuotaChart.vue
  45. 3 15
      src/components/doubleCarbon/overview/charts/carbonEmissionChart.vue
  46. 3 2
      src/components/doubleCarbon/overview/charts/carbonOverviewPercent.vue
  47. 17 1
      src/components/doubleCarbon/overview/charts/carbonQuotaChart.vue
  48. 3 15
      src/components/doubleCarbon/print/charts/carbonPrintEmissionChart.vue
  49. 16 1
      src/components/doubleCarbon/print/charts/carbonPrintQuotaChart.vue
  50. 0 1
      src/components/doubleCarbon/print/doubleCarbonPrint.vue
  51. 3 15
      src/components/life/healthyHome/components/lifeHealthyHomeChart.vue
  52. 1 2
      src/components/life/healthyHome/lifeHealthyHome.vue
  53. 2 1
      src/components/life/parking/components/lifeParkConsumeChart.vue
  54. 3 15
      src/components/life/parking/components/lifeParkTrendChart.vue
  55. 3 1
      src/components/life/parking/components/lifeParkUnNormalChart.vue
  56. 9 5
      src/components/life/parking/lifeParking.vue
  57. 2 1
      src/components/life/restaurant/components/LifeRestPayChart.vue
  58. 8 3
      src/components/life/restaurant/components/LifeRestProfitChart.vue
  59. 3 15
      src/components/life/restaurant/components/lifeRestConsumeChart.vue
  60. 3 15
      src/components/life/restaurant/components/lifeRestEatChart.vue
  61. 6 5
      src/components/life/restaurant/lifeRestaurant.vue
  62. 13 18
      src/components/life/supermarket/components/lifeSupermarketAnalysisChart.vue
  63. 14 8
      src/components/life/supermarket/lifeSupermarket.vue
  64. 0 1
      src/components/scene/access/sceneAccessGuestManage.vue
  65. 0 2
      src/components/scene/access/sceneAccessManage.vue
  66. 0 1
      src/components/scene/access/sceneAccessParkManage.vue
  67. 0 1
      src/components/scene/energy/sceneEnergyAircondition/airconditioningCard.vue
  68. 0 1
      src/components/scene/energy/sceneEnergyAircondition/sceneWaterCard.vue
  69. 0 1
      src/components/scene/energy/sceneEnergyAircondition/scenelightCard.vue
  70. 9 2
      src/components/scene/energy/tactics/AirTactics.vue
  71. 7 2
      src/components/scene/energy/tactics/lightTactics.vue
  72. 6 2
      src/components/scene/energy/tactics/waterTactics.vue
  73. 0 3
      src/components/scene/meeting/chart/meetingPersonDistributeChart.vue
  74. 4 3
      src/components/scene/meeting/chart/meetingTimeCharts.vue
  75. 0 1
      src/components/scene/meeting/chart/meetingTimeDistributeChart.vue
  76. 1 1
      src/components/scene/meeting/config/meetingRoomConfig.vue
  77. 0 1
      src/components/scene/meeting/config/meetingRoomDeviceTable.vue
  78. 17 6
      src/components/scene/meeting/config/meetingRooms.vue
  79. 114 8
      src/components/scene/meeting/config/meetingStrategy.vue
  80. 21 2
      src/components/scene/meeting/sceneMeetingOverview.vue
  81. 3 1
      src/components/security/alarm/manage/securityAlarmManageDistribute.vue
  82. 3 15
      src/components/security/alarm/manage/securityAlarmManageOnlineTrend.vue
  83. 3 15
      src/components/security/alarm/manage/securityAlarmManageTrend.vue
  84. 0 2
      src/components/security/alarm/securityAlarmGrid.vue
  85. 4 3
      src/components/security/alarm/securityAlarmManage.vue
  86. 0 1
      src/components/security/person/components/securityPersonDuty.vue
  87. 3 9
      src/components/security/person/components/securityPersonExistChart.vue
  88. 3 9
      src/components/security/person/components/securityPersonGuestChart.vue
  89. 4 4
      src/components/security/person/securityPerson.vue
  90. 3 15
      src/components/work/bus/component/workBusChart.vue
  91. 3 15
      src/components/work/bus/component/workBusTrend.vue
  92. 2 0
      src/components/work/bus/workBus.vue
  93. 16 28
      src/components/work/meeting/component/workMeetingCostTrend.vue
  94. 56 6
      src/components/work/meeting/workMeeting.vue
  95. 13 5
      src/components/work/overview/workOverview.vue
  96. 3 15
      src/components/work/print/component/workPrintChart.vue
  97. 3 15
      src/components/work/print/component/workPrintTrend.vue
  98. 2 0
      src/components/work/print/workPrint.vue
  99. 2 2
      src/data/json/menuList.json
  100. 2 2
      src/router/index.js

+ 11 - 2
src/api/scene/apiSceneStrategy.js

@@ -7,10 +7,19 @@ const addStrategy = (params) => {
 
 // 获取策略列表
 const getStrategyList = (params) => {
-    return Request.post('strategy/getStrategyList', params)
+    return Request.post('/strategy/getStrategyList', params)
 }
 
+// 删除策略
+const delStrategyById = (id) => {
+    return Request.postForm('/strategy/delById', {
+        id: id
+    })
+}
+
+
 export default {
     addStrategy,
-    getStrategyList
+    getStrategyList,
+    delStrategyById,
 }

+ 8 - 2
src/api/scene/meeting/apiSceneMeeting.js

@@ -2,9 +2,15 @@ import Request from "@/utils/request";
 
 // 获取会议室列表
 const getMeetingRoomList = (params) => {
-    return Request.post('/meetingroom/getMeetingRoomList', params)
+    return Request.postForm('/meetingroom/getMeetingRoomList', params)
+}
+
+// 获取会议总数
+const getMeetingTotal = (params) => {
+    return Request.post('/meetingroom/getMeetingTotal', params)
 }
 
 export default {
-    getMeetingRoomList
+    getMeetingRoomList,
+    getMeetingTotal,
 }

+ 3 - 15
src/components/business/analysis/all/businessEnergyChart.vue

@@ -18,8 +18,8 @@ export default {
         grid: {
           left: '1%', //默认10%
           right: '1%', //默认10%
-          bottom: '10%', //默认60
-          top: '15%',
+          bottom: '20px', //默认60
+          top: '60px',
           containLabel: true
           //grid区域是否包含坐标轴的刻度标签
         },
@@ -34,19 +34,7 @@ export default {
             },
           }
         ],
-        dataZoom: [
-          {
-            type: 'slider',
-            start: 0,
-            end: 100,
-            height: 12,
-          },
-          {
-            type: 'inside',
-            start: 0,
-            end: 100,
-          }
-        ],
+        dataZoom: this.$constant.ECHARTS_OPTION_DATAZOOM,
         tooltip: {
           trigger: 'axis',
           axisPointer: {

+ 0 - 1
src/components/business/analysis/all/businessEnergyDistributeChart.vue

@@ -85,7 +85,6 @@ export default {
           });
         }
         max = Math.max(max*2, 200);
-        console.log(max)
         indicatorList.forEach(item => {
           item.max = max;
         });

+ 6 - 6
src/components/business/analysis/analysis.vue

@@ -169,13 +169,13 @@ export default {
           <div class="ioc-card-content">
             <Card title="能源趋势">
               <div class="analysis-energy-body-left">
-                <BusinessElectricChart ref="anaChart" :query-data="queryData" :height="450" v-if="queryData.energy=='electric'" ></BusinessElectricChart>
-                <BusinessWaterChart ref="anaChart" :query-data="queryData" :height="450" v-if="queryData.energy=='water'"></BusinessWaterChart>
+                <BusinessElectricChart ref="anaChart" :query-data="queryData" :height="430" v-if="queryData.energy=='electric'" ></BusinessElectricChart>
+                <BusinessWaterChart ref="anaChart" :query-data="queryData" :height="430" v-if="queryData.energy=='water'"></BusinessWaterChart>
                 <div style="margin-top: 15px">
-                  <BusinessHotChart ref="anaChart" :query-data="queryData" :height="470" v-if="queryData.energy=='hot'"></BusinessHotChart>
-                  <BusinessColdChart ref="anaChart" :query-data="queryData" :height="470" v-if="queryData.energy=='cold'"></BusinessColdChart>
-                  <BusinessPvChart ref="anaChart" :query-data="queryData" :height="470" v-if="queryData.energy=='pv'"></BusinessPvChart>
-                  <BusinessEnergyChart ref="anaChart" :query-data="queryData" :height="470" v-if="queryData.energy=='0'"></BusinessEnergyChart>
+                  <BusinessHotChart ref="anaChart" :query-data="queryData" :height="450" v-if="queryData.energy=='hot'"></BusinessHotChart>
+                  <BusinessColdChart ref="anaChart" :query-data="queryData" :height="450" v-if="queryData.energy=='cold'"></BusinessColdChart>
+                  <BusinessPvChart ref="anaChart" :query-data="queryData" :height="450" v-if="queryData.energy=='pv'"></BusinessPvChart>
+                  <BusinessEnergyChart ref="anaChart" :query-data="queryData" :height="450" v-if="queryData.energy=='0'"></BusinessEnergyChart>
                 </div>
               </div>
             </Card>

+ 3 - 2
src/components/business/analysis/cold/BusinessColdChart.vue

@@ -21,8 +21,8 @@ export default {
         grid: {
           left: '2%', //默认10%
           right: '2%', //默认10%
-          bottom: '15%', //默认60
-          top: '15%',
+          bottom: '20px', //默认60
+          top: '60px',
           containLabel: true
           //grid区域是否包含坐标轴的刻度标签
         },
@@ -30,6 +30,7 @@ export default {
           type: 'category',
           data: []
         },
+        dataZoom: this.$constant.ECHARTS_OPTION_DATAZOOM,
         yAxis: [
           {
             name: 'kwh',

+ 3 - 2
src/components/business/analysis/electric/BusinessElectricChart.vue

@@ -42,8 +42,8 @@ export default {
         grid: {
           left: '2%', //默认10%
           right: '2%', //默认10%
-          bottom: '15%', //默认60
-          top: '15%',
+          bottom: '20px', //默认60
+          top: '60px',
           containLabel: true
           //grid区域是否包含坐标轴的刻度标签
         },
@@ -60,6 +60,7 @@ export default {
             },
           },
         ],
+        dataZoom: this.$constant.ECHARTS_OPTION_DATAZOOM,
         tooltip: {
           trigger: 'axis',
           axisPointer: {

+ 2 - 1
src/components/business/analysis/electric/BusinessElectricDistributeChart.vue

@@ -5,7 +5,6 @@ export default {
   data() {
     return {
       option: {
-        color: ['#80D4FF', '#A6A6FF', '#FFB580', '#FFDF80', '#79F2E8'],
         tooltip: {
           trigger: 'item'
         },
@@ -48,12 +47,14 @@ export default {
       let chart = this.$echarts.init(this.$refs.myChart)
       this.chart = chart;
       this.$util.chartsResize(this.chart);
+      this.option = this.$util.dataUtil.circleChartConfig(this.option)
       chart.setOption(this.option)
       this.getData();
     },
     getData() {
       return apiOperationAnalysis.getEnergyAnalysisPower(this.queryData).then(res=>{
         this.option.series[0].data = res;
+        this.option = this.$util.dataUtil.circleChartConfig(this.option)
         this.chart.setOption(this.option);
       })
     }

+ 3 - 2
src/components/business/analysis/hot/BusinessHotChart.vue

@@ -20,8 +20,8 @@ export default {
         grid: {
           left: '2%', //默认10%
           right: '2%', //默认10%
-          bottom: '15%', //默认60
-          top: '15%',
+          bottom: '20px', //默认60
+          top: '60px',
           containLabel: true
           //grid区域是否包含坐标轴的刻度标签
         },
@@ -38,6 +38,7 @@ export default {
             },
           },
         ],
+        dataZoom: this.$constant.ECHARTS_OPTION_DATAZOOM,
         tooltip: {
           trigger: 'axis',
           axisPointer: {

+ 3 - 1
src/components/business/analysis/hot/BusinessHotDistributeChart.vue

@@ -5,7 +5,6 @@ export default {
   data() {
     return {
       option: {
-        color: ['#80D4FF', '#A6A6FF', '#FFB580', '#FFDF80', '#79F2E8'],
         tooltip: {
           trigger: 'item'
         },
@@ -49,11 +48,14 @@ export default {
       let chart = this.$echarts.init(this.$refs.myChart)
       this.chart = chart;
       this.$util.chartsResize(this.chart);
+      this.option = this.$util.dataUtil.circleChartConfig(this.option)
+      chart.setOption(this.option)
       this.getData()
     },
     getData() {
       return apiOperationAnalysis.getEnergyAnalysisHot(this.queryData).then(res=>{
         this.option.series[0].data = res;
+        this.option = this.$util.dataUtil.circleChartConfig(this.option)
         this.chart.setOption(this.option)
       })
     }

+ 3 - 2
src/components/business/analysis/pv/BusinessPvChart.vue

@@ -21,8 +21,8 @@ export default {
         grid: {
           left: '2%', //默认10%
           right: '2%', //默认10%
-          bottom: '15%', //默认60
-          top: '15%',
+          bottom: '20px', //默认60
+          top: '60px',
           containLabel: true
           //grid区域是否包含坐标轴的刻度标签
         },
@@ -46,6 +46,7 @@ export default {
             },
           },
         ],
+        dataZoom: this.$constant.ECHARTS_OPTION_DATAZOOM,
         tooltip: {
           trigger: 'axis',
           axisPointer: {

+ 3 - 15
src/components/business/analysis/pv/BusinessPvMoneyChart.vue

@@ -15,8 +15,8 @@ export default {
         grid: {
           left: '1%', //默认10%
           right: '1%', //默认10%
-          bottom: '30%', //默认60
-          top: '20%',
+          bottom: '20px', //默认60
+          top: '60px',
           containLabel: true
           //grid区域是否包含坐标轴的刻度标签
         },
@@ -31,19 +31,7 @@ export default {
             },
           },
         ],
-        dataZoom: [
-          {
-            type: 'slider',
-            start: 0,
-            end: 100,
-            height: 12,
-          },
-          {
-            type: 'inside',
-            start: 0,
-            end: 100,
-          }
-        ],
+        dataZoom: this.$constant.ECHARTS_OPTION_DATAZOOM,
         tooltip: {
           trigger: 'axis',
           axisPointer: {

+ 3 - 2
src/components/business/analysis/water/BusinessWaterChart.vue

@@ -40,8 +40,8 @@ export default {
         grid: {
           left: '2%', //默认10%
           right: '2%', //默认10%
-          bottom: '15%', //默认60
-          top: '15%',
+          bottom: '20px', //默认60
+          top: '60px',
           containLabel: true
           //grid区域是否包含坐标轴的刻度标签
         },
@@ -58,6 +58,7 @@ export default {
             },
           },
         ],
+        dataZoom: this.$constant.ECHARTS_OPTION_DATAZOOM,
         tooltip: {
           trigger: 'axis',
           axisPointer: {

+ 2 - 1
src/components/business/analysis/water/BusinessWaterDistributeChart.vue

@@ -5,7 +5,6 @@ export default {
   data() {
     return {
       option: {
-        color: ['#80D4FF', '#A6A6FF', '#FFB580', '#FFDF80', '#79F2E8'],
         tooltip: {
           trigger: 'item'
         },
@@ -48,12 +47,14 @@ export default {
       let chart = this.$echarts.init(this.$refs.myChart)
       this.chart = chart;
       this.$util.chartsResize(this.chart);
+      this.option = this.$util.dataUtil.circleChartConfig(this.option)
       chart.setOption(this.option)
       this.getData()
     },
     getData() {
       return apiOperationAnalysis.getEnergyAnalysisWater(this.queryData).then(res=>{
         this.option.series[0].data = res;
+        this.option = this.$util.dataUtil.circleChartConfig(this.option)
         this.chart.setOption(this.option)
       })
     }

+ 2 - 1
src/components/business/asset/charts/assetMoneyRepairChart.vue

@@ -9,7 +9,6 @@ export default {
   data() {
     return {
       option: {
-        color: ['#80D4FF', '#A6A6FF','#FFDF80'],
         tooltip: {
           trigger: 'item'
         },
@@ -61,12 +60,14 @@ export default {
       let chart = this.$echarts.init(this.$refs.myChart)
       this.chart = chart;
       this.$util.chartsResize(this.chart);
+      this.option = this.$util.dataUtil.circleChartConfig(this.option)
       chart.setOption(this.option);
       this.getData()
     },
     getData() {
       return apiOperationMoney.getScrapAndMaintain(this.queryData).then(res=>{
         this.option.series[0].data = res;
+        this.option = this.$util.dataUtil.circleChartConfig(this.option)
         this.chart.setOption(this.option)
       })
     }

+ 3 - 15
src/components/business/space/charts/spaceCostChart.vue

@@ -14,8 +14,8 @@ export default {
         grid: {
           left: '8%', //默认10%
           right: '10%', //默认10%
-          bottom: '10%', //默认60
-          top: '15%',
+          bottom: '20px', //默认60
+          top: '60px',
           containLabel: true
           //grid区域是否包含坐标轴的刻度标签
         },
@@ -30,19 +30,7 @@ export default {
             },
           },
         ],
-        dataZoom: [
-          {
-            type: 'slider',
-            start: 0,
-            end: 100,
-            height: 12,
-          },
-          {
-            type: 'inside',
-            start: 0,
-            end: 100,
-          }
-        ],
+        dataZoom: this.$constant.ECHARTS_OPTION_DATAZOOM,
         tooltip: {
           trigger: 'axis',
           axisPointer: {

+ 1 - 0
src/components/common/card.vue

@@ -32,6 +32,7 @@ export default {
 .ioc-card {
   border-radius: 4px;
   background-color: #ffffff;
+  height: 100%;
   .card_title {
     padding: 10px 0px 10px 15px;
     font-size: 16px;

+ 1 - 0
src/components/common/coreData.vue

@@ -70,6 +70,7 @@ export default {
         <template v-else>
           <div class="coreData-item-num" >
             <span>{{ isNaN(ele.num)?ele.num:Math.abs(ele.num) }}</span>
+            <span v-if="ele.showTrendIcon">%</span>
             <span class="anticon" v-if="ele.showTrendIcon" style="font-size: 14px;display: inline-block;margin-left: 3px">
               <i-icon-park-outline-trending-up style="color: #FF2A00" v-if="Number(ele.num)>0" />
               <i-icon-park-outline-trending-down style="color: #39E681" v-if="Number(ele.num)<0"  />

+ 0 - 1
src/components/common/timeLine.vue

@@ -107,7 +107,6 @@ export default {
       // let everyMinuteWidth = (this.$refs.timeLine.clientWidth - 25) / totalTimeMinute;
 
       this.huiyiInfoRender = this.huiyiInfo.map(function (item) {
-        console.log(item)
         // item.name;
         let minute =
           (new Date(item.endTime) - new Date(item.startTime)) / 1000 / 60;

+ 1 - 1
src/components/dashboard/more/pv/pvPowerProfitChart.vue

@@ -21,7 +21,7 @@ export default {
             type: 'pie',
             center: ['50%','40%'],
             data: [
-              { value: 0, name: '补贴金额' },
+              { value: 0, name: '盈利金额' },
               { value: 0, name: '节约金额' },
             ],
             emphasis: {

+ 3 - 15
src/components/dashboard/more/pv/pvPowerSummaryChart.vue

@@ -14,8 +14,8 @@ export default {
         grid: {
           left: '0%', //默认10%
           right: '1%', //默认10%
-          bottom: '25%', //默认60
-          top: '20%',
+          bottom: '20px', //默认60
+          top: '60px',
           containLabel: true
           //grid区域是否包含坐标轴的刻度标签
         },
@@ -31,19 +31,7 @@ export default {
             },
           },
         ],
-        dataZoom: [
-          {
-            type: 'slider',
-            start: 0,
-            end: 100,
-            height: 12,
-          },
-          {
-            type: 'inside',
-            start: 0,
-            end: 100,
-          }
-        ],
+        dataZoom: this.$constant.ECHARTS_OPTION_DATAZOOM,
         tooltip: {
           trigger: 'axis',
           axisPointer: {

+ 3 - 25
src/components/dashboard/portrait/cold/coldTrendChart.vue

@@ -14,8 +14,8 @@ export default {
         grid: {
           left: '0%', //默认10%
           right: '0%', //默认10%
-          bottom: '15%', //默认60
-          top: '15%',
+          bottom: '20px', //默认60
+          top: '60px',
           containLabel: true
           //grid区域是否包含坐标轴的刻度标签
         },
@@ -26,35 +26,13 @@ export default {
           {
             name: '冷量(kWh)',
             type: 'value',
-            max: 12,
-            interval: 3,
-            nameTextStyle: {
-              padding: [10, 0, 10, 15]
-            },
           },
           {
             name: '温度(℃)',
             type: 'value',
-            max: 40,
-            interval: 10,
-            nameTextStyle: {
-              padding: [10, 0, 10, -12]
-            },
-          },
-        ],
-        dataZoom: [
-          {
-            type: 'slider',
-            start: 0,
-            end: 100,
-            height: 12,
           },
-          {
-            type: 'inside',
-            start: 0,
-            end: 100,
-          }
         ],
+        dataZoom: this.$constant.ECHARTS_OPTION_DATAZOOM,
         tooltip: {
           trigger: 'axis',
           axisPointer: {

+ 11 - 9
src/components/dashboard/portrait/coldPortrait.vue

@@ -20,6 +20,13 @@ export default {
           historyDesc: '同比',
           historyNum: 0
         },
+        {
+          type: 0,
+          title: '月人均用冷量(kWh)',
+          num: 0,
+          historyDesc: '同比',
+          historyNum: '0'
+        },
         {
           type: 0,
           title: '今日用冷趋势',
@@ -27,17 +34,11 @@ export default {
           historyDesc: '环比',
           showTrendIcon: true,
         },
-        {
-          type: 1,
-          title: '能效比',
-          content: '',
-        },
         {
           type: 0,
-          title: '月人均用冷量(kWh)',
+          title: '能效比',
           num: 0,
-          historyDesc: '同比',
-          historyNum: '0'
+          historyDesc: '环比',
         },
         {
           type: 1,
@@ -70,7 +71,8 @@ export default {
         this.coreData[0].historyNum = res.list[0].compare
         this.coreData[1].num = res.list[1].value
         this.coreData[1].historyNum = res.list[1].compare
-        this.coreData[2].content = res.list[2].value
+        this.coreData[2].num = res.list[2].value
+        this.coreData[2].historyNum = res.list[2].compare
         this.coreData[3].num = res.list[3].value
         this.coreData[3].historyNum = res.list[3].compare
         this.coreData[4].content = res.worthAttention

+ 3 - 0
src/components/dashboard/portrait/dashboardPortrait.vue

@@ -99,6 +99,9 @@ export default {
 .ioc-dashboard-portrait {
   width: 100%;
   height: 100%;
+  .dashboardPortrait-body {
+    padding-bottom: 0 !important;
+  }
 
 }
 </style>

+ 43 - 33
src/components/dashboard/portrait/electricity/electricityDistributionChart.vue

@@ -4,11 +4,15 @@ import apiDashboard from "@/api/dashboard/apiDashboard";
 export default {
   data() {
     return {
+      loading: false,
       option: {
-        color: ["#3AA7E6", "#9790F8", "#4ACFB8", "#F4955F", "#F8797E"],
         tooltip: {
           trigger: "item",
         },
+        textStyle: {
+          fontSize: '14px',
+          fontFamily: "PingFangSC-Regular, serif",
+        },
         grid: {
           top: "-30%",
           bottom: "50%",
@@ -17,18 +21,16 @@ export default {
           text: "用电分布",
           top: "7%",
           left: "5%",
-          textStyle: {
-            color: "#B2B2B2",
-            align: "center",
-            lineHeight: 20,
-            fontWeight: "normal",
-          },
+          textStyle: {},
         },
         legend: {
           bottom: "5%",
           left: "10%",
           right: "10%",
           icon: "circle",
+          textStyle: {
+            color: '#757575',
+          },
         },
         series: [
           {
@@ -37,22 +39,25 @@ export default {
             radius: ["30%", "50%"],
             data: [],
             label: {
-              normal: {
-                show: true,
-                position: "outside",
-                align: "left",
-                /* padding: [-5, -40, 30, -10],  */
-                /* padding: [-50, -55, 0, -10],  */
-                padding: [0, -65],
-                formatter: "{b}\n\n{c}", //模板变量有 {a}、{b}、{c}、{d},分别表示系列名,数据名,数据值,百分比。{d}数据会根据value值计算百分比
-                textStyle: {
-                  align: "left",
-                  baseline: "middle",
-                  fontFamily: "PingFang SC",
-                  fontSize: 14,
-                  // color: "#FFF",
+              show: true,
+              formatter: (params) => {
+                const arr = [
+                  `{a|${params.name}}`,
+                  `{b|${params.value}}`,
+                ]
+                return arr.join('\n\n')
+              },
+              rich: {
+                b: {
+                  color: '#4D4D4D'
                 },
               },
+              textStyle: {
+                align: "left",
+                baseline: "middle",
+                fontSize: 14,
+                color: "#b3b3b3",
+              },
             },
             emphasis: {
               itemStyle: {
@@ -85,28 +90,33 @@ export default {
       let chart = this.$echarts.init(this.$refs.myChart);
       this.chart = chart;
       this.$util.chartsResize(this.chart);
+      this.option = this.$util.dataUtil.circleChartConfig(this.option)
       chart.setOption(this.option);
       this.getData();
     },
     getData() {
-      return apiDashboard
-        .getElectricityCircleInfoList(this.queryData)
-        .then((res) => {
-          console.log(res, "获取的用电量数据");
-          this.option.series[0].data = res;
-          this.chart.setOption(this.option);
-        });
+      this.loading = true;
+      return apiDashboard.getElectricityCircleInfoList(this.queryData).then((res) => {
+        this.option.series[0].data = res;
+        this.option = this.$util.dataUtil.circleChartConfig(this.option)
+        this.chart.setOption(this.option);
+        this.loading = false;
+      }).catch(err => {
+        this.loading = false;
+      });
     },
   },
 };
 </script>
 
 <template>
-  <div
-    style="width: 100%"
-    :style="{ height: height + 'px' }"
-    ref="myChart"
-  ></div>
+  <a-spin :spinning="loading">
+    <div
+        style="width: 100%"
+        :style="{ height: height + 'px' }"
+        ref="myChart"
+    ></div>
+  </a-spin>
 </template>
 
 <style lang="less" scoped></style>

+ 9 - 31
src/components/dashboard/portrait/electricity/electricityUseChart.vue

@@ -4,6 +4,7 @@ import apiDashboard from "@/api/dashboard/apiDashboard";
 export default {
   data() {
     return {
+      loading: false,
       option: {
         legend: {
           data: [
@@ -13,8 +14,8 @@ export default {
         grid: {
           left: '0%', //默认10%
           right: '0%', //默认10%
-          bottom: '15%', //默认60
-          top: '15%',
+          bottom: '20px', //默认60
+          top: '60px',
           containLabel: true
           //grid区域是否包含坐标轴的刻度标签
         },
@@ -25,24 +26,9 @@ export default {
           {
             name: 'kWh',
             type: 'value',
-            nameTextStyle: {
-              padding: [10, 0, 10, -12]
-            },
           },
         ],
-        dataZoom: [
-          {
-            type: 'slider',
-            start: 0,
-            end: 100,
-            height: 12,
-          },
-          {
-            type: 'inside',
-            start: 0,
-            end: 100,
-          }
-        ],
+        dataZoom: this.$constant.ECHARTS_OPTION_DATAZOOM,
         tooltip: {
           trigger: 'axis',
           axisPointer: {
@@ -69,22 +55,10 @@ export default {
             stack: 'x',
             smooth: true,
             showSymbol:false,
-            areaStyle: {
-              color: new this.$echarts.graphic.LinearGradient(0, 0, 0, 1, [{
-                offset: 0,
-                color: '#7EE5D4' // 0% 处的颜色
-              }, {
-                offset: 0.8,
-                color: '#ffffff' // 100% 处的颜色
-              }], false),
-            },
+            areaStyle: {},
             lineStyle: {
-              color: "#3CC2AC",
               width: 1,
             },
-            itemStyle: {
-              color: '#3CC2AC'
-            },
             emphasis: {
               scale:1.5
             }
@@ -111,9 +85,13 @@ export default {
       this.getData()
     },
     getData() {
+      this.loading= true;
       return apiDashboard.getElectricityTrendData(this.queryData).then(res=>{
         let data = this.$util.dataUtil.covertDataToEcharts(res, ['powerConsumption'])
         this.$util.dataUtil.refreshEchartsData(this.chart, this.option, data)
+        this.loading= false;
+      }).catch(err=>{
+        this.loading= false;
       })
     }
   }

+ 3 - 15
src/components/dashboard/portrait/hot/hotTrendChart.vue

@@ -14,8 +14,8 @@ export default {
         grid: {
           left: '0%', //默认10%
           right: '0%', //默认10%
-          bottom: '15%', //默认60
-          top: '15%',
+          bottom: '20px', //默认60
+          top: '60px',
           containLabel: true
           //grid区域是否包含坐标轴的刻度标签
         },
@@ -38,19 +38,7 @@ export default {
             },
           },
         ],
-        dataZoom: [
-          {
-            type: 'slider',
-            start: 0,
-            end: 100,
-            height: 12,
-          },
-          {
-            type: 'inside',
-            start: 0,
-            end: 100,
-          }
-        ],
+        dataZoom: this.$constant.ECHARTS_OPTION_DATAZOOM,
         tooltip: {
           trigger: 'axis',
           axisPointer: {

+ 77 - 75
src/components/dashboard/portrait/hotPortrait.vue

@@ -4,89 +4,91 @@ import HotTrendChart from "@/components/dashboard/portrait/hot/hotTrendChart.vue
 import api from "@/api/dashboard/apiDashboard"
 
 export default {
-    data() {
-        let range = this.$util.dateUtil.getNearlyMonthRange();
-        return {
-            queryData: {
-                companyId: '0',
-                deptId: '0',
-                timeRange: range
-            },
-            coreData: [
-                {
-                    type: 0,
-                    title: '月总用热量(kWh)',
-                    num: 0,
-                    historyDesc: '同比',
-                    historyNum: '0'
-                },
-                {
-                    type: 0,
-                    title: '今日用热趋势',
-                    num: 0,
-                    showTrendIcon: true,
-                    historyDesc: '环比',
-                },
-                {
-                    type: 1,
-                    title: '人均用热成本(元/人/天)',
-                    content: ''
-                },
-                {
-                    type: 0,
-                    title: '月人均用热量(kWh/天)',
-                    num: 0,
-                    historyDesc: '同比',
-                    historyNum: '0'
-                },
-                {
-                    type: 1,
-                    showStar: true,
-                    title: '值得关注',
-                    content: ''
-                },
-            ]
-        }
-    },
-    props: {
-        chartHeight: Number
-    },
-    components: {
-        CoreData,
-        HotTrendChart,
-    },
-    mounted() {
-        this.init();
-    },
-    methods: {
-        init() {
-            this.getCoreData()
+  data() {
+    let range = this.$util.dateUtil.getNearlyMonthRange();
+    return {
+      queryData: {
+        companyId: '0',
+        deptId: '0',
+        timeRange: range
+      },
+      coreData: [
+        {
+          type: 0,
+          title: '月总用热量(kWh)',
+          num: 0,
+          historyDesc: '同比',
+          historyNum: '0'
+        },
+        {
+          type: 0,
+          title: '月人均用热量(kWh/天)',
+          num: 0,
+          historyDesc: '同比',
+          historyNum: '0'
         },
-        getCoreData() {
-            api.getHotCoreData(this.queryData).then(res => {
-                this.coreData[0].num = res.list[0].value
-                this.coreData[0].historyNum = res.list[0].compare
-                this.coreData[1].num = res.list[1].value
-                this.coreData[1].historyNum = res.list[1].compare
-                this.coreData[2].content = res.list[2].value
-                this.coreData[3].num = res.list[3].value
-                this.coreData[3].historyNum = res.list[3].compare
-                this.coreData[4].content = res.worthAttention
-            })
+        {
+          type: 0,
+          title: '今日用热趋势',
+          num: 0,
+          showTrendIcon: true,
+          historyDesc: '环比',
         },
+        {
+          type: 0,
+          title: '人均用热成本(元/人/天)',
+          num: 0,
+          historyDesc: '同比',
+          historyNum: '0'
+        },
+        {
+          type: 1,
+          showStar: true,
+          title: '值得关注',
+          content: ''
+        },
+      ]
     }
+  },
+  props: {
+    chartHeight: Number
+  },
+  components: {
+    CoreData,
+    HotTrendChart,
+  },
+  mounted() {
+    this.init();
+  },
+  methods: {
+    init() {
+      this.getCoreData()
+    },
+    getCoreData() {
+      api.getHotCoreData(this.queryData).then(res => {
+        this.coreData[0].num = res.list[0].value
+        this.coreData[0].historyNum = res.list[0].compare
+        this.coreData[1].num = res.list[1].value
+        this.coreData[1].historyNum = res.list[1].compare
+        this.coreData[2].content = res.list[2].value
+        this.coreData[3].num = res.list[3].value
+        this.coreData[3].historyNum = res.list[3].compare
+        this.coreData[4].content = res.worthAttention
+      })
+    },
+  }
 }
 </script>
 
 <template>
-    <div class="supermarketPortrait">
-        <div class="portrait-coreData">
-            <CoreData :data-list="coreData"></CoreData>
-        </div>
-        <div style="padding: 15px">
-            <HotTrendChart :height="chartHeight" :query-data="queryData"></HotTrendChart>
-        </div>
+  <div class="supermarketPortrait">
+    <div class="portrait-coreData">
+      <CoreData :data-list="coreData"></CoreData>
+    </div>
+    <div style="padding: 15px">
+      <HotTrendChart :height="chartHeight" :query-data="queryData"></HotTrendChart>
     </div>
+  </div>
 </template>
 
 <style lang="less" scoped>

+ 0 - 6
src/components/dashboard/portrait/money/investDistributeChart.vue

@@ -37,18 +37,12 @@ export default {
           {
             name: '额度(万元)',
             type: 'value',
-            nameTextStyle: {
-              padding: [10, 0, 10, -20]
-            },
           },
           {
             type: 'value',
             name: '回报率(%)',
             min: 0,
             max: 100,
-            nameTextStyle: {
-              padding: [10, 20, 10, 0]
-            },
           },
         ],
         tooltip: {

+ 0 - 6
src/components/dashboard/portrait/money/investYearChart.vue

@@ -34,18 +34,12 @@ export default {
             type: 'value',
             min: 0,
             max: 20,
-            nameTextStyle: {
-              padding: [10, 0, 10, 15]
-            },
           },
           {
             type: 'value',
             name: '标准年限',
             min: 0,
             max: 20,
-            nameTextStyle: {
-              padding: [10, 20, 10, 0]
-            },
           },
         ],
         tooltip: {

+ 90 - 88
src/components/dashboard/portrait/moneyPortrait.vue

@@ -5,103 +5,105 @@ import InvestYearChart from "@/components/dashboard/portrait/money/investYearCha
 import api from "@/api/dashboard/apiDashboard";
 
 export default {
-    data() {
-        let range = this.$util.dateUtil.getNearlyMonthRange();
-        return {
-            queryData: {
-                companyId: '0',
-                deptId: '0',
-                timeRange: range
-            },
-            coreData: [
-                {
-                    type: 0,
-                    title: '年度投资总额(万元)',
-                    num: 0,
-                    historyDesc: '同比',
-                    historyNum: '0'
-                },
-                {
-                    type: 0,
-                    title: '资产总额(万元)',
-                    num: 0,
-                    historyDesc: '同比',
-                    historyNum: '0'
-                },
-                {
-                    type: 0,
-                    title: '人均资产总额(万元)',
-                    num: 0,
-                    historyDesc: '同比',
-                    historyNum: '0'
-                },
-                {
-                    type: 0,
-                    title: '资产平均使用年限(年)',
-                    num: 0,
-                },
-                {
-                    type: 1,
-                    showStar: true,
-                    title: '值得关注',
-                    content: ''
-                },
-            ]
-        }
-    },
-    props: {
-        chartHeight: Number
-    },
-    components: {
-        CoreData,
-        InvestDistributeChart,
-        InvestYearChart,
-    },
-    mounted() {
-        this.init();
-    },
-    methods: {
-        init() {
-            this.getCoreData();
+  data() {
+    let range = this.$util.dateUtil.getNearlyMonthRange();
+    return {
+      queryData: {
+        companyId: '0',
+        deptId: '0',
+        timeRange: range
+      },
+      coreData: [
+        {
+          type: 0,
+          title: '年度投资总额(万元)',
+          num: 0,
+          historyDesc: '同比',
+          historyNum: '0'
+        },
+        {
+          type: 0,
+          title: '资产总额(万元)',
+          num: 0,
+          historyDesc: '同比',
+          historyNum: '0'
+        },
+        {
+          type: 0,
+          title: '人均资产总额(万元)',
+          num: 0,
+          historyDesc: '同比',
+          historyNum: '0'
         },
-        getCoreData() {
-            api.getMoneyCoreData(this.queryData).then(res => {
-                this.coreData[0].num = res.list[0].value
-                this.coreData[0].historyNum = res.list[0].compare
-                this.coreData[1].num = res.list[1].value
-                this.coreData[1].historyNum = res.list[1].compare
-                this.coreData[2].num = res.list[2].value
-                this.coreData[2].historyNum = res.list[2].compare
-                this.coreData[3].num = res.list[3].value
-                this.coreData[3].historyNum = res.list[3].compare
-                this.coreData[4].content = res.worthAttention
-            })
+        {
+          type: 0,
+          title: '资产平均使用年限(年)',
+          num: 0,
+          historyDesc: '同比',
+          historyNum: '0'
         },
-        getTrendData() {
+        {
+          type: 1,
+          showStar: true,
+          title: '值得关注',
+          content: ''
+        },
+      ]
+    }
+  },
+  props: {
+    chartHeight: Number
+  },
+  components: {
+    CoreData,
+    InvestDistributeChart,
+    InvestYearChart,
+  },
+  mounted() {
+    this.init();
+  },
+  methods: {
+    init() {
+      this.getCoreData();
+    },
+    getCoreData() {
+      api.getMoneyCoreData(this.queryData).then(res => {
+        this.coreData[0].num = res.list[0].value
+        this.coreData[0].historyNum = res.list[0].compare
+        this.coreData[1].num = res.list[1].value
+        this.coreData[1].historyNum = res.list[1].compare
+        this.coreData[2].num = res.list[2].value
+        this.coreData[2].historyNum = res.list[2].compare
+        this.coreData[3].num = res.list[3].value
+        this.coreData[3].historyNum = res.list[3].compare
+        this.coreData[4].content = res.worthAttention
+      })
+    },
+    getTrendData() {
 
-        }
     }
+  }
 }
 </script>
 
 <template>
-    <div class="supermarketPortrait">
-        <div class="portrait-coreData">
-            <CoreData :data-list="coreData"></CoreData>
-        </div>
-        <div style="padding: 15px">
-            <a-row>
-                <a-col :span="12">
-                    <div class="supermarketPortrait-title">投资分布</div>
-                    <InvestDistributeChart :height="chartHeight-50" :query-data="queryData"></InvestDistributeChart>
-                </a-col>
-                <a-col :span="12">
-                    <div class="supermarketPortrait-title">资产年限</div>
-                    <InvestYearChart :height="chartHeight-50" :query-data="queryData"></InvestYearChart>
-                </a-col>
-            </a-row>
-        </div>
+  <div class="supermarketPortrait">
+    <div class="portrait-coreData">
+      <CoreData :data-list="coreData"></CoreData>
+    </div>
+    <div style="padding: 15px">
+      <a-row>
+        <a-col :span="12">
+          <div class="supermarketPortrait-title">投资分布</div>
+          <InvestDistributeChart :height="chartHeight-50" :query-data="queryData"></InvestDistributeChart>
+        </a-col>
+        <a-col :span="12">
+          <div class="supermarketPortrait-title">资产年限</div>
+          <InvestYearChart :height="chartHeight-50" :query-data="queryData"></InvestYearChart>
+        </a-col>
+      </a-row>
     </div>
+  </div>
 </template>
 
 <style lang="less" scoped>

+ 136 - 182
src/components/dashboard/portrait/person/personTrendChart.vue

@@ -2,196 +2,150 @@
 import apiDashboard from "@/api/dashboard/apiDashboard";
 
 export default {
-    data() {
-        let colors = {
-            ownEmployees: ['#178FE6', '#8BCFFF'],
-            outsourcingStaff: ['#3CC2AC', '#7EE6D4'],
-            visitors: ['#EE8242', '#FFB78D']
-        };
-        return {
-            chart: null,
-            show: false,
-            option: {
-                legend: {
-                    data: [
-                        '自有员工',
-                        '外协员工',
-                        '访客人员',
-                    ]
-                },
-                grid: {
-                    left: '2%', //默认10%
-                    right: '3.5%', //默认10%
-                    bottom: '15%', //默认60
-                    top: '15%',
-                    containLabel: true
-                    //grid区域是否包含坐标轴的刻度标签
-                },
-                xAxis: {
-                    data: []
-                },
-                yAxis: [
-                    {
-                        name: '人数(人)',
-                        type: 'value',
-                        nameTextStyle: {
-                            padding: [10, 0, 10, -12]
-                        },
-                    },
-                ],
-                dataZoom: [
-                  {
-                    type: 'slider',
-                    start: 0,
-                    end: 100,
-                    height: 12,
-                  },
-                  {
-                    type: 'inside',
-                    start: 0,
-                    end: 100,
-                  }
-                ],
-                tooltip: {
-                    trigger: 'axis',
-                    axisPointer: {
-                        type: 'shadow'
-                    },
-                    textStyle: {
-                        color: '#fff',
-                        align: 'left',
-                        fontSize: 14
-                    },
-                    axisLine: {//x坐标轴轴线
-                        show: true,
-                        lineStyle: {//x坐标轴轴线样式
-                            color: '#000',//'#ccc' | 'rgb(128, 128, 128)' | 'rgba(128, 128, 128, 0.5)',设置标签颜色
-                        }
-                    },
-                    backgroundColor: 'rgba(0,0,0,0.8)',
-                },
-                series: [
-                    {
-                        name: '访客人员',
-                        data: [],
-                        type: 'line',
-                        stack: 'x',
-                        smooth: true,
-                        showSymbol: false,
-                        areaStyle: {
-                            color: new this.$echarts.graphic.LinearGradient(0, 0, 0, 1, [{
-                                offset: 0,
-                                color: colors.visitors[1] // 0% 处的颜色
-                            }, {
-                                offset: 0.8,
-                                color: '#ffffff' // 100% 处的颜色
-                            }], false),
-                        },
-                        lineStyle: {
-                            color: colors.visitors[0],
-                            width: 1,
-                        },
-                        itemStyle: {
-                            color: colors.visitors[0]
-                        },
-                        emphasis: {
-                            scale: 1.5
-                        },
-                    },
-                    {
-                        name: '外协员工',
-                        data: [],
-                        type: 'line',
-                        stack: 'x',
-                        smooth: true,
-                        showSymbol: false,
-                        areaStyle: {
-                            color: new this.$echarts.graphic.LinearGradient(0, 0, 0, 1, [{
-                                offset: 0,
-                                color: colors.outsourcingStaff[1] // 0% 处的颜色
-                            }, {
-                                offset: 0.8,
-                                color: '#ffffff' // 100% 处的颜色
-                            }], false),
-                        },
-                        lineStyle: {
-                            color: colors.outsourcingStaff[0],
-                            width: 1,
-                        },
-                        itemStyle: {
-                            color: colors.outsourcingStaff[0]
-                        },
-                        emphasis: {
-                            scale: 1.5
-                        },
-                    },
-                    {
-                        name: '自有员工',
-                        data: [],
-                        type: 'line',
-                        stack: 'x',
-                        smooth: true,
-                        showSymbol: false,
-                        areaStyle: {
-                            color: new this.$echarts.graphic.LinearGradient(0, 0, 0, 1, [{
-                                offset: 0,
-                                color: colors.ownEmployees[1] // 0% 处的颜色
-                            }, {
-                                offset: 0.8,
-                                color: '#ffffff' // 100% 处的颜色
-                            }], false),
-                        },
-                        lineStyle: {
-                            color: colors.ownEmployees[0],
-                            width: 1,
-                        },
-                        itemStyle: {
-                            color: colors.ownEmployees[0]
-                        },
-                        emphasis: {
-                            scale: 1.5
-                        }
-                    },
-
-                ]
-            },
-        }
-    },
-    props: {
-        height: Number,
-        data: Object,
-        queryData: Object,
-    },
-    mounted() {
-        this.$nextTick(() => {
-            this.initChart();
-        })
-    },
-    methods: {
-        initChart() {
-            let chart = this.$echarts.init(this.$refs.myChart)
-            this.chart = chart;
-            this.$util.chartsResize(this.chart);
-            chart.setOption(this.option)
-            for (let i = 0; i < 5; i++) {
-                setTimeout(function () {
-                    chart.resize()
-                }, 500 * i)
+  data() {
+    return {
+      loading: false,
+      chart: null,
+      show: false,
+      option: {
+        legend: {
+          data: [
+            '自有员工',
+            '外协员工',
+            '访客人员',
+          ],
+          selected: {
+            '访客人员': false
+          }
+        },
+        grid: {
+          left: '1%', //默认10%
+          right: '1%', //默认10%
+          bottom: '20px', //默认60
+          top: '60px',
+          containLabel: true
+          //grid区域是否包含坐标轴的刻度标签
+        },
+        xAxis: {
+          data: []
+        },
+        yAxis: [
+          {
+            name: '人数(人)',
+            type: 'value',
+          },
+        ],
+        dataZoom: this.$constant.ECHARTS_OPTION_DATAZOOM,
+        tooltip: {
+          trigger: 'axis',
+          axisPointer: {
+            type: 'shadow'
+          },
+          textStyle: {
+            color: '#fff',
+            align: 'left',
+            fontSize: 14
+          },
+          axisLine: {//x坐标轴轴线
+            show: true,
+            lineStyle: {//x坐标轴轴线样式
+              color: '#000',//'#ccc' | 'rgb(128, 128, 128)' | 'rgba(128, 128, 128, 0.5)',设置标签颜色
             }
-            this.getData()
+          },
+          backgroundColor: 'rgba(0,0,0,0.8)',
         },
-        getData() {
-            return apiDashboard.getPersonEnterSummary(this.queryData).then(res => {
-                let data = this.$util.dataUtil.covertDataToEcharts(res, ['visitors', 'outsourcingStaff', 'ownEmployees'])
-                this.$util.dataUtil.refreshEchartsData(this.chart, this.option, data)
-            })
-        }
+        series: [
+          {
+            name: '自有员工',
+            data: [],
+            type: 'line',
+            stack: 'x',
+            smooth: true,
+            showSymbol: false,
+            areaStyle: {},
+            lineStyle: {
+              width: 1,
+            },
+            emphasis: {
+              scale: 1.5
+            }
+          },
+          {
+            name: '外协员工',
+            data: [],
+            type: 'line',
+            stack: 'x',
+            smooth: true,
+            showSymbol: false,
+            areaStyle: {},
+            lineStyle: {
+              width: 1,
+            },
+            emphasis: {
+              scale: 1.5
+            },
+          },
+          {
+            name: '访客人员',
+            data: [],
+            type: 'line',
+            stack: 'x',
+            smooth: true,
+            showSymbol: false,
+            areaStyle: {},
+            lineStyle: {
+              width: 1,
+            },
+            emphasis: {
+              scale: 1.5
+            },
+          },
+
+        ]
+      },
+    }
+  },
+  props: {
+    height: Number,
+    data: Object,
+    queryData: Object,
+  },
+  mounted() {
+    this.$nextTick(() => {
+      this.initChart();
+    })
+  },
+  methods: {
+    initChart() {
+      let chart = this.$echarts.init(this.$refs.myChart, null, {renderer: 'svg'})
+      this.chart = chart;
+      this.$util.chartsResize(this.chart);
+      chart.setOption(this.option)
+      for (let i = 0; i < 5; i++) {
+        setTimeout(function () {
+          chart.resize()
+        }, 500 * i)
+      }
+      this.getData()
+    },
+    getData() {
+      this.loading = true;
+      return apiDashboard.getPersonEnterSummary(this.queryData).then(res => {
+        let data = this.$util.dataUtil.covertDataToEcharts(res, [ 'ownEmployees', 'outsourcingStaff', 'visitors',])
+        this.$util.dataUtil.refreshEchartsData(this.chart, this.option, data)
+        this.loading = false;
+      }).catch(err=>{
+        this.loading = false;
+      })
     }
+  }
 }
 </script>
 
 <template>
+  <a-spin :spinning="loading">
     <div id="personTrendChart" style="width: 100%" :style="{height: height+'px'}" ref="myChart"></div>
+  </a-spin>
 </template>
 
 <style lang="less" scoped>

+ 1 - 1
src/components/dashboard/portrait/personPortrait.vue

@@ -87,7 +87,7 @@ export default {
         <div class="portrait-coreData">
             <CoreData :data-list="coreData"></CoreData>
         </div>
-        <div style="padding: 15px;">
+        <div style="">
             <PersonTrendChart :height="chartHeight" :query-data="queryData"></PersonTrendChart>
         </div>
     </div>

+ 12 - 41
src/components/dashboard/portrait/restaurant/restaurantTrendChart.vue

@@ -4,6 +4,7 @@ import apiDashboard from "@/api/dashboard/apiDashboard";
 export default {
   data() {
     return {
+      loading: false,
       xData: [],
       xBgColor: [],
       moneyData: [],
@@ -18,8 +19,8 @@ export default {
         grid: {
           left: '0%', //默认10%
           right: '0%', //默认10%
-          bottom: '15%', //默认60
-          top: '15%',
+          bottom: '20px', //默认60
+          top: '60px',
           containLabel: true
           //grid区域是否包含坐标轴的刻度标签
         },
@@ -31,31 +32,13 @@ export default {
           {
             name: '金额(元)',
             type: 'value',
-            nameTextStyle: {
-              padding: [10, 40, 10, 0]
-            },
           },
           {
             name: '订单(单)',
             type: 'value',
-            nameTextStyle: {
-              padding: [10, 0, 10, 0]
-            },
-          },
-        ],
-        dataZoom: [
-          {
-            type: 'slider',
-            start: 0,
-            end: 100,
-            height: 12,
           },
-          {
-            type: 'inside',
-            start: 0,
-            end: 100,
-          }
         ],
+        dataZoom: this.$constant.ECHARTS_OPTION_DATAZOOM,
         tooltip: {
           trigger: 'axis',
           axisPointer: {
@@ -81,34 +64,16 @@ export default {
             type: 'bar',
             yAxisIndex:0,
             barWidth: this.$constant.ECHARTS_BAR_WIDTH,
-            backgroundStyle: {
-              color: 'rgb(253, 232, 229, 0.5)'
-            },
-            itemStyle: {
-              color: '#80b2ff'
-            }
           },
           {
             name: '餐厅消费订单',
             data: [],
             type: 'line',
-            itemStyle: {
-              color: '#62CC97',
-            },
             yAxisIndex:1,
             smooth: true,
             showSymbol:false,
-            areaStyle: {
-              color: new this.$echarts.graphic.LinearGradient(0, 0, 0, 1, [{
-                offset: 0,
-                color: '#B0E5CB' // 0% 处的颜色
-              },{
-                offset: 0.8,
-                color: 'rgb(255,255,255,0.1)'
-              }], false),
-            },
+            areaStyle: {},
             lineStyle: {
-              color: "#62CC97",
               width: 1,
             },
             emphasis: {
@@ -155,9 +120,13 @@ export default {
       this.getData();
     },
     getData() {
+      this.loading = true;
       return apiDashboard.getRestTrendData(this.queryData).then(res=>{
         let data = this.$util.dataUtil.covertDataToEcharts(res, ['consumptionAmount','consumptionOrder'])
         this.$util.dataUtil.refreshEchartsData(this.chart, this.option, data)
+        this.loading = false;
+      }).catch(err=>{
+        this.loading = false;
       })
     }
   }
@@ -165,7 +134,9 @@ export default {
 </script>
 
 <template>
-  <div style="width: 100%" :style="{height: height+'px'}" ref="myChart"></div>
+  <a-spin :spinning="loading">
+    <div style="width: 100%" :style="{height: height+'px'}" ref="myChart"></div>
+  </a-spin>
 </template>
 
 <style lang="less" scoped>

+ 6 - 3
src/components/dashboard/portrait/restaurantPortrait.vue

@@ -35,9 +35,11 @@ export default {
           historyNum: '0'
         },
         {
-          type: 1,
+          type: 0,
           title: '今日第三方结算费用(元)',
-          content: '0'
+          num: 0,
+          historyDesc: '环比',
+          historyNum: '0'
         },
         {
           type: 1,
@@ -71,7 +73,8 @@ export default {
         this.coreData[1].historyNum = res.list[1].compare
         this.coreData[2].num = res.list[2].value
         this.coreData[2].historyNum = res.list[2].compare
-        this.coreData[3].content = res.list[3].value
+        this.coreData[3].num = res.list[3].value
+        this.coreData[3].historyNum = res.list[3].compare
         this.coreData[4].content = res.worthAttention
       })
     },

+ 12 - 45
src/components/dashboard/portrait/supermarket/supermarketTrendChart.vue

@@ -3,11 +3,8 @@ import apiDashboard from "@/api/dashboard/apiDashboard";
 
 export default {
   data() {
-    let colors = {
-      consumptionAmount: ['#399EE6'],
-      consumptionOrder: ['#3CC2AC', '#7EE6D4']
-    }
     return {
+      loading: false,
       xData: [],
       xBgColor: [],
       moneyData: [],
@@ -22,8 +19,8 @@ export default {
         grid: {
           left: '0%', //默认10%
           right: '0%', //默认10%
-          bottom: '15%', //默认60
-          top: '15%',
+          bottom: '20px', //默认60
+          top: '60px',
           containLabel: true
           //grid区域是否包含坐标轴的刻度标签
         },
@@ -40,31 +37,13 @@ export default {
           {
             name: '金额(元)',
             type: 'value',
-            nameTextStyle: {
-              padding: [10, 20, 10, 0]
-            },
           },
           {
             name: '订单(单)',
             type: 'value',
-            nameTextStyle: {
-              padding: [10, 0, 10, 10]
-            },
           },
         ],
-        dataZoom: [
-          {
-            type: 'slider',
-            start: 0,
-            end: 100,
-            height: 12,
-          },
-          {
-            type: 'inside',
-            start: 0,
-            end: 100,
-          }
-        ],
+        dataZoom: this.$constant.ECHARTS_OPTION_DATAZOOM,
         tooltip: {
           trigger: 'axis',
           axisPointer: {
@@ -90,12 +69,6 @@ export default {
             type: 'bar',
             yAxisIndex:0,
             barWidth: this.$constant.ECHARTS_BAR_WIDTH,
-            backgroundStyle: {
-              color: 'rgb(253, 232, 229, 0.5)'
-            },
-            itemStyle: {
-              color: colors.consumptionAmount[0]
-            }
           },
           {
             name: '商超消费订单',
@@ -104,22 +77,10 @@ export default {
             yAxisIndex:1,
             smooth: true,
             showSymbol:false,
-            areaStyle: {
-              color: new this.$echarts.graphic.LinearGradient(0, 0, 0, 1, [{
-                offset: 0,
-                color: colors.consumptionOrder[1], // 0% 处的颜色
-              },{
-                offset: 0.8,
-                color: 'rgb(255,255,255,0.1)'
-              }], false),
-            },
+            areaStyle: {},
             lineStyle: {
-              color: colors.consumptionOrder[0],
               width: 1,
             },
-            itemStyle: {
-              color: colors.consumptionOrder[0],
-            },
             emphasis: {
               scale:1.5
             },
@@ -164,9 +125,13 @@ export default {
       this.getData()
     },
     getData() {
+      this.loading= true;
       return apiDashboard.getSuperMarketTrendData(this.queryData).then(res=>{
         let data = this.$util.dataUtil.covertDataToEcharts(res, ['consumptionAmount','consumptionOrder'])
         this.$util.dataUtil.refreshEchartsData(this.chart, this.option, data)
+        this.loading= false;
+      }).catch(err=>{
+        this.loading= false;
       })
     }
   }
@@ -174,7 +139,9 @@ export default {
 </script>
 
 <template>
-  <div style="width: 100%" :style="{height: height+'px'}" ref="myChart"></div>
+  <a-spin :spinning="loading">
+    <div style="width: 100%" :style="{height: height+'px'}" ref="myChart"></div>
+  </a-spin>
 </template>
 
 <style lang="less" scoped>

+ 6 - 3
src/components/dashboard/portrait/supermarketPortrait.vue

@@ -34,9 +34,11 @@ export default {
           historyNum: '0'
         },
         {
-          type: 1,
+          type: 0,
           title: '第三方结算费用(元)',
-          content: '0'
+          num: 0,
+          historyDesc: '环比',
+          historyNum: '0'
         },
         {
           type: 1,
@@ -69,7 +71,8 @@ export default {
         this.coreData[1].historyNum = res.list[1].compare
         this.coreData[2].num = res.list[2].value
         this.coreData[2].historyNum = res.list[2].compare
-        this.coreData[3].content = res.list[3].value
+        this.coreData[3].num = res.list[3].value
+        this.coreData[3].historyNum = res.list[3].compare
         this.coreData[4].content = res.worthAttention
       })
     },

+ 17 - 22
src/components/dashboard/portrait/water/waterDistributionChart.vue

@@ -4,8 +4,8 @@ import apiDashboard from "@/api/dashboard/apiDashboard";
 export default {
   data() {
     return {
+      loading: false,
       option: {
-        color: ["#3AA7E6", "#F4955F"],
         tooltip: {
           trigger: "item",
         },
@@ -13,28 +13,19 @@ export default {
           bottom: "8%",
           icon: "circle",
         },
+        title: {
+          text: "用水分布",
+          top: "7%",
+          left: "5%",
+        },
         series: [
           {
             name: "用水量",
             type: "pie",
             radius: ["30%", "50%"],
             label: {
-              normal: {
-                show: true,
-                position: "outside",
-                align: "left",
-                /* padding: [-5, -40, 30, -10],  */
-                /* padding: [-50, -55, 0, -10],  */
-                padding: [0, -65],
-                formatter: "{b}\n\n{c}", //模板变量有 {a}、{b}、{c}、{d},分别表示系列名,数据名,数据值,百分比。{d}数据会根据value值计算百分比
-                textStyle: {
-                  align: "left",
-                  baseline: "middle",
-                  fontFamily: "PingFang SC",
-                  fontSize: 14,
-                  // color: "#FFF",
-                },
-              },
+              show: true,
+              formatter: "", //模板变量有 {a}、{b}、{c}、{d},分别表示系列名,数据名,数据值,百分比。{d}数据会根据value值计算百分比
             },
             data: [],
             emphasis: {
@@ -68,13 +59,19 @@ export default {
       let chart = this.$echarts.init(this.$refs.myChart);
       this.chart = chart;
       this.$util.chartsResize(this.chart);
+      this.option = this.$util.dataUtil.circleChartConfig(this.option)
       chart.setOption(this.option);
       this.getData();
     },
     getData() {
+      this.loading = true;
       return apiDashboard.getWaterCircleInfoList(this.queryData).then((res) => {
         this.option.series[0].data = res;
+        this.option = this.$util.dataUtil.circleChartConfig(this.option)
         this.chart.setOption(this.option);
+        this.loading = false;
+      }).catch(err=>{
+        this.loading = false;
       });
     },
   },
@@ -82,11 +79,9 @@ export default {
 </script>
 
 <template>
-  <div
-    style="width: 100%"
-    :style="{ height: height + 'px' }"
-    ref="myChart"
-  ></div>
+  <a-spin :spinning="loading">
+    <div style="width: 100%" :style="{ height: height + 'px' }" ref="myChart"></div>
+  </a-spin>
 </template>
 
 <style lang="less" scoped></style>

+ 12 - 32
src/components/dashboard/portrait/water/waterUseChart.vue

@@ -4,6 +4,7 @@ import apiDashboard from "@/api/dashboard/apiDashboard";
 export default {
   data() {
     return {
+      loading: false,
       option: {
         legend: {
           data: [
@@ -13,8 +14,8 @@ export default {
         grid: {
           left: '0%', //默认10%
           right: '0%', //默认10%
-          bottom: '15%', //默认60
-          top: '15%',
+          bottom: '20px', //默认60
+          top: '60px',
           containLabel: true
           //grid区域是否包含坐标轴的刻度标签
         },
@@ -25,24 +26,9 @@ export default {
           {
             name: 'm³',
             type: 'value',
-            nameTextStyle: {
-              padding: [10, 0, 10, -12]
-            },
           },
         ],
-        dataZoom: [
-          {
-            type: 'slider',
-            start: 0,
-            end: 100,
-            height: 12,
-          },
-          {
-            type: 'inside',
-            start: 0,
-            end: 100,
-          }
-        ],
+        dataZoom: this.$constant.ECHARTS_OPTION_DATAZOOM,
         tooltip: {
           trigger: 'axis',
           axisPointer: {
@@ -69,22 +55,10 @@ export default {
             stack: 'x',
             smooth: true,
             showSymbol:false,
-            areaStyle: {
-              color: new this.$echarts.graphic.LinearGradient(0, 0, 0, 1, [{
-                offset: 0,
-                color: '#7EE5D4' // 0% 处的颜色
-              }, {
-                offset: 0.8,
-                color: '#ffffff' // 100% 处的颜色
-              }], false),
-            },
+            areaStyle: {},
             lineStyle: {
-              color: "#3CC2AC",
               width: 1,
             },
-            itemStyle: {
-              color: '#3CC2AC'
-            },
             emphasis: {
               scale:1.5
             }
@@ -111,9 +85,13 @@ export default {
       this.getData();
     },
     getData() {
+      this.loading = true;
       return apiDashboard.getWaterTrendData(this.queryData).then(res=>{
         let data = this.$util.dataUtil.covertDataToEcharts(res, ['water'])
         this.$util.dataUtil.refreshEchartsData(this.chart, this.option, data)
+        this.loading = false;
+      }).catch(err=>{
+        this.loading = false;
       })
     }
   }
@@ -121,7 +99,9 @@ export default {
 </script>
 
 <template>
-  <div style="width: 100%" :style="{height: height+'px'}" ref="myChart"></div>
+  <a-spin :spinning="loading">
+    <div style="width: 100%" :style="{height: height+'px'}" ref="myChart"></div>
+  </a-spin>
 </template>
 
 <style lang="less" scoped>

+ 3 - 15
src/components/doubleCarbon/PV/charts/carbonPvEmissionChart.vue

@@ -27,8 +27,8 @@ export default {
         grid: {
           left: '0%', //默认10%
           right: '1%', //默认10%
-          bottom: '15%', //默认60
-          top: '15%',
+          bottom: '20px', //默认60
+          top: '60px',
           containLabel: true
           //grid区域是否包含坐标轴的刻度标签
         },
@@ -44,19 +44,7 @@ export default {
             },
           },
         ],
-        dataZoom: [
-          {
-            type: 'slider',
-            start: 0,
-            end: 100,
-            height: 12,
-          },
-          {
-            type: 'inside',
-            start: 0,
-            end: 100,
-          }
-        ],
+        dataZoom: this.$constant.ECHARTS_OPTION_DATAZOOM,
         tooltip: {
           trigger: 'axis',
           axisPointer: {

+ 15 - 0
src/components/doubleCarbon/PV/charts/carbonPvQuotaChart.vue

@@ -24,6 +24,9 @@ export default {
           nameTextStyle: {
             padding: [10, 0, 10, -20]
           },
+          axisLabel : {
+            rotate:"45"
+          }
         },
         yAxis: {
           type: 'category',
@@ -51,6 +54,18 @@ export default {
               color: '#000',//'#ccc' | 'rgb(128, 128, 128)' | 'rgba(128, 128, 128, 0.5)',设置标签颜色
             }
           },
+          axisLabel: {
+            margin: 8,
+            formatter: function (params) {
+              var val = "";
+              if (params.length > 4) {
+                val = params.substr(0, 4) + '...';
+                return val;
+              } else {
+                return params;
+              }
+            }
+          },
           backgroundColor: 'rgba(0,0,0,0.8)',
         },
         series: [

+ 0 - 1
src/components/doubleCarbon/PV/doubleCarbonPv.vue

@@ -71,7 +71,6 @@ export default {
       this.$store.loadingStore().loadingWithApi(this.getCoreData(), 2000)
     },
     reset() {
-      console.log('reset')
     },
     search(data) {
       this.$util.asyncPromise(

+ 3 - 15
src/components/doubleCarbon/car/charts/carbonCarEmissionChart.vue

@@ -26,8 +26,8 @@ export default {
         grid: {
           left: '0%', //默认10%
           right: '1%', //默认10%
-          bottom: '15%', //默认60
-          top: '15%',
+          bottom: '20px', //默认60
+          top: '60px',
           containLabel: true
           //grid区域是否包含坐标轴的刻度标签
         },
@@ -43,19 +43,7 @@ export default {
             },
           },
         ],
-        dataZoom: [
-          {
-            type: 'slider',
-            start: 0,
-            end: 100,
-            height: 12,
-          },
-          {
-            type: 'inside',
-            start: 0,
-            end: 100,
-          }
-        ],
+        dataZoom: this.$constant.ECHARTS_OPTION_DATAZOOM,
         tooltip: {
           trigger: 'axis',
           axisPointer: {

+ 16 - 1
src/components/doubleCarbon/car/charts/carbonCarQuotaChart.vue

@@ -23,6 +23,9 @@ export default {
           nameTextStyle: {
             padding: [10, 0, 10, -20]
           },
+          axisLabel : {
+            rotate:"45"
+          }
         },
         yAxis: {
           type: 'category',
@@ -32,7 +35,19 @@ export default {
           },
           axisLine: {
             show: false
-          }
+          },
+          axisLabel: {
+            margin: 8,
+            formatter: function (params) {
+              var val = "";
+              if (params.length > 4) {
+                val = params.substr(0, 4) + '...';
+                return val;
+              } else {
+                return params;
+              }
+            }
+          },
         },
         tooltip: {
           trigger: 'axis',

+ 3 - 15
src/components/doubleCarbon/overview/charts/carbonEmissionChart.vue

@@ -27,8 +27,8 @@ export default {
         grid: {
           left: '0%', //默认10%
           right: '1%', //默认10%
-          bottom: '15%', //默认60
-          top: '15%',
+          bottom: '20px', //默认60
+          top: '60px',
           containLabel: true
           //grid区域是否包含坐标轴的刻度标签
         },
@@ -44,19 +44,7 @@ export default {
             },
           },
         ],
-        dataZoom: [
-          {
-            type: 'slider',
-            start: 0,
-            end: 100,
-            height: 12,
-          },
-          {
-            type: 'inside',
-            start: 0,
-            end: 100,
-          }
-        ],
+        dataZoom: this.$constant.ECHARTS_OPTION_DATAZOOM,
         tooltip: {
           trigger: 'axis',
           axisPointer: {

+ 3 - 2
src/components/doubleCarbon/overview/charts/carbonOverviewPercent.vue

@@ -9,7 +9,6 @@ export default {
   data() {
     return {
       option: {
-        color: ['#80D4FF', '#A6A6FF','#FFDF80'],
         tooltip: {
           trigger: 'item'
         },
@@ -22,7 +21,7 @@ export default {
           {
             name: '排放量',
             type: 'pie',
-            radius: ['40%', '70%'],
+            radius: ['40%', '60%'],
             center: ['50%','40%'],
             avoidLabelOverlap: false,
             label: {
@@ -56,12 +55,14 @@ export default {
     initChart() {
       let chart = this.$echarts.init(this.$refs.myChart)
       this.chart = chart
+      this.option = this.$util.dataUtil.circleChartConfig(this.option)
       chart.setOption(this.option);
       this.getData()
     },
     getData() {
       return apiCarbonOverview.getCarbonProportion(this.queryData).then(res=>{
         this.option.series[0].data = res
+        this.option = this.$util.dataUtil.circleChartConfig(this.option)
         this.chart.setOption(this.option);
       })
     }

+ 17 - 1
src/components/doubleCarbon/overview/charts/carbonQuotaChart.vue

@@ -24,6 +24,10 @@ export default {
           nameTextStyle: {
             padding: [10, 0, 10, -20]
           },
+          splitNum: 3,
+          axisLabel : {
+            rotate:"45"
+          }
         },
         yAxis: {
           type: 'category',
@@ -33,7 +37,19 @@ export default {
           },
           axisLine: {
             show: false
-          }
+          },
+          axisLabel: {
+            margin: 8,
+            formatter: function (params) {
+              var val = "";
+              if (params.length > 3) {
+                val = params.substr(0, 3) + '...';
+                return val;
+              } else {
+                return params;
+              }
+            }
+          },
         },
         tooltip: {
           trigger: 'axis',

+ 3 - 15
src/components/doubleCarbon/print/charts/carbonPrintEmissionChart.vue

@@ -27,8 +27,8 @@ export default {
         grid: {
           left: '0%', //默认10%
           right: '1%', //默认10%
-          bottom: '15%', //默认60
-          top: '15%',
+          bottom: '20px', //默认60
+          top: '60px',
           containLabel: true
           //grid区域是否包含坐标轴的刻度标签
         },
@@ -44,19 +44,7 @@ export default {
             },
           },
         ],
-        dataZoom: [
-          {
-            type: 'slider',
-            start: 0,
-            end: 100,
-            height: 12,
-          },
-          {
-            type: 'inside',
-            start: 0,
-            end: 100,
-          }
-        ],
+        dataZoom: this.$constant.ECHARTS_OPTION_DATAZOOM,
         tooltip: {
           trigger: 'axis',
           axisPointer: {

+ 16 - 1
src/components/doubleCarbon/print/charts/carbonPrintQuotaChart.vue

@@ -24,6 +24,9 @@ export default {
           nameTextStyle: {
             padding: [10, 0, 10, -20]
           },
+          axisLabel : {
+            rotate:"45"
+          }
         },
         yAxis: {
           type: 'category',
@@ -33,7 +36,19 @@ export default {
           },
           axisLine: {
             show: false
-          }
+          },
+          axisLabel: {
+            margin: 8,
+            formatter: function (params) {
+              var val = "";
+              if (params.length > 4) {
+                val = params.substr(0, 4) + '...';
+                return val;
+              } else {
+                return params;
+              }
+            }
+          },
         },
         tooltip: {
           trigger: 'axis',

+ 0 - 1
src/components/doubleCarbon/print/doubleCarbonPrint.vue

@@ -71,7 +71,6 @@ export default {
       this.$store.loadingStore().loadingWithApi(this.getCoreData(), 2000)
     },
     reset() {
-      console.log('reset')
     },
     search(data) {
       this.$util.asyncPromise(

+ 3 - 15
src/components/life/healthyHome/components/lifeHealthyHomeChart.vue

@@ -21,8 +21,8 @@ export default {
         grid: {
           left: '2%', //默认10%
           right: '4%', //默认10%
-          bottom: '13%', //默认60
-          top: '15%',
+          bottom: '20px', //默认60
+          top: '60px',
           containLabel: true
           //grid区域是否包含坐标轴的刻度标签
         },
@@ -61,19 +61,7 @@ export default {
           },
           backgroundColor: 'rgba(0,0,0,0.8)',
         },
-        dataZoom: [
-          {
-            type: 'slider',
-            start: 0,
-            end: 100,
-            height: 12,
-          },
-          {
-            type: 'inside',
-            start: 0,
-            end: 100,
-          }
-        ],
+        dataZoom: this.$constant.ECHARTS_OPTION_DATAZOOM,
         series: [
           {
             name: '进舱人数',

+ 1 - 2
src/components/life/healthyHome/lifeHealthyHome.vue

@@ -71,7 +71,6 @@ export default {
       );
     },
     reset() {
-      console.log('reset')
     },
     search(data) {
       this.$util.asyncPromise(
@@ -145,7 +144,7 @@ export default {
         <div class="lifeHealthyHome-left">
           <div class="lifeHealthyHome-detail ioc-card-content">
             <Card title="小屋分析">
-              <LifeHealthyHomeChart ref="LifeHealthyHomeChart" :query-data="queryData" :height="450"></LifeHealthyHomeChart>
+              <LifeHealthyHomeChart ref="LifeHealthyHomeChart" :query-data="queryData" :height="430"></LifeHealthyHomeChart>
             </Card>
           </div>
         </div>

+ 2 - 1
src/components/life/parking/components/lifeParkConsumeChart.vue

@@ -11,7 +11,6 @@ export default {
   data() {
     return {
       option: {
-        color: ['#3AA7E6', '#4ACFB8','#F4955F','#9790f8','#f8797e'],
         tooltip: {
           trigger: 'item'
         },
@@ -52,12 +51,14 @@ export default {
       let chart = this.$echarts.init(this.$refs.myChart)
       this.chart = chart;
       this.$util.chartsResize(this.chart);
+      this.option = this.$util.dataUtil.circleChartConfig(this.option)
       chart.setOption(this.option);
       this.getData()
     },
     getData() {
       return apiLifePark.getOccupationOfParkingSpace(this.queryData).then(res=>{
         this.option.series[0].data = res;
+        this.option = this.$util.dataUtil.circleChartConfig(this.option)
         this.chart.setOption(this.option)
       })
     }

+ 3 - 15
src/components/life/parking/components/lifeParkTrendChart.vue

@@ -20,8 +20,8 @@ export default {
         grid: {
           left: '2%', //默认10%
           right: '4%', //默认10%
-          bottom: '14%', //默认60
-          top: '15%',
+          bottom: '20px', //默认60
+          top: '60px',
           containLabel: true
           //grid区域是否包含坐标轴的刻度标签
         },
@@ -55,19 +55,7 @@ export default {
           },
           backgroundColor: 'rgba(0,0,0,0.8)',
         },
-        dataZoom: [
-          {
-            type: 'slider',
-            start: 0,
-            end: 100,
-            height: 12,
-          },
-          {
-            type: 'inside',
-            start: 0,
-            end: 100,
-          }
-        ],
+        dataZoom: this.$constant.ECHARTS_OPTION_DATAZOOM,
         series: [
           {
             name: '离开车辆数',

+ 3 - 1
src/components/life/parking/components/lifeParkUnNormalChart.vue

@@ -11,7 +11,6 @@ export default {
   data() {
     return {
       option: {
-        color: ['#3AA7E6', '#4ACFB8','#F4955F','#9790f8','#f8797e'],
         tooltip: {
           trigger: 'item'
         },
@@ -33,6 +32,7 @@ export default {
               { value: 484, name: '单位4' },
               { value: 300, name: '单位5' }
             ],
+            label: {},
             emphasis: {
               itemStyle: {
                 shadowBlur: 10,
@@ -57,12 +57,14 @@ export default {
       let chart = this.$echarts.init(this.$refs.myChart)
       this.chart = chart;
       this.$util.chartsResize(this.chart);
+      this.option = this.$util.dataUtil.circleChartConfig(this.option)
       chart.setOption(this.option);
       this.getData()
     },
     getData() {
       return apiLifePark.getStopViolation(this.queryData).then(res=>{
         this.option.series[0].data = res;
+        this.option = this.$util.dataUtil.circleChartConfig(this.option)
         this.chart.setOption(this.option)
       })
     }

+ 9 - 5
src/components/life/parking/lifeParking.vue

@@ -13,6 +13,7 @@ export default {
   data() {
     let range = this.$util.dateUtil.getNearlyMonthRange();
     return {
+      chartsHeight: 290,
       topSelect: '5',
       queryData: {
         companyId: '0',
@@ -52,6 +53,7 @@ export default {
           content: ''
         },
       ],
+      oriEmptyParks: [],
       emptyParks: [],
       parkDetails: [],
     }
@@ -80,7 +82,6 @@ export default {
       )
     },
     reset() {
-      console.log('reset')
     },
     search(data) {
       this.$util.asyncPromise(
@@ -107,10 +108,13 @@ export default {
     },
     getEmptyPark() {
       return apiLifePark.getVacantParkingSpace(this.queryData).then(res=>{
-        this.emptyParks = res
-        this.emptyParks = this.emptyParks.slice(0, this.topSelect)
+        this.oriEmptyParks = res
+        this.handleTopChange();
       })
     },
+    handleTopChange() {
+      this.emptyParks = this.oriEmptyParks.slice(0, this.topSelect)
+    },
     getParkDetail() {
       return apiLifePark.getParkingSpaceDetails(this.queryData).then(res=>{
         this.parkDetails = res
@@ -144,7 +148,7 @@ export default {
         <a-col :span="18">
           <div class="lifeParking-trend ioc-card-content">
             <Card title="车流态势">
-              <LifeParkTrendChart ref="LifeParkTrendChart" :queryData="queryData" :height="350"></LifeParkTrendChart>
+              <LifeParkTrendChart ref="LifeParkTrendChart" :queryData="queryData" :height="320"></LifeParkTrendChart>
             </Card>
           </div>
         </a-col>
@@ -155,7 +159,7 @@ export default {
                 <LifeParkingTopChart :tableData="emptyParks"></LifeParkingTopChart>
               </div>
               <template #title-extra>
-                <a-select v-model="topSelect" default-value="5" style="width: 100px;" size="small" @change="getEmptyPark">
+                <a-select v-model="topSelect" default-value="5" style="width: 100px;" size="small" @change="handleTopChange">
                   <a-select-option value="5">TOP5</a-select-option>
                   <a-select-option value="10">TOP10</a-select-option>
                   <a-select-option value="15">TOP15</a-select-option>

+ 2 - 1
src/components/life/restaurant/components/LifeRestPayChart.vue

@@ -9,7 +9,6 @@ export default {
   data() {
     return {
       option: {
-        color: ['#3AA7E6', '#4ACFB8','#F4955F','#9790f8'],
         tooltip: {
           trigger: 'item'
         },
@@ -58,12 +57,14 @@ export default {
       let chart = this.$echarts.init(this.$refs.myChart)
       this.chart = chart;
       this.$util.chartsResize(this.chart);
+      this.option = this.$util.dataUtil.circleChartConfig(this.option)
       chart.setOption(this.option);
       this.$store.loadingStore().loadingWithApi(this.getData())
     },
     getData() {
       return apiLifeRestaurant.getPaymentAnalysis(this.queryData).then(res=>{
         this.option.series[0].data = res;
+        this.option = this.$util.dataUtil.circleChartConfig(this.option)
         this.chart.setOption(this.option)
       })
     }

+ 8 - 3
src/components/life/restaurant/components/LifeRestProfitChart.vue

@@ -9,7 +9,6 @@ export default {
   data() {
     return {
       option: {
-        color: ['#3AA7E6', '#4ACFB8','#F4955F'],
         tooltip: {
           trigger: 'item'
         },
@@ -24,9 +23,11 @@ export default {
             type: 'pie',
             radius: ['40%', '70%'],
             center: ['50%','40%'],
-            avoidLabelOverlap: false,
+            avoidLabelOverlap: true,
+
             label: {
               show: true,
+              length: 100
             },
             emphasis: {
               label: {
@@ -36,7 +37,9 @@ export default {
               }
             },
             labelLine: {
-              show: true
+              show: true,
+              length: 10,
+              length2: 50,
             },
             data: [
             ]
@@ -57,12 +60,14 @@ export default {
       let chart = this.$echarts.init(this.$refs.myChart)
       this.chart = chart;
       this.$util.chartsResize(this.chart);
+      this.option = this.$util.dataUtil.circleChartConfig(this.option)
       chart.setOption(this.option);
       this.$store.loadingStore().loadingWithApi(this.getData())
     },
     getData() {
       return apiLifeRestaurant.getProfitAnalysis(this.queryData).then(res=>{
         this.option.series[0].data = res;
+        this.option = this.$util.dataUtil.circleChartConfig(this.option)
         this.chart.setOption(this.option)
       })
     }

+ 3 - 15
src/components/life/restaurant/components/lifeRestConsumeChart.vue

@@ -24,8 +24,8 @@ export default {
         grid: {
           left: '2%', //默认10%
           right: '2%', //默认10%
-          bottom: '16%', //默认60
-          top: '15%',
+          bottom: '20px', //默认60
+          top: '60px',
           containLabel: true
           //grid区域是否包含坐标轴的刻度标签
         },
@@ -66,19 +66,7 @@ export default {
             },
           },
         ],
-        dataZoom: [
-          {
-            type: 'slider',
-            start: 0,
-            end: 100,
-            height: 12,
-          },
-          {
-            type: 'inside',
-            start: 0,
-            end: 100,
-          }
-        ],
+        dataZoom: this.$constant.ECHARTS_OPTION_DATAZOOM,
         tooltip: {
           trigger: 'axis',
           axisPointer: {

+ 3 - 15
src/components/life/restaurant/components/lifeRestEatChart.vue

@@ -21,8 +21,8 @@ export default {
         grid: {
           left: '2%', //默认10%
           right: '2%', //默认10%
-          bottom: '16%', //默认60
-          top: '15%',
+          bottom: '20px', //默认60
+          top: '60px',
           containLabel: true
           //grid区域是否包含坐标轴的刻度标签
         },
@@ -82,19 +82,7 @@ export default {
           },
           backgroundColor: 'rgba(0,0,0,0.8)',
         },
-        dataZoom: [
-          {
-            type: 'slider',
-            start: 0,
-            end: 100,
-            height: 12,
-          },
-          {
-            type: 'inside',
-            start: 0,
-            end: 100,
-          }
-        ],
+        dataZoom: this.$constant.ECHARTS_OPTION_DATAZOOM,
         series: [
           {
             name: '客流人数',

+ 6 - 5
src/components/life/restaurant/lifeRestaurant.vue

@@ -14,6 +14,7 @@ export default {
   data() {
     let range = this.$util.dateUtil.getNearlyMonthRange();
     return {
+      chartsHeight: 290,
       topSelect: '5',
       eatTimeSelect: '1',
       queryData: {
@@ -164,22 +165,22 @@ export default {
         <div class="lifeRestaurant-left">
           <div class="lifeRestaurant-eat ioc-card-content">
             <Card title="用餐分析">
-              <LifeRestEatChart ref="LifeRestEatChart" :query-data="queryData" :height="320"></LifeRestEatChart>
+              <LifeRestEatChart ref="LifeRestEatChart" :query-data="queryData" :height="chartsHeight"></LifeRestEatChart>
             </Card>
           </div>
           <div class="lifeRestaurant-consume ioc-card-content">
             <Card title="消费分析">
-              <LifeRestConsumeChart ref="LifeRestConsumeChart" :query-data="queryData" :height="320"></LifeRestConsumeChart>
+              <LifeRestConsumeChart ref="LifeRestConsumeChart" :query-data="queryData" :height="chartsHeight"></LifeRestConsumeChart>
             </Card>
           </div>
           <div class="lifeRestaurant-profit ">
-            <Card title="盈利分析">
-              <LifeRestProfitChart ref="LifeRestProfitChart" :query-data="queryData" :height="300"></LifeRestProfitChart>
+            <Card title="收入分析">
+              <LifeRestProfitChart ref="LifeRestProfitChart" :query-data="queryData" :height="chartsHeight"></LifeRestProfitChart>
             </Card>
           </div>
           <div class="lifeRestaurant-pay ">
             <Card title="支付分析">
-              <LifeRestPayChart ref="LifeRestPayChart" :query-data="queryData" :height="300"></LifeRestPayChart>
+              <LifeRestPayChart ref="LifeRestPayChart" :query-data="queryData" :height="chartsHeight"></LifeRestPayChart>
             </Card>
           </div>
         </div>

+ 13 - 18
src/components/life/supermarket/components/lifeSupermarketAnalysisChart.vue

@@ -1,7 +1,9 @@
 <template>
-  <div class="myChart" ref="myChart" :style="{height: height+'px'}">
+  <a-spin :spinning="loading">
+    <div class="myChart" ref="myChart" :style="{height: height+'px'}">
 
-  </div>
+    </div>
+  </a-spin>
 </template>
 
 <script>
@@ -10,6 +12,7 @@ import apiLifeSupermarket from "@/api/life/apiLifeSupermarket";
 export default {
   data() {
     return {
+      loading: false,
       option:  {
         color: ['#3AA7E6','#9790F8','#4ACFB8','#F4955F','#F76161'],
         legend: {
@@ -24,8 +27,8 @@ export default {
         grid: {
           left: '2%', //默认10%
           right: '7%', //默认10%
-          bottom: '12%', //默认60
-          top: '15%',
+          bottom: '20px', //默认60
+          top: '60px',
           containLabel: true
           //grid区域是否包含坐标轴的刻度标签
         },
@@ -103,19 +106,7 @@ export default {
           },
           backgroundColor: 'rgba(0,0,0,0.8)',
         },
-        dataZoom: [
-          {
-            type: 'slider',
-            start: 0,
-            end: 100,
-            height: 12,
-          },
-          {
-            type: 'inside',
-            start: 0,
-            end: 100,
-          }
-        ],
+        dataZoom: this.$constant.ECHARTS_OPTION_DATAZOOM,
         series: [
           {
             name: '上午消费总额',
@@ -184,12 +175,16 @@ export default {
       this.chart = chart;
       this.$util.chartsResize(this.chart);
       chart.setOption(this.option)
-      this.getData()
+      this.$store.loadingStore().loadingWithApi(this.getData())
     },
     getData() {
+      this.loading = true;
       return apiLifeSupermarket.getQuotientAnalysiss(this.queryData).then(res=>{
         let data = this.$util.dataUtil.covertDataToEcharts(res, ['morningTotal','afternoonTotal','morningOrder','afternoonOrder','averageOrder'])
         this.$util.dataUtil.refreshEchartsData(this.chart, this.option, data)
+        this.loading = false;
+      }).catch(err=>{
+        this.loading = false;
       })
     }
   }

+ 14 - 8
src/components/life/supermarket/lifeSupermarket.vue

@@ -75,7 +75,6 @@ export default {
       )
     },
     reset() {
-      console.log('reset')
     },
     search(data) {
       this.$util.asyncPromise(
@@ -101,13 +100,20 @@ export default {
     getProductRanking() {
       return apiLifeSupermarket.getProductRanking(this.queryData).then(res=>{
         this.productRanks = res;
-        if (this.orderSelect == 'asc') {
-          this.productRanks = this.productRanks.sort((a,b)=>{
-            return Number(a.salesVolume)-Number(b.salesVolume);
-          })
-        }
+        this.handleRankOrder()
       })
     },
+    handleRankOrder() {
+      if (this.orderSelect == 'asc') {
+        this.productRanks = this.productRanks.sort((a,b)=>{
+          return Number(a.salesvolume)-Number(b.salesvolume);
+        })
+      } else {
+        this.productRanks = this.productRanks.sort((a,b)=>{
+          return Number(b.salesvolume)-Number(a.salesvolume);
+        })
+      }
+    }
   }
 }
 </script>
@@ -135,7 +141,7 @@ export default {
         <div class="lifeSupermarket-left">
           <div class="lifeSupermarket-detail ioc-card-content">
             <Card title="商超分析">
-              <LifeSupermarketAnalysisChart ref="LifeSupermarketAnalysisChart" :query-data="queryData" :height="450"></LifeSupermarketAnalysisChart>
+              <LifeSupermarketAnalysisChart ref="LifeSupermarketAnalysisChart" :query-data="queryData" :height="430"></LifeSupermarketAnalysisChart>
             </Card>
           </div>
         </div>
@@ -148,7 +154,7 @@ export default {
                 <LifeSupermarketTopTable :tableData="productRanks" style="padding: 0 8px;"></LifeSupermarketTopTable>
               </div>
               <template #title-extra>
-                <a-select v-model="orderSelect" default-value="5" style="width: 100px;" size="small" @change="getProductRanking">
+                <a-select v-model="orderSelect" default-value="5" style="width: 100px;" size="small" @change="handleRankOrder">
                   <a-select-option value="asc">正序</a-select-option>
                   <a-select-option value="desc">倒序</a-select-option>
                 </a-select>

+ 0 - 1
src/components/scene/access/sceneAccessGuestManage.vue

@@ -411,7 +411,6 @@ export default {
       this.getGuestData()
     },
     getGuestData(){
-      console.log(this.queryData,"访客管理查询条件");
       let guestRegex = new RegExp(this.queryData.guestName)
       let intervieweeRegex = new RegExp(this.queryData.name)
       let startDate;

+ 0 - 2
src/components/scene/access/sceneAccessManage.vue

@@ -459,7 +459,6 @@ export default {
       this.peopleOptions.forEach((v) => {
         this.peopleMap.set(v.value, v.label);
       });
-      console.log(this.peopleMap);
       this.directionOptions.forEach((v) => {
         this.directionMap.set(v.value, v.label);
       });
@@ -484,7 +483,6 @@ export default {
       this.getAccessManageData();
     },
     getAccessManageData() {
-      console.log(this.queryData, "门禁管理查询条件");
       let nameRegex = new RegExp(this.queryData.name, "i");
       let equipmentRegex = new RegExp(this.queryData.deviceName, "i");
       let startDate;

+ 0 - 1
src/components/scene/access/sceneAccessParkManage.vue

@@ -530,7 +530,6 @@ export default {
       this.getParkingData()
     },
     getParkingData(){
-      console.log(this.queryData, "停车管理查询条件");
       let cardRegex = new RegExp(this.queryData.guestName)
       let startDate;
       let endDate;

+ 0 - 1
src/components/scene/energy/sceneEnergyAircondition/airconditioningCard.vue

@@ -624,7 +624,6 @@ export default {
     floorChange(val) {
       let obj = val.replace('#','')
       this.currFloor = obj;
-      //console.log(this.currFloor)
     },
     getContainer() {
       return this.$refs.airContainerRight

+ 0 - 1
src/components/scene/energy/sceneEnergyAircondition/sceneWaterCard.vue

@@ -551,7 +551,6 @@ export default {
     floorChange(val) {
       let obj = val.replace('#','')
       this.currFloor = obj;
-      //console.log(this.currFloor)
     },
     getContainer() {
       return this.$refs.airContainerRight

+ 0 - 1
src/components/scene/energy/sceneEnergyAircondition/scenelightCard.vue

@@ -545,7 +545,6 @@ export default {
     floorChange(val) {
       let obj = val.replace('#','')
       this.currFloor = obj;
-      //console.log(this.currFloor)
     },
     getContainer() {
       return this.$refs.airContainerRight

+ 9 - 2
src/components/scene/energy/tactics/AirTactics.vue

@@ -30,7 +30,15 @@
         <template #operation="text, record">
           <a-button type="link" @click="viewItem(record)">查看</a-button>
           <a-button type="link" @click="editItem(record)">编辑</a-button>
-          <a-button type="link" @click="deleteItem(record)">删除</a-button>
+          <a-popconfirm
+              title="确定要删除吗?"
+              ok-text="是"
+              cancel-text="否"
+              @confirm="deleteItem(record)"
+          >
+            <a-button type="link" >删除</a-button>
+          </a-popconfirm>
+
         </template>
       </a-table>
 
@@ -291,7 +299,6 @@ export default {
     },
     batchDelete() {
       let app = this;
-      console.log(app.selectedRowKeys)
       this.tableData.forEach(item=>{
         let index = app.selectedRowKeys.indexOf(item.key);
         if (index>-1) {

+ 7 - 2
src/components/scene/energy/tactics/lightTactics.vue

@@ -30,7 +30,13 @@
         <template #operation="text, record">
           <a-button type="link" @click="viewItem(record)">查看</a-button>
           <a-button type="link" @click="editItem(record)">编辑</a-button>
-          <a-button type="link" @click="deleteItem(record)">删除</a-button>
+          <a-popconfirm
+              title="确定要删除吗?"
+              ok-text="是"
+              cancel-text="否"
+              @confirm="deleteItem(record)"
+          ><a-button type="link" >删除</a-button></a-popconfirm>
+
         </template>
       </a-table>
 
@@ -245,7 +251,6 @@ export default {
     },
     batchDelete() {
       let app = this;
-      console.log(app.selectedRowKeys)
       this.tableData.forEach(item=>{
         let index = app.selectedRowKeys.indexOf(item.key);
         if (index>-1) {

+ 6 - 2
src/components/scene/energy/tactics/waterTactics.vue

@@ -30,7 +30,12 @@
         <template #operation="text, record">
           <a-button type="link" @click="viewItem(record)">查看</a-button>
           <a-button type="link" @click="editItem(record)">编辑</a-button>
-          <a-button type="link" @click="deleteItem(record)">删除</a-button>
+          <a-popconfirm
+              title="确定要删除吗?"
+              ok-text="是"
+              cancel-text="否"
+              @confirm="deleteItem(record)"
+          ><a-button type="link" >删除</a-button></a-popconfirm>
         </template>
       </a-table>
 
@@ -217,7 +222,6 @@ export default {
     },
     batchDelete() {
       let app = this;
-      console.log(app.selectedRowKeys)
       this.tableData.forEach(item=>{
         let index = app.selectedRowKeys.indexOf(item.key);
         if (index>-1) {

+ 0 - 3
src/components/scene/meeting/chart/meetingPersonDistributeChart.vue

@@ -54,8 +54,6 @@ export default {
             },
             emphasis: {
               label: {
-                show: false,
-                fontSize: 40,
                 fontWeight: 'bold'
               }
             },
@@ -72,7 +70,6 @@ export default {
               { value: 87, name: '12人' },
               { value: 66, name: '14人' },
               { value: 55, name: '18人' },
-              { value: 30, name: '240分钟' },
             ]
           }
         ]

+ 4 - 3
src/components/scene/meeting/chart/meetingTimeCharts.vue

@@ -30,14 +30,14 @@ export default {
         },
         xAxis: {
           type: 'category',
-          data: ['2月1日', '2月2日', '2月3日', '2月4日', '2月5日', '2月6日', '2月7日', '2月8日', '2月9日', '2月10日', '2月11日', '2月12日', '2月13日', '2月14日', '2月15日', '2月16日', '2月17日', '2月18日', '2月19日', '2月20日', '2月21日', '2月22日', '2月23日', '2月24日', '2月25日', '2月26日', '2月27日', '2月28日']
+          data: ['4月1日', '4月2日', '4月3日', '4月4日', '4月5日', '4月6日', '4月7日', '4月8日', '4月9日', '4月10日', '4月11日', '4月12日']
         },
         yAxis: [
           {
             name: '分钟',
             type: 'value',
             nameTextStyle: {
-              padding: [0, 0, 0, 0]
+              padding: [0, 20, 0, 0]
             },
           },
         ],
@@ -61,9 +61,10 @@ export default {
         },
         series: [
           {
-            data: [32, 39, 54, 55, 101, 76, 60, 42, 36, 57, 40, 85, 119, 82, 103, 111, 90, 66, 88, 100, 30, 54, 103, 104, 104, 61, 75, 88],
+            data: [32, 39, 54, 55, 101, 76, 60, 42, 36, 57, 40, 85],
             type: 'bar',
             stack: 'A',
+            barWidth: '30px',
             backgroundStyle: {
               color: 'rgba(180, 180, 180, 0.2)'
             }

+ 0 - 1
src/components/scene/meeting/chart/meetingTimeDistributeChart.vue

@@ -55,7 +55,6 @@ export default {
             emphasis: {
               label: {
                 show: true,
-                fontSize: 40,
                 fontWeight: 'bold'
               }
             },

+ 1 - 1
src/components/scene/meeting/config/meetingRoomConfig.vue

@@ -256,7 +256,7 @@ export default {
         "creator": this.$store.userStore().userInfo.name,
         "isDel": 0,
         "name": this.basicInfo.name,
-        "status": 1,
+        "status": 0,
         "type": 1
       }
       apiSceneMeeting.addStrategy(params).then(res=>{

+ 0 - 1
src/components/scene/meeting/config/meetingRoomDeviceTable.vue

@@ -165,7 +165,6 @@ export default {
     deviceOption: Object
   },
   mounted() {
-    console.log(this.data)
     this.tableData = JSON.parse(JSON.stringify(this.data));
   },
   emits: ['update:data'],

+ 17 - 6
src/components/scene/meeting/config/meetingRooms.vue

@@ -2,7 +2,7 @@
   <div class="meetingRooms">
 
     <div class="meetingRooms-query">
-      <Query :show="['floor','time']" :query-data.sync="queryData" :reset="reset" :search="search">
+      <Query :show="['floor']" :query-data.sync="queryData" :reset="reset" :search="search">
         <template #extraItem>
           <a-form-model-item label="会议室状态:" class="formItem">
             <a-select default-value="0" style="width: 120px" v-model="queryData.size">
@@ -16,6 +16,9 @@
               <a-select-option v-for="item in roomSizeData" :key="item.value" :value="item.value"> {{ item.label }} </a-select-option>
             </a-select>
           </a-form-model-item>
+          <a-form-model-item label="日期:" class="formItem">
+            <a-date-picker :default-value="formDateDefaultValue" @change="handleDatePickerChange" format="YYYY/MM/DD"/>
+          </a-form-model-item>
         </template>
       </Query>
     </div>
@@ -51,11 +54,15 @@ export default {
     Query,
   },
   data() {
-    let timeRange = this.$util.dateUtil.getNearlyMonthRange()
+    let timeRange = this.$util.dateUtil.getNearlyMonthRange();
+    let now = this.$moment();
+    let nowFormat = now.format('YYYY/MM/DD');
     return {
+      formDateDefaultValue: now,
       queryData: {
         floorId: '0',
         size: '0',
+        date: nowFormat,
         timeRange: timeRange
       },
       roomSizeData: [
@@ -173,11 +180,15 @@ export default {
   },
   methods: {
     reset() {},
-    search() {},
+    search() {
+    },
+    handleDatePickerChange(val) {
+      this.queryData.date = val.format('YYYY/MM/DD');
+    },
     getMeetingRooms() {
-      apiSceneMeeting.getMeetingRoomList({}).then(res=>{
-        console.log(res)
-      })
+      //apiSceneMeeting.getMeetingRoomList(this.queryData).then(res=>{
+      //  console.log(res)
+      //})
     }
   }
 }

+ 114 - 8
src/components/scene/meeting/config/meetingStrategy.vue

@@ -11,15 +11,72 @@
           :pagination="true"
       >
         <template #enable="text,record">
-          <a-switch v-model="text" checked-children="开" un-checked-children="关"/>
+          <a-switch v-model="record.enable" checked-children="开" un-checked-children="关"/>
         </template>
         <template #operation="text,record">
-          <a-button type="link" @click="view">查看</a-button>
-          <a-button type="link" @click="edit">编辑</a-button>
-          <a-button type="link" @click="del">删除</a-button>
+          <a-button type="link" @click="view(record)">查看</a-button>
+          <!--<a-button type="link" @click="edit">编辑</a-button>-->
+          <a-popconfirm
+              title="确定要删除吗?"
+              ok-text="是"
+              cancel-text="否"
+              @confirm="del(record)"
+          >
+            <a-button type="link" >删除</a-button>
+          </a-popconfirm>
+
         </template>
       </a-table>
     </div>
+
+
+    <a-modal v-if="showView" v-model="showView" title="策略详情" :width="700" style="height: 650px;overflow-y: auto"
+             :footer="null">
+      <div style="padding-left: 15px;color: #333333;font-size: 16px;margin-top: 18px">基本信息</div>
+      <div style="padding: 15px 0 0;margin: 12px auto 0;background-color: #fafafa">
+        <a-descriptions :column="3" style="margin: 0 30px">
+          <a-descriptions-item label="场景名称">{{basicInfo.name}}</a-descriptions-item>
+          <a-descriptions-item label="类别">{{ typeOptions[basicInfo.type] }}</a-descriptions-item>
+          <a-descriptions-item label="楼层">{{ floorOptions[basicInfo.floor] }}</a-descriptions-item>
+          <a-descriptions-item label="房间">{{ roomOptions[basicInfo.room] }}</a-descriptions-item>
+          <a-descriptions-item label="权重">{{ basicInfo.weight }}</a-descriptions-item>
+        </a-descriptions>
+      </div>
+      <div style="padding-left: 15px;color: #333333;font-size: 16px;margin-top: 18px">策略信息</div>
+      <div style="padding: 8px 20px;max-height: 300px;overflow-y: auto">
+        <div v-for="(item, index) in deviceTableData" :key="index" style="margin: 8px 0; background-color: rgba(73,146,215,0.1);border-radius: 8px;padding: 15px 8px 0">
+          <!--<span style="margin-left: 20px">所属平台:{{item.platform}}</span>-->
+          <!--<span style="margin-left: 8px">设备:{{ item.deviceType }}</span>-->
+          <!--<div >{{item}}</div>-->
+          <a-descriptions :column="3" style="margin: 0 30px">
+            <a-descriptions-item label="序号">{{index}}</a-descriptions-item>
+            <a-descriptions-item label="所属平台">{{item.platform}}</a-descriptions-item>
+            <a-descriptions-item label="设备">{{ item.deviceLabel }}</a-descriptions-item>
+            <a-descriptions-item label="策略" :span="3">
+              <div style="color: #888888">
+                <template v-if="item.deviceType=='door'">
+                  <span v-if="item.deviceForm.requireSign">需要签到 &nbsp; </span>
+                  <span>
+                  <span v-if="item.deviceForm.allowEnter=='1'">参会人员可以进入 &nbsp;<nbsp/></span>
+                  <span v-else-if="item.deviceForm.allowEnter=='2'">邀请人可以进入 &nbsp;<nbsp/></span>
+                  <span v-else>任何人可以进入</span>
+                </span>
+                </template>
+                <template v-if="item.deviceType=='air'">
+                  <span v-if="item.deviceForm.openAir">会议期间打开空调 &nbsp;<nbsp/></span>
+                  <span v-if="item.deviceForm.airTm && item.deviceForm.airTm!='' ">温度设置为{{item.deviceForm.airTm}}度 &nbsp;<nbsp/> </span>
+                  <span v-if="item.deviceForm.concatSensor ">  关联人体传感器 &nbsp;<nbsp/> </span>
+                </template>
+                <template v-if="item.deviceType=='light'">
+                  <span v-if="item.deviceForm.openLight">会议期间打开灯光 &nbsp; </span>
+                  <span v-if="item.deviceForm.concatSensor ">  关联人体传感器 &nbsp; </span>
+                </template>
+              </div>
+            </a-descriptions-item>
+          </a-descriptions>
+        </div>
+      </div>
+    </a-modal>
   </div>
 </template>
 
@@ -29,6 +86,42 @@ import apiSceneStrategy from "@/api/scene/apiSceneStrategy";
 export default {
   data() {
     return {
+      showView: false,
+      typeOptions: {
+        "1": '智慧会议室',
+        "2": '普通会议室',
+      },
+      floorOptions: {
+        "1": '1F',
+        "7": '7F',
+        "8": '8F',
+      },
+      roomOptions: {
+        "701": "701室",
+        "702": "702室",
+        "703": "703室",
+      },
+      deviceOption: {
+        "1": {
+          label: '门禁设备',
+          deviceType: 'door',
+          system: '闸机系统'
+        },
+        "2": {
+          label: '空调',
+          deviceType: 'air',
+          system: '能源系统'
+        },
+        "3": {
+          label: '灯光',
+          deviceType: 'light',
+          system: '能源系统'
+        },
+      },
+      basicInfo: {},
+      deviceTableData: [],
+
+
       tableData: [],
       columns: [
         {
@@ -78,14 +171,27 @@ export default {
         this.tableData = res;
       })
     },
-    view() {
-
+    view(row) {
+      if (row.configParams) {
+        let obj = JSON.parse(row.configParams)
+        this.basicInfo = obj.basicInfo;
+        this.deviceTableData = obj.deviceInfo;
+      } else {
+        this.basicInfo = {};
+        this.deviceTableData = [];
+      }
+      this.showView = true
     },
     edit() {
 
     },
-    del() {
-
+    del(item) {
+      let index = this.tableData.indexOf(item);
+      if (index>-1) {
+        apiSceneStrategy.delStrategyById(item.id).then(res=>{
+          this.getData();
+        })
+      }
     }
   }
 }

+ 21 - 2
src/components/scene/meeting/sceneMeetingOverview.vue

@@ -69,9 +69,14 @@ import MeetingTimeDistributeChart from "@/components/scene/meeting/chart/meeting
 import MeetingPersonDistributeChart from "@/components/scene/meeting/chart/meetingPersonDistributeChart.vue";
 import Query from "@/components/common/query.vue";
 import {requireImg} from "@/utils/requireImg";
+import apiSceneMeeting from "@/api/scene/meeting/apiSceneMeeting";
 export default {
   data() {
+    let timeRange = this.$util.dateUtil.getNearlyMonthRange()
     return {
+      queryData: {
+        timeRange: timeRange
+      },
       totalData: [
         {
           totalTitle: '总会议次数(次)',
@@ -104,10 +109,24 @@ export default {
     MeetingPersonDistributeChart,
   },
   mounted() {
+    this.getMeetingTotal()
   },
   methods: {
-    requireImg
-
+    requireImg,
+    getMeetingTotal() {
+      let params = this.$util.dateUtil.getNearlyMonthRange();
+      if (this.queryData.timeRange) {
+        params = this.queryData.timeRange
+      }
+      apiSceneMeeting.getMeetingTotal(params).then(res=>{
+        this.totalData[0].totalNum = res.list[0].value
+        this.totalData[0].num = res.list[1].value
+        this.totalData[1].totalNum = res.list[2].value
+        this.totalData[1].num = res.list[3].value
+        this.totalData[2].totalNum = res.list[4].value
+        this.totalData[2].num = res.list[5].value
+      })
+    }
   }
 }
 </script>

+ 3 - 1
src/components/security/alarm/manage/securityAlarmManageDistribute.vue

@@ -5,7 +5,6 @@ export default {
   data() {
     return {
       option: {
-        color: ['#80D4FF', '#A6A6FF', '#FFB580', '#FFDF80', '#79F2E8'],
         tooltip: {
           trigger: 'item'
         },
@@ -47,11 +46,14 @@ export default {
       let chart = this.$echarts.init(this.$refs.myChart)
       this.chart = chart;
       this.$util.chartsResize(this.chart);
+      this.option = this.$util.dataUtil.circleChartConfig(this.option)
+      this.chart.setOption(this.option);
       this.getData();
     },
     getData() {
       return apiSecurityAlarmMgr.getFloorAlarmDistribution(this.queryData).then(res=>{
         this.option.series[0].data = res;
+        this.option = this.$util.dataUtil.circleChartConfig(this.option)
         this.chart.setOption(this.option);
       })
     }

+ 3 - 15
src/components/security/alarm/manage/securityAlarmManageOnlineTrend.vue

@@ -14,8 +14,8 @@ export default {
         grid: {
           left: '0%', //默认10%
           right: '1%', //默认10%
-          bottom: '18%', //默认60
-          top: '15%',
+          bottom: '20px', //默认60
+          top: '60px',
           containLabel: true
           //grid区域是否包含坐标轴的刻度标签
         },
@@ -36,19 +36,7 @@ export default {
             }
           },
         ],
-        dataZoom: [
-          {
-            type: 'slider',
-            start: 0,
-            end: 100,
-            height: 12,
-          },
-          {
-            type: 'inside',
-            start: 0,
-            end: 100,
-          }
-        ],
+        dataZoom: this.$constant.ECHARTS_OPTION_DATAZOOM,
         tooltip: {
           trigger: 'axis',
           axisPointer: {

+ 3 - 15
src/components/security/alarm/manage/securityAlarmManageTrend.vue

@@ -15,8 +15,8 @@ export default {
         grid: {
           left: '0%', //默认10%
           right: '2%', //默认10%
-          bottom: '12%', //默认60
-          top: '15%',
+          bottom: '20px', //默认60
+          top: '60px',
           containLabel: true
           //grid区域是否包含坐标轴的刻度标签
         },
@@ -50,19 +50,7 @@ export default {
           },
           backgroundColor: 'rgba(0,0,0,0.8)',
         },
-        dataZoom: [
-          {
-            type: 'slider',
-            start: 0,
-            end: 100,
-            height: 12,
-          },
-          {
-            type: 'inside',
-            start: 0,
-            end: 100,
-          }
-        ],
+        dataZoom: this.$constant.ECHARTS_OPTION_DATAZOOM,
         series: [
           {
             name: '一般告警',

+ 0 - 2
src/components/security/alarm/securityAlarmGrid.vue

@@ -65,8 +65,6 @@ export default {
       this.cameraId = id;
     },
     shot(e) {
-      // console.log(e)
-      // send({code:'image',data:e})
       var base64ToBlob = function (code) {
         let parts = code.split(';base64,');
         let contentType = parts[0].split(':')[1];

+ 4 - 3
src/components/security/alarm/securityAlarmManage.vue

@@ -11,6 +11,7 @@
     <div style="margin-top: 12px">
       <a-row :gutter="[12,12]">
         <a-col :span="16">
+
           <div class="securityAlarmManage-distributeMap">
             <Card title="告警分布">
               <SecurityAlarmManageDistributeMap></SecurityAlarmManageDistributeMap>
@@ -21,7 +22,7 @@
           <div class="securityAlarmManage-trend">
             <Card title="告警趋势">
               <div style="padding: 0 15px 8px">
-                <SecurityAlarmManageTrend ref="SecurityAlarmManageTrend" :query-data="queryData" :height="415"></SecurityAlarmManageTrend>
+                <SecurityAlarmManageTrend ref="SecurityAlarmManageTrend" :query-data="queryData" :height="400"></SecurityAlarmManageTrend>
               </div>
             </Card>
           </div>
@@ -36,8 +37,8 @@
         <a-col :span="8">
           <div class="securityAlarmManage-onlineTrend">
             <Card title="设备在线趋势">
-              <div style="padding: 0 15px">
-                <SecurityAlarmManageOnlineTrend ref="SecurityAlarmManageOnlineTrend" :query-data="queryData" :height="300"></SecurityAlarmManageOnlineTrend>
+              <div style="padding: 0 15px 10px">
+                <SecurityAlarmManageOnlineTrend ref="SecurityAlarmManageOnlineTrend" :query-data="queryData" :height="290"></SecurityAlarmManageOnlineTrend>
               </div>
             </Card>
           </div>

+ 0 - 1
src/components/security/person/components/securityPersonDuty.vue

@@ -16,7 +16,6 @@ export default {
   },
   watch: {
     currCheck: val => {
-      //console.log(val)
     }
   },
   components: {},

+ 3 - 9
src/components/security/person/components/securityPersonExistChart.vue

@@ -13,8 +13,8 @@ export default {
         grid: {
           left: '2%', //默认10%
           right: '2%', //默认10%
-          bottom: '20%', //默认60
-          top: '15%',
+          bottom: '20px', //默认60
+          top: '60px',
           containLabel: true
           //grid区域是否包含坐标轴的刻度标签
         },
@@ -30,13 +30,7 @@ export default {
             },
           },
         ],
-        dataZoom: [
-          {
-            start: 0,
-            end: 100,
-            height: 12,
-          }
-        ],
+        dataZoom: this.$constant.ECHARTS_OPTION_DATAZOOM,
         tooltip: {
           trigger: 'axis',
           axisPointer: {

+ 3 - 9
src/components/security/person/components/securityPersonGuestChart.vue

@@ -20,8 +20,8 @@ export default {
         grid: {
           left: '2%', //默认10%
           right: '2%', //默认10%
-          bottom: '15%', //默认60
-          top: '15%',
+          bottom: '20px', //默认60
+          top: '60px',
           containLabel: true
           //grid区域是否包含坐标轴的刻度标签
         },
@@ -60,13 +60,7 @@ export default {
           },
           backgroundColor: 'rgba(0,0,0,0.8)',
         },
-        dataZoom: [
-          {
-            start: 0,
-            end: 100,
-            height: 12,
-          }
-        ],
+        dataZoom: this.$constant.ECHARTS_OPTION_DATAZOOM,
         series: [
           {
             name: '自由人员',

+ 4 - 4
src/components/security/person/securityPerson.vue

@@ -100,15 +100,15 @@ export default {
         <a-col :span="16">
           <div class="iot-security-person-exist ioc-card-content">
             <Card title="保有量">
-              <div style="padding: 0 15px">
-                <SecurityPersonExistChart v-if="chartShow" :height="300"></SecurityPersonExistChart>
+              <div style="padding: 0 15px 15px">
+                <SecurityPersonExistChart v-if="chartShow" :height="285"></SecurityPersonExistChart>
               </div>
             </Card>
           </div>
           <div class="iot-security-person-traffic ioc-card-content">
             <Card title="大楼客流量">
-              <div style="padding: 0 15px">
-                <SecurityPersonGuestChart v-if="chartShow" :height="350"></SecurityPersonGuestChart>
+              <div style="padding: 0 15px 15px">
+                <SecurityPersonGuestChart v-if="chartShow" :height="335"></SecurityPersonGuestChart>
               </div>
             </Card>
           </div>

+ 3 - 15
src/components/work/bus/component/workBusChart.vue

@@ -20,8 +20,8 @@ export default {
         grid: {
           left: '2%', //默认10%
           right: '3%', //默认10%
-          bottom: '13%', //默认60
-          top: '15%',
+          bottom: '20px', //默认60
+          top: '60px',
           containLabel: true
           //grid区域是否包含坐标轴的刻度标签
         },
@@ -72,19 +72,7 @@ export default {
           },
           backgroundColor: 'rgba(0,0,0,0.8)',
         },
-        dataZoom: [
-          {
-            type: 'slider',
-            start: 0,
-            end: 100,
-            height: 12,
-          },
-          {
-            type: 'inside',
-            start: 0,
-            end: 100,
-          }
-        ],
+        dataZoom: this.$constant.ECHARTS_OPTION_DATAZOOM,
         series: [
           {
             name: '平均出车时长',

+ 3 - 15
src/components/work/bus/component/workBusTrend.vue

@@ -13,8 +13,8 @@ export default {
         grid: {
           left: '6%', //默认10%
           right: '10%', //默认10%
-          bottom: '15%', //默认60
-          top: '15%',
+          bottom: '20px', //默认60
+          top: '60px',
           containLabel: true
           //grid区域是否包含坐标轴的刻度标签
         },
@@ -30,19 +30,7 @@ export default {
             },
           },
         ],
-        dataZoom: [
-          {
-            type: 'slider',
-            start: 0,
-            end: 30,
-            height: 12,
-          },
-          {
-            type: 'inside',
-            start: 0,
-            end: 100,
-          }
-        ],
+        dataZoom: this.$constant.ECHARTS_OPTION_DATAZOOM,
         tooltip: {
           trigger: 'axis',
           axisPointer: {

+ 2 - 0
src/components/work/bus/workBus.vue

@@ -136,11 +136,13 @@ export default {
 <style lang="less" scoped>
 .left {
   margin-right: 6px;
+  padding-bottom: 15px;
 }
 
 .right {
   margin-left: 6px;
   background-color: #ffffff;
+  padding-bottom: 15px;
 }
 
 </style>

+ 16 - 28
src/components/work/meeting/component/workMeetingCostTrend.vue

@@ -15,7 +15,7 @@ export default {
     let yData = [
       {
         name: "市场部",
-        color: "#5087ec",
+        color: "#3AA7E6",
         startColor: "#B2D5FF",
         data: [],
       },
@@ -27,13 +27,13 @@ export default {
       },
       {
         name: "产品中心",
-        color: "#FAC37A",
+        color: "#F4955F",
         startColor: "#FFEACF",
         data: [],
       },
       {
         name: "智慧院",
-        color: "#FF6E4D",
+        color: "#F8797E",
         startColor: "#FFB5A4",
         data: [],
       },
@@ -45,7 +45,7 @@ export default {
       },
       {
         name: "其他部门",
-        color: "#8B4DFF",
+        color: "#9790F8",
         startColor: "#CDB2FF",
         data: [],
       },
@@ -94,19 +94,7 @@ export default {
     return {
       option: {
         // backgroundColor: "#000237",
-        dataZoom: [
-          {
-            type: 'slider',
-            start: 0,
-            end: 100,
-            height: 12,
-          },
-          {
-            type: 'inside',
-            start: 0,
-            end: 100,
-          }
-        ],
+        dataZoom: this.$constant.ECHARTS_OPTION_DATAZOOM,
         tooltip: {
           trigger: "axis",
           // backgroundColor: "transparent",
@@ -158,11 +146,11 @@ export default {
           },
         },
         grid: {
-          top: "20%",
-          left: "16%",
-          right: "9%",
-          bottom: "18%",
-          // containLabel: true
+          left: "15px",
+          right: "15px",
+          bottom: '20px', //默认60
+          top: '100px',
+          containLabel: true
         },
         xAxis: {
           type: "category",
@@ -177,9 +165,9 @@ export default {
           axisLabel: {
             //坐标轴刻度标签的相关设置
             textStyle: {
-              color: "#000000",
-              padding: 8,
-              fontSize: 14,
+              color: "#7d7d7d",
+              //padding: 8,
+              fontSize: 12,
             },
             formatter: function (data) {
               return data;
@@ -207,7 +195,7 @@ export default {
               },
             },
             axisLine: {
-              show: false,
+              show: true,
               lineStyle: {
                 color: "#233653",
               },
@@ -215,7 +203,7 @@ export default {
             axisLabel: {
               show: true,
               textStyle: {
-                color: "#000000",
+                color: "#7d7d7d",
                 padding: 8,
               },
               formatter: function (value) {
@@ -226,7 +214,7 @@ export default {
               },
             },
             axisTick: {
-              show: false,
+              show: true,
             },
           },
         ],

+ 56 - 6
src/components/work/meeting/workMeeting.vue

@@ -17,7 +17,7 @@
       <a-row>
         <a-col :span="18">
           <div class="workMeeting-left ioc-card-content">
-            <card title="会议室情况">
+            <card title="本周会议室情况">
               <a-row>
                 <a-col :span="2">
                   <a-menu
@@ -142,16 +142,23 @@
                   成本集中
                 </div>
               </template>
-              <div class="cben">
+              <div class="cben" style="margin-bottom: 15px">
                 <WorkMeetingCostTrend
                   ref="WorkMeetingCostTrend"
                   :queryData="queryData"
-                  :height="475"
+                  :height="460"
                 />
               </div>
             </card>
           </div>
         </a-col>
+        <a-col :span="18">
+          <div class="workMeeting-left ioc-card-content" style="margin-bottom: 15px">
+            <card title="会议室时长">
+              <MeetingTimeCharts :height="300"></MeetingTimeCharts>
+            </card>
+          </div>
+        </a-col>
       </a-row>
     </div>
   </div>
@@ -161,6 +168,7 @@ import query from "@/components/common/query.vue";
 import card from "@/components/common/card.vue";
 import timeline from "@/components/common/timeLine.vue";
 import WorkMeetingCostTrend from "@/components/work/meeting/component/workMeetingCostTrend.vue";
+import MeetingTimeCharts from "@/components/scene/meeting/chart/meetingTimeCharts.vue";
 
 import apiWorkMeeting from "@/api/work/apiWorkMeeting";
 
@@ -170,6 +178,7 @@ export default {
     card,
     timeline,
     WorkMeetingCostTrend,
+    MeetingTimeCharts,
   },
   data() {
     let timeRange = this.$util.dateUtil.getNearlyMonthRange();
@@ -225,7 +234,47 @@ export default {
         {
           value: '9',
           label: "9F"
-        }
+        },
+        //{
+        //  value: '',
+        //  label: "全部"
+        //},
+        //{
+        //  value: '1',
+        //  label: "1F"
+        //},
+        //{
+        //  value: '10',
+        //  label: "10F"
+        //},
+        //{
+        //  value: '11',
+        //  label: "11F"
+        //},{
+        //  value: '12',
+        //  label: "12F"
+        //},{
+        //  value: '15',
+        //  label: "15F"
+        //},{
+        //  value: '16',
+        //  label: "16F"
+        //},{
+        //  value: '17',
+        //  label: "17F"
+        //},{
+        //  value: '18',
+        //  label: "18F"
+        //},{
+        //  value: '19',
+        //  label: "19F"
+        //},{
+        //  value: '20',
+        //  label: "20F"
+        //},{
+        //  value: '30',
+        //  label: "30F"
+        //},
       ],
       columns: [
         { title: "序号", dataIndex: "index", key: "1", width: 48 },
@@ -352,7 +401,8 @@ export default {
     search() {
       this.$util.asyncPromise(
         this.getCoreData(),
-        this.$refs.WorkMeetingCostTrend.getData()
+        this.$refs.WorkMeetingCostTrend.getData(),
+        this.getMeetingRecordData(),
       );
     },
     getMeetingRecordData() {
@@ -366,7 +416,7 @@ export default {
         resultObj[i.date] = []
       })
       this.meetingInfo = resultObj
-      apiWorkMeeting.getMeetingRecords(params).then(res=>{
+      return apiWorkMeeting.getMeetingRecords(params).then(res=>{
         let arr = res.filter(item=>item.room==this.currRoom)
         for (let i = 0; i < arr.length; i++) {
           let obj = app.$moment(arr[i].startTime).format('yyyy/MM/DD')

+ 13 - 5
src/components/work/overview/workOverview.vue

@@ -166,10 +166,10 @@ export default {
 
     },
     search() {
-      if (this.queryData.floorId != '-99') {
-        this.showFloorData = false
-      } else {
+      if (!this.queryData.floorId || this.queryData.floorId == '-99') {
         this.showFloorData = true
+      } else {
+        this.showFloorData = false
       }
       this.$util.asyncPromise(
           this.getCoreData(),
@@ -178,7 +178,11 @@ export default {
       this.$forceUpdate();
     },
     getCoreData() {
-      return apiWorkFloor.getCoreData(this.queryData).then(res=>{
+      let params = JSON.parse(JSON.stringify(this.queryData));
+      if (params.floorId == '-99') {
+        delete params.floorId;
+      }
+      return apiWorkFloor.getCoreData(params).then(res=>{
         this.coreData[0].content = res.list[0].value
         this.coreData[1].content = res.list[1].value
         this.coreData[2].content = res.list[2].value
@@ -188,7 +192,11 @@ export default {
       })
     },
     getDoorEnterPerson() {
-      return apiWorkFloor.getAccessPersonnel(this.queryData).then(res=>{
+      let params = JSON.parse(JSON.stringify(this.queryData));
+      if (params.floorId == '-99') {
+        delete params.floorId;
+      }
+      return apiWorkFloor.getAccessPersonnel(params).then(res=>{
         this.listData = res
       })
     }

+ 3 - 15
src/components/work/print/component/workPrintChart.vue

@@ -20,8 +20,8 @@ export default {
         grid: {
           left: '2%', //默认10%
           right: '3%', //默认10%
-          bottom: '13%', //默认60
-          top: '15%',
+          bottom: '20px', //默认60
+          top: '60px',
           containLabel: true
           //grid区域是否包含坐标轴的刻度标签
         },
@@ -70,19 +70,7 @@ export default {
           },
           backgroundColor: 'rgba(0,0,0,0.8)',
         },
-        dataZoom: [
-          {
-            type: 'slider',
-            start: 0,
-            end: 100,
-            height: 12,
-          },
-          {
-            type: 'inside',
-            start: 0,
-            end: 100,
-          }
-        ],
+        dataZoom: this.$constant.ECHARTS_OPTION_DATAZOOM,
         series: [
           {
             name: '打印纸张',

+ 3 - 15
src/components/work/print/component/workPrintTrend.vue

@@ -13,8 +13,8 @@ export default {
         grid: {
           left: '6%', //默认10%
           right: '10%', //默认10%
-          bottom: '15%', //默认60
-          top: '15%',
+          bottom: '20px', //默认60
+          top: '60px',
           containLabel: true
           //grid区域是否包含坐标轴的刻度标签
         },
@@ -30,19 +30,7 @@ export default {
             },
           },
         ],
-        dataZoom: [
-          {
-            type: 'slider',
-            start: 0,
-            end: 30,
-            height: 12,
-          },
-          {
-            type: 'inside',
-            start: 0,
-            end: 100,
-          }
-        ],
+        dataZoom: this.$constant.ECHARTS_OPTION_DATAZOOM,
         tooltip: {
           trigger: 'axis',
           axisPointer: {

+ 2 - 0
src/components/work/print/workPrint.vue

@@ -154,11 +154,13 @@ export default {
 <style lang="less" scoped>
 .left {
   margin-right: 6px;
+  padding-bottom: 15px;
 }
 
 .right {
   background-color: #ffffff;
   margin-left: 6px;
+  padding-bottom: 15px;
 }
 
 </style>

+ 2 - 2
src/data/json/menuList.json

@@ -162,7 +162,7 @@
         "icon": "智会议.png",
         "children": [
           {
-            "name": "配置会议",
+            "name": "智慧会议",
             "router": "/scene/meeting/config",
             "icon": ""
           },
@@ -220,7 +220,7 @@
     ]
   },
   {
-    "name": "数据报表",
+    "name": "报表报告",
     "router": "/report",
     "icon": "数据报表.png",
     "children": [

+ 2 - 2
src/router/index.js

@@ -161,7 +161,7 @@ const router = new VueRouter({
         {
           path: '/report',
           name: 'report',
-          meta: {breadcrumb: '数据报表'},
+          meta: {breadcrumb: '报表报告'},
           component: () => import('@/components/report/report.vue'),
           children: [
             {
@@ -299,7 +299,7 @@ const router = new VueRouter({
                 {
                   path: '/scene/meeting/config',
                   name: 'sceneMeetingConfig',
-                  meta: {breadcrumb: '配置会议'},
+                  meta: {breadcrumb: '智慧会议'},
                   component: () => import('@/components/scene/meeting/sceneMeetingConfig.vue'),
                 },
                 {

이 변경점에서 너무 많은 파일들이 변경되어 몇몇 파일들은 표시되지 않았습니다.