Merge pull request 'zjl' (#23) from zjl into master
	
		
			
	
		
	
	
		
	
		
			All checks were successful
		
		
	
	
		
			
				
	
				continuous-integration/drone/push Build is passing
				
			
		
		
	
	
				
					
				
			
		
			All checks were successful
		
		
	
	continuous-integration/drone/push Build is passing
				
			Reviewed-on: #23
This commit is contained in:
		
							
								
								
									
										1
									
								
								dist/css/1076.287b70f6.css
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								dist/css/1076.287b70f6.css
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1 @@
 | 
			
		||||
.main-box[data-v-14745c10]{width:100%;padding:0 6px 0 16px}.main-box .left-box[data-v-14745c10]{padding-top:16px;border-radius:8px;background-color:#fff}.main-box .right-bottom[data-v-14745c10],.main-box .top-left[data-v-14745c10],.main-box .top-right[data-v-14745c10]{padding:16px 10px 0;border-radius:8px;background-color:#fff}.main-box .left-box[data-v-14745c10]{overflow-y:auto;height:calc(100vh - 204px)}.main-box .right-bottom[data-v-14745c10],.main-box .top-left[data-v-14745c10],.main-box .top-right[data-v-14745c10]{height:calc(50vh - 107px)}.main-box .top-left .title[data-v-14745c10],.main-box .top-right .title[data-v-14745c10]{display:inline-block;margin-right:8px;margin-bottom:22px}.main-box .top-left .title[data-v-14745c10]:before,.main-box .top-right .title[data-v-14745c10]:before{content:"";display:inline-block;width:4px;height:16px;background:#0b58ff;border-radius:1px;margin-right:8px;vertical-align:middle}.main-box .top-left .icon-style[data-v-14745c10],.main-box .top-right .icon-style[data-v-14745c10]{font-size:14px;margin-left:18px;cursor:pointer}.main-box .right-bottom[data-v-14745c10]{margin-top:10px}
 | 
			
		||||
							
								
								
									
										1
									
								
								dist/css/1653.72b2e894.css
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								dist/css/1653.72b2e894.css
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1 @@
 | 
			
		||||
.main-box[data-v-afb2cca2]{width:100%;padding:8px 6px 0 16px}.main-box .left-box[data-v-afb2cca2],.main-box .right-box[data-v-afb2cca2]{border-radius:8px;background-color:#fff;height:calc(100vh - 148px)}.main-box .left-box[data-v-afb2cca2]{padding:16px 10px 0;overflow-y:auto}.main-box .right-box[data-v-afb2cca2]{padding:16px}
 | 
			
		||||
							
								
								
									
										1
									
								
								dist/css/1965.1dc83e33.css
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								dist/css/1965.1dc83e33.css
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1 @@
 | 
			
		||||
.glassWasteReport .el-table{display:flex;flex-direction:column}.glassWasteReport .el-table__body-wrapper{order:1}.glassWasteReport .el-table__fixed-body-wrapper{top:116px!important}.glassWasteReport .el-table__fixed-footer-wrapper{z-index:0;top:81px!important}.wasteMachineReport .el-table thead.is-group tr:first-of-type th:first-of-type{border-bottom:none}.wasteMachineReport .el-table thead.is-group tr:first-of-type th:first-of-type div.cell{text-align:right}.wasteMachineReport .el-table th.el-table__cell{height:28px}.wasteMachineReport .el-table thead.is-group tr:first-of-type th:first-of-type:before{content:"";position:absolute;height:35px;top:0;left:60px;background-color:#ebeef5;transform:rotate(-35deg);transform-origin:top;width:1px}.wasteMachineReport .el-table thead.is-group tr:last-of-type th:first-of-type:before{content:"";position:absolute;height:35px;top:0;left:80px;background-color:#ebeef5;transform:rotate(-35deg);transform-origin:top;width:1px}.wasteLocationReport .el-table thead.is-group tr:first-of-type th:first-of-type{border-bottom:none}.wasteLocationReport .el-table thead.is-group tr:first-of-type th:first-of-type div.cell{text-align:right}.wasteLocationReport .el-table th.el-table__cell{height:28px}.wasteLocationReport .el-table thead.is-group tr:first-of-type th:first-of-type:before{content:"";position:absolute;height:35px;top:0;left:48px;background-color:#ebeef5;transform:rotate(-35deg);transform-origin:top;width:1px}.wasteLocationReport .el-table thead.is-group tr:last-of-type th:first-of-type:before{content:"";position:absolute;height:35px;top:0;left:68px;background-color:#ebeef5;transform:rotate(-35deg);transform-origin:top;width:1px}.glassDefectReport .baseMsg{font-size:14px;height:40px;line-height:40px;display:flex;border:1px solid #e8e8e8;border-radius:4px;margin-bottom:20px}.glassDefectReport .baseMsg li{width:25%;text-align:center;padding:0 10px;border-right:1px solid #e8e8e8;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.glassDefectReport .baseMsg li span{font-weight:600}.glassDefectReport .el-table thead.is-group tr:first-of-type th:first-of-type{border-bottom:none}.glassDefectReport .el-table thead.is-group tr:first-of-type th:first-of-type div.cell{text-align:right}.glassDefectReport .el-table th.el-table__cell{height:28px}.glassDefectReport .el-table thead.is-group tr:first-of-type th:first-of-type:before{content:"";position:absolute;height:35px;top:0;left:48px;background-color:#ebeef5;transform:rotate(-35deg);transform-origin:top;width:1px}.glassDefectReport .el-table thead.is-group tr:last-of-type th:first-of-type:before{content:"";position:absolute;height:35px;top:0;left:68px;background-color:#ebeef5;transform:rotate(-35deg);transform-origin:top;width:1px}.finalInspectionData[data-v-4f3b2616]{width:100%}.finalInspectionData .box-top[data-v-4f3b2616]{width:100%;padding:8px 16px 0}.finalInspectionData .box-top .search-box[data-v-4f3b2616]{height:62px;padding:10px 16px;box-sizing:border-box;border-radius:8px;background-color:#fff}.finalInspectionData .box[data-v-4f3b2616]{width:100%;padding:8px 8px 0 16px}.finalInspectionData .box .left-box[data-v-4f3b2616],.finalInspectionData .box .right-box[data-v-4f3b2616]{height:calc(100vh - 220px);padding:16px;border-radius:8px;background-color:#fff}.finalInspectionData .box .left-box .table-box[data-v-4f3b2616],.finalInspectionData .box .right-box .table-box[data-v-4f3b2616]{margin-top:16px;height:calc(100vh - 290px);overflow:auto}.finalInspectionData .box .left-box .table-button[data-v-4f3b2616]{display:inline-block;height:30px;width:100%;text-align:center;padding-top:4px;margin-bottom:16px;font-size:14px;color:#0b58ff;border-radius:4px;border:1px dotted #0b58ff;cursor:pointer}.finalInspectionData .box .right-box .title[data-v-4f3b2616]:before{content:"";display:inline-block;width:4px;height:16px;background:#0b58ff;border-radius:1px;margin-right:8px;vertical-align:middle}
 | 
			
		||||
							
								
								
									
										1
									
								
								dist/css/3101.e4d7b530.css
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								dist/css/3101.e4d7b530.css
									
									
									
									
										vendored
									
									
								
							@@ -1 +0,0 @@
 | 
			
		||||
.main-box[data-v-7a447aa0]{width:100%;padding:0 6px 0 16px}.main-box .left-box[data-v-7a447aa0]{padding-top:16px;border-radius:8px;background-color:#fff}.main-box .right-bottom[data-v-7a447aa0],.main-box .top-left[data-v-7a447aa0],.main-box .top-right[data-v-7a447aa0]{padding:16px 10px 0;border-radius:8px;background-color:#fff}.main-box .left-box[data-v-7a447aa0]{overflow-y:auto;height:calc(100vh - 204px)}.main-box .right-bottom[data-v-7a447aa0],.main-box .top-left[data-v-7a447aa0],.main-box .top-right[data-v-7a447aa0]{height:calc(50vh - 107px)}.main-box .top-left .title[data-v-7a447aa0],.main-box .top-right .title[data-v-7a447aa0]{display:inline-block;margin-right:8px;margin-bottom:22px}.main-box .top-left .title[data-v-7a447aa0]:before,.main-box .top-right .title[data-v-7a447aa0]:before{content:"";display:inline-block;width:4px;height:16px;background:#0b58ff;border-radius:1px;margin-right:8px;vertical-align:middle}.main-box .top-left .icon-style[data-v-7a447aa0],.main-box .top-right .icon-style[data-v-7a447aa0]{font-size:14px;margin-left:18px;cursor:pointer}.main-box .right-bottom[data-v-7a447aa0]{margin-top:10px}
 | 
			
		||||
							
								
								
									
										1
									
								
								dist/css/3518.19eda3d0.css
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								dist/css/3518.19eda3d0.css
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1 @@
 | 
			
		||||
.root-box[data-v-690601c2]{height:calc(29.2vh - 45.552px);width:calc(100vw - 280px);position:relative}.root-box .canvas[data-v-690601c2]{position:absolute}.bottom-box[data-v-49c7aca2],.top-box[data-v-49c7aca2]{background-color:#fff;margin:8px 16px 0!important;border-radius:4px}.top-box[data-v-49c7aca2]{height:calc(32vh - 49.92px)}.bottom-box[data-v-49c7aca2]{height:calc(68vh - 106.08px);padding:0 16px 16px}.bottom-box .area .title[data-v-49c7aca2]{display:inline-block;font-size:14px;color:#000;margin:14px 0}.bottom-box .area .title[data-v-49c7aca2]:before{content:"";display:inline-block;width:4px;height:16px;background:#0b58ff;border-radius:1px;margin-right:8px;vertical-align:middle}
 | 
			
		||||
							
								
								
									
										1
									
								
								dist/css/3712.047b69e1.css
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								dist/css/3712.047b69e1.css
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1 @@
 | 
			
		||||
.detail-box .column-box .box .tip-value[data-v-63ceee10]{display:block}.detail-box .column-box .box .tip[data-v-63ceee10]{display:inline-block;background-color:#cae2ff;border-radius:2px;color:#288aff;padding:4px}.detail-box .border-right[data-v-63ceee10]{border-right:1px solid #e8e8e8}.statistics[data-v-3a8e1127]{padding:0 24px}.statistics .title[data-v-3a8e1127]{display:inline-block;margin:24px 0 16px 0}.statistics .title[data-v-3a8e1127]:before{content:"";display:inline-block;width:4px;height:16px;background:#0b58ff;border-radius:1px;margin-right:8px;vertical-align:middle}.main-box[data-v-946347de]{margin-top:8px}.main-box .top-box[data-v-946347de]{width:100%}.main-box .top-box .top-left[data-v-946347de],.main-box .top-box .top-right[data-v-946347de]{height:calc(49vh - 76.44px);background-color:#fff;border-radius:8px}.main-box .top-box .top-left .titleStyle[data-v-946347de]{font-weight:600;color:rgba(0,0,0,.9);vertical-align:top}.main-box .top-box .top-left .line-order-msg[data-v-946347de]{display:flex}.main-box .top-box .top-left .line-order-msg li .title[data-v-946347de]{display:inline-block}.main-box .top-box .top-left .line-order-msg li .title[data-v-946347de]:before{content:"";display:inline-block;width:4px;height:16px;background:#0b58ff;border-radius:1px;margin-right:8px;vertical-align:middle}.main-box .top-box .top-left .line-order-msg li .num-box[data-v-946347de]{border-right:1px solid #ccc}.main-box .top-box .top-left .line-order-msg li .plan_num[data-v-946347de],.main-box .top-box .top-left .line-order-msg li .product_num[data-v-946347de]{width:100%;border-radius:8px}.main-box .top-box .top-left .line-order-msg li .plan_num .num[data-v-946347de],.main-box .top-box .top-left .line-order-msg li .product_num .num[data-v-946347de]{color:rgba(0,0,0,.85);margin-bottom:6px}.main-box .top-box .top-left .line-order-msg li .plan_num .words[data-v-946347de],.main-box .top-box .top-left .line-order-msg li .product_num .words[data-v-946347de]{font-size:14px;color:rgba(0,0,0,.45)}.main-box .top-box .top-left .line-order-msg li .plan_num[data-v-946347de]{background:#fff8e8}.main-box .top-box .top-left .line-order-msg li .product_num[data-v-946347de]{background:#e3ffeb}.main-box .bottom-box[data-v-946347de]{height:calc(51vh - 79.56px);background-color:#fff;border-radius:8px;margin:8px 8px 0 0}
 | 
			
		||||
							
								
								
									
										1
									
								
								dist/css/5271.3daf5a00.css
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								dist/css/5271.3daf5a00.css
									
									
									
									
										vendored
									
									
								
							@@ -1 +0,0 @@
 | 
			
		||||
.finalInspectionData[data-v-6bd3173e]{width:100%}.finalInspectionData .box-top[data-v-6bd3173e]{width:100%;padding:8px 16px 0}.finalInspectionData .box-top .search-box[data-v-6bd3173e]{height:62px;padding:10px 16px;box-sizing:border-box;border-radius:8px;background-color:#fff}.finalInspectionData .box[data-v-6bd3173e]{width:100%;padding:8px 8px 0 16px}.finalInspectionData .box .left-box[data-v-6bd3173e],.finalInspectionData .box .right-box[data-v-6bd3173e]{height:calc(100vh - 220px);padding:16px;border-radius:8px;background-color:#fff}.finalInspectionData .box .left-box .table-box[data-v-6bd3173e],.finalInspectionData .box .right-box .table-box[data-v-6bd3173e]{margin-top:16px;height:calc(100vh - 290px);overflow:auto}.finalInspectionData .box .left-box .table-button[data-v-6bd3173e]{display:inline-block;height:30px;width:100%;text-align:center;padding-top:4px;margin-bottom:16px;font-size:14px;color:#0b58ff;border-radius:4px;border:1px dotted #0b58ff;cursor:pointer}.finalInspectionData .box .right-box .title[data-v-6bd3173e]:before{content:"";display:inline-block;width:4px;height:16px;background:#0b58ff;border-radius:1px;margin-right:8px;vertical-align:middle}
 | 
			
		||||
							
								
								
									
										1
									
								
								dist/css/5640.25c30150.css
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								dist/css/5640.25c30150.css
									
									
									
									
										vendored
									
									
								
							@@ -1 +0,0 @@
 | 
			
		||||
.detail-box .column-box .box .tip-value[data-v-c54b9290]{display:block}.detail-box .column-box .box .tip[data-v-c54b9290]{display:inline-block;background-color:#cae2ff;border-radius:2px;color:#288aff;padding:4px}.detail-box .border-right[data-v-c54b9290]{border-right:1px solid #e8e8e8}.statistics[data-v-3a8e1127]{padding:0 24px}.statistics .title[data-v-3a8e1127]{display:inline-block;margin:24px 0 16px 0}.statistics .title[data-v-3a8e1127]:before{content:"";display:inline-block;width:4px;height:16px;background:#0b58ff;border-radius:1px;margin-right:8px;vertical-align:middle}.main-box[data-v-8efea692]{margin-top:8px}.main-box .top-box[data-v-8efea692]{width:100%}.main-box .top-box .top-left[data-v-8efea692],.main-box .top-box .top-right[data-v-8efea692]{height:calc(49vh - 76.44px);background-color:#fff;border-radius:8px}.main-box .top-box .top-left .titleStyle[data-v-8efea692]{font-weight:600;color:rgba(0,0,0,.9);vertical-align:top}.main-box .top-box .top-left .line-order-msg[data-v-8efea692]{display:flex}.main-box .top-box .top-left .line-order-msg li .title[data-v-8efea692]{display:inline-block}.main-box .top-box .top-left .line-order-msg li .title[data-v-8efea692]:before{content:"";display:inline-block;width:4px;height:16px;background:#0b58ff;border-radius:1px;margin-right:8px;vertical-align:middle}.main-box .top-box .top-left .line-order-msg li .num-box[data-v-8efea692]{border-right:1px solid #ccc}.main-box .top-box .top-left .line-order-msg li .plan_num[data-v-8efea692],.main-box .top-box .top-left .line-order-msg li .product_num[data-v-8efea692]{width:100%;border-radius:8px}.main-box .top-box .top-left .line-order-msg li .plan_num .num[data-v-8efea692],.main-box .top-box .top-left .line-order-msg li .product_num .num[data-v-8efea692]{color:rgba(0,0,0,.85);margin-bottom:6px}.main-box .top-box .top-left .line-order-msg li .plan_num .words[data-v-8efea692],.main-box .top-box .top-left .line-order-msg li .product_num .words[data-v-8efea692]{font-size:14px;color:rgba(0,0,0,.45)}.main-box .top-box .top-left .line-order-msg li .plan_num[data-v-8efea692]{background:#fff8e8}.main-box .top-box .top-left .line-order-msg li .product_num[data-v-8efea692]{background:#e3ffeb}.main-box .bottom-box[data-v-8efea692]{height:calc(51vh - 79.56px);background-color:#fff;border-radius:8px;margin:8px 8px 0 0}
 | 
			
		||||
							
								
								
									
										1
									
								
								dist/css/6354.776e0649.css
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								dist/css/6354.776e0649.css
									
									
									
									
										vendored
									
									
								
							@@ -1 +0,0 @@
 | 
			
		||||
.main-box[data-v-97276a96]{width:100%;padding:8px 6px 0 16px}.main-box .left-box[data-v-97276a96],.main-box .right-box[data-v-97276a96]{border-radius:8px;background-color:#fff;height:calc(100vh - 148px)}.main-box .left-box[data-v-97276a96]{padding:16px 10px 0;overflow-y:auto}.main-box .right-box[data-v-97276a96]{padding:16px}
 | 
			
		||||
@@ -1 +1 @@
 | 
			
		||||
.home_module_title[data-v-632946fd]{padding:16px 16px 0}.home_module_title .iconStyle[data-v-632946fd]{margin-right:8px}.home_module_title .titleStyle[data-v-632946fd]{font-weight:600;color:rgba(0,0,0,.9);vertical-align:top}.capacity_box[data-v-7b29d162],.material_box[data-v-01601021]{padding:12px 23px 0}.device_alarm[data-v-8c9c62bc]{display:flex;flex-flow:row wrap}.device_alarm .alarm_item[data-v-8c9c62bc]{width:20%;border-right:1px solid #ccc;border-bottom:1px solid #ccc}.device_alarm .alarm_item .alarm_tip[data-v-8c9c62bc]{color:#000}.device_alarm .alarm_item .alarm_tip .alarm_num[data-v-8c9c62bc]{display:inline-block;color:#fff;margin-left:4px;padding:1px 4px;border-radius:4px}.device_alarm .alarm_item .alarm_tip .class_red[data-v-8c9c62bc]{background:#f55;box-shadow:0 2px 5px 0 hsla(0,97%,71%,.6)}.device_alarm .alarm_item .alarm_tip .class_green[data-v-8c9c62bc]{background:#50d277;box-shadow:0 2px 5px 0 rgba(80,210,119,.6)}.device_alarm .alarm_item .icon-style[data-v-8c9c62bc]{margin:8px 5px 0 0;vertical-align:middle}.device_alarm .alarm_item .alarm_yellow[data-v-8c9c62bc]{color:#ffb750}.device_alarm .alarm_item .alarm_grey[data-v-8c9c62bc]{color:#aaa}.device_alarm .alarm_item .alarm_green[data-v-8c9c62bc]{color:#50d277}.device_alarm .alarm_item .sub_name[data-v-8c9c62bc]{vertical-align:middle;color:#000;opacity:.55}.device_alarm .alarm_item .special_item[data-v-8c9c62bc]{position:relative}.device_alarm .alarm_item .model_style[data-v-8c9c62bc]{display:none;color:#454545;padding:2px;background:#f2f4f9;border-radius:2px;vertical-align:middle}.device_alarm .alarm_item .model_style .separate_color[data-v-8c9c62bc]{color:#dcdfe6}.device_alarm .alarm_item .model_style2[data-v-8c9c62bc]{position:absolute;top:5px;line-height:10px}.device_alarm .alarm_item .model_style2 p[data-v-8c9c62bc]:after{content:"";display:inline-block;height:1px;width:100%;position:relative;top:-3px;background-color:#dcdfe6;margin-left:2px}.device_alarm .alarm_item:hover .model_style[data-v-8c9c62bc]{display:inline-block}.device_alarm[data-v-8c9c62bc] :nth-child(10),.device_alarm[data-v-8c9c62bc] :nth-child(15),.device_alarm[data-v-8c9c62bc] :nth-child(5){border-right:0}.device_alarm[data-v-8c9c62bc] :nth-child(16),.device_alarm[data-v-8c9c62bc] :nth-child(17),.device_alarm[data-v-8c9c62bc] :nth-child(18),.device_alarm[data-v-8c9c62bc] :nth-child(19){border-bottom:0}.device_alarm[data-v-8c9c62bc] :last-child{border-right:0;border-bottom:0}.home_progress .el-progress-bar__inner{background:linear-gradient(270deg,#4bc4ff,#0b58ff)}.product_area[data-v-37f51472]{display:flex}.product_area .box_left[data-v-37f51472],.product_area .box_right[data-v-37f51472]{width:50%;height:calc(50vh - 154px)}.product_area .box_left .title[data-v-37f51472],.product_area .box_right .title[data-v-37f51472]{color:#000}.product_area .box_left .title[data-v-37f51472] :first-child,.product_area .box_right .title[data-v-37f51472] :first-child{margin-right:24px}.product_area .box_left .title[data-v-37f51472]:before,.product_area .box_right .title[data-v-37f51472]:before{content:"";display:inline-block;width:4px;height:16px;background:#0b58ff;border-radius:1px;margin-right:8px;vertical-align:middle}.product_area .box_left[data-v-37f51472]{border-right:1px solid #dcdfe6;padding-right:18px}.product_area .box_left .plan_num[data-v-37f51472],.product_area .box_left .product_num[data-v-37f51472]{width:100%;border-radius:8px}.product_area .box_left .plan_num .num[data-v-37f51472],.product_area .box_left .product_num .num[data-v-37f51472]{color:rgba(0,0,0,.85)}.product_area .box_left .plan_num .words[data-v-37f51472],.product_area .box_left .product_num .words[data-v-37f51472]{font-size:14px;color:rgba(0,0,0,.45)}.product_area .box_left .plan_num[data-v-37f51472]{background:#fff8e8}.product_area .box_left .product_num[data-v-37f51472]{background:#e3ffeb}.product_area .progress_box[data-v-37f51472]{color:#000}.product_area .progress_box .blue_color[data-v-37f51472]{color:#0d5bff;float:right;margin-bottom:8px}.home-container .title-bar[data-v-30952e46]{height:52px;background-color:#fff}.home-container .title-bar .tip[data-v-30952e46]{font-size:18px;font-weight:600;color:#000;display:inline-block;margin:10px 20px 0 32px}.home-container .kanban-container[data-v-30952e46]{padding:8px 16px}.home-container .kanban-container .area1[data-v-30952e46],.home-container .kanban-container .area2[data-v-30952e46],.home-container .kanban-container .area3[data-v-30952e46],.home-container .kanban-container .area4[data-v-30952e46]{height:calc(50vh - 84px);border-radius:4px;background-color:#fff}.home-container .kanban-container .area1[data-v-30952e46],.home-container .kanban-container .area2[data-v-30952e46]{margin-bottom:8px;overflow:scroll}
 | 
			
		||||
.home_module_title[data-v-632946fd]{padding:16px 16px 0}.home_module_title .iconStyle[data-v-632946fd]{margin-right:8px}.home_module_title .titleStyle[data-v-632946fd]{font-weight:600;color:rgba(0,0,0,.9);vertical-align:top}.capacity_box[data-v-7b29d162],.material_box[data-v-01601021]{padding:12px 23px 0}.device_alarm[data-v-8c9c62bc]{display:flex;flex-flow:row wrap}.device_alarm .alarm_item[data-v-8c9c62bc]{width:20%;border-right:1px solid #ccc;border-bottom:1px solid #ccc}.device_alarm .alarm_item .alarm_tip[data-v-8c9c62bc]{color:#000}.device_alarm .alarm_item .alarm_tip .alarm_num[data-v-8c9c62bc]{display:inline-block;color:#fff;margin-left:4px;padding:1px 4px;border-radius:4px}.device_alarm .alarm_item .alarm_tip .class_red[data-v-8c9c62bc]{background:#f55;box-shadow:0 2px 5px 0 hsla(0,97%,71%,.6)}.device_alarm .alarm_item .alarm_tip .class_green[data-v-8c9c62bc]{background:#50d277;box-shadow:0 2px 5px 0 rgba(80,210,119,.6)}.device_alarm .alarm_item .icon-style[data-v-8c9c62bc]{margin:8px 5px 0 0;vertical-align:middle}.device_alarm .alarm_item .alarm_yellow[data-v-8c9c62bc]{color:#ffb750}.device_alarm .alarm_item .alarm_grey[data-v-8c9c62bc]{color:#aaa}.device_alarm .alarm_item .alarm_green[data-v-8c9c62bc]{color:#50d277}.device_alarm .alarm_item .sub_name[data-v-8c9c62bc]{vertical-align:middle;color:#000;opacity:.55}.device_alarm .alarm_item .special_item[data-v-8c9c62bc]{position:relative}.device_alarm .alarm_item .model_style[data-v-8c9c62bc]{display:none;color:#454545;padding:2px;background:#f2f4f9;border-radius:2px;vertical-align:middle}.device_alarm .alarm_item .model_style .separate_color[data-v-8c9c62bc]{color:#dcdfe6}.device_alarm .alarm_item .model_style2[data-v-8c9c62bc]{position:absolute;top:5px;line-height:10px}.device_alarm .alarm_item .model_style2 p[data-v-8c9c62bc]:after{content:"";display:inline-block;height:1px;width:100%;position:relative;top:-3px;background-color:#dcdfe6;margin-left:2px}.device_alarm .alarm_item:hover .model_style[data-v-8c9c62bc]{display:inline-block}.device_alarm[data-v-8c9c62bc] :nth-child(10),.device_alarm[data-v-8c9c62bc] :nth-child(15),.device_alarm[data-v-8c9c62bc] :nth-child(5){border-right:0}.device_alarm[data-v-8c9c62bc] :nth-child(16),.device_alarm[data-v-8c9c62bc] :nth-child(17),.device_alarm[data-v-8c9c62bc] :nth-child(18),.device_alarm[data-v-8c9c62bc] :nth-child(19){border-bottom:0}.device_alarm[data-v-8c9c62bc] :last-child{border-right:0;border-bottom:0}.home_progress .el-progress-bar__inner{background:linear-gradient(270deg,#4bc4ff,#0b58ff)}.product_area[data-v-093ac14a]{display:flex}.product_area .box_left[data-v-093ac14a],.product_area .box_right[data-v-093ac14a]{width:50%;height:calc(50vh - 154px)}.product_area .box_left .title[data-v-093ac14a],.product_area .box_right .title[data-v-093ac14a]{color:#000}.product_area .box_left .title[data-v-093ac14a] :first-child,.product_area .box_right .title[data-v-093ac14a] :first-child{margin-right:24px}.product_area .box_left .title[data-v-093ac14a]:before,.product_area .box_right .title[data-v-093ac14a]:before{content:"";display:inline-block;width:4px;height:16px;background:#0b58ff;border-radius:1px;margin-right:8px;vertical-align:middle}.product_area .box_left[data-v-093ac14a]{border-right:1px solid #dcdfe6;padding-right:18px}.product_area .box_left .plan_num[data-v-093ac14a],.product_area .box_left .product_num[data-v-093ac14a]{width:100%;border-radius:8px}.product_area .box_left .plan_num .num[data-v-093ac14a],.product_area .box_left .product_num .num[data-v-093ac14a]{color:rgba(0,0,0,.85)}.product_area .box_left .plan_num .words[data-v-093ac14a],.product_area .box_left .product_num .words[data-v-093ac14a]{font-size:14px;color:rgba(0,0,0,.45)}.product_area .box_left .plan_num[data-v-093ac14a]{background:#fff8e8}.product_area .box_left .product_num[data-v-093ac14a]{background:#e3ffeb}.product_area .progress_box[data-v-093ac14a]{color:#000}.product_area .progress_box .blue_color[data-v-093ac14a]{color:#0d5bff;float:right;margin-bottom:8px}.home-container .title-bar[data-v-30952e46]{height:52px;background-color:#fff}.home-container .title-bar .tip[data-v-30952e46]{font-size:18px;font-weight:600;color:#000;display:inline-block;margin:10px 20px 0 32px}.home-container .kanban-container[data-v-30952e46]{padding:8px 16px}.home-container .kanban-container .area1[data-v-30952e46],.home-container .kanban-container .area2[data-v-30952e46],.home-container .kanban-container .area3[data-v-30952e46],.home-container .kanban-container .area4[data-v-30952e46]{height:calc(50vh - 84px);border-radius:4px;background-color:#fff}.home-container .kanban-container .area1[data-v-30952e46],.home-container .kanban-container .area2[data-v-30952e46]{margin-bottom:8px;overflow:scroll}
 | 
			
		||||
@@ -1 +1 @@
 | 
			
		||||
.bottom-box[data-v-5624e103]{overflow-x:auto;display:flex}.bottom-box .bottom-left[data-v-5624e103],.bottom-box .bottom-right[data-v-5624e103]{display:inline-block}.bottom-box .bottom-left[data-v-5624e103]{width:290px;margin-right:8px}.bottom-box .bottom-left .dataTab li[data-v-5624e103]{width:65px}.bottom-box .bottom-right[data-v-5624e103]{width:calc(100% - 300px)}.bottom-box .bottom-right .dataTab li[data-v-5624e103]{width:7.7%;min-width:60px}.title[data-v-5624e103]{display:inline-block;height:66px;width:30px;font-size:14px;line-height:14px;font-weight:500;padding:5px 8px 0;color:rgba(0,0,0,.85);background-color:#fafafa;border-top-left-radius:5px;border-bottom-left-radius:5px}.dataTab[data-v-5624e103]{display:flex;flex-flow:row nowrap}.dataTab li[data-v-5624e103]{font-size:14px;border-right:1px solid #e8e8e8;border-bottom:1px solid #e8e8e8}.dataTab li p[data-v-5624e103]{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.dataTab li .tabHead[data-v-5624e103]{height:31px;background:#e9ebf0}.dataTab li .tabHead[data-v-5624e103],.dataTab li .tabValue[data-v-5624e103]{padding:8px}.dataTab li .tabValue[data-v-5624e103]{height:35px}.box[data-v-1c347a00]{position:relative}.box .text1[data-v-1c347a00],.box .text2[data-v-1c347a00],.box .text3[data-v-1c347a00],.box .text4[data-v-1c347a00]{position:absolute}.box .text1[data-v-1c347a00]{top:30px;left:0}.box .text2[data-v-1c347a00]{top:30px;right:0}.box .text3[data-v-1c347a00]{bottom:10px;left:0}.box .text4[data-v-1c347a00]{bottom:10px;right:0}.defectScatterPlot[data-v-71b0f520]{height:calc(100vh - 206px);overflow:auto}.defectScatterPlot .split-pane[data-v-71b0f520]{height:100%;border-radius:8px}.defectScatterPlot .left-box[data-v-71b0f520]{margin-left:16px;padding:16px 16px 0;background-color:#fff}.defectScatterPlot .right-box[data-v-71b0f520]{margin-right:16px}.defectScatterPlot .right-box .inner-box[data-v-71b0f520]{height:100%;margin-left:16px;padding:16px 16px 0;border-radius:8px;overflow:auto;background-color:#fff;font-size:14px}.defectScatterPlot .right-box .inner-box .line1[data-v-71b0f520]{margin-bottom:18px}.defectScatterPlot .right-box .inner-box .line2[data-v-71b0f520]{margin-bottom:12px}.defectScatterPlot .right-box .inner-box .line2 .el-checkbox[data-v-71b0f520]{margin-right:8px}.defectScatterPlot .title[data-v-71b0f520]{font-size:14px;color:rgba(0,0,0,.85)}.defectScatterPlot .title[data-v-71b0f520]:before{content:"";display:inline-block;width:4px;height:16px;background:#0b58ff;border-radius:1px;vertical-align:middle;margin-right:8px}
 | 
			
		||||
.bottom-box[data-v-5624e103]{overflow-x:auto;display:flex}.bottom-box .bottom-left[data-v-5624e103],.bottom-box .bottom-right[data-v-5624e103]{display:inline-block}.bottom-box .bottom-left[data-v-5624e103]{width:290px;margin-right:8px}.bottom-box .bottom-left .dataTab li[data-v-5624e103]{width:65px}.bottom-box .bottom-right[data-v-5624e103]{width:calc(100% - 300px)}.bottom-box .bottom-right .dataTab li[data-v-5624e103]{width:7.7%;min-width:60px}.title[data-v-5624e103]{display:inline-block;height:66px;width:30px;font-size:14px;line-height:14px;font-weight:500;padding:5px 8px 0;color:rgba(0,0,0,.85);background-color:#fafafa;border-top-left-radius:5px;border-bottom-left-radius:5px}.dataTab[data-v-5624e103]{display:flex;flex-flow:row nowrap}.dataTab li[data-v-5624e103]{font-size:14px;border-right:1px solid #e8e8e8;border-bottom:1px solid #e8e8e8}.dataTab li p[data-v-5624e103]{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.dataTab li .tabHead[data-v-5624e103]{height:31px;background:#e9ebf0}.dataTab li .tabHead[data-v-5624e103],.dataTab li .tabValue[data-v-5624e103]{padding:8px}.dataTab li .tabValue[data-v-5624e103]{height:35px}.box[data-v-2ee4d940]{position:relative}.box .text1[data-v-2ee4d940],.box .text2[data-v-2ee4d940],.box .text3[data-v-2ee4d940],.box .text4[data-v-2ee4d940]{position:absolute}.box .text1[data-v-2ee4d940]{top:30px;left:0}.box .text2[data-v-2ee4d940]{top:30px;right:0}.box .text3[data-v-2ee4d940]{bottom:10px;left:0}.box .text4[data-v-2ee4d940]{bottom:10px;right:0}.defectScatterPlot[data-v-79550084]{height:calc(100vh - 206px);overflow:auto}.defectScatterPlot .split-pane[data-v-79550084]{height:100%;border-radius:8px}.defectScatterPlot .left-box[data-v-79550084]{margin-left:16px;padding:16px 16px 0;background-color:#fff}.defectScatterPlot .right-box[data-v-79550084]{margin-right:16px}.defectScatterPlot .right-box .inner-box[data-v-79550084]{height:100%;margin-left:16px;padding:16px 16px 0;border-radius:8px;overflow:auto;background-color:#fff;font-size:14px}.defectScatterPlot .right-box .inner-box .line1[data-v-79550084]{margin-bottom:18px}.defectScatterPlot .right-box .inner-box .line2[data-v-79550084]{margin-bottom:12px}.defectScatterPlot .right-box .inner-box .line2 .el-checkbox[data-v-79550084]{margin-right:8px}.defectScatterPlot .title[data-v-79550084]{font-size:14px;color:rgba(0,0,0,.85)}.defectScatterPlot .title[data-v-79550084]:before{content:"";display:inline-block;width:4px;height:16px;background:#0b58ff;border-radius:1px;vertical-align:middle;margin-right:8px}
 | 
			
		||||
							
								
								
									
										1
									
								
								dist/css/9835.2109528e.css
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								dist/css/9835.2109528e.css
									
									
									
									
										vendored
									
									
								
							@@ -1 +0,0 @@
 | 
			
		||||
.root-box[data-v-690601c2]{height:calc(29.2vh - 45.552px);width:calc(100vw - 280px);position:relative}.root-box .canvas[data-v-690601c2]{position:absolute}.bottom-box[data-v-46ad938a],.top-box[data-v-46ad938a]{background-color:#fff;margin:8px 16px 0!important;border-radius:4px}.top-box[data-v-46ad938a]{height:calc(29.2vh - 45.552px)}.bottom-box[data-v-46ad938a]{height:calc(70.8vh - 110.448px);padding:0 16px 16px}.bottom-box .area .title[data-v-46ad938a]{display:inline-block;font-size:14px;color:#000;margin:14px 0}.bottom-box .area .title[data-v-46ad938a]:before{content:"";display:inline-block;width:4px;height:16px;background:#0b58ff;border-radius:1px;margin-right:8px;vertical-align:middle}
 | 
			
		||||
							
								
								
									
										2
									
								
								dist/index.html
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								dist/index.html
									
									
									
									
										vendored
									
									
								
							@@ -1 +1 @@
 | 
			
		||||
<!doctype html><html lang=""><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" href="/favicon.ico"><title>tft-mes</title><script defer="defer" src="/js/chunk-vendors.a42f8636.js"></script><script defer="defer" src="/js/app.8a6daf4f.js"></script><link href="/css/app.68cbc19b.css" rel="stylesheet"></head><body><noscript><strong>We're sorry but tft-mes doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div></body></html>
 | 
			
		||||
<!doctype html><html lang=""><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" href="/favicon.ico"><title>tft-mes</title><script defer="defer" src="/js/chunk-vendors.a42f8636.js"></script><script defer="defer" src="/js/app.26ea233c.js"></script><link href="/css/app.68cbc19b.css" rel="stylesheet"></head><body><noscript><strong>We're sorry but tft-mes doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div></body></html>
 | 
			
		||||
							
								
								
									
										1
									
								
								dist/js/1076.409f47c3.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								dist/js/1076.409f47c3.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										1
									
								
								dist/js/1653.bc452354.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								dist/js/1653.bc452354.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										1
									
								
								dist/js/1965.f053e7a5.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								dist/js/1965.f053e7a5.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							@@ -1 +1 @@
 | 
			
		||||
"use strict";(self["webpackChunktft_mes"]=self["webpackChunktft_mes"]||[]).push([[2765],{2765:function(e,t,n){n.r(t),n.d(t,{default:function(){return m}});var a=function(){var e=this,t=e._self._c;return t("div",{staticClass:"maintenance-management"},[t("el-menu",{attrs:{"default-active":e.activeName,mode:"horizontal"},on:{select:e.handleSelect}},[t("el-menu-item",{attrs:{index:"plannedMaintenance"}},[e._v("计划维护")]),t("el-menu-item",{attrs:{index:"selfMaintenance"}},[e._v("自主维护")])],1),t("section",[t("router-view")],1)],1)},i=[],s={name:"MaintenanceManagement",data(){return{activeName:""}},mounted(){this.activeName=this.$route.name},methods:{handleSelect(e){this.$router.push({name:e})}},watch:{$route:{handler:function(e){this.activeName=e.name}}}},u=s,l=n(1001),c=(0,l.Z)(u,a,i,!1,null,null,null),m=c.exports}}]);
 | 
			
		||||
"use strict";(self["webpackChunktft_mes"]=self["webpackChunktft_mes"]||[]).push([[3101],{3101:function(e,t,n){n.r(t),n.d(t,{default:function(){return m}});var a=function(){var e=this,t=e._self._c;return t("div",{staticClass:"maintenance-management"},[t("el-menu",{attrs:{"default-active":e.activeName,mode:"horizontal"},on:{select:e.handleSelect}},[t("el-menu-item",{attrs:{index:"plannedMaintenance"}},[e._v("计划维护")]),t("el-menu-item",{attrs:{index:"selfMaintenance"}},[e._v("自主维护")])],1),t("section",[t("router-view")],1)],1)},i=[],s={name:"MaintenanceManagement",data(){return{activeName:""}},mounted(){this.activeName=this.$route.name},methods:{handleSelect(e){this.$router.push({name:e})}},watch:{$route:{handler:function(e){this.activeName=e.name}}}},u=s,l=n(1001),c=(0,l.Z)(u,a,i,!1,null,null,null),m=c.exports}}]);
 | 
			
		||||
							
								
								
									
										1
									
								
								dist/js/3101.d040dc0a.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								dist/js/3101.d040dc0a.js
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										1
									
								
								dist/js/3518.f5220cf2.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								dist/js/3518.f5220cf2.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										1
									
								
								dist/js/3712.70a56b6d.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								dist/js/3712.70a56b6d.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										1
									
								
								dist/js/4591.fd241a34.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								dist/js/4591.fd241a34.js
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										1
									
								
								dist/js/5271.8199e756.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								dist/js/5271.8199e756.js
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										1
									
								
								dist/js/5640.a9590889.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								dist/js/5640.a9590889.js
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										1
									
								
								dist/js/6354.04b01f2e.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								dist/js/6354.04b01f2e.js
									
									
									
									
										vendored
									
									
								
							@@ -1 +0,0 @@
 | 
			
		||||
"use strict";(self["webpackChunktft_mes"]=self["webpackChunktft_mes"]||[]).push([[6354],{6354:function(t,e,a){a.r(e),a.d(e,{default:function(){return p}});var l=function(){var t=this,e=t._self._c;return e("el-row",{staticClass:"main-box",attrs:{gutter:10}},[e("el-col",{attrs:{span:4}},[e("div",{staticClass:"left-box"},[e("el-tree",{attrs:{data:t.data,"node-key":"id","default-expand-all":""},on:{"node-click":t.clickDevice}})],1)]),e("el-col",{attrs:{span:20}},[e("div",{staticClass:"right-box"},[e("search-bar",{attrs:{formConfigs:t.formConfig},on:{headBtnClick:t.buttonClick}}),e("base-table",{attrs:{page:t.listQuery.current,limit:t.listQuery.size,"table-props":t.tableProps,"table-data":t.tableData,"max-height":t.tableH}}),e("pagination",{attrs:{limit:t.listQuery.size,total:t.total}})],1)])],1)},i=[],r=a(475);const s=[{prop:"unitAndDevice",label:"单元/设备名称",width:300},{prop:"startTime",label:"开始时间"},{prop:"endTime",label:"结束时间"},{prop:"inputNum",label:"投入数量"},{prop:"outputNum",label:"输出数量"},{prop:"lossesNum",label:"损失数量"}];var n={name:"ProductionData",data(){return{data:[{id:1,label:"产线1",isAllowDrag:!1,children:[{id:4,label:"精切磨边",parent:1,isAllowDrag:!1,children:[{id:9,label:"精切磨边设备1",parent:4,isAllowDrag:!0},{id:10,label:"精切磨边设备2",parent:4,isAllowDrag:!0}]},{id:2,label:"磨边后清洗",isAllowDrag:!1,parent:1,children:[{id:5,label:"磨边后清洗设备1",parent:2,isAllowDrag:!0},{id:6,label:"磨边后清洗设备2",parent:2,isAllowDrag:!0}]}]}],defaultProps:{children:"children",label:"label"},formConfig:[{type:"datePicker",label:"开始时间",dateType:"date",format:"yyyy-MM-dd",valueFormat:"yyyy-MM-dd",placeholder:"开始时间",param:"testTime",defaultSelect:"2022-08-11"},{type:"button",btnName:"查询",name:"search",color:"primary"},{type:"separate"},{type:"button",btnName:"导出",name:"export",color:"primary",plain:!0}],tableProps:s,tableData:[],tableH:(0,r.NC)(275),total:0,listQuery:{current:1,size:20},centervisible:!1,addOrEditTitle:""}},mounted(){window.addEventListener("resize",(()=>{this.tableH=(0,r.NC)(275)}));for(let t=0;t<30;t++){let e={unitAndDevice:"精切磨边模块/精切模块",startTime:"2022-07-07",endTime:"2022-08-11"};e.inputNum=99+t,e.outputNum=100+t,e.lossesNum=t,this.tableData.push(e)}},methods:{getList(){console.log("getList")},clickDevice(){},buttonClick(t){switch(console.log(t),t.btnName){case"search":this.getList();break;default:}},successSubmit(t){alert(t),this.handleCancel()}}},o=n,d=a(1001),c=(0,d.Z)(o,l,i,!1,null,"97276a96",null),p=c.exports}}]);
 | 
			
		||||
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										1
									
								
								dist/js/9705.aecc645f.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								dist/js/9705.aecc645f.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										1
									
								
								dist/js/9705.be26bec0.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								dist/js/9705.be26bec0.js
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										1
									
								
								dist/js/9796.8b5a0aa6.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								dist/js/9796.8b5a0aa6.js
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										1
									
								
								dist/js/9796.a4b45557.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								dist/js/9796.a4b45557.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										1
									
								
								dist/js/9835.280d7b4c.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								dist/js/9835.280d7b4c.js
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										1
									
								
								dist/js/app.26ea233c.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								dist/js/app.26ea233c.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										1
									
								
								dist/js/app.8a6daf4f.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								dist/js/app.8a6daf4f.js
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							@@ -99,6 +99,25 @@ export function workOrderImportTemplate(data) {
 | 
			
		||||
 | 
			
		||||
export const uploadPath = '/api/order/workOrder/import'
 | 
			
		||||
 | 
			
		||||
// 生产数据
 | 
			
		||||
export function proDataPage(data) {
 | 
			
		||||
  return request({
 | 
			
		||||
    url: '/order/ProData/page',
 | 
			
		||||
    method: 'post',
 | 
			
		||||
    data
 | 
			
		||||
  })
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export function proDataExport(data) {
 | 
			
		||||
  return request({
 | 
			
		||||
    url: '/order/ProData/export',
 | 
			
		||||
    method: 'post',
 | 
			
		||||
    responseType: 'blob',
 | 
			
		||||
    data,
 | 
			
		||||
    timeout: 60000
 | 
			
		||||
  })
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 下架包装
 | 
			
		||||
export function unloadPalletPage(data) {
 | 
			
		||||
  return request({
 | 
			
		||||
 
 | 
			
		||||
@@ -481,15 +481,6 @@ export const routes = [
 | 
			
		||||
        },
 | 
			
		||||
        component: () =>
 | 
			
		||||
          import('../views/qualityManagement/productTraceability')
 | 
			
		||||
      },
 | 
			
		||||
      {
 | 
			
		||||
        path: 'finalInspectionDailyReport',
 | 
			
		||||
        name: 'finalInspectionDailyReport',
 | 
			
		||||
        meta: {
 | 
			
		||||
          title: '终检日报表'
 | 
			
		||||
        },
 | 
			
		||||
        component: () =>
 | 
			
		||||
          import('../views/qualityManagement/finalInspectionDailyReport')
 | 
			
		||||
      }
 | 
			
		||||
    ]
 | 
			
		||||
  },
 | 
			
		||||
 
 | 
			
		||||
@@ -1,126 +1,131 @@
 | 
			
		||||
<template>
 | 
			
		||||
  <el-form ref="form" label-width="110px" :model="form">
 | 
			
		||||
    <el-row :gutter="20">
 | 
			
		||||
      <el-col :span="12">
 | 
			
		||||
        <el-form-item label="1月" prop="january">
 | 
			
		||||
          <el-input-number
 | 
			
		||||
            v-model="form.january"
 | 
			
		||||
            :min="0"
 | 
			
		||||
            style="width: 300px"
 | 
			
		||||
          ></el-input-number>
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
      </el-col>
 | 
			
		||||
      <el-col :span="12">
 | 
			
		||||
        <el-form-item label="2月" prop="february">
 | 
			
		||||
          <el-input-number
 | 
			
		||||
            v-model="form.february"
 | 
			
		||||
            :min="0"
 | 
			
		||||
            style="width: 300px"
 | 
			
		||||
          ></el-input-number>
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
      </el-col>
 | 
			
		||||
    </el-row>
 | 
			
		||||
    <el-row :gutter="20">
 | 
			
		||||
      <el-col :span="12">
 | 
			
		||||
        <el-form-item label="3月" prop="march">
 | 
			
		||||
          <el-input-number
 | 
			
		||||
            v-model="form.march"
 | 
			
		||||
            :min="0"
 | 
			
		||||
            style="width: 300px"
 | 
			
		||||
          ></el-input-number>
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
      </el-col>
 | 
			
		||||
      <el-col :span="12">
 | 
			
		||||
        <el-form-item label="4月" prop="april">
 | 
			
		||||
          <el-input-number
 | 
			
		||||
            v-model="form.april"
 | 
			
		||||
            :min="0"
 | 
			
		||||
            style="width: 300px"
 | 
			
		||||
          ></el-input-number>
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
      </el-col>
 | 
			
		||||
    </el-row>
 | 
			
		||||
    <el-row :gutter="20">
 | 
			
		||||
      <el-col :span="12">
 | 
			
		||||
        <el-form-item label="5月" prop="may">
 | 
			
		||||
          <el-input-number
 | 
			
		||||
            v-model="form.may"
 | 
			
		||||
            :min="0"
 | 
			
		||||
            style="width: 300px"
 | 
			
		||||
          ></el-input-number>
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
      </el-col>
 | 
			
		||||
      <el-col :span="12">
 | 
			
		||||
        <el-form-item label="6月" prop="june">
 | 
			
		||||
          <el-input-number
 | 
			
		||||
            v-model="form.june"
 | 
			
		||||
            :min="0"
 | 
			
		||||
            style="width: 300px"
 | 
			
		||||
          ></el-input-number>
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
      </el-col>
 | 
			
		||||
    </el-row>
 | 
			
		||||
    <el-row :gutter="20">
 | 
			
		||||
      <el-col :span="12">
 | 
			
		||||
        <el-form-item label="7月" prop="july">
 | 
			
		||||
          <el-input-number
 | 
			
		||||
            v-model="form.july"
 | 
			
		||||
            :min="0"
 | 
			
		||||
            style="width: 300px"
 | 
			
		||||
          ></el-input-number>
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
      </el-col>
 | 
			
		||||
      <el-col :span="12">
 | 
			
		||||
        <el-form-item label="8月" prop="august">
 | 
			
		||||
          <el-input-number
 | 
			
		||||
            v-model="form.august"
 | 
			
		||||
            :min="0"
 | 
			
		||||
            style="width: 300px"
 | 
			
		||||
          ></el-input-number>
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
      </el-col>
 | 
			
		||||
    </el-row>
 | 
			
		||||
    <el-row :gutter="20">
 | 
			
		||||
      <el-col :span="12">
 | 
			
		||||
        <el-form-item label="9月" prop="september">
 | 
			
		||||
          <el-input-number
 | 
			
		||||
            v-model="form.september"
 | 
			
		||||
            :min="0"
 | 
			
		||||
            style="width: 300px"
 | 
			
		||||
          ></el-input-number>
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
      </el-col>
 | 
			
		||||
      <el-col :span="12">
 | 
			
		||||
        <el-form-item label="10月" prop="october">
 | 
			
		||||
          <el-input-number
 | 
			
		||||
            v-model="form.october"
 | 
			
		||||
            :min="0"
 | 
			
		||||
            style="width: 300px"
 | 
			
		||||
          ></el-input-number>
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
      </el-col>
 | 
			
		||||
    </el-row>
 | 
			
		||||
    <el-row :gutter="20">
 | 
			
		||||
      <el-col :span="12">
 | 
			
		||||
        <el-form-item label="11月" prop="november">
 | 
			
		||||
          <el-input-number
 | 
			
		||||
            v-model="form.november"
 | 
			
		||||
            :min="0"
 | 
			
		||||
            style="width: 300px"
 | 
			
		||||
          ></el-input-number>
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
      </el-col>
 | 
			
		||||
      <el-col :span="12">
 | 
			
		||||
        <el-form-item label="12月" prop="december">
 | 
			
		||||
          <el-input-number
 | 
			
		||||
            v-model="form.december"
 | 
			
		||||
            :min="0"
 | 
			
		||||
            style="width: 300px"
 | 
			
		||||
          ></el-input-number>
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
      </el-col>
 | 
			
		||||
    </el-row>
 | 
			
		||||
  </el-form>
 | 
			
		||||
  <div>
 | 
			
		||||
    <div style="text-align: center; margin-bottom: 10px; font-weight: bold">
 | 
			
		||||
      {{ name }}
 | 
			
		||||
    </div>
 | 
			
		||||
    <el-form ref="form" label-width="110px" :model="form">
 | 
			
		||||
      <el-row :gutter="20">
 | 
			
		||||
        <el-col :span="12">
 | 
			
		||||
          <el-form-item label="1月" prop="january">
 | 
			
		||||
            <el-input-number
 | 
			
		||||
              v-model="form.january"
 | 
			
		||||
              :min="0"
 | 
			
		||||
              style="width: 100%"
 | 
			
		||||
            ></el-input-number>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
        </el-col>
 | 
			
		||||
        <el-col :span="12">
 | 
			
		||||
          <el-form-item label="2月" prop="february">
 | 
			
		||||
            <el-input-number
 | 
			
		||||
              v-model="form.february"
 | 
			
		||||
              :min="0"
 | 
			
		||||
              style="width: 100%"
 | 
			
		||||
            ></el-input-number>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
        </el-col>
 | 
			
		||||
      </el-row>
 | 
			
		||||
      <el-row :gutter="20">
 | 
			
		||||
        <el-col :span="12">
 | 
			
		||||
          <el-form-item label="3月" prop="march">
 | 
			
		||||
            <el-input-number
 | 
			
		||||
              v-model="form.march"
 | 
			
		||||
              :min="0"
 | 
			
		||||
              style="width: 100%"
 | 
			
		||||
            ></el-input-number>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
        </el-col>
 | 
			
		||||
        <el-col :span="12">
 | 
			
		||||
          <el-form-item label="4月" prop="april">
 | 
			
		||||
            <el-input-number
 | 
			
		||||
              v-model="form.april"
 | 
			
		||||
              :min="0"
 | 
			
		||||
              style="width: 100%"
 | 
			
		||||
            ></el-input-number>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
        </el-col>
 | 
			
		||||
      </el-row>
 | 
			
		||||
      <el-row :gutter="20">
 | 
			
		||||
        <el-col :span="12">
 | 
			
		||||
          <el-form-item label="5月" prop="may">
 | 
			
		||||
            <el-input-number
 | 
			
		||||
              v-model="form.may"
 | 
			
		||||
              :min="0"
 | 
			
		||||
              style="width: 100%"
 | 
			
		||||
            ></el-input-number>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
        </el-col>
 | 
			
		||||
        <el-col :span="12">
 | 
			
		||||
          <el-form-item label="6月" prop="june">
 | 
			
		||||
            <el-input-number
 | 
			
		||||
              v-model="form.june"
 | 
			
		||||
              :min="0"
 | 
			
		||||
              style="width: 100%"
 | 
			
		||||
            ></el-input-number>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
        </el-col>
 | 
			
		||||
      </el-row>
 | 
			
		||||
      <el-row :gutter="20">
 | 
			
		||||
        <el-col :span="12">
 | 
			
		||||
          <el-form-item label="7月" prop="july">
 | 
			
		||||
            <el-input-number
 | 
			
		||||
              v-model="form.july"
 | 
			
		||||
              :min="0"
 | 
			
		||||
              style="width: 100%"
 | 
			
		||||
            ></el-input-number>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
        </el-col>
 | 
			
		||||
        <el-col :span="12">
 | 
			
		||||
          <el-form-item label="8月" prop="august">
 | 
			
		||||
            <el-input-number
 | 
			
		||||
              v-model="form.august"
 | 
			
		||||
              :min="0"
 | 
			
		||||
              style="width: 100%"
 | 
			
		||||
            ></el-input-number>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
        </el-col>
 | 
			
		||||
      </el-row>
 | 
			
		||||
      <el-row :gutter="20">
 | 
			
		||||
        <el-col :span="12">
 | 
			
		||||
          <el-form-item label="9月" prop="september">
 | 
			
		||||
            <el-input-number
 | 
			
		||||
              v-model="form.september"
 | 
			
		||||
              :min="0"
 | 
			
		||||
              style="width: 100%"
 | 
			
		||||
            ></el-input-number>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
        </el-col>
 | 
			
		||||
        <el-col :span="12">
 | 
			
		||||
          <el-form-item label="10月" prop="october">
 | 
			
		||||
            <el-input-number
 | 
			
		||||
              v-model="form.october"
 | 
			
		||||
              :min="0"
 | 
			
		||||
              style="width: 100%"
 | 
			
		||||
            ></el-input-number>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
        </el-col>
 | 
			
		||||
      </el-row>
 | 
			
		||||
      <el-row :gutter="20">
 | 
			
		||||
        <el-col :span="12">
 | 
			
		||||
          <el-form-item label="11月" prop="november">
 | 
			
		||||
            <el-input-number
 | 
			
		||||
              v-model="form.november"
 | 
			
		||||
              :min="0"
 | 
			
		||||
              style="width: 100%"
 | 
			
		||||
            ></el-input-number>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
        </el-col>
 | 
			
		||||
        <el-col :span="12">
 | 
			
		||||
          <el-form-item label="12月" prop="december">
 | 
			
		||||
            <el-input-number
 | 
			
		||||
              v-model="form.december"
 | 
			
		||||
              :min="0"
 | 
			
		||||
              style="width: 100%"
 | 
			
		||||
            ></el-input-number>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
        </el-col>
 | 
			
		||||
      </el-row>
 | 
			
		||||
    </el-form>
 | 
			
		||||
  </div>
 | 
			
		||||
</template>
 | 
			
		||||
<script>
 | 
			
		||||
import {
 | 
			
		||||
@@ -131,16 +136,18 @@ export default {
 | 
			
		||||
  name: 'productPowerEdit',
 | 
			
		||||
  data() {
 | 
			
		||||
    return {
 | 
			
		||||
      form: {}
 | 
			
		||||
      form: {},
 | 
			
		||||
      name: ''
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  mounted() {},
 | 
			
		||||
  methods: {
 | 
			
		||||
    init(param) {
 | 
			
		||||
      this.name = param.name
 | 
			
		||||
      let date = new Date(param.timePosition)
 | 
			
		||||
      let year = date.getFullYear()
 | 
			
		||||
      performanceAnalysisPlan({
 | 
			
		||||
        name: param.name,
 | 
			
		||||
        name: this.name,
 | 
			
		||||
        year: year
 | 
			
		||||
      }).then((res) => {
 | 
			
		||||
        console.log(res)
 | 
			
		||||
@@ -150,6 +157,7 @@ export default {
 | 
			
		||||
      })
 | 
			
		||||
    },
 | 
			
		||||
    submitForm() {
 | 
			
		||||
      console.log(this.form)
 | 
			
		||||
      performanceUpdatePlan({ ...this.form }).then((res) => {
 | 
			
		||||
        if (res.code === 0) {
 | 
			
		||||
          this.$message({
 | 
			
		||||
 
 | 
			
		||||
@@ -40,7 +40,7 @@
 | 
			
		||||
              <el-col :span="6">
 | 
			
		||||
                <div class="top-right">
 | 
			
		||||
                  <div>
 | 
			
		||||
                    <span class="title">{{ unitName }}单元计划产能</span>
 | 
			
		||||
                    <span class="title">{{ eqName }}计划产能</span>
 | 
			
		||||
                    <svg-icon
 | 
			
		||||
                      icon-class="device_edit"
 | 
			
		||||
                      class="icon-style"
 | 
			
		||||
@@ -81,6 +81,7 @@
 | 
			
		||||
    <base-dialog
 | 
			
		||||
      dialogTitle="产能维护"
 | 
			
		||||
      :dialogVisible="centervisible"
 | 
			
		||||
      :close-on-click-modal="false"
 | 
			
		||||
      @cancel="handleCancel"
 | 
			
		||||
      @confirm="handleConfirm"
 | 
			
		||||
      :before-close="handleCancel"
 | 
			
		||||
@@ -101,7 +102,7 @@ import deviceOeeLine from './../components/deviceOeeLine.vue'
 | 
			
		||||
// import moment from 'moment'
 | 
			
		||||
const tableProps = [
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'date',
 | 
			
		||||
    prop: 'recordDate',
 | 
			
		||||
    label: '时间',
 | 
			
		||||
    minWidth: 160,
 | 
			
		||||
    filter: timeFormatter
 | 
			
		||||
@@ -173,7 +174,7 @@ export default {
 | 
			
		||||
        children: 'children',
 | 
			
		||||
        label: 'name'
 | 
			
		||||
      },
 | 
			
		||||
      unitName: '',
 | 
			
		||||
      eqName: '',
 | 
			
		||||
      chooseMonth: '',
 | 
			
		||||
      formConfig: [
 | 
			
		||||
        {
 | 
			
		||||
@@ -231,10 +232,10 @@ export default {
 | 
			
		||||
    getTree() {
 | 
			
		||||
      getTreeData().then((res) => {
 | 
			
		||||
        this.treeData = res.data
 | 
			
		||||
        this.unitName = res.data[0].children[0].name
 | 
			
		||||
        this.listQuery.name = this.unitName
 | 
			
		||||
        this.eqName = res.data[0].children[0].children[0].name
 | 
			
		||||
        this.listQuery.name = this.eqName
 | 
			
		||||
        setTimeout(() => {
 | 
			
		||||
          this.$refs.deviceTree.setCurrentKey(this.unitName)
 | 
			
		||||
          this.$refs.deviceTree.setCurrentKey(this.eqName)
 | 
			
		||||
        }, 100)
 | 
			
		||||
        this.getList()
 | 
			
		||||
        this.getPlan()
 | 
			
		||||
@@ -274,30 +275,28 @@ export default {
 | 
			
		||||
        { month: '11月', value: null, type: 'november' },
 | 
			
		||||
        { month: '12月', value: null, type: 'december' }
 | 
			
		||||
      ]
 | 
			
		||||
      performanceAnalysisPlan({ name: this.unitName, year: year }).then(
 | 
			
		||||
        (res) => {
 | 
			
		||||
          if (res.code === 0 && !!res.data) {
 | 
			
		||||
            let obj = res.data
 | 
			
		||||
            for (let i = 0; i < arr.length; i++) {
 | 
			
		||||
              arr[i].value = obj[arr[i].type]
 | 
			
		||||
            }
 | 
			
		||||
          } else {
 | 
			
		||||
            for (let i = 0; i < arr.length; i++) {
 | 
			
		||||
              arr[i].value = null
 | 
			
		||||
            }
 | 
			
		||||
      performanceAnalysisPlan({ name: this.eqName, year: year }).then((res) => {
 | 
			
		||||
        if (res.code === 0 && !!res.data) {
 | 
			
		||||
          let obj = res.data
 | 
			
		||||
          for (let i = 0; i < arr.length; i++) {
 | 
			
		||||
            arr[i].value = obj[arr[i].type]
 | 
			
		||||
          }
 | 
			
		||||
        } else {
 | 
			
		||||
          for (let i = 0; i < arr.length; i++) {
 | 
			
		||||
            arr[i].value = null
 | 
			
		||||
          }
 | 
			
		||||
          this.tableData2 = arr.slice(0, 6)
 | 
			
		||||
          this.tableData3 = arr.slice(6, 12)
 | 
			
		||||
        }
 | 
			
		||||
      )
 | 
			
		||||
        this.tableData2 = arr.slice(0, 6)
 | 
			
		||||
        this.tableData3 = arr.slice(6, 12)
 | 
			
		||||
      })
 | 
			
		||||
    },
 | 
			
		||||
    clickDevice(val) {
 | 
			
		||||
      if (val.children && val.parent) {
 | 
			
		||||
        // 单元
 | 
			
		||||
      if (!val.children) {
 | 
			
		||||
        // 设备
 | 
			
		||||
        this.listQuery.name = val.name
 | 
			
		||||
        this.unitName = val.name
 | 
			
		||||
        this.getList()
 | 
			
		||||
        this.getPlan()
 | 
			
		||||
        this.eqName = val.name
 | 
			
		||||
        // this.getList()
 | 
			
		||||
        // this.getPlan()
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    editPower() {
 | 
			
		||||
 
 | 
			
		||||
@@ -64,7 +64,7 @@
 | 
			
		||||
                marginBottom: 5 * beilv + 'px'
 | 
			
		||||
              }"
 | 
			
		||||
            >
 | 
			
		||||
              {{ productMsg.finishNum }}
 | 
			
		||||
              {{ productMsg.realProductNum }}
 | 
			
		||||
            </p>
 | 
			
		||||
            <p class="words">生产数量</p>
 | 
			
		||||
          </div>
 | 
			
		||||
 
 | 
			
		||||
@@ -1,49 +1,74 @@
 | 
			
		||||
<template>
 | 
			
		||||
  <el-drawer title="查看详情" :visible.sync="visible" size="70%">
 | 
			
		||||
    <div>
 | 
			
		||||
      <base-table
 | 
			
		||||
        :page="1"
 | 
			
		||||
        :limit="1000"
 | 
			
		||||
        :table-props="tableProps"
 | 
			
		||||
        :table-data="tableData"
 | 
			
		||||
        :max-height="tableH"
 | 
			
		||||
      >
 | 
			
		||||
        <method-btn
 | 
			
		||||
          v-if="tableBtn.length"
 | 
			
		||||
          slot="handleBtn"
 | 
			
		||||
          :width="110"
 | 
			
		||||
          label="操作"
 | 
			
		||||
          :method-list="tableBtn"
 | 
			
		||||
          @clickBtn="handleClick"
 | 
			
		||||
        />
 | 
			
		||||
      </base-table>
 | 
			
		||||
      <pagination :limit="listQuery.size" :total="total" />
 | 
			
		||||
      <el-drawer
 | 
			
		||||
        title="玻璃ID追溯"
 | 
			
		||||
        :append-to-body="true"
 | 
			
		||||
        :visible.sync="historyVisible"
 | 
			
		||||
        size="50%"
 | 
			
		||||
      >
 | 
			
		||||
        <el-form ref="form" :model="form" label-width="150px">
 | 
			
		||||
          <el-form-item label="初投玻璃ID:">{{
 | 
			
		||||
            form.initialGlassId
 | 
			
		||||
          }}</el-form-item>
 | 
			
		||||
          <el-form-item label="第一次复磨玻璃ID:">{{
 | 
			
		||||
            form.reloadOne
 | 
			
		||||
          }}</el-form-item>
 | 
			
		||||
          <el-form-item label="第二次复磨玻璃ID:">{{
 | 
			
		||||
            form.reloadTwo
 | 
			
		||||
          }}</el-form-item>
 | 
			
		||||
          <el-form-item label="第三次复磨玻璃ID:">{{
 | 
			
		||||
            form.reloadThree
 | 
			
		||||
          }}</el-form-item>
 | 
			
		||||
          <el-form-item label="第四次复磨玻璃ID:">{{
 | 
			
		||||
            form.reloadFour
 | 
			
		||||
          }}</el-form-item>
 | 
			
		||||
        </el-form>
 | 
			
		||||
      </el-drawer>
 | 
			
		||||
    </div>
 | 
			
		||||
  </el-drawer>
 | 
			
		||||
  <div>
 | 
			
		||||
    <el-drawer title="查看详情" :visible.sync="visible" size="70%">
 | 
			
		||||
      <div>
 | 
			
		||||
        <base-table
 | 
			
		||||
          :page="1"
 | 
			
		||||
          :limit="1000"
 | 
			
		||||
          :table-props="tableProps"
 | 
			
		||||
          :table-data="tableData"
 | 
			
		||||
          :max-height="tableH"
 | 
			
		||||
        >
 | 
			
		||||
          <method-btn
 | 
			
		||||
            v-if="tableBtn.length"
 | 
			
		||||
            slot="handleBtn"
 | 
			
		||||
            :width="110"
 | 
			
		||||
            label="操作"
 | 
			
		||||
            :method-list="tableBtn"
 | 
			
		||||
            @clickBtn="handleClick"
 | 
			
		||||
          />
 | 
			
		||||
        </base-table>
 | 
			
		||||
        <pagination :limit="listQuery.size" :total="total" />
 | 
			
		||||
      </div>
 | 
			
		||||
    </el-drawer>
 | 
			
		||||
    <base-dialog
 | 
			
		||||
      dialogTitle="玻璃ID追溯"
 | 
			
		||||
      :dialogVisible="historyVisible"
 | 
			
		||||
      :close-on-click-modal="false"
 | 
			
		||||
      :before-close="handleCancel"
 | 
			
		||||
    >
 | 
			
		||||
      <el-form ref="historyForm" :model="form" label-width="150px">
 | 
			
		||||
        <el-row :gutter="20">
 | 
			
		||||
          <el-col :span="12">
 | 
			
		||||
            <el-form-item label="初投玻璃ID:">
 | 
			
		||||
              <el-input v-model="form.initialGlassId" disabled></el-input
 | 
			
		||||
            ></el-form-item>
 | 
			
		||||
          </el-col>
 | 
			
		||||
          <el-col :span="12">
 | 
			
		||||
            <el-form-item label="第一次复磨玻璃ID:">
 | 
			
		||||
              <el-input v-model="form.initialGlassId" disabled></el-input
 | 
			
		||||
            ></el-form-item>
 | 
			
		||||
          </el-col>
 | 
			
		||||
        </el-row>
 | 
			
		||||
        <el-row :gutter="20">
 | 
			
		||||
          <el-col :span="12">
 | 
			
		||||
            <el-form-item label="第二次复磨玻璃ID:">
 | 
			
		||||
              <el-input v-model="form.reloadTwo" disabled></el-input
 | 
			
		||||
            ></el-form-item>
 | 
			
		||||
          </el-col>
 | 
			
		||||
          <el-col :span="12">
 | 
			
		||||
            <el-form-item label="第三次复磨玻璃ID:">
 | 
			
		||||
              <el-input v-model="form.reloadThree" disabled></el-input
 | 
			
		||||
            ></el-form-item>
 | 
			
		||||
          </el-col>
 | 
			
		||||
        </el-row>
 | 
			
		||||
        <el-row :gutter="20">
 | 
			
		||||
          <el-col :span="12">
 | 
			
		||||
            <el-form-item label="第四次复磨玻璃ID:">
 | 
			
		||||
              <el-input v-model="form.reloadFour" disabled></el-input
 | 
			
		||||
            ></el-form-item>
 | 
			
		||||
          </el-col>
 | 
			
		||||
        </el-row>
 | 
			
		||||
      </el-form>
 | 
			
		||||
      <el-row slot="footer" type="flex" justify="end">
 | 
			
		||||
        <el-col :span="12">
 | 
			
		||||
          <el-button size="small" class="btnTextStyle" @click="handleCancel"
 | 
			
		||||
            >取消</el-button
 | 
			
		||||
          >
 | 
			
		||||
        </el-col>
 | 
			
		||||
      </el-row>
 | 
			
		||||
    </base-dialog>
 | 
			
		||||
  </div>
 | 
			
		||||
</template>
 | 
			
		||||
<script>
 | 
			
		||||
import { tableHeight, timeFormatter } from '@/utils/index'
 | 
			
		||||
@@ -139,8 +164,10 @@ export default {
 | 
			
		||||
        this.form.reloadFour = res.data.reloadFour ? res.data.reloadFour : '-'
 | 
			
		||||
      })
 | 
			
		||||
    },
 | 
			
		||||
    handleCloseProcess() {},
 | 
			
		||||
    handleCloseDevice() {}
 | 
			
		||||
    handleCancel() {
 | 
			
		||||
      this.$refs.historyForm.resetFields()
 | 
			
		||||
      this.historyVisible = false
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
</script>
 | 
			
		||||
 
 | 
			
		||||
@@ -84,7 +84,7 @@
 | 
			
		||||
              fontSize: 27 * beilv + 'px',
 | 
			
		||||
              marginBottom: 6 * beilv + 'px'
 | 
			
		||||
            }"
 | 
			
		||||
            >{{ detailMsg.finishNum }}</span
 | 
			
		||||
            >{{ detailMsg.realProductNum }}</span
 | 
			
		||||
          >
 | 
			
		||||
          <span class="tip" :style="{ fontSize: 16 * beilv + 'px' }"
 | 
			
		||||
            >完成数量</span
 | 
			
		||||
 
 | 
			
		||||
@@ -3,10 +3,13 @@
 | 
			
		||||
    <el-col :span="4">
 | 
			
		||||
      <div class="left-box">
 | 
			
		||||
        <el-tree
 | 
			
		||||
          :data="data"
 | 
			
		||||
          node-key="id"
 | 
			
		||||
          :data="treeData"
 | 
			
		||||
          node-key="name"
 | 
			
		||||
          :props="defaultProps"
 | 
			
		||||
          default-expand-all
 | 
			
		||||
          :highlight-current="true"
 | 
			
		||||
          @node-click="clickDevice"
 | 
			
		||||
          ref="deviceTree"
 | 
			
		||||
        >
 | 
			
		||||
        </el-tree>
 | 
			
		||||
      </div>
 | 
			
		||||
@@ -27,31 +30,38 @@
 | 
			
		||||
  </el-row>
 | 
			
		||||
</template>
 | 
			
		||||
<script>
 | 
			
		||||
import { tableHeight } from '@/utils/index'
 | 
			
		||||
import { tableHeight, timeFormatter } from '@/utils/index'
 | 
			
		||||
import { getTreeData } from '@/api/app'
 | 
			
		||||
import { proDataPage, proDataExport } from '@/api/productionScheduling'
 | 
			
		||||
import moment from 'moment'
 | 
			
		||||
const tableProps = [
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'unitAndDevice',
 | 
			
		||||
    prop: 'name',
 | 
			
		||||
    label: '单元/设备名称',
 | 
			
		||||
    width: 300
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'startTime',
 | 
			
		||||
    label: '开始时间'
 | 
			
		||||
    label: '开始时间',
 | 
			
		||||
    minWidth: 160,
 | 
			
		||||
    filter: timeFormatter
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'endTime',
 | 
			
		||||
    label: '结束时间'
 | 
			
		||||
    label: '结束时间',
 | 
			
		||||
    minWidth: 160,
 | 
			
		||||
    filter: timeFormatter
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'inputNum',
 | 
			
		||||
    prop: 'glassInNum',
 | 
			
		||||
    label: '投入数量'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'outputNum',
 | 
			
		||||
    prop: 'glassOutNum',
 | 
			
		||||
    label: '输出数量'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'lossesNum',
 | 
			
		||||
    prop: 'glassMissNum',
 | 
			
		||||
    label: '损失数量'
 | 
			
		||||
  }
 | 
			
		||||
]
 | 
			
		||||
@@ -59,69 +69,24 @@ export default {
 | 
			
		||||
  name: 'ProductionData',
 | 
			
		||||
  data() {
 | 
			
		||||
    return {
 | 
			
		||||
      data: [
 | 
			
		||||
        {
 | 
			
		||||
          id: 1,
 | 
			
		||||
          label: '产线1',
 | 
			
		||||
          isAllowDrag: false,
 | 
			
		||||
          children: [
 | 
			
		||||
            {
 | 
			
		||||
              id: 4,
 | 
			
		||||
              label: '精切磨边',
 | 
			
		||||
              parent: 1,
 | 
			
		||||
              isAllowDrag: false,
 | 
			
		||||
              children: [
 | 
			
		||||
                {
 | 
			
		||||
                  id: 9,
 | 
			
		||||
                  label: '精切磨边设备1',
 | 
			
		||||
                  parent: 4,
 | 
			
		||||
                  isAllowDrag: true
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                  id: 10,
 | 
			
		||||
                  label: '精切磨边设备2',
 | 
			
		||||
                  parent: 4,
 | 
			
		||||
                  isAllowDrag: true
 | 
			
		||||
                }
 | 
			
		||||
              ]
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
              id: 2,
 | 
			
		||||
              label: '磨边后清洗',
 | 
			
		||||
              isAllowDrag: false,
 | 
			
		||||
              parent: 1,
 | 
			
		||||
              children: [
 | 
			
		||||
                {
 | 
			
		||||
                  id: 5,
 | 
			
		||||
                  label: '磨边后清洗设备1',
 | 
			
		||||
                  parent: 2,
 | 
			
		||||
                  isAllowDrag: true
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                  id: 6,
 | 
			
		||||
                  label: '磨边后清洗设备2',
 | 
			
		||||
                  parent: 2,
 | 
			
		||||
                  isAllowDrag: true
 | 
			
		||||
                }
 | 
			
		||||
              ]
 | 
			
		||||
            }
 | 
			
		||||
          ]
 | 
			
		||||
        }
 | 
			
		||||
      ],
 | 
			
		||||
      treeData: [],
 | 
			
		||||
      defaultProps: {
 | 
			
		||||
        children: 'children',
 | 
			
		||||
        label: 'label'
 | 
			
		||||
        label: 'name'
 | 
			
		||||
      },
 | 
			
		||||
      formConfig: [
 | 
			
		||||
        {
 | 
			
		||||
          type: 'datePicker',
 | 
			
		||||
          label: '开始时间',
 | 
			
		||||
          dateType: 'date',
 | 
			
		||||
          format: 'yyyy-MM-dd',
 | 
			
		||||
          valueFormat: 'yyyy-MM-dd',
 | 
			
		||||
          placeholder: '开始时间',
 | 
			
		||||
          param: 'testTime',
 | 
			
		||||
          defaultSelect: '2022-08-11'
 | 
			
		||||
          dateType: 'datetimerange',
 | 
			
		||||
          format: 'yyyy-MM-dd HH:mm:ss',
 | 
			
		||||
          valueFormat: 'yyyy-MM-ddTHH:mm:ss',
 | 
			
		||||
          rangeSeparator: '-',
 | 
			
		||||
          startPlaceholder: '开始时间',
 | 
			
		||||
          endPlaceholder: '结束时间',
 | 
			
		||||
          param: 'timeVal',
 | 
			
		||||
          defaultSelect: [],
 | 
			
		||||
          width: 350
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type: 'button',
 | 
			
		||||
@@ -146,7 +111,9 @@ export default {
 | 
			
		||||
      total: 0,
 | 
			
		||||
      listQuery: {
 | 
			
		||||
        current: 1,
 | 
			
		||||
        size: 20
 | 
			
		||||
        size: 20,
 | 
			
		||||
        unitName: '',
 | 
			
		||||
        eqName: ''
 | 
			
		||||
      },
 | 
			
		||||
      centervisible: false,
 | 
			
		||||
      addOrEditTitle: ''
 | 
			
		||||
@@ -156,29 +123,80 @@ export default {
 | 
			
		||||
    window.addEventListener('resize', () => {
 | 
			
		||||
      this.tableH = tableHeight(275)
 | 
			
		||||
    })
 | 
			
		||||
    for (let i = 0; i < 30; i++) {
 | 
			
		||||
      let obj = {}
 | 
			
		||||
      obj.unitAndDevice = '精切磨边模块/精切模块'
 | 
			
		||||
      obj.startTime = '2022-07-07'
 | 
			
		||||
      obj.endTime = '2022-08-11'
 | 
			
		||||
      obj.inputNum = 99 + i
 | 
			
		||||
      obj.outputNum = 100 + i
 | 
			
		||||
      obj.lossesNum = i
 | 
			
		||||
      this.tableData.push(obj)
 | 
			
		||||
    }
 | 
			
		||||
    this.formConfig[0].defaultSelect = [
 | 
			
		||||
      moment().format('yyyy-MM-DD') + 'T00:00:00',
 | 
			
		||||
      moment().format('yyyy-MM-DD') + 'T23:59:59'
 | 
			
		||||
    ]
 | 
			
		||||
    this.listQuery.startTime = moment().format('yyyy-MM-DD') + 'T00:00:00'
 | 
			
		||||
    this.listQuery.endTime = moment().format('yyyy-MM-DD') + 'T23:59:59'
 | 
			
		||||
    this.getTree()
 | 
			
		||||
  },
 | 
			
		||||
  methods: {
 | 
			
		||||
    getList() {
 | 
			
		||||
      console.log('getList')
 | 
			
		||||
    getTree() {
 | 
			
		||||
      getTreeData().then((res) => {
 | 
			
		||||
        this.treeData = res.data
 | 
			
		||||
        this.listQuery.unitName = res.data[0].children[0].name
 | 
			
		||||
        setTimeout(() => {
 | 
			
		||||
          this.$refs.deviceTree.setCurrentKey(this.listQuery.unitName)
 | 
			
		||||
        }, 100)
 | 
			
		||||
        this.getList()
 | 
			
		||||
      })
 | 
			
		||||
    },
 | 
			
		||||
    getList() {
 | 
			
		||||
      proDataPage({ ...this.listQuery }).then((res) => {
 | 
			
		||||
        console.log(res)
 | 
			
		||||
        if (res.code === 0 && res.data) {
 | 
			
		||||
          this.tableData = res.data.records
 | 
			
		||||
          this.total = res.data.total
 | 
			
		||||
        } else {
 | 
			
		||||
          this.tableData = []
 | 
			
		||||
          this.total = 0
 | 
			
		||||
        }
 | 
			
		||||
      })
 | 
			
		||||
    },
 | 
			
		||||
    clickDevice(val) {
 | 
			
		||||
      if (!val.children) {
 | 
			
		||||
        // 设备
 | 
			
		||||
        this.listQuery.eqName = val.name
 | 
			
		||||
        this.listQuery.unitName = ''
 | 
			
		||||
      } else if (val.children && val.parent) {
 | 
			
		||||
        this.listQuery.eqName = ''
 | 
			
		||||
        this.listQuery.unitName = val.name
 | 
			
		||||
      }
 | 
			
		||||
      this.getList()
 | 
			
		||||
    },
 | 
			
		||||
    clickDevice() {},
 | 
			
		||||
    buttonClick(val) {
 | 
			
		||||
      console.log(val)
 | 
			
		||||
      switch (val.btnName) {
 | 
			
		||||
        case 'search':
 | 
			
		||||
          this.listQuery.startTime = val.timeVal ? val.timeVal[0] : ''
 | 
			
		||||
          this.listQuery.endTime = val.timeVal ? val.timeVal[1] : ''
 | 
			
		||||
          this.getList()
 | 
			
		||||
          break
 | 
			
		||||
        default:
 | 
			
		||||
          proDataExport({ ...this.listQuery }).then((response) => {
 | 
			
		||||
            console.log(response)
 | 
			
		||||
            let fileName = ''
 | 
			
		||||
            const contentDisposition = response.headers['content-disposition']
 | 
			
		||||
            if (contentDisposition) {
 | 
			
		||||
              fileName = decodeURIComponent(
 | 
			
		||||
                contentDisposition.slice(
 | 
			
		||||
                  contentDisposition.indexOf('filename=') + 9
 | 
			
		||||
                )
 | 
			
		||||
              )
 | 
			
		||||
            }
 | 
			
		||||
            const blob = new Blob([response.data])
 | 
			
		||||
            const reader = new FileReader()
 | 
			
		||||
            reader.readAsDataURL(blob)
 | 
			
		||||
            reader.onload = (e) => {
 | 
			
		||||
              const a = document.createElement('a')
 | 
			
		||||
              a.download = fileName
 | 
			
		||||
              a.href = e.target.result
 | 
			
		||||
              document.body.appendChild(a)
 | 
			
		||||
              a.click()
 | 
			
		||||
              document.body.removeChild(a)
 | 
			
		||||
            }
 | 
			
		||||
          })
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    successSubmit(res) {
 | 
			
		||||
 
 | 
			
		||||
@@ -113,7 +113,7 @@
 | 
			
		||||
                      marginBottom: 6 * beilv + 'px'
 | 
			
		||||
                    }"
 | 
			
		||||
                  >
 | 
			
		||||
                    {{ productMsg.finishNum }}
 | 
			
		||||
                    {{ productMsg.realProductNum }}
 | 
			
		||||
                  </p>
 | 
			
		||||
                  <p class="words" :style="{ fontSize: 14 * beilv + 'px' }">
 | 
			
		||||
                    生产数量
 | 
			
		||||
 
 | 
			
		||||
@@ -1,30 +0,0 @@
 | 
			
		||||
<template>
 | 
			
		||||
  <div>
 | 
			
		||||
    <el-tag size="medium">{{ showTotal }}</el-tag>
 | 
			
		||||
  </div>
 | 
			
		||||
</template>
 | 
			
		||||
<script>
 | 
			
		||||
export default {
 | 
			
		||||
  name: 'TableTags',
 | 
			
		||||
  data() {
 | 
			
		||||
    return {
 | 
			
		||||
      showTotal: ''
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  props: {
 | 
			
		||||
    injectData: {
 | 
			
		||||
      type: Object,
 | 
			
		||||
      default: () => ({})
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  mounted() {
 | 
			
		||||
    console.log(this.injectData)
 | 
			
		||||
    console.log(this.injectData.prop)
 | 
			
		||||
    if (this.injectData.prop === 'ct1') {
 | 
			
		||||
      this.showTotal = this.injectData.ct1
 | 
			
		||||
    } else if (this.injectData.prop === 'ct2') {
 | 
			
		||||
      this.showTotal = this.injectData.ct2
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
</script>
 | 
			
		||||
@@ -34,7 +34,6 @@ export default {
 | 
			
		||||
  },
 | 
			
		||||
  data() {
 | 
			
		||||
    return {
 | 
			
		||||
      chartDom: '',
 | 
			
		||||
      chart: '',
 | 
			
		||||
      chartHeight: tableHeight(446),
 | 
			
		||||
      list: [
 | 
			
		||||
@@ -120,8 +119,8 @@ export default {
 | 
			
		||||
      ) {
 | 
			
		||||
        this.chart.dispose() // 页面多次刷新会出现警告,Dom已经初始化了一个实例,这是销毁实例
 | 
			
		||||
      }
 | 
			
		||||
      this.chartDom = document.getElementById('defectScatterPlotChart')
 | 
			
		||||
      this.chart = echarts.init(this.chartDom)
 | 
			
		||||
      var chartDom = document.getElementById('defectScatterPlotChart')
 | 
			
		||||
      this.chart = echarts.init(chartDom)
 | 
			
		||||
      let legendList = []
 | 
			
		||||
      let seriesList = []
 | 
			
		||||
      for (let i in this.defectMsg) {
 | 
			
		||||
@@ -130,8 +129,8 @@ export default {
 | 
			
		||||
        let obj = {}
 | 
			
		||||
        for (let j of this.defectMsg[i]) {
 | 
			
		||||
          let arr2 = []
 | 
			
		||||
          arr2.push(parseInt(j.xpos))
 | 
			
		||||
          arr2.push(parseInt(j.ypos))
 | 
			
		||||
          arr2.push(parseInt(j.xpos))
 | 
			
		||||
          arr1.push(arr2)
 | 
			
		||||
        }
 | 
			
		||||
        obj.name = this.transLabel(i)
 | 
			
		||||
@@ -169,6 +168,10 @@ export default {
 | 
			
		||||
          },
 | 
			
		||||
          itemWidth: 10 // 图例宽度
 | 
			
		||||
        },
 | 
			
		||||
        brush: {
 | 
			
		||||
          toolbox: ['rect', 'clear'],
 | 
			
		||||
          xAxisIndex: 0
 | 
			
		||||
        },
 | 
			
		||||
        grid: {
 | 
			
		||||
          x: 60,
 | 
			
		||||
          y: 60,
 | 
			
		||||
@@ -187,7 +190,10 @@ export default {
 | 
			
		||||
            lineStyle: {
 | 
			
		||||
              color: 'rgba(0, 0, 0, 0.15)'
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
          },
 | 
			
		||||
          max: 2600,
 | 
			
		||||
          min: 0,
 | 
			
		||||
          interval: 100
 | 
			
		||||
        },
 | 
			
		||||
        yAxis: {
 | 
			
		||||
          type: 'value',
 | 
			
		||||
@@ -201,30 +207,76 @@ export default {
 | 
			
		||||
            lineStyle: {
 | 
			
		||||
              color: 'rgba(0, 0, 0, 0.15)'
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
          },
 | 
			
		||||
          max: 2250,
 | 
			
		||||
          min: 0,
 | 
			
		||||
          interval: 100
 | 
			
		||||
        },
 | 
			
		||||
        series: seriesList
 | 
			
		||||
        // series: [
 | 
			
		||||
        //   {
 | 
			
		||||
        //     name: 'S',
 | 
			
		||||
        //     type: 'scatter',
 | 
			
		||||
        //     data: dataS,
 | 
			
		||||
        //     symbolSize: 5
 | 
			
		||||
        //   },
 | 
			
		||||
        //   {
 | 
			
		||||
        //     name: 'M',
 | 
			
		||||
        //     type: 'scatter',
 | 
			
		||||
        //     data: dataM,
 | 
			
		||||
        //     symbolSize: 5
 | 
			
		||||
        //   },
 | 
			
		||||
        //   {
 | 
			
		||||
        //     name: 'L',
 | 
			
		||||
        //     type: 'scatter',
 | 
			
		||||
        //     data: dataL,
 | 
			
		||||
        //     symbolSize: 5
 | 
			
		||||
        //   }
 | 
			
		||||
        // ]
 | 
			
		||||
      }
 | 
			
		||||
      let that = this
 | 
			
		||||
      this.chart.on('brushSelected', function (params) {
 | 
			
		||||
        var brushed = []
 | 
			
		||||
        var brushComponent = params.batch[0]
 | 
			
		||||
        var total = 0
 | 
			
		||||
        var xLong = 0
 | 
			
		||||
        var yLong = 0
 | 
			
		||||
        if (params.batch[0].areas[0]) {
 | 
			
		||||
          xLong = parseInt(
 | 
			
		||||
            params.batch[0].areas[0].coordRange[0][1] -
 | 
			
		||||
              params.batch[0].areas[0].coordRange[0][0]
 | 
			
		||||
          )
 | 
			
		||||
          yLong = parseInt(
 | 
			
		||||
            params.batch[0].areas[0].coordRange[1][1] -
 | 
			
		||||
              params.batch[0].areas[0].coordRange[1][0]
 | 
			
		||||
          )
 | 
			
		||||
        }
 | 
			
		||||
        for (var sIdx = 0; sIdx < brushComponent.selected.length; sIdx++) {
 | 
			
		||||
          var rawIndices = brushComponent.selected[sIdx].dataIndex.length
 | 
			
		||||
          total += rawIndices
 | 
			
		||||
          brushed.push(
 | 
			
		||||
            brushComponent.selected[sIdx].seriesName + ' : ' + rawIndices
 | 
			
		||||
          )
 | 
			
		||||
        }
 | 
			
		||||
        brushed.push('总计 : ' + total)
 | 
			
		||||
        that.chart.setOption({
 | 
			
		||||
          title: {
 | 
			
		||||
            backgroundColor: 'rgba(0, 0, 0, 0.5)',
 | 
			
		||||
            text: 'SELECTED DATA: \n' + brushed.join('\n'),
 | 
			
		||||
            right: params.batch[0].areas[0] ? '10%' : -100,
 | 
			
		||||
            bottom: params.batch[0].areas[0] ? 0 : -500,
 | 
			
		||||
            textStyle: {
 | 
			
		||||
              fontSize: 12,
 | 
			
		||||
              fontWeight: 'normal',
 | 
			
		||||
              color: '#fff'
 | 
			
		||||
            }
 | 
			
		||||
          },
 | 
			
		||||
          graphic: [
 | 
			
		||||
            {
 | 
			
		||||
              type: 'group',
 | 
			
		||||
              left: params.batch[0].areas[0]
 | 
			
		||||
                ? params.batch[0].areas[0].range[0][0]
 | 
			
		||||
                : -100,
 | 
			
		||||
              top: params.batch[0].areas[0]
 | 
			
		||||
                ? params.batch[0].areas[0].range[1][1] + 5
 | 
			
		||||
                : -100,
 | 
			
		||||
              children: [
 | 
			
		||||
                {
 | 
			
		||||
                  type: 'text',
 | 
			
		||||
                  z: 100,
 | 
			
		||||
                  style: {
 | 
			
		||||
                    fill: '#333',
 | 
			
		||||
                    width: 220,
 | 
			
		||||
                    overflow: 'break',
 | 
			
		||||
                    text: xLong + '*' + yLong,
 | 
			
		||||
                    font: '12px Microsoft YaHei'
 | 
			
		||||
                  }
 | 
			
		||||
                }
 | 
			
		||||
              ]
 | 
			
		||||
            }
 | 
			
		||||
          ]
 | 
			
		||||
        })
 | 
			
		||||
      })
 | 
			
		||||
      option && this.chart.setOption(option)
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 
 | 
			
		||||
@@ -1,545 +0,0 @@
 | 
			
		||||
<template>
 | 
			
		||||
  <div class="page-box">
 | 
			
		||||
    <search-bar
 | 
			
		||||
      :formConfigs="formConfig"
 | 
			
		||||
      ref="searchBarForm"
 | 
			
		||||
      @headBtnClick="buttonClick"
 | 
			
		||||
    />
 | 
			
		||||
    <base-table
 | 
			
		||||
      :page="listQuery.current"
 | 
			
		||||
      :limit="listQuery.size"
 | 
			
		||||
      :table-props="tableProp"
 | 
			
		||||
      :table-data="tableData"
 | 
			
		||||
      :span-method="spanMethod"
 | 
			
		||||
      :max-height="tableH"
 | 
			
		||||
    />
 | 
			
		||||
  </div>
 | 
			
		||||
</template>
 | 
			
		||||
<script>
 | 
			
		||||
import { tableHeight } from '@/utils/index'
 | 
			
		||||
import TableTags from './components/TableTags.vue'
 | 
			
		||||
const tableProp = [
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'process',
 | 
			
		||||
    label: '区域',
 | 
			
		||||
    fixed: true
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'equipmentName',
 | 
			
		||||
    label: '项目指标',
 | 
			
		||||
    minWidth: 150,
 | 
			
		||||
    fixed: true
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    label: '白班(8:00-20:00)',
 | 
			
		||||
    align: 'center',
 | 
			
		||||
    children: [
 | 
			
		||||
      { prop: 'b1', label: '7-8', width: 60 },
 | 
			
		||||
      { prop: 'b2', label: '8-9', width: 60 },
 | 
			
		||||
      { prop: 'b3', label: '9-10', width: 60 },
 | 
			
		||||
      { prop: 'b4', label: '10-11', width: 60 },
 | 
			
		||||
      { prop: 'b5', label: '11-12', width: 60 },
 | 
			
		||||
      { prop: 'b6', label: '12-13', width: 60 },
 | 
			
		||||
      { prop: 'b7', label: '13-14', width: 60 },
 | 
			
		||||
      { prop: 'b8', label: '14-15', width: 60 },
 | 
			
		||||
      { prop: 'b9', label: '15-16', width: 60 },
 | 
			
		||||
      { prop: 'b10', label: '16-17', width: 60 },
 | 
			
		||||
      { prop: 'b11', label: '17-18', width: 60 },
 | 
			
		||||
      { prop: 'b12', label: '18-19', width: 60 },
 | 
			
		||||
      { prop: 'ct1', label: '合计', subcomponent: TableTags }
 | 
			
		||||
    ]
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    label: '夜班(20:00-8:00)',
 | 
			
		||||
    align: 'center',
 | 
			
		||||
    children: [
 | 
			
		||||
      { prop: 'y1', label: '19-20', width: 60 },
 | 
			
		||||
      { prop: 'y2', label: '20-21', width: 60 },
 | 
			
		||||
      { prop: 'y3', label: '21-22', width: 60 },
 | 
			
		||||
      { prop: 'y4', label: '22-23', width: 60 },
 | 
			
		||||
      { prop: 'y5', label: '23-24', width: 60 },
 | 
			
		||||
      { prop: 'y6', label: '0-1', width: 60 },
 | 
			
		||||
      { prop: 'y7', label: '1-2', width: 60 },
 | 
			
		||||
      { prop: 'y8', label: '2-3', width: 60 },
 | 
			
		||||
      { prop: 'y9', label: '3-4', width: 60 },
 | 
			
		||||
      { prop: 'y10', label: '4-5', width: 60 },
 | 
			
		||||
      { prop: 'y11', label: '5-6', width: 60 },
 | 
			
		||||
      { prop: 'y12', label: '6-7', width: 60 },
 | 
			
		||||
      { prop: 'ct2', label: '合计', subcomponent: TableTags }
 | 
			
		||||
    ]
 | 
			
		||||
  }
 | 
			
		||||
]
 | 
			
		||||
export default {
 | 
			
		||||
  name: 'FinalInspectionDailyReport',
 | 
			
		||||
  data() {
 | 
			
		||||
    return {
 | 
			
		||||
      formConfig: [
 | 
			
		||||
        {
 | 
			
		||||
          type: 'datePicker',
 | 
			
		||||
          label: '日期选择',
 | 
			
		||||
          dateType: 'date',
 | 
			
		||||
          format: 'yyyy-MM-dd',
 | 
			
		||||
          valueFormat: 'yyyy-MM-dd',
 | 
			
		||||
          param: 'timeVal',
 | 
			
		||||
          width: 200
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type: 'button',
 | 
			
		||||
          btnName: '查询',
 | 
			
		||||
          name: 'search',
 | 
			
		||||
          color: 'primary'
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type: 'separate'
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type: 'button',
 | 
			
		||||
          btnName: '导出',
 | 
			
		||||
          name: 'export',
 | 
			
		||||
          color: 'primary',
 | 
			
		||||
          plain: true
 | 
			
		||||
        }
 | 
			
		||||
      ],
 | 
			
		||||
      listQuery: {
 | 
			
		||||
        current: 1,
 | 
			
		||||
        size: 20
 | 
			
		||||
      },
 | 
			
		||||
      tableH: tableHeight(300),
 | 
			
		||||
      tableProp,
 | 
			
		||||
      tableData: [],
 | 
			
		||||
      span: []
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  mounted() {
 | 
			
		||||
    window.addEventListener('resize', () => {
 | 
			
		||||
      this.tableH = tableHeight(300)
 | 
			
		||||
    })
 | 
			
		||||
    this.getData()
 | 
			
		||||
  },
 | 
			
		||||
  methods: {
 | 
			
		||||
    buttonClick(val) {
 | 
			
		||||
      console.log(val)
 | 
			
		||||
    },
 | 
			
		||||
    getData() {
 | 
			
		||||
      ;(this.tableData = [
 | 
			
		||||
        {
 | 
			
		||||
          b1: 1,
 | 
			
		||||
          b2: 2,
 | 
			
		||||
          b3: 3,
 | 
			
		||||
          b4: 4,
 | 
			
		||||
          b5: 5,
 | 
			
		||||
          b6: 6,
 | 
			
		||||
          b7: 7,
 | 
			
		||||
          b8: 8,
 | 
			
		||||
          b9: 9,
 | 
			
		||||
          b10: 10,
 | 
			
		||||
          b11: 11,
 | 
			
		||||
          b12: 12,
 | 
			
		||||
          ct1: 108,
 | 
			
		||||
          y1: 1,
 | 
			
		||||
          y2: 2,
 | 
			
		||||
          y3: 3,
 | 
			
		||||
          y4: 4,
 | 
			
		||||
          y5: 5,
 | 
			
		||||
          y6: 6,
 | 
			
		||||
          y7: 7,
 | 
			
		||||
          y8: 8,
 | 
			
		||||
          y9: 9,
 | 
			
		||||
          y10: 10,
 | 
			
		||||
          y11: 11,
 | 
			
		||||
          y12: 12,
 | 
			
		||||
          ct2: 103,
 | 
			
		||||
          equipmentName: '上片投入数',
 | 
			
		||||
          process: '综合'
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          b1: 1,
 | 
			
		||||
          b2: 2,
 | 
			
		||||
          b3: 3,
 | 
			
		||||
          b4: 4,
 | 
			
		||||
          b5: 5,
 | 
			
		||||
          b6: 6,
 | 
			
		||||
          b7: 7,
 | 
			
		||||
          b8: 8,
 | 
			
		||||
          b9: 9,
 | 
			
		||||
          b10: 10,
 | 
			
		||||
          b11: 11,
 | 
			
		||||
          b12: 12,
 | 
			
		||||
          ct1: 102,
 | 
			
		||||
          y1: 1,
 | 
			
		||||
          y2: 2,
 | 
			
		||||
          y3: 3,
 | 
			
		||||
          y4: 4,
 | 
			
		||||
          y5: 5,
 | 
			
		||||
          y6: 6,
 | 
			
		||||
          y7: 7,
 | 
			
		||||
          y8: 8,
 | 
			
		||||
          y9: 9,
 | 
			
		||||
          y10: 10,
 | 
			
		||||
          y11: 11,
 | 
			
		||||
          y12: 12,
 | 
			
		||||
          ct2: 99,
 | 
			
		||||
          equipmentName: '机器人投入数',
 | 
			
		||||
          process: '综合'
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          b1: 1,
 | 
			
		||||
          b2: 2,
 | 
			
		||||
          b3: 3,
 | 
			
		||||
          b4: 4,
 | 
			
		||||
          b5: 5,
 | 
			
		||||
          b6: 6,
 | 
			
		||||
          b7: 7,
 | 
			
		||||
          b8: 8,
 | 
			
		||||
          b9: 9,
 | 
			
		||||
          b10: 10,
 | 
			
		||||
          b11: 11,
 | 
			
		||||
          b12: 12,
 | 
			
		||||
          ct1: 100,
 | 
			
		||||
          y1: 1,
 | 
			
		||||
          y2: 2,
 | 
			
		||||
          y3: 3,
 | 
			
		||||
          y4: 4,
 | 
			
		||||
          y5: 5,
 | 
			
		||||
          y6: 6,
 | 
			
		||||
          y7: 7,
 | 
			
		||||
          y8: 8,
 | 
			
		||||
          y9: 9,
 | 
			
		||||
          y10: 10,
 | 
			
		||||
          y11: 11,
 | 
			
		||||
          y12: 12,
 | 
			
		||||
          ct2: 100,
 | 
			
		||||
          equipmentName: '良品总投入数',
 | 
			
		||||
          process: '综合'
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          b1: 1,
 | 
			
		||||
          b2: 2,
 | 
			
		||||
          b3: 3,
 | 
			
		||||
          b4: 4,
 | 
			
		||||
          b5: 5,
 | 
			
		||||
          b6: 6,
 | 
			
		||||
          b7: 7,
 | 
			
		||||
          b8: 8,
 | 
			
		||||
          b9: 9,
 | 
			
		||||
          b10: 10,
 | 
			
		||||
          b11: 11,
 | 
			
		||||
          b12: 12,
 | 
			
		||||
          ct1: 100,
 | 
			
		||||
          y1: 1,
 | 
			
		||||
          y2: 2,
 | 
			
		||||
          y3: 3,
 | 
			
		||||
          y4: 4,
 | 
			
		||||
          y5: 5,
 | 
			
		||||
          y6: 6,
 | 
			
		||||
          y7: 7,
 | 
			
		||||
          y8: 8,
 | 
			
		||||
          y9: 9,
 | 
			
		||||
          y10: 10,
 | 
			
		||||
          y11: 11,
 | 
			
		||||
          y12: 12,
 | 
			
		||||
          ct2: 100,
 | 
			
		||||
          equipmentName: '工序损耗',
 | 
			
		||||
          process: '综合'
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          b1: 1,
 | 
			
		||||
          b2: 2,
 | 
			
		||||
          b3: 3,
 | 
			
		||||
          b4: 4,
 | 
			
		||||
          b5: 5,
 | 
			
		||||
          b6: 6,
 | 
			
		||||
          b7: 7,
 | 
			
		||||
          b8: 8,
 | 
			
		||||
          b9: 9,
 | 
			
		||||
          b10: 10,
 | 
			
		||||
          b11: 11,
 | 
			
		||||
          b12: 12,
 | 
			
		||||
          ct1: 100,
 | 
			
		||||
          y1: 1,
 | 
			
		||||
          y2: 2,
 | 
			
		||||
          y3: 3,
 | 
			
		||||
          y4: 4,
 | 
			
		||||
          y5: 5,
 | 
			
		||||
          y6: 6,
 | 
			
		||||
          y7: 7,
 | 
			
		||||
          y8: 8,
 | 
			
		||||
          y9: 9,
 | 
			
		||||
          y10: 10,
 | 
			
		||||
          y11: 11,
 | 
			
		||||
          y12: 12,
 | 
			
		||||
          ct2: 100,
 | 
			
		||||
          equipmentName: '后清洗输出',
 | 
			
		||||
          process: '综合'
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          b1: 1,
 | 
			
		||||
          b2: 2,
 | 
			
		||||
          b3: 3,
 | 
			
		||||
          b4: 4,
 | 
			
		||||
          b5: 5,
 | 
			
		||||
          b6: 6,
 | 
			
		||||
          b7: 7,
 | 
			
		||||
          b8: 8,
 | 
			
		||||
          b9: 9,
 | 
			
		||||
          b10: 10,
 | 
			
		||||
          b11: 11,
 | 
			
		||||
          b12: 12,
 | 
			
		||||
          ct1: 100,
 | 
			
		||||
          y1: 1,
 | 
			
		||||
          y2: 2,
 | 
			
		||||
          y3: 3,
 | 
			
		||||
          y4: 4,
 | 
			
		||||
          y5: 5,
 | 
			
		||||
          y6: 6,
 | 
			
		||||
          y7: 7,
 | 
			
		||||
          y8: 8,
 | 
			
		||||
          y9: 9,
 | 
			
		||||
          y10: 10,
 | 
			
		||||
          y11: 11,
 | 
			
		||||
          y12: 12,
 | 
			
		||||
          ct2: 100,
 | 
			
		||||
          equipmentName: '上片损失',
 | 
			
		||||
          process: '上片'
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          b1: 1,
 | 
			
		||||
          b2: 2,
 | 
			
		||||
          b3: 3,
 | 
			
		||||
          b4: 4,
 | 
			
		||||
          b5: 5,
 | 
			
		||||
          b6: 6,
 | 
			
		||||
          b7: 7,
 | 
			
		||||
          b8: 8,
 | 
			
		||||
          b9: 9,
 | 
			
		||||
          b10: 10,
 | 
			
		||||
          b11: 11,
 | 
			
		||||
          b12: 12,
 | 
			
		||||
          ct1: 100,
 | 
			
		||||
          y1: 1,
 | 
			
		||||
          y2: 2,
 | 
			
		||||
          y3: 3,
 | 
			
		||||
          y4: 4,
 | 
			
		||||
          y5: 5,
 | 
			
		||||
          y6: 6,
 | 
			
		||||
          y7: 7,
 | 
			
		||||
          y8: 8,
 | 
			
		||||
          y9: 9,
 | 
			
		||||
          y10: 10,
 | 
			
		||||
          y11: 11,
 | 
			
		||||
          y12: 12,
 | 
			
		||||
          ct2: 100,
 | 
			
		||||
          equipmentName: '精切损失',
 | 
			
		||||
          process: '精切'
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          b1: 1,
 | 
			
		||||
          b2: 2,
 | 
			
		||||
          b3: 3,
 | 
			
		||||
          b4: 4,
 | 
			
		||||
          b5: 5,
 | 
			
		||||
          b6: 6,
 | 
			
		||||
          b7: 7,
 | 
			
		||||
          b8: 8,
 | 
			
		||||
          b9: 9,
 | 
			
		||||
          b10: 10,
 | 
			
		||||
          b11: 11,
 | 
			
		||||
          b12: 12,
 | 
			
		||||
          ct1: 100,
 | 
			
		||||
          y1: 1,
 | 
			
		||||
          y2: 2,
 | 
			
		||||
          y3: 3,
 | 
			
		||||
          y4: 4,
 | 
			
		||||
          y5: 5,
 | 
			
		||||
          y6: 6,
 | 
			
		||||
          y7: 7,
 | 
			
		||||
          y8: 8,
 | 
			
		||||
          y9: 9,
 | 
			
		||||
          y10: 10,
 | 
			
		||||
          y11: 11,
 | 
			
		||||
          y12: 12,
 | 
			
		||||
          ct2: 100,
 | 
			
		||||
          equipmentName: '精切抽检',
 | 
			
		||||
          process: '精切'
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          b1: 1,
 | 
			
		||||
          b2: 2,
 | 
			
		||||
          b3: 3,
 | 
			
		||||
          b4: 4,
 | 
			
		||||
          b5: 5,
 | 
			
		||||
          b6: 6,
 | 
			
		||||
          b7: 7,
 | 
			
		||||
          b8: 8,
 | 
			
		||||
          b9: 9,
 | 
			
		||||
          b10: 10,
 | 
			
		||||
          b11: 11,
 | 
			
		||||
          b12: 12,
 | 
			
		||||
          ct1: 100,
 | 
			
		||||
          y1: 1,
 | 
			
		||||
          y2: 2,
 | 
			
		||||
          y3: 3,
 | 
			
		||||
          y4: 4,
 | 
			
		||||
          y5: 5,
 | 
			
		||||
          y6: 6,
 | 
			
		||||
          y7: 7,
 | 
			
		||||
          y8: 8,
 | 
			
		||||
          y9: 9,
 | 
			
		||||
          y10: 10,
 | 
			
		||||
          y11: 11,
 | 
			
		||||
          y12: 12,
 | 
			
		||||
          ct2: 100,
 | 
			
		||||
          equipmentName: '磨边损失',
 | 
			
		||||
          process: '磨边'
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          b1: 1,
 | 
			
		||||
          b2: 2,
 | 
			
		||||
          b3: 3,
 | 
			
		||||
          b4: 4,
 | 
			
		||||
          b5: 5,
 | 
			
		||||
          b6: 6,
 | 
			
		||||
          b7: 7,
 | 
			
		||||
          b8: 8,
 | 
			
		||||
          b9: 9,
 | 
			
		||||
          b10: 10,
 | 
			
		||||
          b11: 11,
 | 
			
		||||
          b12: 12,
 | 
			
		||||
          ct1: 100,
 | 
			
		||||
          y1: 1,
 | 
			
		||||
          y2: 2,
 | 
			
		||||
          y3: 3,
 | 
			
		||||
          y4: 4,
 | 
			
		||||
          y5: 5,
 | 
			
		||||
          y6: 6,
 | 
			
		||||
          y7: 7,
 | 
			
		||||
          y8: 8,
 | 
			
		||||
          y9: 9,
 | 
			
		||||
          y10: 10,
 | 
			
		||||
          y11: 11,
 | 
			
		||||
          y12: 12,
 | 
			
		||||
          ct2: 100,
 | 
			
		||||
          equipmentName: '磨边抽检',
 | 
			
		||||
          process: '磨边'
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          b1: 1,
 | 
			
		||||
          b2: 2,
 | 
			
		||||
          b3: 3,
 | 
			
		||||
          b4: 4,
 | 
			
		||||
          b5: 5,
 | 
			
		||||
          b6: 6,
 | 
			
		||||
          b7: 7,
 | 
			
		||||
          b8: 8,
 | 
			
		||||
          b9: 9,
 | 
			
		||||
          b10: 10,
 | 
			
		||||
          b11: 11,
 | 
			
		||||
          b12: 12,
 | 
			
		||||
          ct1: 100,
 | 
			
		||||
          y1: 1,
 | 
			
		||||
          y2: 2,
 | 
			
		||||
          y3: 3,
 | 
			
		||||
          y4: 4,
 | 
			
		||||
          y5: 5,
 | 
			
		||||
          y6: 6,
 | 
			
		||||
          y7: 7,
 | 
			
		||||
          y8: 8,
 | 
			
		||||
          y9: 9,
 | 
			
		||||
          y10: 10,
 | 
			
		||||
          y11: 11,
 | 
			
		||||
          y12: 12,
 | 
			
		||||
          ct2: 100,
 | 
			
		||||
          equipmentName: '前清洗损失',
 | 
			
		||||
          process: '前清洗'
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          b1: 1,
 | 
			
		||||
          b2: 2,
 | 
			
		||||
          b3: 3,
 | 
			
		||||
          b4: 4,
 | 
			
		||||
          b5: 5,
 | 
			
		||||
          b6: 6,
 | 
			
		||||
          b7: 7,
 | 
			
		||||
          b8: 8,
 | 
			
		||||
          b9: 9,
 | 
			
		||||
          b10: 10,
 | 
			
		||||
          b11: 11,
 | 
			
		||||
          b12: 12,
 | 
			
		||||
          ct1: 100,
 | 
			
		||||
          y1: 1,
 | 
			
		||||
          y2: 2,
 | 
			
		||||
          y3: 3,
 | 
			
		||||
          y4: 4,
 | 
			
		||||
          y5: 5,
 | 
			
		||||
          y6: 6,
 | 
			
		||||
          y7: 7,
 | 
			
		||||
          y8: 8,
 | 
			
		||||
          y9: 9,
 | 
			
		||||
          y10: 10,
 | 
			
		||||
          y11: 11,
 | 
			
		||||
          y12: 12,
 | 
			
		||||
          ct2: 100,
 | 
			
		||||
          equipmentName: '边检损失',
 | 
			
		||||
          process: '边检'
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          b1: 1,
 | 
			
		||||
          b2: 2,
 | 
			
		||||
          b3: 3,
 | 
			
		||||
          b4: 4,
 | 
			
		||||
          b5: 5,
 | 
			
		||||
          b6: 6,
 | 
			
		||||
          b7: 7,
 | 
			
		||||
          b8: 8,
 | 
			
		||||
          b9: 9,
 | 
			
		||||
          b10: 10,
 | 
			
		||||
          b11: 11,
 | 
			
		||||
          b12: 12,
 | 
			
		||||
          ct1: 100,
 | 
			
		||||
          y1: 1,
 | 
			
		||||
          y2: 2,
 | 
			
		||||
          y3: 3,
 | 
			
		||||
          y4: 4,
 | 
			
		||||
          y5: 5,
 | 
			
		||||
          y6: 6,
 | 
			
		||||
          y7: 7,
 | 
			
		||||
          y8: 8,
 | 
			
		||||
          y9: 9,
 | 
			
		||||
          y10: 10,
 | 
			
		||||
          y11: 11,
 | 
			
		||||
          y12: 12,
 | 
			
		||||
          ct2: 100,
 | 
			
		||||
          equipmentName: '复投损失',
 | 
			
		||||
          process: '复投'
 | 
			
		||||
        }
 | 
			
		||||
      ]),
 | 
			
		||||
        this.getSpanArr(this.tableData)
 | 
			
		||||
    },
 | 
			
		||||
    getSpanArr(data) {
 | 
			
		||||
      for (var i = 0; i < data.length; i++) {
 | 
			
		||||
        if (i === 0) {
 | 
			
		||||
          this.span.push(1)
 | 
			
		||||
          this.index = 0
 | 
			
		||||
        } else {
 | 
			
		||||
          if (data[i].process === data[i - 1].process) {
 | 
			
		||||
            this.span[this.index] += 1
 | 
			
		||||
            this.span.push(0)
 | 
			
		||||
          } else {
 | 
			
		||||
            this.span.push(1)
 | 
			
		||||
            this.index = i
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    spanMethod({ rowIndex, columnIndex }) {
 | 
			
		||||
      if (columnIndex === 1) {
 | 
			
		||||
        const _row = this.span[rowIndex]
 | 
			
		||||
        return {
 | 
			
		||||
          rowspan: _row,
 | 
			
		||||
          colspan: 1
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
</script>
 | 
			
		||||
@@ -92,10 +92,13 @@ const tableProps = [
 | 
			
		||||
    fixed: 'left',
 | 
			
		||||
    minWidth: 120
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'package',
 | 
			
		||||
    label: '包装工位'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'testTime',
 | 
			
		||||
    label: '检验时间',
 | 
			
		||||
    fixed: 'left',
 | 
			
		||||
    filter: timeFormatter,
 | 
			
		||||
    minWidth: 160
 | 
			
		||||
  },
 | 
			
		||||
 
 | 
			
		||||
@@ -29,7 +29,7 @@
 | 
			
		||||
          <div v-if="reportTitle">
 | 
			
		||||
            <span class="title">{{ reportTitle }}</span>
 | 
			
		||||
          </div>
 | 
			
		||||
          <div class="table-box" v-if="reportTitle === '玻璃基板缺陷统计'">
 | 
			
		||||
          <div class="table-box" v-if="reportTitle === '玻璃基板品质报表'">
 | 
			
		||||
            <glass-quality-report :tableData="glassQualityArr" />
 | 
			
		||||
          </div>
 | 
			
		||||
          <div class="table-box" v-if="reportTitle === '厚度汇总报表'">
 | 
			
		||||
@@ -41,6 +41,18 @@
 | 
			
		||||
              :tableData2="packReportArr"
 | 
			
		||||
            />
 | 
			
		||||
          </div>
 | 
			
		||||
          <div class="table-box" v-if="reportTitle === '玻璃判废统计表'">
 | 
			
		||||
            <glass-waste-report :tableData="wasteReportArr" />
 | 
			
		||||
          </div>
 | 
			
		||||
          <div class="table-box" v-if="reportTitle === '判废机组统计表'">
 | 
			
		||||
            <waste-machine-report :tableData="wasteMachineArr" />
 | 
			
		||||
          </div>
 | 
			
		||||
          <div class="table-box" v-if="reportTitle === '判废位置统计表'">
 | 
			
		||||
            <waste-location-report :tableData="wasteLocationArr" />
 | 
			
		||||
          </div>
 | 
			
		||||
          <div class="table-box" v-if="reportTitle === '玻璃基板缺陷报表'">
 | 
			
		||||
            <glass-defect-report :tableData="glassDefectArr" />
 | 
			
		||||
          </div>
 | 
			
		||||
        </div>
 | 
			
		||||
      </el-col>
 | 
			
		||||
    </el-row>
 | 
			
		||||
@@ -60,6 +72,10 @@ import {
 | 
			
		||||
import glassQualityReport from './finalInspectionDataReport/glassQualityReport.vue'
 | 
			
		||||
import glassThickReport from './finalInspectionDataReport/glassThickReport.vue'
 | 
			
		||||
import glassPackReport from './finalInspectionDataReport/glassPackReport.vue'
 | 
			
		||||
import glassWasteReport from './finalInspectionDataReport/glassWasteReport.vue'
 | 
			
		||||
import wasteMachineReport from './finalInspectionDataReport/wasteMachineReport.vue'
 | 
			
		||||
import wasteLocationReport from './finalInspectionDataReport/wasteLocationReport.vue'
 | 
			
		||||
import glassDefectReport from './finalInspectionDataReport/glassDefectReport.vue'
 | 
			
		||||
import moment from 'moment'
 | 
			
		||||
import { timeFormatter } from '@/utils'
 | 
			
		||||
const tablePropsL = [
 | 
			
		||||
@@ -82,7 +98,15 @@ const tablePropsL = [
 | 
			
		||||
]
 | 
			
		||||
export default {
 | 
			
		||||
  name: 'FinalInspectionData',
 | 
			
		||||
  components: { glassQualityReport, glassThickReport, glassPackReport },
 | 
			
		||||
  components: {
 | 
			
		||||
    glassQualityReport,
 | 
			
		||||
    glassThickReport,
 | 
			
		||||
    glassPackReport,
 | 
			
		||||
    glassWasteReport,
 | 
			
		||||
    wasteMachineReport,
 | 
			
		||||
    wasteLocationReport,
 | 
			
		||||
    glassDefectReport
 | 
			
		||||
  },
 | 
			
		||||
  data() {
 | 
			
		||||
    return {
 | 
			
		||||
      formConfig: [
 | 
			
		||||
@@ -112,9 +136,13 @@ export default {
 | 
			
		||||
          type: 'select',
 | 
			
		||||
          label: '报表类型',
 | 
			
		||||
          selectOptions: [
 | 
			
		||||
            { id: '玻璃基板缺陷统计', name: '玻璃基板缺陷统计' },
 | 
			
		||||
            { id: '玻璃基板品质报表', name: '玻璃基板品质报表' },
 | 
			
		||||
            { id: '终检下片包装', name: '终检下片包装' },
 | 
			
		||||
            { id: '厚度汇总报表', name: '厚度汇总报表' }
 | 
			
		||||
            { id: '厚度汇总报表', name: '厚度汇总报表' },
 | 
			
		||||
            { id: '玻璃判废统计表', name: '玻璃判废统计表' },
 | 
			
		||||
            { id: '判废机组统计表', name: '判废机组统计表' },
 | 
			
		||||
            { id: '判废位置统计表', name: '判废位置统计表' },
 | 
			
		||||
            { id: '玻璃基板缺陷报表', name: '玻璃基板缺陷报表' }
 | 
			
		||||
          ],
 | 
			
		||||
          param: 'fullInspectionType1',
 | 
			
		||||
          defaultSelect: '',
 | 
			
		||||
@@ -153,7 +181,23 @@ export default {
 | 
			
		||||
      glassQualityArr: [], //基板玻璃品质
 | 
			
		||||
      thickReportArr: [], // 厚度汇总
 | 
			
		||||
      packReportArr: [], //下片包装
 | 
			
		||||
      packClaReportArr: []
 | 
			
		||||
      packClaReportArr: [],
 | 
			
		||||
      wasteReportArr: [{ name1: 11 }, { name1: 22 }], // 玻璃判废
 | 
			
		||||
      wasteMachineArr: [
 | 
			
		||||
        { name: '颗粒/面检数超标', name1: '11' },
 | 
			
		||||
        { name: '颗粒/缺陷聚集', name1: '22' },
 | 
			
		||||
        { name: '划伤', name1: '33' },
 | 
			
		||||
        { name: '面磨印记', name1: '44' },
 | 
			
		||||
        { name: '磨痕', name1: '55' }
 | 
			
		||||
      ],
 | 
			
		||||
      wasteLocationArr: [
 | 
			
		||||
        { name: '颗粒/面检数超标', name1: '11' },
 | 
			
		||||
        { name: '颗粒/缺陷聚集', name1: '22' },
 | 
			
		||||
        { name: '划伤', name1: '33' },
 | 
			
		||||
        { name: '面磨印记', name1: '44' },
 | 
			
		||||
        { name: '磨痕', name1: '55' }
 | 
			
		||||
      ],
 | 
			
		||||
      glassDefectArr: []
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  mounted() {
 | 
			
		||||
@@ -220,7 +264,7 @@ export default {
 | 
			
		||||
          for (let i of this.selectArr) {
 | 
			
		||||
            arr.push(i.glassId)
 | 
			
		||||
          }
 | 
			
		||||
          if (this.reportTitle === '玻璃基板缺陷统计') {
 | 
			
		||||
          if (this.reportTitle === '玻璃基板品质报表') {
 | 
			
		||||
            this.exportGlassReport(arr)
 | 
			
		||||
          } else if (this.reportTitle === '厚度汇总报表') {
 | 
			
		||||
            this.exportThickReport(arr)
 | 
			
		||||
@@ -258,7 +302,7 @@ export default {
 | 
			
		||||
        arr.push(i.glassId)
 | 
			
		||||
      }
 | 
			
		||||
      switch (this.reportTitle) {
 | 
			
		||||
        case '玻璃基板缺陷统计':
 | 
			
		||||
        case '玻璃基板品质报表':
 | 
			
		||||
          this.getGlassReport(arr)
 | 
			
		||||
          break
 | 
			
		||||
        case '厚度汇总报表':
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,11 @@
 | 
			
		||||
<template>
 | 
			
		||||
  <div class="finalDataTable">
 | 
			
		||||
  <div class="glassDefectReport">
 | 
			
		||||
    <ul class="baseMsg">
 | 
			
		||||
      <li><span>单位:</span>um</li>
 | 
			
		||||
      <li :title="glassId"><span>玻璃ID:</span>{{ glassId }}</li>
 | 
			
		||||
      <li><span>生产日期:</span>2022.12.24 14:45:34</li>
 | 
			
		||||
      <li><span>等级:</span>G1</li>
 | 
			
		||||
    </ul>
 | 
			
		||||
    <base-table :table-props="tablePropsT" :table-data="tableDataT" />
 | 
			
		||||
    <base-table :table-props="tablePropsB" :table-data="tableDataB" />
 | 
			
		||||
  </div>
 | 
			
		||||
@@ -240,13 +246,14 @@ const tablePropsB = [
 | 
			
		||||
  }
 | 
			
		||||
]
 | 
			
		||||
export default {
 | 
			
		||||
  name: 'FinalDataTable',
 | 
			
		||||
  name: 'glassDefectReport',
 | 
			
		||||
  data() {
 | 
			
		||||
    return {
 | 
			
		||||
      tablePropsT,
 | 
			
		||||
      tableDataT: [],
 | 
			
		||||
      tablePropsB,
 | 
			
		||||
      tableDataB: []
 | 
			
		||||
      tableDataB: [],
 | 
			
		||||
      glassId: '203839738763,5324723648623,87423745327845,23645326,4532675444'
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  mounted() {
 | 
			
		||||
@@ -627,7 +634,28 @@ export default {
 | 
			
		||||
}
 | 
			
		||||
</script>
 | 
			
		||||
<style lang="scss">
 | 
			
		||||
.finalDataTable {
 | 
			
		||||
.glassDefectReport {
 | 
			
		||||
  .baseMsg {
 | 
			
		||||
    font-size: 14px;
 | 
			
		||||
    height: 40px;
 | 
			
		||||
    line-height: 40px;
 | 
			
		||||
    display: flex;
 | 
			
		||||
    border: 1px solid #e8e8e8;
 | 
			
		||||
    border-radius: 4px;
 | 
			
		||||
    margin-bottom: 20px;
 | 
			
		||||
    li {
 | 
			
		||||
      width: 25%;
 | 
			
		||||
      text-align: center;
 | 
			
		||||
      padding: 0 10px;
 | 
			
		||||
      border-right: 1px solid #e8e8e8;
 | 
			
		||||
      overflow: hidden;
 | 
			
		||||
      white-space: nowrap;
 | 
			
		||||
      text-overflow: ellipsis;
 | 
			
		||||
      span {
 | 
			
		||||
        font-weight: 600;
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
  .el-table thead.is-group tr:first-of-type th:first-of-type {
 | 
			
		||||
    border-bottom: none;
 | 
			
		||||
  }
 | 
			
		||||
@@ -0,0 +1,183 @@
 | 
			
		||||
<template>
 | 
			
		||||
  <div class="glassWasteReport">
 | 
			
		||||
    <base-table
 | 
			
		||||
      :table-props="tableProps"
 | 
			
		||||
      :table-data="tableData"
 | 
			
		||||
      :max-height="tableH"
 | 
			
		||||
      :page="1"
 | 
			
		||||
      :limit="20"
 | 
			
		||||
      show-summary
 | 
			
		||||
    />
 | 
			
		||||
  </div>
 | 
			
		||||
</template>
 | 
			
		||||
<script>
 | 
			
		||||
import { tableHeight } from '@/utils'
 | 
			
		||||
const tableProps = [
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'glassId',
 | 
			
		||||
    label: 'ID'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'name1',
 | 
			
		||||
    label: '合格'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'lineA',
 | 
			
		||||
    label: '前工程不良',
 | 
			
		||||
    children: [
 | 
			
		||||
      {
 | 
			
		||||
        prop: 'name2',
 | 
			
		||||
        label: '气泡数量'
 | 
			
		||||
      },
 | 
			
		||||
      {
 | 
			
		||||
        prop: 'name3',
 | 
			
		||||
        label: '气泡尺寸'
 | 
			
		||||
      },
 | 
			
		||||
      {
 | 
			
		||||
        prop: 'name4',
 | 
			
		||||
        label: '上表锡数量'
 | 
			
		||||
      },
 | 
			
		||||
      {
 | 
			
		||||
        prop: 'name5',
 | 
			
		||||
        label: '上表锡尺寸'
 | 
			
		||||
      },
 | 
			
		||||
      {
 | 
			
		||||
        prop: 'name6',
 | 
			
		||||
        label: '下表锡数量'
 | 
			
		||||
      },
 | 
			
		||||
      {
 | 
			
		||||
        prop: 'name7',
 | 
			
		||||
        label: '下表锡尺寸'
 | 
			
		||||
      },
 | 
			
		||||
      {
 | 
			
		||||
        prop: 'name8',
 | 
			
		||||
        label: '欠点数合计'
 | 
			
		||||
      },
 | 
			
		||||
      {
 | 
			
		||||
        prop: 'name9',
 | 
			
		||||
        label: '缺陷聚集'
 | 
			
		||||
      },
 | 
			
		||||
      {
 | 
			
		||||
        prop: 'name10',
 | 
			
		||||
        label: '结瘤'
 | 
			
		||||
      },
 | 
			
		||||
      {
 | 
			
		||||
        prop: 'name11',
 | 
			
		||||
        label: 'PT'
 | 
			
		||||
      },
 | 
			
		||||
      {
 | 
			
		||||
        prop: 'name12',
 | 
			
		||||
        label: '结石'
 | 
			
		||||
      },
 | 
			
		||||
      {
 | 
			
		||||
        prop: 'name13',
 | 
			
		||||
        label: '其他'
 | 
			
		||||
      }
 | 
			
		||||
    ]
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'lineB',
 | 
			
		||||
    label: '后工程不良',
 | 
			
		||||
    children: [
 | 
			
		||||
      {
 | 
			
		||||
        prop: 'age',
 | 
			
		||||
        label: '颗粒/面检数超'
 | 
			
		||||
      },
 | 
			
		||||
      {
 | 
			
		||||
        prop: 'age1',
 | 
			
		||||
        label: '划伤'
 | 
			
		||||
      },
 | 
			
		||||
      {
 | 
			
		||||
        prop: 'age2',
 | 
			
		||||
        label: '颗粒/缺陷聚集'
 | 
			
		||||
      },
 | 
			
		||||
      {
 | 
			
		||||
        prop: 'age3',
 | 
			
		||||
        label: '轮印'
 | 
			
		||||
      },
 | 
			
		||||
      {
 | 
			
		||||
        prop: 'age4',
 | 
			
		||||
        label: '面磨印记'
 | 
			
		||||
      },
 | 
			
		||||
      {
 | 
			
		||||
        prop: 'age5',
 | 
			
		||||
        label: '残留'
 | 
			
		||||
      },
 | 
			
		||||
      {
 | 
			
		||||
        prop: 'age6',
 | 
			
		||||
        label: '污渍'
 | 
			
		||||
      },
 | 
			
		||||
      {
 | 
			
		||||
        prop: 'age7',
 | 
			
		||||
        label: '纤维'
 | 
			
		||||
      },
 | 
			
		||||
      {
 | 
			
		||||
        prop: 'age8',
 | 
			
		||||
        label: '水渍'
 | 
			
		||||
      },
 | 
			
		||||
      {
 | 
			
		||||
        prop: 'age9',
 | 
			
		||||
        label: '磨痕'
 | 
			
		||||
      },
 | 
			
		||||
      {
 | 
			
		||||
        prop: 'age10',
 | 
			
		||||
        label: '气浮擦伤'
 | 
			
		||||
      },
 | 
			
		||||
      {
 | 
			
		||||
        prop: 'age11',
 | 
			
		||||
        label: '雾面'
 | 
			
		||||
      },
 | 
			
		||||
      {
 | 
			
		||||
        prop: 'age12',
 | 
			
		||||
        label: '异物'
 | 
			
		||||
      },
 | 
			
		||||
      {
 | 
			
		||||
        prop: 'age13',
 | 
			
		||||
        label: '其他'
 | 
			
		||||
      }
 | 
			
		||||
    ]
 | 
			
		||||
  }
 | 
			
		||||
]
 | 
			
		||||
export default {
 | 
			
		||||
  name: 'glassWasteReport',
 | 
			
		||||
  data() {
 | 
			
		||||
    return {
 | 
			
		||||
      tableProps,
 | 
			
		||||
      tableH: tableHeight(292)
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  mounted() {
 | 
			
		||||
    window.addEventListener('resize', () => {
 | 
			
		||||
      this.tableH = tableHeight(292)
 | 
			
		||||
    })
 | 
			
		||||
  },
 | 
			
		||||
  props: {
 | 
			
		||||
    tableData: {
 | 
			
		||||
      type: Array,
 | 
			
		||||
      required: true,
 | 
			
		||||
      default: () => {
 | 
			
		||||
        return []
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  methods: {}
 | 
			
		||||
}
 | 
			
		||||
</script>
 | 
			
		||||
<style lang="scss">
 | 
			
		||||
.glassWasteReport {
 | 
			
		||||
  .el-table {
 | 
			
		||||
    display: flex;
 | 
			
		||||
    flex-direction: column;
 | 
			
		||||
  }
 | 
			
		||||
  .el-table__body-wrapper {
 | 
			
		||||
    order: 1;
 | 
			
		||||
  }
 | 
			
		||||
  .el-table__fixed-body-wrapper {
 | 
			
		||||
    top: 116px !important;
 | 
			
		||||
  }
 | 
			
		||||
  .el-table__fixed-footer-wrapper {
 | 
			
		||||
    z-index: 0;
 | 
			
		||||
    top: 81px !important;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
</style>
 | 
			
		||||
@@ -0,0 +1,124 @@
 | 
			
		||||
<template>
 | 
			
		||||
  <div class="wasteLocationReport">
 | 
			
		||||
    <base-table
 | 
			
		||||
      :table-props="tableProps"
 | 
			
		||||
      :table-data="tableData"
 | 
			
		||||
      :max-height="tableH"
 | 
			
		||||
    />
 | 
			
		||||
  </div>
 | 
			
		||||
</template>
 | 
			
		||||
<script>
 | 
			
		||||
import { tableHeight } from '@/utils'
 | 
			
		||||
const tableProps = [
 | 
			
		||||
  {
 | 
			
		||||
    label: '九宫格',
 | 
			
		||||
    children: [
 | 
			
		||||
      {
 | 
			
		||||
        prop: 'name',
 | 
			
		||||
        label: '判废原因',
 | 
			
		||||
        minWidth: 110
 | 
			
		||||
      }
 | 
			
		||||
    ]
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'name1',
 | 
			
		||||
    label: '1#'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'name2',
 | 
			
		||||
    label: '2#'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'name3',
 | 
			
		||||
    label: '3#'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'name4',
 | 
			
		||||
    label: '4#'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'name5',
 | 
			
		||||
    label: '5#'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'name6',
 | 
			
		||||
    label: '6#'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'name7',
 | 
			
		||||
    label: '7#'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'name8',
 | 
			
		||||
    label: '8#'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'name9',
 | 
			
		||||
    label: '9#'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'name10',
 | 
			
		||||
    label: '整板'
 | 
			
		||||
  }
 | 
			
		||||
]
 | 
			
		||||
export default {
 | 
			
		||||
  name: 'wasteLocationReport',
 | 
			
		||||
  data() {
 | 
			
		||||
    return {
 | 
			
		||||
      tableProps,
 | 
			
		||||
      tableH: tableHeight(292)
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  mounted() {
 | 
			
		||||
    window.addEventListener('resize', () => {
 | 
			
		||||
      this.tableH = tableHeight(292)
 | 
			
		||||
    })
 | 
			
		||||
  },
 | 
			
		||||
  props: {
 | 
			
		||||
    tableData: {
 | 
			
		||||
      type: Array,
 | 
			
		||||
      required: true,
 | 
			
		||||
      default: () => {
 | 
			
		||||
        return []
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
</script>
 | 
			
		||||
<style lang="scss">
 | 
			
		||||
.wasteLocationReport {
 | 
			
		||||
  .el-table thead.is-group tr:first-of-type th:first-of-type {
 | 
			
		||||
    border-bottom: none;
 | 
			
		||||
  }
 | 
			
		||||
  .el-table thead.is-group tr:first-of-type th:first-of-type div.cell {
 | 
			
		||||
    text-align: right;
 | 
			
		||||
  }
 | 
			
		||||
  .el-table th.el-table__cell {
 | 
			
		||||
    height: 28px;
 | 
			
		||||
  }
 | 
			
		||||
  .el-table thead.is-group tr:first-of-type th:first-of-type:before {
 | 
			
		||||
    content: '';
 | 
			
		||||
    position: absolute;
 | 
			
		||||
    height: 35px;
 | 
			
		||||
    top: 0;
 | 
			
		||||
    left: 48px;
 | 
			
		||||
    background-color: #ebeef5;
 | 
			
		||||
    transform: rotate(-35deg);
 | 
			
		||||
    -webkit-transform-origin: top;
 | 
			
		||||
    transform-origin: top;
 | 
			
		||||
    width: 1px;
 | 
			
		||||
  }
 | 
			
		||||
  .el-table thead.is-group tr:last-of-type th:first-of-type:before {
 | 
			
		||||
    content: '';
 | 
			
		||||
    position: absolute;
 | 
			
		||||
    height: 35px;
 | 
			
		||||
    top: 0;
 | 
			
		||||
    left: 68px;
 | 
			
		||||
    background-color: #ebeef5;
 | 
			
		||||
    transform: rotate(-35deg);
 | 
			
		||||
    -webkit-transform-origin: top;
 | 
			
		||||
    transform-origin: top;
 | 
			
		||||
    width: 1px;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
</style>
 | 
			
		||||
@@ -0,0 +1,112 @@
 | 
			
		||||
<template>
 | 
			
		||||
  <div class="wasteMachineReport">
 | 
			
		||||
    <base-table
 | 
			
		||||
      :table-props="tableProps"
 | 
			
		||||
      :table-data="tableData"
 | 
			
		||||
      :max-height="tableH"
 | 
			
		||||
    />
 | 
			
		||||
  </div>
 | 
			
		||||
</template>
 | 
			
		||||
<script>
 | 
			
		||||
import { tableHeight } from '@/utils'
 | 
			
		||||
const tableProps = [
 | 
			
		||||
  {
 | 
			
		||||
    label: '研磨机组',
 | 
			
		||||
    children: [
 | 
			
		||||
      {
 | 
			
		||||
        prop: 'name',
 | 
			
		||||
        label: '判废原因',
 | 
			
		||||
        minWidth: 110
 | 
			
		||||
      }
 | 
			
		||||
    ]
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'name1',
 | 
			
		||||
    label: '1#'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'name2',
 | 
			
		||||
    label: '2#'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'name3',
 | 
			
		||||
    label: '3#'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'name4',
 | 
			
		||||
    label: '4#'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'name5',
 | 
			
		||||
    label: '5#'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'name6',
 | 
			
		||||
    label: '6#'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'name7',
 | 
			
		||||
    label: '7#'
 | 
			
		||||
  }
 | 
			
		||||
]
 | 
			
		||||
export default {
 | 
			
		||||
  name: 'wasteMachineReport',
 | 
			
		||||
  data() {
 | 
			
		||||
    return {
 | 
			
		||||
      tableProps,
 | 
			
		||||
      tableH: tableHeight(292)
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  mounted() {
 | 
			
		||||
    window.addEventListener('resize', () => {
 | 
			
		||||
      this.tableH = tableHeight(292)
 | 
			
		||||
    })
 | 
			
		||||
  },
 | 
			
		||||
  props: {
 | 
			
		||||
    tableData: {
 | 
			
		||||
      type: Array,
 | 
			
		||||
      required: true,
 | 
			
		||||
      default: () => {
 | 
			
		||||
        return []
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
</script>
 | 
			
		||||
<style lang="scss">
 | 
			
		||||
.wasteMachineReport {
 | 
			
		||||
  .el-table thead.is-group tr:first-of-type th:first-of-type {
 | 
			
		||||
    border-bottom: none;
 | 
			
		||||
  }
 | 
			
		||||
  .el-table thead.is-group tr:first-of-type th:first-of-type div.cell {
 | 
			
		||||
    text-align: right;
 | 
			
		||||
  }
 | 
			
		||||
  .el-table th.el-table__cell {
 | 
			
		||||
    height: 28px;
 | 
			
		||||
  }
 | 
			
		||||
  .el-table thead.is-group tr:first-of-type th:first-of-type:before {
 | 
			
		||||
    content: '';
 | 
			
		||||
    position: absolute;
 | 
			
		||||
    height: 35px;
 | 
			
		||||
    top: 0;
 | 
			
		||||
    left: 60px;
 | 
			
		||||
    background-color: #ebeef5;
 | 
			
		||||
    transform: rotate(-35deg);
 | 
			
		||||
    -webkit-transform-origin: top;
 | 
			
		||||
    transform-origin: top;
 | 
			
		||||
    width: 1px;
 | 
			
		||||
  }
 | 
			
		||||
  .el-table thead.is-group tr:last-of-type th:first-of-type:before {
 | 
			
		||||
    content: '';
 | 
			
		||||
    position: absolute;
 | 
			
		||||
    height: 35px;
 | 
			
		||||
    top: 0;
 | 
			
		||||
    left: 80px;
 | 
			
		||||
    background-color: #ebeef5;
 | 
			
		||||
    transform: rotate(-35deg);
 | 
			
		||||
    -webkit-transform-origin: top;
 | 
			
		||||
    transform-origin: top;
 | 
			
		||||
    width: 1px;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
</style>
 | 
			
		||||
@@ -1,6 +1,9 @@
 | 
			
		||||
<template>
 | 
			
		||||
  <div>
 | 
			
		||||
    <div class="top-box">
 | 
			
		||||
      <div style="padding: 10px 0 0 16px">
 | 
			
		||||
        <search-bar :formConfigs="formConfig" />
 | 
			
		||||
      </div>
 | 
			
		||||
      <production-line-diagram></production-line-diagram>
 | 
			
		||||
    </div>
 | 
			
		||||
    <el-row class="bottom-box" :gutter="10">
 | 
			
		||||
@@ -107,6 +110,16 @@ export default {
 | 
			
		||||
  name: 'ProductionLineStatus',
 | 
			
		||||
  data() {
 | 
			
		||||
    return {
 | 
			
		||||
      formConfig: [
 | 
			
		||||
        {
 | 
			
		||||
          type: 'select',
 | 
			
		||||
          label: '产线',
 | 
			
		||||
          selectOptions: JSON.parse(localStorage.getItem('publicList'))
 | 
			
		||||
            .proLineVoList,
 | 
			
		||||
          param: 'proLineId',
 | 
			
		||||
          defaultSelect: ''
 | 
			
		||||
        }
 | 
			
		||||
      ],
 | 
			
		||||
      listQuery1: {
 | 
			
		||||
        current: 1,
 | 
			
		||||
        size: 10
 | 
			
		||||
@@ -115,8 +128,8 @@ export default {
 | 
			
		||||
        current: 1,
 | 
			
		||||
        size: 5
 | 
			
		||||
      },
 | 
			
		||||
      tableH: tableHeight(450),
 | 
			
		||||
      tableH2: (tableHeight(238) * 0.708 - 50) / 2,
 | 
			
		||||
      tableH: tableHeight(479),
 | 
			
		||||
      tableH2: (tableHeight(238) * 0.68 - 50) / 2,
 | 
			
		||||
      tableProps1,
 | 
			
		||||
      tableData1: [],
 | 
			
		||||
      tableData2: [],
 | 
			
		||||
@@ -130,8 +143,8 @@ export default {
 | 
			
		||||
  components: { ProductionLineDiagram },
 | 
			
		||||
  mounted() {
 | 
			
		||||
    window.addEventListener('resize', () => {
 | 
			
		||||
      this.tableH = tableHeight(450)
 | 
			
		||||
      this.tableH2 = (tableHeight(238) * 0.708 - 50) / 2
 | 
			
		||||
      this.tableH = tableHeight(479)
 | 
			
		||||
      this.tableH2 = (tableHeight(238) * 0.68 - 50) / 2
 | 
			
		||||
    })
 | 
			
		||||
    this.getTableMsg()
 | 
			
		||||
  },
 | 
			
		||||
@@ -162,10 +175,10 @@ export default {
 | 
			
		||||
  border-radius: 4px;
 | 
			
		||||
}
 | 
			
		||||
.top-box {
 | 
			
		||||
  height: calc((100vh - 90px - 50px - 16px) * 0.292);
 | 
			
		||||
  height: calc((100vh - 90px - 50px - 16px) * 0.32);
 | 
			
		||||
}
 | 
			
		||||
.bottom-box {
 | 
			
		||||
  height: calc((100vh - 90px - 50px - 16px) * 0.708);
 | 
			
		||||
  height: calc((100vh - 90px - 50px - 16px) * 0.68);
 | 
			
		||||
  padding: 0 16px 16px;
 | 
			
		||||
  .area {
 | 
			
		||||
    .title {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user