| 
					
				 | 
			
			
				@@ -1,232 +1,288 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 <template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  <moduleEnclosure title="近30天累计工单统计"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    <div id="main4" style="width: 100%; height: 100%"></div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  </moduleEnclosure> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	<moduleEnclosure title="近30天累计工单统计"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		<div id="main4" style="width: 100%; height: 100%"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			<div class="mode mode1"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				<div class="title">工单类型</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				<div class="text">累计安装台数</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				<div class="text">累计维修台数</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				<div class="text">累计清洗台数</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				<div class="text">增值服务工单</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				<div class="text">维修工程工单</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			<div class="mode mode2"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				<div class="title">数量</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				<div class="text">123412</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				<div class="text">1225</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				<div class="text">342</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				<div class="text">234234</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				<div class="text">6234</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			<div class="mode mode3"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				<div class="title">占比</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				<div class="up">12%<i class="el-icon-top"></i></div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				<div class="up">45%<i class="el-icon-top"></i></div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				<div class="down">11%<i class="el-icon-bottom"></i></div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				<div class="up">20%<i class="el-icon-top"></i></div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				<div class="down">12%<i class="el-icon-bottom"></i></div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	</moduleEnclosure> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 <script> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import moduleEnclosure from '@/components/moduleEnclosure.vue'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import * as echarts from 'echarts'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import { getQuery9 } from '@/api/bigView.js'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import { csize } from '@/utils/const.js'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-let myChart1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  components: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    moduleEnclosure, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  data() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    return { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      myChart: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  mounted() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    this.timeId = getQuery9((res) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      this.eac(res.data); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }, 60000); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  beforeUnmount() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    this.timeId(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  methods: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    eac(value) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      var names = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      var fz = 2000; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      var values1 = [...value].sort((a, b) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return b.cut - a.cut; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      var values2 = [...value].sort((a, b) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return b.machine_num - a.machine_num; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      for (var i = 0; i < 4; i++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        var name1 = values1[i].sales_type; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        var name2 = values2[i].sales_type; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (!~names.indexOf(name1)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          names.push(name1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (!~names.indexOf(name2)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          names.push(name2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      var obj = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        sales_type: '其他', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        cut: 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        machine_num: 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      var list = value.filter((item) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          ~names.indexOf(item.sales_type) || 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          item.cut > fz || 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          item.machine_num > fz 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        ) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          obj.cut += item.cut; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          obj.machine_num += item.machine_num; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      list.push(obj); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      var dataAxis = list.map((item) => item.sales_type); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      var data1 = list.map((item) => item.cut); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      var data2 = list.map((item) => item.machine_num); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      var option = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        tooltip: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          trigger: 'axis', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          formatter: function (params) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            var res = '新增工单' + ' : ' + params[0].value + '<br/>'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            res += '设备总量' + ' : ' + params[1].value + '<br/>'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            return `<div style="color:#fff;"><div>${params[0].name}</div>${res}</div>`; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          transitionDuration: 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          backgroundColor: '#092a66', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          borderColor: '#0462b5', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          borderRadius: 8, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          borderWidth: 2, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          padding: [5, 10], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          axisPointer: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            type: 'line', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            lineStyle: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              type: 'dashed', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              color: '#8AB1DC', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        title: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          text: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          subtext: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        legend: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          icon: 'circle', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          itemWidth: 8, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          itemHeight: 8, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          itemGap: 10, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          top: '16', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          right: '10', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          data: ['新增工单', '设备总量'], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          textStyle: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            fontSize: csize(16), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            color: '#8AB1DC', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        grid: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          x: csize(65), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          y: csize(50), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          x2: csize(30), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          y2: csize(30), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        xAxis: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          data: dataAxis, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          axisLabel: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            /*inside: true,*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            interval: 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            textStyle: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              fontSize: csize(16), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          axisTick: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            show: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          axisLine: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            show: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            symbol: ['none', 'arrow'], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            symbolOffset: 12, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            lineStyle: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              fontSize: csize(12), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              color: '#8AB1DC', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        yAxis: [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            type: 'value', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            name: '单', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            nameTextStyle: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              fontSize: csize(16), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            axisLine: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              show: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              lineStyle: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                color: '#8AB1DC', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            axisLabel: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              margin: 10, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              textStyle: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                fontSize: csize(12), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            splitLine: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              lineStyle: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                color: '#364D95', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            axisTick: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              show: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        dataZoom: [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            type: 'inside', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        series: [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            name: '新增工单', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            type: 'bar', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            barGap: 0.2, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            barWidth: 8, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            itemStyle: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              normal: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                show: true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    offset: 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    color: '#35d4cb', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    offset: 1, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    color: '#3cf8ed', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                ]), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                barBorderRadius: 10, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            data: data1, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            name: '设备总量', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            type: 'bar', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            barGap: 0.2, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            barWidth: 8, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            itemStyle: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              normal: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                show: true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    offset: 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    color: '#3077bd', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    offset: 1, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    color: '#3d99fd', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                ]), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                barBorderRadius: 10, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            data: data2, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      if (myChart1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        myChart1.dispose(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      myChart1 = new echarts.init(document.getElementById('main4')); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      myChart1.setOption(option); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	import moduleEnclosure from '@/components/moduleEnclosure.vue'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	import * as echarts from 'echarts'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	import { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		getQuery9 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} from '@/api/bigView.js'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	import { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		csize 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} from '@/utils/const.js'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	let myChart1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		components: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			moduleEnclosure, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		data() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			return { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				myChart: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		mounted() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			this.timeId = getQuery9((res) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				this.eac(res.data); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			}, 60000); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		beforeUnmount() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			this.timeId(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		methods: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			eac(value) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				var names = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				var fz = 2000; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				var values1 = [...value].sort((a, b) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					return b.cut - a.cut; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				var values2 = [...value].sort((a, b) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					return b.machine_num - a.machine_num; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				for (var i = 0; i < 4; i++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					var name1 = values1[i].sales_type; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					var name2 = values2[i].sales_type; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					if (!~names.indexOf(name1)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						names.push(name1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					if (!~names.indexOf(name2)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						names.push(name2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				var obj = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					sales_type: '其他', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					cut: 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					machine_num: 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				var list = value.filter((item) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					if ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						~names.indexOf(item.sales_type) || 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						item.cut > fz || 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						item.machine_num > fz 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					} else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						obj.cut += item.cut; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						obj.machine_num += item.machine_num; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				list.push(obj); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				var dataAxis = list.map((item) => item.sales_type); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				var data1 = list.map((item) => item.cut); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				var data2 = list.map((item) => item.machine_num); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				var option = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					tooltip: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						trigger: 'axis', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						formatter: function(params) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							var res = '新增工单' + ' : ' + params[0].value + '<br/>'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							res += '设备总量' + ' : ' + params[1].value + '<br/>'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							return `<div style="color:#fff;"><div>${params[0].name}</div>${res}</div>`; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						transitionDuration: 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						backgroundColor: '#092a66', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						borderColor: '#0462b5', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						borderRadius: 8, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						borderWidth: 2, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						padding: [5, 10], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						axisPointer: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							type: 'line', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							lineStyle: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								type: 'dashed', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								color: '#8AB1DC', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					title: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						text: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						subtext: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					legend: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						icon: 'circle', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						itemWidth: 8, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						itemHeight: 8, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						itemGap: 10, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						top: '16', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						right: '10', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						data: ['新增工单', '设备总量'], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						textStyle: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							fontSize: csize(16), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							color: '#8AB1DC', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					grid: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						x: csize(65), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						y: csize(50), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						x2: csize(30), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						y2: csize(30), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					xAxis: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						data: dataAxis, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						axisLabel: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							/*inside: true,*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							interval: 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							textStyle: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								fontSize: csize(16), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						axisTick: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							show: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						axisLine: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							show: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							symbol: ['none', 'arrow'], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							symbolOffset: 12, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							lineStyle: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								fontSize: csize(12), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								color: '#8AB1DC', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					yAxis: [{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						type: 'value', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						name: '单', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						nameTextStyle: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							fontSize: csize(16), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						axisLine: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							show: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							lineStyle: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								color: '#8AB1DC', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						axisLabel: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							margin: 10, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							textStyle: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								fontSize: csize(12), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						splitLine: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							lineStyle: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								color: '#364D95', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						axisTick: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							show: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					}, ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					dataZoom: [{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						type: 'inside', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					}, ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					series: [{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							name: '新增工单', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							type: 'bar', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							barGap: 0.2, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							barWidth: 8, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							itemStyle: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								normal: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+									show: true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+									color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+											offset: 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+											color: '#35d4cb', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+										}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+										{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+											offset: 1, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+											color: '#3cf8ed', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+										}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+									]), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+									barBorderRadius: 10, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							data: data1, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							name: '设备总量', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							type: 'bar', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							barGap: 0.2, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							barWidth: 8, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							itemStyle: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								normal: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+									show: true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+									color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+											offset: 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+											color: '#3077bd', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+										}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+										{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+											offset: 1, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+											color: '#3d99fd', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+										}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+									]), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+									barBorderRadius: 10, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							data: data2, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				if (myChart1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					myChart1.dispose(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				myChart1 = new echarts.init(document.getElementById('main4')); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				myChart1.setOption(option); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 </script> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<style></style> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<style scoped lang="scss"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	#main4 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		display: flex; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		padding-top: 20px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.mode { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			line-height: 34px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			.title { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				font-size: 18px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				color: #1a8dc8; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			.text { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				color: #ffffff; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			.up { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				color: #e4f824; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			.down { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				color: #c81637; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.mode1{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			width: 40%; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.mode2{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			width: 40%; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.mode3{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			width: 20%; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+</style> 
			 |