From 7f76d4b5d52d9f6ae65c429fe26faf3a7f730dba Mon Sep 17 00:00:00 2001
From: zhaowei <zhaowei>
Date: 星期四, 27 二月 2025 10:56:02 +0800
Subject: [PATCH] 1、新增车间看板页面、大屏车间入口及大屏车间管理页面 2、新增vue-drag-resize和dataV插件

---
 src/views/mdc/base/WorkshopSignage.vue | 2339 +++++++----------------------------------------------------
 1 files changed, 284 insertions(+), 2,055 deletions(-)

diff --git a/src/views/mdc/base/DncWorkshopSignage.vue b/src/views/mdc/base/WorkshopSignage.vue
similarity index 64%
rename from src/views/mdc/base/DncWorkshopSignage.vue
rename to src/views/mdc/base/WorkshopSignage.vue
index 6766a09..2714e16 100644
--- a/src/views/mdc/base/DncWorkshopSignage.vue
+++ b/src/views/mdc/base/WorkshopSignage.vue
@@ -1,77 +1,115 @@
 <template>
   <div class="full-screen">
     <div class="container">
+      <!--宸︿晶鍥捐〃鍖哄煙-->
       <div class="left-col">
         <div class="col-content">
-          <div class="content-title">涓�鍘傚綋鏈堜换鍔″畬鎴愮櫨鍒嗘瘮</div>
-          <div style="flex:1;display: flex;">
-            <div class="chart-container" id="left-col-chart1"></div>
-            <div class="equipment-state-container">
-              <div>璁惧鎬绘暟锛歿{equipmentList.length}}鍙�</div>
-              <div>澶т慨銆侀」淇暟閲忥細{{getEquipmentMaintainCount}}鍙�</div>
-              <div>璁惧寮�鍔ㄧ巼锛歿{getEquipmentOpenRate}}</div>
-              <div v-for="(item,index) in equipmentStateList" :key="index">
-                <img :src="item.imageColor"><span>{{item.label}}锛歿{getEquipmentStateCount(item.value)}}鍙�</span>
-              </div>
-            </div>
-          </div>
-          <div class="server-status">鏈嶅姟鍣ㄧ姸鎬侊細<span :style="{color:getServerStatusTextColor,fontWeight:'bold'}">{{this.serverStatus}}</span>
-          </div>
+          <div class="content-title">{{workshopDetails.workshopName}}#璁惧鎯呭喌</div>
+          <workshop-device-overview :equipmentList="equipmentList" :toDecimal2NoZero="toDecimal2NoZero"/>
         </div>
         <div class="col-content">
-          <div class="content-title">褰撴湀闆朵欢浠诲姟瀹屾垚杩涘害</div>
-          <div class="chart-container" id="left-col-chart2"></div>
+          <div class="content-title">璁惧鏈堝埄鐢ㄧ巼瓒嬪娍</div>
+          <month-utilization-rate-trend :toDecimal2NoZero="toDecimal2NoZero"/>
         </div>
         <div class="col-content">
-          <div class="content-title">褰撴棩璁惧浠诲姟瀹屾垚杩涘害</div>
-          <div class="chart-container" id="left-col-chart3"></div>
+          <div class="content-title">璁惧鍛ㄥ埄鐢ㄧ巼瓒嬪娍</div>
+          <week-utilization-rate-trend :toDecimal2NoZero="toDecimal2NoZero"/>
         </div>
         <div class="col-content">
-          <div class="content-title">褰撴棩浜у搧姒傚喌</div>
-          <div class="chart-container" id="left-col-chart4"></div>
-        </div>
-      </div>
-      <div class="middle-col">
-        <div class="navigate-container">
-          <div class="navigate-item" v-for="(item,index) in navigateList" :key="index">
-            <img :src="item.imageSrc" @click="navigateTo(item)">
-          </div>
-        </div>
-      </div>
-      <div class="right-col">
-        <div class="col-content">
-          <div class="content-title">浠婃棩姒傚喌</div>
-          <div class="chart-container" id="right-col-chart1"></div>
-          <div class="content-footer-container">
-            <div class="content-footer">閲嶇偣璁惧鍒╃敤鐜囷細{{this.keyEquipmentEfficiency}}</div>
-            <div class="content-footer">姝e父璁惧鍒╃敤鐜囷細{{this.commonEquipmentEfficiency}}</div>
-          </div>
-        </div>
-        <div class="col-content">
-          <div class="content-title">宸ユ璁惧鍒╃敤鐜囧彉鍖栬秼鍔�</div>
-          <div class="chart-container" id="right-col-chart2"></div>
-        </div>
-        <div class="col-content">
-          <div class="content-title">鏄ㄦ棩璁惧鍒╃敤鐜�</div>
-          <div class="chart-container" id="right-col-chart3"></div>
+          <div class="content-title">璁惧鏃ュ埄鐢ㄧ巼瓒嬪娍</div>
+          <day-utilization-rate-trend :toDecimal2NoZero="toDecimal2NoZero"/>
         </div>
         <div class="col-content">
           <div class="content-title">璁惧鎶ヨ淇℃伅</div>
-          <div class="chart-container" id="right-col-chart4"></div>
+          <device-alarm-info/>
         </div>
+      </div>
+
+      <!--鍙充晶鎷栨嫿鍖哄煙-->
+      <div class="right-col">
+        <VueDragResize
+          v-for="(item, index) in deviceList"
+          :key="item.equipmentId"
+          :w="item.vw"
+          :h="item.vh"
+          :x="item.coordinateLeft"
+          :y="item.coordinateTop"
+          v-on:resizing="resize($event, index)"
+          v-on:dragging="resize($event, index)"
+          :parentLimitation="true"
+          :parentH="1065"
+          :parentW="1500"
+          :minw="70"
+          :minh="70"
+          :isDraggable="isSwitchChecked"
+          :isResizable="isSwitchChecked"
+          :stickSize="6"
+          @deactivated="isShowGuideline = false"
+        >
+          <div class="single-device" :style="{ width: item.vw + 'px', height: item.vh + 'px' }">
+            <div class="device-status">
+              <div
+                :style="{ backgroundImage: `url(${getImgView(item.equipmentImage) || require('@/assets/WorskhopSignage/default.png')})` }"
+                class="device-image"
+              >
+                <div
+                  :style="{ backgroundImage: `url(${getCurrentDeviceStatusImage(item.equipmentStatus)})` }"
+                  class="status-image"
+                ></div>
+              </div>
+            </div>
+            <div
+              :style="{ color:workshopDetails.equipmentIdColor?workshopDetails.equipmentIdColor:'#fff',fontWeight:'bold'}">
+              {{ item.equipmentId }}
+            </div>
+          </div>
+        </VueDragResize>
+
+        <template v-if="isShowGuideline">
+          <div class="guideline guidelineX" :style="{top:guidelineXTop+'px'}"></div>
+          <div class="guideline guidelineY" :style="{left:guidelineYLeft+'px'}"></div>
+        </template>
+
+        <a-form layout="inline">
+          <a-form-item label="鍔熻兘寮�鍏�">
+            <a-switch checked-children="寮�" un-checked-children="鍏�" v-model="isSwitchChecked"
+                      :disabled="isHasResizeOrDragDevice"/>
+          </a-form-item>
+
+          <a-form-item label="淇濆瓨鍧愭爣">
+            <a-button type="primary" icon="save" @click="saveDevicePositionAndSizeByApi"
+                      :disabled="!isHasResizeOrDragDevice">淇濆瓨
+            </a-button>
+          </a-form-item>
+        </a-form>
       </div>
     </div>
   </div>
 </template>
 
 <script>
-  import * as echarts from 'echarts'
+  import VueDragResize from 'vue-drag-resize'
+  import { getFileAccessHttpUrl } from '@/api/manage'
+  import signageApi from '@/api/signage'
+  import WorkshopDeviceOverview from './modules/WorkshopSignage/WorkshopDeviceOverview'
+  import WeekUtilizationRateTrend from './modules/WorkshopSignage/WeekUtilizationRateTrend'
+  import DayUtilizationRateTrend from './modules/WorkshopSignage/DayUtilizationRateTrend'
+  import MonthUtilizationRateTrend from './modules/WorkshopSignage/MonthUtilizationRateTrend'
+  import DeviceAlarmInfo from './modules/WorkshopSignage/DeviceAlarmInfo'
 
   export default {
-    name: 'DncWorkshopSignage',
-    components: {},
+    name: 'WorkshopSignage',
+    components: {
+      DeviceAlarmInfo,
+      MonthUtilizationRateTrend,
+      DayUtilizationRateTrend,
+      WeekUtilizationRateTrend,
+      WorkshopDeviceOverview,
+      VueDragResize
+    },
     data() {
       return {
+        workshopDetails: {}, //  杞﹂棿璇︾粏淇℃伅,
         equipmentList: [
           {
             'equipmentID': '04ZX001',
@@ -3901,2027 +3939,173 @@
             'productCount': null
           }
         ],
-        equipmentStateList: [
+        equipmentStatusList: [
           {
             label: '姝e父杩愯',
             value: [3, 23],
-            imageColor: require('@/assets/image/stateImg_green.gif')
+            statusImage: require('@/assets/WorskhopSignage/stateImg_green.gif')
           },
           {
             label: '寰呮満',
             value: [1, 2],
-            imageColor: require('@/assets/image/stateImg_yellow.gif')
+            statusImage: require('@/assets/WorskhopSignage/stateImg_yellow.gif')
           },
           {
             label: '鎶ヨ',
             value: [22],
-            imageColor: require('@/assets/image/stateImg_red.gif')
+            statusImage: require('@/assets/WorskhopSignage/stateImg_red.gif')
           },
           {
             label: '鍏虫満',
             value: [null, 0],
-            imageColor: require('@/assets/image/stateImg_gray.gif')
+            statusImage: require('@/assets/WorskhopSignage/stateImg_gray.gif')
           }
         ],
-        serverStatus: '姝e父',
-        leftColChart1: '',
-        leftColChart2: '',
-        rightColChart1: '',
-        navigateList: [
+        deviceList: [
           {
-            label: '151A',
-            navigateMethod: 0,
-            navigateUrl: '1712001819515367426',
-            imageSrc: require('../../../assets/image/MDC_151A.png')
+            equipmentId: '105843145',
+            equipmentStatus: 3,
+            equipmentImage: '',
+            vw: 112,
+            vh: 142,
+            coordinateLeft: 500,
+            coordinateTop: 800
           },
           {
-            label: 'VR',
-            navigateMethod: 1,
-            navigateUrl: 'mdc/vr',
-            imageSrc: require('../../../assets/image/VR_a.png')
+            equipmentId: '42342152',
+            equipmentStatus: 2,
+            equipmentImage: '',
+            vw: 112,
+            vh: 232,
+            coordinateLeft: 400,
+            coordinateTop: 100
           },
           {
-            label: 'MDC',
-            navigateMethod: 1,
-            navigateUrl: 'mdc/mdc',
-            imageSrc: require('../../../assets/image/MDC_a.png')
+            equipmentId: '5646434',
+            equipmentStatus: 22,
+            equipmentImage: '',
+            vw: 231,
+            vh: 121,
+            coordinateLeft: 200,
+            coordinateTop: 500
           },
           {
-            label: 'MES',
-            navigateMethod: 1,
-            navigateUrl: 'mdc/mes',
-            imageSrc: require('../../../assets/image/MES_a.png')
+            equipmentId: '213125643',
+            equipmentStatus: 0,
+            equipmentImage: '',
+            vw: 233,
+            vh: 213,
+            coordinateLeft: 600,
+            coordinateTop: 300
           }
         ],
-        keyEquipmentEfficiency: '',
-        commonEquipmentEfficiency: '',
-        rightColChart2: '',
-        rightColChart3: ''
+        isShowGuideline: false,
+        guidelineXTop: 0,
+        guidelineYLeft: 0,
+        isSwitchChecked: false,
+        isHasResizeOrDragDevice: false
       }
     },
     mounted() {
-      window.addEventListener('resize', this.handleWindowResize)
-      this.getChartDataByApi()
-    },
-    beforeDestroy() {
-      window.removeEventListener('resize', this.handleWindowResize)
-    },
-    filters: {},
-    computed: {
-      /* 鑾峰彇璁惧澶т慨銆侀」淇暟閲� */
-      getEquipmentMaintainCount() {
-        return this.equipmentList.filter(item => item.maintainType === 2).length
-      },
-      /* 鑾峰彇璁惧寮�鍔ㄧ巼 */
-      getEquipmentOpenRate() {
-        const equipmentCount = this.equipmentList.length
-        const equipmentShutDownCount = this.equipmentList.filter(item => item.oporation === null || item.oporation == 0).length
-        return this.toDecimal2NoZero(((equipmentCount - equipmentShutDownCount) / equipmentCount * 100)) + '%'
-      },
-
-      getServerStatusTextColor() {
-        if (this.serverStatus === '姝e父') {
-          return '#53da53'
-        } else {
-          return '#f00'
-        }
+      if (this.$route.params.id) {
+        this.getDeviceListByApi(this.$route.params.id)
+        this.getWorkshopDetailsByApi(this.$route.params.id)
       }
     },
     methods: {
-      getEquipmentStateCount(value) {
-        let stateCount = 0
-        this.equipmentList.forEach(item => {
-          if (value.includes(item.oporation)) stateCount++
+      /**
+       * 閫氳繃杞﹂棿Id璋冪敤鎺ュ彛鑾峰彇璁惧淇℃伅鍒楄〃
+       * @param id 杞﹂棿Id
+       */
+      getDeviceListByApi(id) {
+        signageApi.getDeviceListInWorkshopSignagePageApi(id).then((res) => {
+          if (res.result && res.result.length > 0) {
+            this.deviceList = res.result
+          }
         })
-        return stateCount
       },
 
-      getServerStatusByApi() {
-
+      /**
+       * 閫氳繃杞﹂棿Id璋冪敤鎺ュ彛鑾峰彇杞﹂棿璇︾粏淇℃伅
+       * @param id 杞﹂棿Id
+       */
+      getWorkshopDetailsByApi(id) {
+        signageApi.getWorkshopDetailByWorkshopIdApi(id).then((res) => {
+          if (!res.success) return
+          this.workshopDetails = res.result ? res.result : {}
+          let workshopDrawingArea = document.querySelector('.right-col')
+          workshopDrawingArea.style.backgroundImage = `url(${this.getImgView(this.workshopDetails.backgroundImage)})`
+        })
       },
 
-      getChartDataByApi() {
-        this.getLeftColChart1DataByApi()
-        // this.getLeftColChart2DataByApi()
-        this.getRightColChart1DataByApi()
-        this.getRightColChart2DataByApi()
-        this.getRightColChart3DataByApi()
-      },
-
-      getLeftColChart1DataByApi() {
-        this.leftColChart1 = this.$echarts.init(document.getElementById('left-col-chart1'))
-        this.drawLeftColChart1()
-      },
-
-      getRightColChart1DataByApi() {
-        this.rightColChart1 = this.$echarts.init(document.getElementById('right-col-chart1'))
-        this.drawRightColChart1()
-      },
-
-      getRightColChart2DataByApi() {
-        this.rightColChart2 = this.$echarts.init(document.getElementById('right-col-chart2'))
-        this.drawRightColChart2()
-      },
-
-      getRightColChart3DataByApi() {
-        this.rightColChart3 = this.$echarts.init(document.getElementById('right-col-chart3'))
-        this.drawRightColChart3()
-      },
-
-      /* 缁樺埗宸︿晶绗竴涓浘琛� */
-      drawLeftColChart1() {
-        const data = [
-          {
-            'number': '20102',
-            'name': '2-D鏁翠綋鏈哄專',
-            'count': 7,
-            'planCount': 14,
-            'rateCount': 0.5000
-          },
-          {
-            'number': '20103',
-            'name': '3-D鐕冪儳瀹ゆ満鍖�',
-            'count': 3,
-            'planCount': 9,
-            'rateCount': 0.3333
-          },
-          {
-            'number': '20104',
-            'name': '4-D鐒婃帴鏈哄專宸ユ',
-            'count': 11,
-            'planCount': 28,
-            'rateCount': 0.3929
-          },
-          {
-            'number': '20105',
-            'name': '5-D CRIC鍗曞厓',
-            'count': 2,
-            'planCount': 15,
-            'rateCount': 0.1333
-          },
-          {
-            'number': '20106',
-            'name': '6-D椋庢墖鍗曞厓',
-            'count': 6,
-            'planCount': 15,
-            'rateCount': 0.4000
-          },
-          {
-            'number': '20107',
-            'name': '7-D娑¤疆鏈哄專',
-            'count': 6,
-            'planCount': 17,
-            'rateCount': 0.3529
-          },
-          {
-            'number': '20109',
-            'name': '9-D閽冲伐鍗曞厓',
-            'count': 2,
-            'planCount': 18,
-            'rateCount': 0.1111
-          },
-          {
-            'number': null,
-            'name': '鎬讳换鍔�',
-            'count': 37,
-            'planCount': 116,
-            'rateCount': 0.3190
+      /**
+       * 璁惧鎷栨嫿鎴栫缉鏀炬椂瑙﹀彂浜嬩欢
+       * @param newRect 鎷栨嫿鎴栫缉鏀惧悗鐨勫昂瀵稿強璺濈
+       * @param index 鎷栨嫿璁惧鍦ㄦ暟缁勪腑鐨勪笅鏍�
+       */
+      resize(newRect, index) {
+        this.isShowGuideline = true
+        // 褰撹澶囩缉鏀炬垨鎷栨嫿鍚庣鐢╯witch缁勪欢骞跺紑鏀句繚瀛樻寜閽姛鑳斤紙閬垮厤鏃犳晥璇锋眰锛�
+        if (!this.isHasResizeOrDragDevice) {
+          if (this.deviceList[index].vw !== newRect.width || this.deviceList[index].vh !== newRect.height || this.deviceList[index].coordinateTop !== newRect.top || this.deviceList[index].coordinateLeft !== newRect.left) {
+            this.isHasResizeOrDragDevice = true
+            console.log('newRect------', newRect)
           }
-        ]
-        let yAxisData1, yAxisData2, completionNum
-        const formatterData = [
-          {
-            value: '', name: '瀹屾垚閲�', itemStyle: { normal: { color: '#00923f' } },
-            label: {
-              normal: {
-                show: true,
-                fontSize: '70%',
-                position: 'inside',
-                formatter: function() {
-                  return completionNum + '%'
-                }
-              }
-            }
-          },
-          {
-            value: '', name: '浠诲姟閲�',
-            itemStyle: { normal: { color: '#e67817' } },
-            label: {
-              normal: {
-                show: false
-              }
-            }
-          }
-        ]
-        const option = {
-          legend: {
-            show: true,
-            bottom: 5,
-            textStyle: {
-              color: '#fff',
-              fontSize: '70%'
-            },
-            itemWidth: 12,
-            itemHeight: 8,
-            selectedMode: false,
-            formatter: function(name) {
-              var target
-              for (var i = 0, l = formatterData.length; i < l; i++) {
-                if (formatterData[i].name == name) {
-                  target = formatterData[i].value
-                }
-              }
-              return name + '  ' + target
-            }
-          },
-          series: [
-            {
-              name: '绫荤洰',
-              type: 'pie',
-              radius: '60%',
-              center: ['50%', '40%'],
-              hoverAnimation: false,
-              data: [
-                {
-                  value: 0, name: '瀹屾垚閲�', itemStyle: { normal: { color: '#00923f' } },
-                  label: {
-                    normal: {
-                      show: true,
-                      fontSize: '70%',
-                      position: 'inside',
-                      textBorderWidth: 0,
-                      formatter: function() {
-                        return completionNum + '%'
-                      }
-                    }
-                  }
-                },
-                {
-                  value: 100, name: '浠诲姟閲�',
-                  itemStyle: { normal: { color: '#e67817' } },
-                  label: {
-                    normal: {
-                      show: false
-                    }
-                  }
-                }
-              ],
-              labelLine: {
-                normal: {
-                  show: false
-                }
-              },
-              itemStyle: {
-                emphasis: {
-                  shadowBlur: 10,
-                  shadowOffsetX: 0,
-                  shadowColor: 'rgba(0, 0, 0, 0.5)'
-                }
-              }
-            }
-          ]
         }
-        data.forEach(item => {
-          if (item.name === '鎬讳换鍔�' && item.rateCount !== null) {
-            yAxisData1 = this.toDecimal2NoZero(item.rateCount * 100)
-            yAxisData2 = 100 - this.toDecimal2NoZero(item.rateCount * 100)
-            completionNum = yAxisData1
-            formatterData[0].value = item.count
-            formatterData[1].value = item.planCount
-          }
-        })
-        option.series[0].data[0].value = yAxisData1
-        option.series[0].data[1].value = yAxisData2
-        this.leftColChart1.setOption(option, true)
+        // this.isHasResizeOrDragDevice = true
+        this.deviceList[index].vw = newRect.width
+        this.deviceList[index].vh = newRect.height
+        this.deviceList[index].coordinateTop = newRect.top
+        this.deviceList[index].coordinateLeft = newRect.left
+        this.guidelineXTop = newRect.top + newRect.height / 2
+        this.guidelineYLeft = newRect.left + newRect.width / 2
       },
 
-      /* 缁樺埗鍙充晶绗竴涓浘琛� */
-      drawRightColChart1() {
-        const data = [
-          {
-            'number': null,
-            'name': '鍒╃敤鐜�',
-            'count': 0.0000,
-            'planCount': null,
-            'rateCount': null
-          },
-          {
-            'number': null,
-            'name': '寮�鏈虹巼',
-            'count': 0.0000,
-            'planCount': null,
-            'rateCount': null
-          },
-          {
-            'number': null,
-            'name': '閲嶇偣璁惧鍒╃敤鐜�',
-            'count': 0.0000,
-            'planCount': null,
-            'rateCount': null
-          },
-          {
-            'number': null,
-            'name': '姝e父璁惧鍒╃敤鐜�',
-            'count': 0.0000,
-            'planCount': null,
-            'rateCount': null
-          }
-        ]
-        const yAxisData = []
-        const option = {
-          radar: {
-            center: ['50%', '55%'],
-            indicator: [{
-              name: '璁惧鍒╃敤鐜�',
-              num: '',
-              max: 100
-            }, {
-              name: '璁惧寮�鏈虹巼',
-              num: '',
-              max: 100
-            }, {
-              name: '璁″垝瀹屾垚鐜�',
-              num: '',
-              max: 100
-            }],
-            radius: '60%',
-            splitNumber: 1,
-            shape: 'circle',
-            nameGap: 10,
-            name: {
-              textStyle: {
-                color: '#fff',
-                fontSize: '65%'
-              },
-              formatter: function(value, indicator) {
-                return value + ' ' + indicator.num + '%'
-
-              }
-            },
-            splitLine: {
-              lineStyle: {
-                color: 'rgb(90,177,239)',
-                type: 'dotted',
-                width: 2
-              }
-            },
-            axisLine: {
-              show: true,
-              lineStyle: {
-                color: 'rgb(90,177,239)',
-                type: 'dotted'
-              }
-            },
-            zlevel: 23
-          },
-          series: [
-            {
-              type: 'pie',
-              center: ['50%', '55%'],
-              radius: ['70%', '65%'],
-              hoverAnimation: false,
-              label: {
-                normal: {
-                  position: 'center'
-                }
-              },
-              data: [{
-                value: 1000,
-                tooltip: {
-                  show: false
-                },
-                itemStyle: {
-                  normal: {
-                    color: 'rgba(30,177,239,0.6)'
-                  }
-                }
-              }]
-            },
-
-            {
-              name: '鏁版嵁鏄剧ず',
-              type: 'radar',
-              lineStyle: {
-                normal: {
-                  width: 0.1,
-                  opacity: 0.1
-                }
-              },
-              data: [
-                [0, 0, 0]
-              ],
-              symbolSize: 8,
-              itemStyle: {
-                color: '#ffc000',
-                borderColor: '#ffc000'
-              },
-              areaStyle: {
-                normal: {
-                  color: 'rgba(90,177,239,0.8)',
-                  opacity: 0.85
-                }
-              },
-              label: {
-                normal: {
-                  show: false,
-                  position: 'top',
-                  formatter: '{c}%'
-                }
-              },
-              zlevel: 21
-            }
-
-          ]
-        }
-        data.forEach((item, index) => {
-          if (item.name == '閲嶇偣璁惧鍒╃敤鐜�') {
-            this.keyEquipmentEfficiency = (item.count * 100) > 100 ? 100 : ((item.count * 100).toFixed(2)) + '%'
-          } else if (item.name == '姝e父璁惧鍒╃敤鐜�') {
-            this.commonEquipmentEfficiency = (item.count * 100) > 100 ? 100 : ((item.count * 100).toFixed(2)) + '%'
-          } else {
-            yAxisData.push(parseFloat((item.count * 100) > 100 ? 100 : ((item.count * 100).toFixed(2))))
-            option.radar.indicator[index].num = (item.count * 100) > 100 ? 100 : ((item.count * 100).toFixed(2))
+      /**
+       * 鐐瑰嚮淇濆瓨鎸夐挳璋冪敤鎺ュ彛淇濆瓨鎷栨嫿鍚庣殑浣嶇疆涓庤澶囧浘鏍囧昂瀵�
+       */
+      saveDevicePositionAndSizeByApi() {
+        signageApi.saveDevicePositionAndSizeApi(this.deviceList).then((res) => {
+          if (res.code === 200) {
+            this.$notification.success({
+              message: '娑堟伅',
+              description: res.message
+            })
+            this.isSwitchChecked = this.isHasResizeOrDragDevice = false
+            this.getDeviceListByApi(this.$route.params.id)
           }
         })
-        const data2 = { 'number': null, 'name': '瀹屾垚鐜�', 'count': 0.6523, 'planCount': null, 'rateCount': null }
-        yAxisData.push(parseFloat((data2.count * 100) > 100 ? 100 : ((data2.count * 100).toFixed(2))))
-        option.radar.indicator[2].num = (data2.count * 100) > 100 ? 100 : ((data2.count * 100).toFixed(2))
-        option.series[1].data[0] = yAxisData
-        this.rightColChart1.setOption(option, true)
-      },
-
-      /* 缁樺埗鍙充晶绗簩涓浘琛� */
-      drawRightColChart2() {
-        const data = [
-          {
-            'beltlineID': 'A_1',
-            'beltlineName': '1-D鐗圭宸ヨ壓',
-            'fullName': '1-D鐗圭宸ヨ壓鍗曞厓',
-            'list': [
-              {
-                'code': '000000014831',
-                'factoryID': 'A',
-                'beltlineID': 'A_1',
-                'beltlineName': '1-D鐗圭宸ヨ壓',
-                'dayTime': '2023-09-28',
-                'lineRate': 0.0000,
-                'processingLong': 0.0000,
-                'openingLong': 0.0000,
-                'collectDate': '2023-10-05 00:25:01'
-              },
-              {
-                'code': '000000014820',
-                'factoryID': 'A',
-                'beltlineID': 'A_1',
-                'beltlineName': '1-D鐗圭宸ヨ壓',
-                'dayTime': '2023-09-29',
-                'lineRate': 0.0000,
-                'processingLong': 0.0000,
-                'openingLong': 0.0000,
-                'collectDate': '2023-10-05 00:25:01'
-              },
-              {
-                'code': '000000014809',
-                'factoryID': 'A',
-                'beltlineID': 'A_1',
-                'beltlineName': '1-D鐗圭宸ヨ壓',
-                'dayTime': '2023-09-30',
-                'lineRate': 0.0000,
-                'processingLong': 0.0000,
-                'openingLong': 0.0000,
-                'collectDate': '2023-10-05 00:25:01'
-              },
-              {
-                'code': '000000014798',
-                'factoryID': 'A',
-                'beltlineID': 'A_1',
-                'beltlineName': '1-D鐗圭宸ヨ壓',
-                'dayTime': '2023-10-01',
-                'lineRate': 0.0000,
-                'processingLong': 0.0000,
-                'openingLong': 0.0000,
-                'collectDate': '2023-10-05 00:25:01'
-              },
-              {
-                'code': '000000014787',
-                'factoryID': 'A',
-                'beltlineID': 'A_1',
-                'beltlineName': '1-D鐗圭宸ヨ壓',
-                'dayTime': '2023-10-02',
-                'lineRate': 0.0000,
-                'processingLong': 0.0000,
-                'openingLong': 0.0000,
-                'collectDate': '2023-10-05 00:25:01'
-              },
-              {
-                'code': '000000014776',
-                'factoryID': 'A',
-                'beltlineID': 'A_1',
-                'beltlineName': '1-D鐗圭宸ヨ壓',
-                'dayTime': '2023-10-03',
-                'lineRate': 0.0000,
-                'processingLong': 0.0000,
-                'openingLong': 0.0000,
-                'collectDate': '2023-10-05 00:25:01'
-              },
-              {
-                'code': '000000014765',
-                'factoryID': 'A',
-                'beltlineID': 'A_1',
-                'beltlineName': '1-D鐗圭宸ヨ壓',
-                'dayTime': '2023-10-04',
-                'lineRate': 0.0000,
-                'processingLong': 0.0000,
-                'openingLong': 0.0000,
-                'collectDate': '2023-10-05 00:25:00'
-              }
-            ]
-          },
-          {
-            'beltlineID': 'A_2',
-            'beltlineName': '2-D鏁翠綋鏈哄專',
-            'fullName': '2-D鏁翠綋鏈哄專鍗曞厓',
-            'list': [
-              {
-                'code': '000000014833',
-                'factoryID': 'A',
-                'beltlineID': 'A_2',
-                'beltlineName': '2-D鏁翠綋鏈哄專',
-                'dayTime': '2023-09-28',
-                'lineRate': 0.0000,
-                'processingLong': 0.0000,
-                'openingLong': 0.0000,
-                'collectDate': '2023-10-05 00:25:01'
-              },
-              {
-                'code': '000000014822',
-                'factoryID': 'A',
-                'beltlineID': 'A_2',
-                'beltlineName': '2-D鏁翠綋鏈哄專',
-                'dayTime': '2023-09-29',
-                'lineRate': 0.0000,
-                'processingLong': 0.0000,
-                'openingLong': 0.0000,
-                'collectDate': '2023-10-05 00:25:01'
-              },
-              {
-                'code': '000000014811',
-                'factoryID': 'A',
-                'beltlineID': 'A_2',
-                'beltlineName': '2-D鏁翠綋鏈哄專',
-                'dayTime': '2023-09-30',
-                'lineRate': 0.0000,
-                'processingLong': 0.0000,
-                'openingLong': 0.0000,
-                'collectDate': '2023-10-05 00:25:01'
-              },
-              {
-                'code': '000000014800',
-                'factoryID': 'A',
-                'beltlineID': 'A_2',
-                'beltlineName': '2-D鏁翠綋鏈哄專',
-                'dayTime': '2023-10-01',
-                'lineRate': 0.0000,
-                'processingLong': 0.0000,
-                'openingLong': 0.0000,
-                'collectDate': '2023-10-05 00:25:01'
-              },
-              {
-                'code': '000000014789',
-                'factoryID': 'A',
-                'beltlineID': 'A_2',
-                'beltlineName': '2-D鏁翠綋鏈哄專',
-                'dayTime': '2023-10-02',
-                'lineRate': 0.0000,
-                'processingLong': 0.0000,
-                'openingLong': 0.0000,
-                'collectDate': '2023-10-05 00:25:01'
-              },
-              {
-                'code': '000000014778',
-                'factoryID': 'A',
-                'beltlineID': 'A_2',
-                'beltlineName': '2-D鏁翠綋鏈哄專',
-                'dayTime': '2023-10-03',
-                'lineRate': 0.0000,
-                'processingLong': 0.0000,
-                'openingLong': 0.0000,
-                'collectDate': '2023-10-05 00:25:01'
-              },
-              {
-                'code': '000000014767',
-                'factoryID': 'A',
-                'beltlineID': 'A_2',
-                'beltlineName': '2-D鏁翠綋鏈哄專',
-                'dayTime': '2023-10-04',
-                'lineRate': 0.0000,
-                'processingLong': 0.0000,
-                'openingLong': 0.0000,
-                'collectDate': '2023-10-05 00:25:01'
-              }
-            ]
-          },
-          {
-            'beltlineID': 'A_3',
-            'beltlineName': '3-D鐕冪儳瀹ゆ満鍖�',
-            'fullName': '3-D鐕冪儳瀹ゆ満鍖e崟鍏�',
-            'list': [
-              {
-                'code': '000000014834',
-                'factoryID': 'A',
-                'beltlineID': 'A_3',
-                'beltlineName': '3-D鐕冪儳瀹ゆ満鍖�',
-                'dayTime': '2023-09-28',
-                'lineRate': 0.0000,
-                'processingLong': 0.0000,
-                'openingLong': 0.0000,
-                'collectDate': '2023-10-05 00:25:01'
-              },
-              {
-                'code': '000000014823',
-                'factoryID': 'A',
-                'beltlineID': 'A_3',
-                'beltlineName': '3-D鐕冪儳瀹ゆ満鍖�',
-                'dayTime': '2023-09-29',
-                'lineRate': 0.0000,
-                'processingLong': 0.0000,
-                'openingLong': 0.0000,
-                'collectDate': '2023-10-05 00:25:01'
-              },
-              {
-                'code': '000000014812',
-                'factoryID': 'A',
-                'beltlineID': 'A_3',
-                'beltlineName': '3-D鐕冪儳瀹ゆ満鍖�',
-                'dayTime': '2023-09-30',
-                'lineRate': 0.0000,
-                'processingLong': 0.0000,
-                'openingLong': 0.0000,
-                'collectDate': '2023-10-05 00:25:01'
-              },
-              {
-                'code': '000000014801',
-                'factoryID': 'A',
-                'beltlineID': 'A_3',
-                'beltlineName': '3-D鐕冪儳瀹ゆ満鍖�',
-                'dayTime': '2023-10-01',
-                'lineRate': 0.0000,
-                'processingLong': 0.0000,
-                'openingLong': 0.0000,
-                'collectDate': '2023-10-05 00:25:01'
-              },
-              {
-                'code': '000000014790',
-                'factoryID': 'A',
-                'beltlineID': 'A_3',
-                'beltlineName': '3-D鐕冪儳瀹ゆ満鍖�',
-                'dayTime': '2023-10-02',
-                'lineRate': 0.0000,
-                'processingLong': 0.0000,
-                'openingLong': 0.0000,
-                'collectDate': '2023-10-05 00:25:01'
-              },
-              {
-                'code': '000000014779',
-                'factoryID': 'A',
-                'beltlineID': 'A_3',
-                'beltlineName': '3-D鐕冪儳瀹ゆ満鍖�',
-                'dayTime': '2023-10-03',
-                'lineRate': 0.0000,
-                'processingLong': 0.0000,
-                'openingLong': 0.0000,
-                'collectDate': '2023-10-05 00:25:01'
-              },
-              {
-                'code': '000000014768',
-                'factoryID': 'A',
-                'beltlineID': 'A_3',
-                'beltlineName': '3-D鐕冪儳瀹ゆ満鍖�',
-                'dayTime': '2023-10-04',
-                'lineRate': 0.0000,
-                'processingLong': 0.0000,
-                'openingLong': 0.0000,
-                'collectDate': '2023-10-05 00:25:01'
-              }
-            ]
-          },
-          {
-            'beltlineID': 'A_4',
-            'beltlineName': '4-D鐒婃帴鏈哄專宸ユ',
-            'fullName': '4-D鐒婃帴鏈哄專宸ユ',
-            'list': [
-              {
-                'code': '000000014835',
-                'factoryID': 'A',
-                'beltlineID': 'A_4',
-                'beltlineName': '4-D鐒婃帴鏈哄專宸ユ',
-                'dayTime': '2023-09-28',
-                'lineRate': 0.1333,
-                'processingLong': 11520.0000,
-                'openingLong': 11520.0000,
-                'collectDate': '2023-10-05 00:25:01'
-              },
-              {
-                'code': '000000014824',
-                'factoryID': 'A',
-                'beltlineID': 'A_4',
-                'beltlineName': '4-D鐒婃帴鏈哄專宸ユ',
-                'dayTime': '2023-09-29',
-                'lineRate': 0.1333,
-                'processingLong': 11520.0000,
-                'openingLong': 11520.0000,
-                'collectDate': '2023-10-05 00:25:01'
-              },
-              {
-                'code': '000000014813',
-                'factoryID': 'A',
-                'beltlineID': 'A_4',
-                'beltlineName': '4-D鐒婃帴鏈哄專宸ユ',
-                'dayTime': '2023-09-30',
-                'lineRate': 0.1333,
-                'processingLong': 11520.0000,
-                'openingLong': 11520.0000,
-                'collectDate': '2023-10-05 00:25:01'
-              },
-              {
-                'code': '000000014802',
-                'factoryID': 'A',
-                'beltlineID': 'A_4',
-                'beltlineName': '4-D鐒婃帴鏈哄專宸ユ',
-                'dayTime': '2023-10-01',
-                'lineRate': 0.1333,
-                'processingLong': 11520.0000,
-                'openingLong': 11520.0000,
-                'collectDate': '2023-10-05 00:25:01'
-              },
-              {
-                'code': '000000014791',
-                'factoryID': 'A',
-                'beltlineID': 'A_4',
-                'beltlineName': '4-D鐒婃帴鏈哄專宸ユ',
-                'dayTime': '2023-10-02',
-                'lineRate': 0.1333,
-                'processingLong': 11520.0000,
-                'openingLong': 11520.0000,
-                'collectDate': '2023-10-05 00:25:01'
-              },
-              {
-                'code': '000000014780',
-                'factoryID': 'A',
-                'beltlineID': 'A_4',
-                'beltlineName': '4-D鐒婃帴鏈哄專宸ユ',
-                'dayTime': '2023-10-03',
-                'lineRate': 0.1333,
-                'processingLong': 11520.0000,
-                'openingLong': 11520.0000,
-                'collectDate': '2023-10-05 00:25:01'
-              },
-              {
-                'code': '000000014769',
-                'factoryID': 'A',
-                'beltlineID': 'A_4',
-                'beltlineName': '4-D鐒婃帴鏈哄專宸ユ',
-                'dayTime': '2023-10-04',
-                'lineRate': 0.1333,
-                'processingLong': 11520.0000,
-                'openingLong': 11520.0000,
-                'collectDate': '2023-10-05 00:25:01'
-              }
-            ]
-          },
-          {
-            'beltlineID': 'A_5',
-            'beltlineName': '5-D CRIC鍗曞厓',
-            'fullName': '5-D CRIC鍗曞厓',
-            'list': [
-              {
-                'code': '000000014836',
-                'factoryID': 'A',
-                'beltlineID': 'A_5',
-                'beltlineName': '5-D CRIC鍗曞厓',
-                'dayTime': '2023-09-28',
-                'lineRate': 0.0000,
-                'processingLong': 0.0000,
-                'openingLong': 0.0000,
-                'collectDate': '2023-10-05 00:25:01'
-              },
-              {
-                'code': '000000014825',
-                'factoryID': 'A',
-                'beltlineID': 'A_5',
-                'beltlineName': '5-D CRIC鍗曞厓',
-                'dayTime': '2023-09-29',
-                'lineRate': 0.0000,
-                'processingLong': 0.0000,
-                'openingLong': 0.0000,
-                'collectDate': '2023-10-05 00:25:01'
-              },
-              {
-                'code': '000000014814',
-                'factoryID': 'A',
-                'beltlineID': 'A_5',
-                'beltlineName': '5-D CRIC鍗曞厓',
-                'dayTime': '2023-09-30',
-                'lineRate': 0.0000,
-                'processingLong': 0.0000,
-                'openingLong': 0.0000,
-                'collectDate': '2023-10-05 00:25:01'
-              },
-              {
-                'code': '000000014803',
-                'factoryID': 'A',
-                'beltlineID': 'A_5',
-                'beltlineName': '5-D CRIC鍗曞厓',
-                'dayTime': '2023-10-01',
-                'lineRate': 0.0000,
-                'processingLong': 0.0000,
-                'openingLong': 0.0000,
-                'collectDate': '2023-10-05 00:25:01'
-              },
-              {
-                'code': '000000014792',
-                'factoryID': 'A',
-                'beltlineID': 'A_5',
-                'beltlineName': '5-D CRIC鍗曞厓',
-                'dayTime': '2023-10-02',
-                'lineRate': 0.0000,
-                'processingLong': 0.0000,
-                'openingLong': 0.0000,
-                'collectDate': '2023-10-05 00:25:01'
-              },
-              {
-                'code': '000000014781',
-                'factoryID': 'A',
-                'beltlineID': 'A_5',
-                'beltlineName': '5-D CRIC鍗曞厓',
-                'dayTime': '2023-10-03',
-                'lineRate': 0.0000,
-                'processingLong': 0.0000,
-                'openingLong': 0.0000,
-                'collectDate': '2023-10-05 00:25:01'
-              },
-              {
-                'code': '000000014770',
-                'factoryID': 'A',
-                'beltlineID': 'A_5',
-                'beltlineName': '5-D CRIC鍗曞厓',
-                'dayTime': '2023-10-04',
-                'lineRate': 0.0000,
-                'processingLong': 0.0000,
-                'openingLong': 0.0000,
-                'collectDate': '2023-10-05 00:25:01'
-              }
-            ]
-          },
-          {
-            'beltlineID': 'A_6',
-            'beltlineName': '6-D椋庢墖鍗曞厓',
-            'fullName': '6-D椋庢墖鍗曞厓',
-            'list': [
-              {
-                'code': '000000014837',
-                'factoryID': 'A',
-                'beltlineID': 'A_6',
-                'beltlineName': '6-D椋庢墖鍗曞厓',
-                'dayTime': '2023-09-28',
-                'lineRate': 0.0667,
-                'processingLong': 5760.0000,
-                'openingLong': 5760.0000,
-                'collectDate': '2023-10-05 00:25:01'
-              },
-              {
-                'code': '000000014826',
-                'factoryID': 'A',
-                'beltlineID': 'A_6',
-                'beltlineName': '6-D椋庢墖鍗曞厓',
-                'dayTime': '2023-09-29',
-                'lineRate': 0.0667,
-                'processingLong': 5760.0000,
-                'openingLong': 5760.0000,
-                'collectDate': '2023-10-05 00:25:01'
-              },
-              {
-                'code': '000000014815',
-                'factoryID': 'A',
-                'beltlineID': 'A_6',
-                'beltlineName': '6-D椋庢墖鍗曞厓',
-                'dayTime': '2023-09-30',
-                'lineRate': 0.0667,
-                'processingLong': 5760.0000,
-                'openingLong': 5760.0000,
-                'collectDate': '2023-10-05 00:25:01'
-              },
-              {
-                'code': '000000014804',
-                'factoryID': 'A',
-                'beltlineID': 'A_6',
-                'beltlineName': '6-D椋庢墖鍗曞厓',
-                'dayTime': '2023-10-01',
-                'lineRate': 0.0667,
-                'processingLong': 5760.0000,
-                'openingLong': 5760.0000,
-                'collectDate': '2023-10-05 00:25:01'
-              },
-              {
-                'code': '000000014793',
-                'factoryID': 'A',
-                'beltlineID': 'A_6',
-                'beltlineName': '6-D椋庢墖鍗曞厓',
-                'dayTime': '2023-10-02',
-                'lineRate': 0.0667,
-                'processingLong': 5760.0000,
-                'openingLong': 5760.0000,
-                'collectDate': '2023-10-05 00:25:01'
-              },
-              {
-                'code': '000000014782',
-                'factoryID': 'A',
-                'beltlineID': 'A_6',
-                'beltlineName': '6-D椋庢墖鍗曞厓',
-                'dayTime': '2023-10-03',
-                'lineRate': 0.0667,
-                'processingLong': 5760.0000,
-                'openingLong': 5760.0000,
-                'collectDate': '2023-10-05 00:25:01'
-              },
-              {
-                'code': '000000014771',
-                'factoryID': 'A',
-                'beltlineID': 'A_6',
-                'beltlineName': '6-D椋庢墖鍗曞厓',
-                'dayTime': '2023-10-04',
-                'lineRate': 0.0667,
-                'processingLong': 5760.0000,
-                'openingLong': 5760.0000,
-                'collectDate': '2023-10-05 00:25:01'
-              }
-            ]
-          },
-          {
-            'beltlineID': 'A_7',
-            'beltlineName': '7-D娑¤疆鏈哄專',
-            'fullName': '7-D娑¤疆鏈哄專鍗曞厓',
-            'list': [
-              {
-                'code': '000000014838',
-                'factoryID': 'A',
-                'beltlineID': 'A_7',
-                'beltlineName': '7-D娑¤疆鏈哄專',
-                'dayTime': '2023-09-28',
-                'lineRate': null,
-                'processingLong': null,
-                'openingLong': null,
-                'collectDate': '2023-10-05 00:25:01'
-              },
-              {
-                'code': '000000014827',
-                'factoryID': 'A',
-                'beltlineID': 'A_7',
-                'beltlineName': '7-D娑¤疆鏈哄專',
-                'dayTime': '2023-09-29',
-                'lineRate': null,
-                'processingLong': null,
-                'openingLong': null,
-                'collectDate': '2023-10-05 00:25:01'
-              },
-              {
-                'code': '000000014816',
-                'factoryID': 'A',
-                'beltlineID': 'A_7',
-                'beltlineName': '7-D娑¤疆鏈哄專',
-                'dayTime': '2023-09-30',
-                'lineRate': null,
-                'processingLong': null,
-                'openingLong': null,
-                'collectDate': '2023-10-05 00:25:01'
-              },
-              {
-                'code': '000000014805',
-                'factoryID': 'A',
-                'beltlineID': 'A_7',
-                'beltlineName': '7-D娑¤疆鏈哄專',
-                'dayTime': '2023-10-01',
-                'lineRate': null,
-                'processingLong': null,
-                'openingLong': null,
-                'collectDate': '2023-10-05 00:25:01'
-              },
-              {
-                'code': '000000014794',
-                'factoryID': 'A',
-                'beltlineID': 'A_7',
-                'beltlineName': '7-D娑¤疆鏈哄專',
-                'dayTime': '2023-10-02',
-                'lineRate': null,
-                'processingLong': null,
-                'openingLong': null,
-                'collectDate': '2023-10-05 00:25:01'
-              },
-              {
-                'code': '000000014783',
-                'factoryID': 'A',
-                'beltlineID': 'A_7',
-                'beltlineName': '7-D娑¤疆鏈哄專',
-                'dayTime': '2023-10-03',
-                'lineRate': null,
-                'processingLong': null,
-                'openingLong': null,
-                'collectDate': '2023-10-05 00:25:01'
-              },
-              {
-                'code': '000000014772',
-                'factoryID': 'A',
-                'beltlineID': 'A_7',
-                'beltlineName': '7-D娑¤疆鏈哄專',
-                'dayTime': '2023-10-04',
-                'lineRate': null,
-                'processingLong': null,
-                'openingLong': null,
-                'collectDate': '2023-10-05 00:25:01'
-              }
-            ]
-          },
-          {
-            'beltlineID': 'A_8',
-            'beltlineName': '8-D绉戠爺宸ユ',
-            'fullName': '8-D绉戠爺宸ユ',
-            'list': [
-              {
-                'code': '000000014839',
-                'factoryID': 'A',
-                'beltlineID': 'A_8',
-                'beltlineName': '8-D绉戠爺宸ユ',
-                'dayTime': '2023-09-28',
-                'lineRate': 0.2000,
-                'processingLong': 17280.0000,
-                'openingLong': 17280.0000,
-                'collectDate': '2023-10-05 00:25:01'
-              },
-              {
-                'code': '000000014828',
-                'factoryID': 'A',
-                'beltlineID': 'A_8',
-                'beltlineName': '8-D绉戠爺宸ユ',
-                'dayTime': '2023-09-29',
-                'lineRate': 0.2000,
-                'processingLong': 17280.0000,
-                'openingLong': 17280.0000,
-                'collectDate': '2023-10-05 00:25:01'
-              },
-              {
-                'code': '000000014817',
-                'factoryID': 'A',
-                'beltlineID': 'A_8',
-                'beltlineName': '8-D绉戠爺宸ユ',
-                'dayTime': '2023-09-30',
-                'lineRate': 0.2000,
-                'processingLong': 17280.0000,
-                'openingLong': 17280.0000,
-                'collectDate': '2023-10-05 00:25:01'
-              },
-              {
-                'code': '000000014806',
-                'factoryID': 'A',
-                'beltlineID': 'A_8',
-                'beltlineName': '8-D绉戠爺宸ユ',
-                'dayTime': '2023-10-01',
-                'lineRate': 0.2000,
-                'processingLong': 17280.0000,
-                'openingLong': 17280.0000,
-                'collectDate': '2023-10-05 00:25:01'
-              },
-              {
-                'code': '000000014795',
-                'factoryID': 'A',
-                'beltlineID': 'A_8',
-                'beltlineName': '8-D绉戠爺宸ユ',
-                'dayTime': '2023-10-02',
-                'lineRate': 0.2000,
-                'processingLong': 17280.0000,
-                'openingLong': 17280.0000,
-                'collectDate': '2023-10-05 00:25:01'
-              },
-              {
-                'code': '000000014784',
-                'factoryID': 'A',
-                'beltlineID': 'A_8',
-                'beltlineName': '8-D绉戠爺宸ユ',
-                'dayTime': '2023-10-03',
-                'lineRate': 0.2000,
-                'processingLong': 17280.0000,
-                'openingLong': 17280.0000,
-                'collectDate': '2023-10-05 00:25:01'
-              },
-              {
-                'code': '000000014773',
-                'factoryID': 'A',
-                'beltlineID': 'A_8',
-                'beltlineName': '8-D绉戠爺宸ユ',
-                'dayTime': '2023-10-04',
-                'lineRate': 0.2000,
-                'processingLong': 17280.0000,
-                'openingLong': 17280.0000,
-                'collectDate': '2023-10-05 00:25:01'
-              }
-            ]
-          },
-          {
-            'beltlineID': 'A_9',
-            'beltlineName': '鐢熶骇瀹�',
-            'fullName': '鐢熶骇瀹�',
-            'list': [
-              {
-                'code': '000000014840',
-                'factoryID': 'A',
-                'beltlineID': 'A_9',
-                'beltlineName': '鐢熶骇瀹�',
-                'dayTime': '2023-09-28',
-                'lineRate': 0.0000,
-                'processingLong': 0.0000,
-                'openingLong': 0.0000,
-                'collectDate': '2023-10-05 00:25:01'
-              },
-              {
-                'code': '000000014829',
-                'factoryID': 'A',
-                'beltlineID': 'A_9',
-                'beltlineName': '鐢熶骇瀹�',
-                'dayTime': '2023-09-29',
-                'lineRate': 0.0000,
-                'processingLong': 0.0000,
-                'openingLong': 0.0000,
-                'collectDate': '2023-10-05 00:25:01'
-              },
-              {
-                'code': '000000014818',
-                'factoryID': 'A',
-                'beltlineID': 'A_9',
-                'beltlineName': '鐢熶骇瀹�',
-                'dayTime': '2023-09-30',
-                'lineRate': 0.0000,
-                'processingLong': 0.0000,
-                'openingLong': 0.0000,
-                'collectDate': '2023-10-05 00:25:01'
-              },
-              {
-                'code': '000000014807',
-                'factoryID': 'A',
-                'beltlineID': 'A_9',
-                'beltlineName': '鐢熶骇瀹�',
-                'dayTime': '2023-10-01',
-                'lineRate': 0.0000,
-                'processingLong': 0.0000,
-                'openingLong': 0.0000,
-                'collectDate': '2023-10-05 00:25:01'
-              },
-              {
-                'code': '000000014796',
-                'factoryID': 'A',
-                'beltlineID': 'A_9',
-                'beltlineName': '鐢熶骇瀹�',
-                'dayTime': '2023-10-02',
-                'lineRate': 0.0000,
-                'processingLong': 0.0000,
-                'openingLong': 0.0000,
-                'collectDate': '2023-10-05 00:25:01'
-              },
-              {
-                'code': '000000014785',
-                'factoryID': 'A',
-                'beltlineID': 'A_9',
-                'beltlineName': '鐢熶骇瀹�',
-                'dayTime': '2023-10-03',
-                'lineRate': 0.0000,
-                'processingLong': 0.0000,
-                'openingLong': 0.0000,
-                'collectDate': '2023-10-05 00:25:01'
-              },
-              {
-                'code': '000000014774',
-                'factoryID': 'A',
-                'beltlineID': 'A_9',
-                'beltlineName': '鐢熶骇瀹�',
-                'dayTime': '2023-10-04',
-                'lineRate': 0.0000,
-                'processingLong': 0.0000,
-                'openingLong': 0.0000,
-                'collectDate': '2023-10-05 00:25:01'
-              }
-            ]
-          },
-          {
-            'beltlineID': 'A_10',
-            'beltlineName': 'JD-2鍐涘搧鏈哄姞',
-            'fullName': 'JD-2鍐涘搧鏈哄姞',
-            'list': [
-              {
-                'code': '000000014832',
-                'factoryID': 'A',
-                'beltlineID': 'A_10',
-                'beltlineName': 'JD-2鍐涘搧鏈哄姞',
-                'dayTime': '2023-09-28',
-                'lineRate': 0.0000,
-                'processingLong': 0.0000,
-                'openingLong': 0.0000,
-                'collectDate': '2023-10-05 00:25:01'
-              },
-              {
-                'code': '000000014821',
-                'factoryID': 'A',
-                'beltlineID': 'A_10',
-                'beltlineName': 'JD-2鍐涘搧鏈哄姞',
-                'dayTime': '2023-09-29',
-                'lineRate': 0.0000,
-                'processingLong': 0.0000,
-                'openingLong': 0.0000,
-                'collectDate': '2023-10-05 00:25:01'
-              },
-              {
-                'code': '000000014810',
-                'factoryID': 'A',
-                'beltlineID': 'A_10',
-                'beltlineName': 'JD-2鍐涘搧鏈哄姞',
-                'dayTime': '2023-09-30',
-                'lineRate': 0.0000,
-                'processingLong': 0.0000,
-                'openingLong': 0.0000,
-                'collectDate': '2023-10-05 00:25:01'
-              },
-              {
-                'code': '000000014799',
-                'factoryID': 'A',
-                'beltlineID': 'A_10',
-                'beltlineName': 'JD-2鍐涘搧鏈哄姞',
-                'dayTime': '2023-10-01',
-                'lineRate': 0.0000,
-                'processingLong': 0.0000,
-                'openingLong': 0.0000,
-                'collectDate': '2023-10-05 00:25:01'
-              },
-              {
-                'code': '000000014788',
-                'factoryID': 'A',
-                'beltlineID': 'A_10',
-                'beltlineName': 'JD-2鍐涘搧鏈哄姞',
-                'dayTime': '2023-10-02',
-                'lineRate': 0.0000,
-                'processingLong': 0.0000,
-                'openingLong': 0.0000,
-                'collectDate': '2023-10-05 00:25:01'
-              },
-              {
-                'code': '000000014777',
-                'factoryID': 'A',
-                'beltlineID': 'A_10',
-                'beltlineName': 'JD-2鍐涘搧鏈哄姞',
-                'dayTime': '2023-10-03',
-                'lineRate': 0.0000,
-                'processingLong': 0.0000,
-                'openingLong': 0.0000,
-                'collectDate': '2023-10-05 00:25:01'
-              },
-              {
-                'code': '000000014766',
-                'factoryID': 'A',
-                'beltlineID': 'A_10',
-                'beltlineName': 'JD-2鍐涘搧鏈哄姞',
-                'dayTime': '2023-10-04',
-                'lineRate': 0.0000,
-                'processingLong': 0.0000,
-                'openingLong': 0.0000,
-                'collectDate': '2023-10-05 00:25:00'
-              }
-            ]
-          },
-          {
-            'beltlineID': '鎬诲巶',
-            'beltlineName': '鎬诲巶',
-            'fullName': null,
-            'list': [
-              {
-                'code': '000000014841',
-                'factoryID': 'A',
-                'beltlineID': '鎬诲巶',
-                'beltlineName': '鎬诲巶',
-                'dayTime': '2023-09-28',
-                'lineRate': 0.0400,
-                'processingLong': 3456.0000,
-                'openingLong': 3456.0000,
-                'collectDate': '2023-10-05 00:25:01'
-              },
-              {
-                'code': '000000014830',
-                'factoryID': 'A',
-                'beltlineID': '鎬诲巶',
-                'beltlineName': '鎬诲巶',
-                'dayTime': '2023-09-29',
-                'lineRate': 0.0400,
-                'processingLong': 3456.0000,
-                'openingLong': 3456.0000,
-                'collectDate': '2023-10-05 00:25:01'
-              },
-              {
-                'code': '000000014819',
-                'factoryID': 'A',
-                'beltlineID': '鎬诲巶',
-                'beltlineName': '鎬诲巶',
-                'dayTime': '2023-09-30',
-                'lineRate': 0.0400,
-                'processingLong': 3456.0000,
-                'openingLong': 3456.0000,
-                'collectDate': '2023-10-05 00:25:01'
-              },
-              {
-                'code': '000000014808',
-                'factoryID': 'A',
-                'beltlineID': '鎬诲巶',
-                'beltlineName': '鎬诲巶',
-                'dayTime': '2023-10-01',
-                'lineRate': 0.0400,
-                'processingLong': 3456.0000,
-                'openingLong': 3456.0000,
-                'collectDate': '2023-10-05 00:25:01'
-              },
-              {
-                'code': '000000014797',
-                'factoryID': 'A',
-                'beltlineID': '鎬诲巶',
-                'beltlineName': '鎬诲巶',
-                'dayTime': '2023-10-02',
-                'lineRate': 0.0400,
-                'processingLong': 3456.0000,
-                'openingLong': 3456.0000,
-                'collectDate': '2023-10-05 00:25:01'
-              },
-              {
-                'code': '000000014786',
-                'factoryID': 'A',
-                'beltlineID': '鎬诲巶',
-                'beltlineName': '鎬诲巶',
-                'dayTime': '2023-10-03',
-                'lineRate': 0.0400,
-                'processingLong': 3456.0000,
-                'openingLong': 3456.0000,
-                'collectDate': '2023-10-05 00:25:01'
-              },
-              {
-                'code': '000000014775',
-                'factoryID': 'A',
-                'beltlineID': '鎬诲巶',
-                'beltlineName': '鎬诲巶',
-                'dayTime': '2023-10-04',
-                'lineRate': 0.0400,
-                'processingLong': 3456.0000,
-                'openingLong': 3456.0000,
-                'collectDate': '2023-10-05 00:25:01'
-              }
-            ]
-          }
-        ]
-        const seriesArr = []
-        const xAxisData = []
-        const option = {
-          color: ['#538dd6', '#ffff01', '#0bae8d', '#e26c0a', '#F6E1BE', '#7030a0', '#0ad0bb', '#FF9297', '#A40035'],
-          tooltip: {
-            trigger: 'axis',
-            textStyle: {
-              fontSize: '60%'
-            }
-          },
-          legend: {
-            //type:'scroll',
-            show: false,
-            width: '100%',
-            height: 8,
-            itemWidth: 12,
-            itemGap: 5,
-            itemHeight: 10,
-            textStyle: {
-              fontSize: '0%',
-              color: '#fff'
-            }
-          },
-          grid: {
-            left: '1%',
-            right: '5%',
-            bottom: '1%',
-            top: '5%',
-            containLabel: true
-          },
-          'dataZoom': [
-
-            {
-              'type': 'inside',
-              'show': true,
-              'xAxisIndex': [
-                0
-              ],
-              'start': 0,
-              'end': 100
-            }
-          ],
-          xAxis: {
-            type: 'category',
-            name: '',
-            // min:-35,
-            // boundaryGap: false,
-            data: [],
-            axisLabel: {
-              color: '#fff',
-              rotate: 45,
-              fontSize: '55%'
-            },
-            axisLine: {
-              lineStyle: {
-                color: '#fff'
-              }
-            }
-          },
-          yAxis: {
-            type: 'value',
-            name: '',
-            axisLabel: {
-              formatter: '{value} %',
-              color: '#fff',
-              fontSize: '70%'
-            },
-            axisLine: {
-              show: true,
-              lineStyle: {
-                color: '#fff'
-              }
-            },
-            splitLine: {
-              show: false
-            }
-          },
-          series: []
-        }
-        data.forEach(item1 => {
-          const dataArr = []
-          item1.list.forEach(item2 => {
-            dataArr.push({
-              value: this.toDecimal2NoZero(item2.lineRate * 100),
-              hostType: (item2.dayTime == null ? '' : item2.dayTime)
-            })
-            xAxisData.push(item2.dayTime == null ? '' : item2.dayTime.slice(5))
-          })
-          if (item1.beltlineName == '鎬诲巶') {
-            seriesArr.push({
-              name: item1.beltlineName,
-              type: 'line',
-              lineStyle: { width: 4, color: '#9cff45' },
-              itemStyle: { color: '#50ff45' },
-              symbol: 'circle',
-              data: dataArr
-            })
-          } else {
-            seriesArr.push({
-              name: item1.fullName,
-              type: 'line',
-              lineStyle: { width: 2 },
-              symbol: 'circle',
-              data: dataArr
-            })
-          }
-        })
-        option.xAxis.data = Array.from(new Set(xAxisData))
-        option.series = seriesArr
-        this.rightColChart2.setOption(option, true)
-      },
-
-      /* 缁樺埗鍙充晶绗笁涓浘琛� */
-      drawRightColChart3() {
-        const data = [
-          {
-            'number': 'A_1',
-            'name': '1-D鐗圭宸ヨ壓',
-            'count': 0.0000,
-            'planCount': null,
-            'rateCount': null
-          },
-          {
-            'number': 'A_2',
-            'name': '2-D鏁翠綋鏈哄專',
-            'count': 0.0000,
-            'planCount': null,
-            'rateCount': null
-          },
-          {
-            'number': 'A_3',
-            'name': '3-D鐕冪儳瀹ゆ満鍖�',
-            'count': 0.0000,
-            'planCount': null,
-            'rateCount': null
-          },
-          {
-            'number': 'A_4',
-            'name': '4-D鐒婃帴鏈哄專宸ユ',
-            'count': 0.1333,
-            'planCount': null,
-            'rateCount': null
-          },
-          {
-            'number': 'A_5',
-            'name': '5-D CRIC鍗曞厓',
-            'count': 0.0000,
-            'planCount': null,
-            'rateCount': null
-          },
-          {
-            'number': 'A_6',
-            'name': '6-D椋庢墖鍗曞厓',
-            'count': 0.0667,
-            'planCount': null,
-            'rateCount': null
-          },
-          {
-            'number': 'A_7',
-            'name': '7-D娑¤疆鏈哄專',
-            'count': 0,
-            'planCount': null,
-            'rateCount': null
-          },
-          {
-            'number': 'A_8',
-            'name': '8-D绉戠爺宸ユ',
-            'count': 0.2000,
-            'planCount': null,
-            'rateCount': null
-          },
-          {
-            'number': 'A_9',
-            'name': '鐢熶骇瀹�',
-            'count': 0.0000,
-            'planCount': null,
-            'rateCount': null
-          },
-          {
-            'number': 'A_10',
-            'name': 'JD-2鍐涘搧鏈哄姞',
-            'count': 0.0000,
-            'planCount': null,
-            'rateCount': null
-          }
-        ]
-        const xAxisData = []
-        const seriesData = []
-        const option = {
-          tooltip: {
-            show: true,
-            trigger: 'item',
-            formatter: params => `${params.name}锛�${params.value}%`
-          },
-          legend: {
-            show: false,
-            data: [],
-            itemWidth: 12,
-            itemHeight: 12,
-            textStyle: {    //鍥句緥鏂囧瓧鐨勬牱寮�
-              //fontSize:14,
-              color: '#fff'
-            }
-          },
-          grid: {
-            left: '3%',
-            right: '4%',
-            bottom: '-3%',
-            top: '5%',
-            containLabel: true
-          },
-          xAxis: [
-            {
-              type: 'category',
-              data: [],
-              axisLine: {
-                lineStyle: {
-                  color: '#fff'
-                }
-              },
-              axisLabel: {
-                color: '#fff',
-                rotate: 45,
-                fontSize: '55%'
-              }
-            }
-          ],
-          yAxis: [
-            {
-              type: 'value',
-              data: [],
-              axisLine: {
-                show: true,
-                lineStyle: {
-                  color: '#fff'
-                }
-              },
-              axisLabel: {
-                formatter: '{value} %',
-                color: '#fff',
-                fontSize: '70%'
-              },
-              splitLine: {
-                lineStyle: {
-                  color: '#626262'
-                }
-              }
-            }
-          ],
-          dataZoom: [
-            {
-              type: 'inside',
-              show: true,
-              xAxisIndex: [0],
-              start: 0,
-              end: 100
-            }
-          ],
-          series: [
-            {
-              name: '鍒╃敤鐜�',
-              type: 'bar',
-              barWidth: '50%',//鏌卞浘瀹藉害
-              data: [],
-              label: {
-                show: true,
-                position: 'inside',
-                padding: [1, 2],
-                fontSize: '60%',
-                color: '#fff',
-                formatter: '{c}%',
-                backgroundColor: '#4fb327',
-                shadowColor: '#153e04',
-                shadowBlur: 5,
-                shadowOffsetX: 3,
-                shadowOffsetY: 5,
-                borderRadius: 5
-              },
-              //barCategoryGap:'180%',
-              itemStyle: {
-                normal: {
-                  barBorderRadius: '',
-                  color: function(params) {
-                    const colorList = [
-                      //1-D鐗圭宸ヨ壓鍗曞厓
-                      new echarts.graphic.LinearGradient(
-                        0, 0, 1, 0,
-                        [
-                          { offset: 0, color: '#9cc4f6' },
-                          { offset: 1, color: '#538dd6' }
-                        ]
-                      ),
-                      new echarts.graphic.LinearGradient(
-                        0, 0, 1, 0,
-                        [
-                          { offset: 0, color: '#ffffa2' },
-                          { offset: 1, color: '#ffff01' }
-                        ]
-                      ),
-                      new echarts.graphic.LinearGradient(
-                        0, 0, 1, 0,
-                        [
-                          { offset: 0, color: '#97fcc5' },
-                          { offset: 1, color: '#0bae8d' }
-                        ]
-                      ),
-                      new echarts.graphic.LinearGradient(
-                        0, 0, 1, 0,
-                        [
-                          { offset: 0, color: '#ffbc85' },
-                          { offset: 1, color: '#e26c0a' }
-                        ]
-                      ),
-                      new echarts.graphic.LinearGradient(
-                        0, 0, 1, 0,
-                        [
-                          { offset: 0, color: '#fb78ba' },
-                          { offset: 1, color: '#8f0149' }
-                        ]
-                      ),
-                      new echarts.graphic.LinearGradient(
-                        0, 0, 1, 0,
-                        [
-                          //鐜欢鍗曞厓
-                          { offset: 0, color: '#d297ff' },
-                          { offset: 1, color: '#7030a0' }
-                        ]
-                      ),
-                      new echarts.graphic.LinearGradient(
-                        0, 0, 1, 0,
-                        [
-                          { offset: 0, color: '#ffe491' },
-                          { offset: 1, color: '#8f6c00' }
-                        ]
-                      ),
-                      new echarts.graphic.LinearGradient(
-                        0, 0, 1, 0,
-                        [
-                          { offset: 0, color: '#ffb6b9' },
-                          { offset: 1, color: '#fd4c53' }
-                        ]
-                      ), new echarts.graphic.LinearGradient(
-                        0, 0, 1, 0,
-                        [
-                          { offset: 0, color: '#92cbba' },
-                          { offset: 1, color: '#18a387' }
-                        ]
-                      ), new echarts.graphic.LinearGradient(
-                        0, 0, 1, 0,
-                        [
-                          { offset: 0, color: '#ff5b62' },
-                          { offset: 1, color: '#a02100' }
-                        ]
-                      )/*,new echarts.graphic.LinearGradient(
-                                0, 0, 1, 0,
-                                [
-                                    {offset: 0, color: '#bbbcff'},
-                                    {offset: 1, color: '#04078e'}
-                                ]
-                            )*/, new echarts.graphic.LinearGradient(
-                        0, 0, 1, 0,
-                        [
-                          { offset: 0, color: '#b5d5e3' },
-                          { offset: 1, color: '#1b8bd0' }
-                        ]
-                      ), new echarts.graphic.LinearGradient(
-                        0, 0, 1, 0,
-                        [
-                          //涓皬鏈哄專鍗曞厓
-                          { offset: 0, color: '#ebd3ff' },
-                          { offset: 1, color: '#e889ff' }
-                        ]
-                      ), new echarts.graphic.LinearGradient(
-                        0, 0, 1, 0,
-                        [
-                          { offset: 0, color: '#D69123' },
-                          { offset: 1, color: '#a16900' }
-                        ]
-                      ), new echarts.graphic.LinearGradient(
-                        0, 0, 1, 0,
-                        [
-                          //浣庡帇瀵煎悜
-                          { offset: 0, color: '#d588c8' },
-                          { offset: 1, color: '#9545AE' }
-                        ]
-                      ), new echarts.graphic.LinearGradient(
-                        0, 0, 1, 0,
-                        [
-                          //浣庡帇鍙剁墖 1 4
-                          { offset: 0, color: '#97abd6' },
-                          { offset: 1, color: '#6268b2' }
-                        ]
-                      ), new echarts.graphic.LinearGradient(
-                        0, 0, 1, 0,
-                        [
-                          { offset: 0, color: '#d7dab2' },
-                          { offset: 1, color: '#b8aa15' }
-                        ]
-                      ), new echarts.graphic.LinearGradient(
-                        0, 0, 1, 0,
-                        [
-                          { offset: 0, color: '#e9c9b0' },
-                          { offset: 1, color: '#D9646A' }
-                        ]
-                      ), new echarts.graphic.LinearGradient(
-                        0, 0, 1, 0,
-                        [
-                          { offset: 0, color: '#a4e3d6' },
-                          { offset: 1, color: '#01A55E' }
-                        ]
-                      ), new echarts.graphic.LinearGradient(
-                        0, 0, 1, 0,
-                        [
-
-                          { offset: 0, color: '#2052b1' },
-                          { offset: 1, color: '#002b73' }
-                        ]
-                      ), new echarts.graphic.LinearGradient(
-                        0, 0, 1, 0,
-                        [
-                          //鐩樹欢鍗曞厓
-                          { offset: 0, color: '#3e71e2' },
-                          { offset: 1, color: '#0042c8' }
-                        ]
-                      ), new echarts.graphic.LinearGradient(
-                        0, 0, 1, 0,
-                        [
-                          //缁撴瀯浠跺崟鍏�
-                          { offset: 0, color: '#99d6cf' },
-                          { offset: 1, color: '#21bf90' }
-                        ]
-                      )
-                      , new echarts.graphic.LinearGradient(
-                        0, 0, 1, 0,
-                        [
-                          //  7-D
-                          { offset: 0, color: '#99d6cf' },
-                          { offset: 1, color: '#0ad0bb' }
-                        ]
-                      )
-                      , new echarts.graphic.LinearGradient(
-                        0, 0, 1, 0,
-                        [
-                          { offset: 0, color: '#FF9297' },
-                          { offset: 1, color: '#FF9297' }
-                        ]
-                      ),
-                      new echarts.graphic.LinearGradient(
-                        0, 0, 1, 0,
-                        [
-                          { offset: 0, color: '#fb78ba' },
-                          { offset: 1, color: '#ff77dc' }
-                        ]
-                      ),
-                      //涓�鍘�
-                      new echarts.graphic.LinearGradient(
-                        0, 0, 1, 0,
-                        [
-                          { offset: 0, color: '#9cc4f6' },
-                          { offset: 1, color: '#538dd6' }
-                        ]
-                      ),
-                      new echarts.graphic.LinearGradient(
-                        0, 0, 1, 0,
-                        [
-                          { offset: 0, color: '#ffffa2' },
-                          { offset: 1, color: '#ffff01' }
-                        ]
-                      ),
-                      new echarts.graphic.LinearGradient(
-                        0, 0, 1, 0,
-                        [
-                          { offset: 0, color: '#0bae8d' },
-                          { offset: 1, color: '#0bae8d' }
-                        ]
-                      ),
-                      new echarts.graphic.LinearGradient(
-                        0, 0, 1, 0,
-                        [
-                          { offset: 0, color: '#ffbc85' },
-                          { offset: 1, color: '#e26c0a' }
-                        ]
-                      ),
-                      new echarts.graphic.LinearGradient(
-                        0, 0, 1, 0,
-                        [
-                          { offset: 0, color: '#97abd6' },
-                          { offset: 1, color: '#842cb2' }
-                        ]
-                      ),
-                      new echarts.graphic.LinearGradient(
-                        0, 0, 1, 0,
-                        [
-                          { offset: 0, color: '#99d6cf' },
-                          { offset: 1, color: '#0ad0bb' }
-                        ]
-                      ),
-                      new echarts.graphic.LinearGradient(
-                        0, 0, 1, 0,
-                        [
-                          { offset: 0, color: '#FF9297' },
-                          { offset: 1, color: '#FF9297' }
-                        ]
-                      ),
-                      new echarts.graphic.LinearGradient(
-                        0, 0, 1, 0,
-                        [
-                          { offset: 0, color: '#fb78ba' },
-                          { offset: 1, color: '#ff77dc' }
-                        ]
-                      )
-                    ]
-                    if (params.name == '1-D鐗圭宸ヨ壓' || params.name == '鍘嬫皵鏈轰竴' || params.name == '1-D鐗圭宸ヨ壓鍗曞厓') {
-                      return colorList[24]
-                    }
-                    if (params.name == '2-D鏁翠綋鏈哄專' || params.name == '2-D鏁翠綋鏈哄專鍗曞厓') {
-                      return colorList[25]
-                    }
-                    if (params.name == '3-D鐕冪儳瀹ゆ満鍖�' || params.name == '鐕冪儳瀹ゆ満鍖�' || params.name == '3-D鍘嬫皵鏈烘満鍖e崟鍏�' || params.name == '3-D鍘嬫皵鏈烘満鍖�') {
-                      return colorList[26]
-                    }
-                    if (params.name == '4-D鐒婃帴鏈哄專宸ユ' || params.name == '涓夊伐娈�' || params.name == '鏀灦灏忕幆浠跺崟鍏�' || params.name == '4-D鐒婃帴鏈哄專鍗曞厓') {
-                      return colorList[27]
-                    }
-                    if (params.name == '5-D CRIC鍗曞厓' || params.name == '10-D閮ㄤ欢瑁呴厤鍗曞厓') {
-                      return colorList[4]
-                    }
-                    if (params.name == '6-D椋庢墖鍗曞厓' || params.name == '6-D椋庢墖鏈哄專鍗曞厓') {
-                      return colorList[28]
-                    }
-                    if (params.name == '7-D娑¤疆鏈哄專' || params.name == '7-D娑¤疆鏈哄專鍗曞厓') {
-                      return colorList[29]
-                    }
-                    if (params.name == '8-D绉戠爺宸ユ' || params.name == '绉戠爺宸ユ' || params.name == '8-D绉戠爺鍗曞厓') {
-                      return colorList[30]
-                    }
-                    if (params.name == '10-D閮ㄤ欢瑁呴厤' || params.name == '10-D閮ㄤ欢瑁呴厤鍗曞厓') {
-                      return colorList[31]
-                    }
-                    if (params.name == 'JD-2鍐涘搧鏈哄姞' || params.name == '鍐涘搧鏈哄姞宸ユ' || params.name == '鍥涘伐娈�') {
-                      return colorList[8]
-                    }
-                    if (params.name == '10-D鐢熶骇瀹�' || params.name == 'IGV鍙剁墖') {
-                      return colorList[9]
-                    }
-
-                    if (params.name == '浜斿伐娈�') {
-                      return colorList[10]
-                    }
-                    if (params.name == '鍏伐娈�' || params.name == '涓皬鏈哄專鍗曞厓') {
-                      return colorList[11]
-                    }
-                    if (params.name == '娑¤疆鍙剁墖') {
-                      return colorList[12]
-                    }
-                    if (params.name == '浣庡帇瀵煎悜') {
-                      return colorList[13]
-                    }
-                    if (params.name == '浣庡帇鍙剁墖') {
-                      return colorList[14]
-                    }
-                    if (params.name == '瀵煎悜鍙剁墖') {
-                      return colorList[15]
-                    }
-                    if (params.name == '鍘嬫皵鏈轰簩') {
-                      return colorList[16]
-                    }
-                    if (params.name == '鏁存祦涓�') {
-                      return colorList[17]
-                    }
-                    if (params.name == '鏁存祦浜�') {
-                      return colorList[19]
-                    }
-                    if (params.name == '涓�宸ユ' || params.name == '鐩樹欢鍗曞厓') {
-                      return colorList[19]
-                    }
-                    if (params.name == '浜屽伐娈�' || params.name == '缁撴瀯浠跺崟鍏�') {
-                      return colorList[20]
-                    }
-                    if (params.name == '涓冨伐娈�' || params.name == '鐜欢鍗曞厓') {
-                      return colorList[5]
-                    }
-                    // build a color map as your need.
-
-                    //return colorList[params.dataIndex]
-                  }
-                },
-                emphasis: {
-                  barBorderRadius: 13,
-                  shadowBlur: 18,
-                  shadowColor: 'rgba(218,170, 58, 0.8)'
-                }
-              }
-            }
-          ]
-        }
-        data.forEach(item => {
-          if (item.number != 'A_9') {
-            xAxisData.push(item.name == null ? '' : item.name)
-            seriesData.push({
-              value: this.toDecimal2NoZero(((item.count == null ? '' : item.count) * 100) > 100 ? 100 : (((item.count == null ? '' : item.count) * 100))),
-              hostType: (item.number == null ? '' : item.number)
-            })
-          }
-        })
-        option.xAxis[0].data = xAxisData
-        option.series[0].data = seriesData
-        this.rightColChart3.setOption(option, true)
       },
 
       //淇濈暀涓や綅灏忔暟
       toDecimal2NoZero(x) {
         const f = Math.round(x * 100) / 100
-        const s = f.toString()
-        return s
-      },
-
-      navigateTo(record) {
-        if (!record.navigateMethod) {
-          this.$router.push(`/DncWorkshopSignage/${record.navigateUrl}`)
-        } else {
-          const url = this.$router.resolve(`${record.navigateUrl}/${id}`).href
-          window.open(url, '_blank')
-        }
+        return f.toString()
       },
 
       /**
-       * 绐楀彛灏哄鍙樺寲鏃惰Е鍙�
-       * 璋冩暣鍥捐〃灏哄浠ラ�傚簲鍒嗚鲸鐜�
+       * 鍥剧墖棰勮
+       * @param text 鍥剧墖鍦板潃
        */
-      handleWindowResize() {
-        if (this.leftColChart1) this.leftColChart1.resize()
-        if (this.rightColChart1) this.rightColChart1.resize()
-        if (this.rightColChart2) this.rightColChart2.resize()
-        if (this.rightColChart3) this.rightColChart3.resize()
+      getImgView(text) {
+        if (text && text.indexOf(',') > 0) {
+          text = text.substring(0, text.indexOf(','))
+        }
+        return getFileAccessHttpUrl(text)
+      },
+
+      getCurrentDeviceStatusImage(status) {
+        const currentStatus = this.equipmentStatusList.find(item => item.value.includes(status))
+        return currentStatus.statusImage
       }
     }
   }
 </script>
 
-<style lang="less" scoped>
+<style lang="less">
   .full-screen {
     width: 100%;
-    height: 100%;
+    height: 1080px;
     background-color: #000;
     display: flex;
     justify-content: center;
@@ -5934,34 +4118,10 @@
       display: flex;
       justify-content: space-between;
       align-items: center;
+      overflow: auto;
 
-      .middle-col {
-        position: relative;
-        width: 67%;
-        height: 100%;
-        border: 0.1vw solid #0104AB;
-        background-image: url("../../../assets/workshopLayout3.png");
-        background-size: 100% 100%;
-        background-repeat: no-repeat;
-
-        .navigate-container {
-          position: absolute;
-          top: 1.5%;
-          left: 1%;
-
-          .navigate-item {
-            margin-top: 6%;
-
-            img {
-              width: 28%;
-              cursor: pointer;
-            }
-          }
-        }
-      }
-
-      .left-col, .right-col {
-        width: 16%;
+      .left-col {
+        flex: 1;
         height: 100%;
         display: flex;
         flex-direction: column;
@@ -5969,15 +4129,15 @@
 
         .col-content {
           width: 100%;
-          height: 24.25%;
-          border: 0.1vw solid #0104AB;
+          height: 19.5%;
+          border: 0.1vw solid #666;
           color: #fff;
           display: flex;
           flex-direction: column;
 
           .content-title {
             font-size: 0.9vw;
-            padding-left: 5%;
+            padding: 1% 5%;
           }
 
           .content-footer-container {
@@ -6003,24 +4163,93 @@
               height: 100% !important;
             }
           }
+        }
+      }
 
-          .equipment-state-container {
-            display: flex;
-            flex-direction: column;
-            justify-content: space-evenly;
-            width: 50%;
-            font-size: 0.6vw;
+      .right-col {
+        position: relative;
+        width: 1500px;
+        height: 1065px;
+        margin-left: 0.5%;
+        /*background-image: url("../../../assets/WorskhopSignage/103.png");*/
+        background-color: #000;
+        background-size: 100% 100%;
+        background-repeat: no-repeat;
+        overflow: hidden;
 
-            img {
-              width: 10%;
-              margin-right: 5%;
-            }
+        .single-device {
+          position: absolute;
+          border: 1px solid transparent;
+          padding: 10px;
+          display: flex;
+          flex-direction: column;
+          align-items: center;
+          justify-content: space-between;
+          cursor: default;
+
+          &:active {
+            border: 1px solid #1890ff;
           }
 
-          .server-status {
-            font-size: 0.8vw;
-            padding-left: 10%;
-            height: 12%;
+          .device-status {
+            width: 100%;
+            height: 100%;
+            display: flex;
+            -webkit-align-items: flex-end;
+            -moz-align-items: flex-end;
+            -ms-align-items: flex-end;
+
+            .device-image {
+              background-size: 100% 100%;
+              background-repeat: no-repeat;
+              width: 100%;
+              height: 100%;
+              position: relative;
+              margin-bottom: 10px;
+
+              .status-image {
+                position: absolute;
+                top: 25%;
+                left: 25%;
+                background-size: 100% 100%;
+                background-repeat: no-repeat;
+                width: 50%;
+                height: 50%;
+              }
+            }
+          }
+        }
+
+        .guideline {
+          position: absolute;
+          border: 1px dashed #fff;
+        }
+
+        .guidelineX {
+          width: 9999px;
+          left: 0;
+        }
+
+        .guidelineY {
+          top: 0;
+          height: 9999px;
+        }
+
+        form {
+          position: absolute;
+          right: 0;
+          bottom: 0;
+
+          label {
+            color: #fff;
+          }
+
+          .ant-switch {
+            background-color: #999;
+          }
+
+          .ant-switch-checked {
+            background-color: #1890FF;
           }
         }
       }

--
Gitblit v1.9.3