Merge pull request '工单进度' (#28) 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: #28
This commit is contained in:
		
							
								
								
									
										1
									
								
								dist/css/1509.e33f4b04.css
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								dist/css/1509.e33f4b04.css
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1 @@
 | 
			
		||||
.order-detail .title[data-v-4ae8e0c5]{padding:24px;display:inline-block}.order-detail .title[data-v-4ae8e0c5]:before{content:"";display:inline-block;width:4px;height:16px;background:#0b58ff;border-radius:1px;margin-right:8px;vertical-align:middle}.order-detail .detail-box[data-v-4ae8e0c5]{padding:0 16px}.order-detail .detail-box .column-box .box[data-v-4ae8e0c5]{height:calc(25vh - 60px);padding-top:calc(7.5vh - 18px);padding-left:30px;border-bottom:1px solid #e8e8e8}.order-detail .detail-box .column-box .box .tip-value[data-v-4ae8e0c5]{display:block;font-size:22px;height:18px;margin-bottom:12px}.order-detail .detail-box .column-box .box .tip[data-v-4ae8e0c5]{display:inline-block;font-size:16px;background-color:#cae2ff;border-radius:2px;color:#288aff;padding:4px}.order-detail .detail-box .column-box .clear-border[data-v-4ae8e0c5]{border:none}.order-detail .detail-box .border-right[data-v-4ae8e0c5]{border-right:1px solid #e8e8e8}.main-box[data-v-7e4304c8]{margin-top:8px;padding:0 8px}.main-box .title[data-v-7e4304c8]{display:inline-block}.main-box .title[data-v-7e4304c8]:before{content:"";display:inline-block;width:4px;height:16px;background:#0b58ff;border-radius:1px;margin-right:8px;vertical-align:middle}.main-box .box[data-v-7e4304c8]{width:100%}.main-box .box .left-top[data-v-7e4304c8]{height:275px;margin-bottom:8px}.main-box .box .left-top .top-title[data-v-7e4304c8]{padding:16px 16px 20px}.main-box .box .left-top .titleStyle[data-v-7e4304c8]{font-size:16px;font-weight:600;color:rgba(0,0,0,.9);vertical-align:top}.main-box .box .left-top .line-order-msg[data-v-7e4304c8]{padding-left:24px;padding-right:24px;width:100%}.main-box .box .left-top .line-order-msg .plan_num[data-v-7e4304c8],.main-box .box .left-top .line-order-msg .product_num[data-v-7e4304c8]{height:118px;width:100%;border-radius:8px}.main-box .box .left-top .line-order-msg .plan_num .left-icon[data-v-7e4304c8],.main-box .box .left-top .line-order-msg .product_num .left-icon[data-v-7e4304c8]{text-align:center;margin-top:34px}.main-box .box .left-top .line-order-msg .plan_num .num[data-v-7e4304c8],.main-box .box .left-top .line-order-msg .product_num .num[data-v-7e4304c8]{font-size:32px;color:rgba(0,0,0,.85);margin-top:28px}.main-box .box .left-top .line-order-msg .plan_num .words[data-v-7e4304c8],.main-box .box .left-top .line-order-msg .product_num .words[data-v-7e4304c8]{font-size:18px;color:rgba(0,0,0,.65)}.main-box .box .left-top .line-order-msg .plan_num[data-v-7e4304c8]{background:#fff8e8}.main-box .box .left-top .line-order-msg .plan_num .left-icon[data-v-7e4304c8]{border-right:1px solid #ff9d50}.main-box .box .left-top .line-order-msg .product_num[data-v-7e4304c8]{background:#e3ffeb}.main-box .box .left-top .line-order-msg .product_num .left-icon[data-v-7e4304c8]{border-right:1px solid #50d277}.main-box .box .left-bottom[data-v-7e4304c8],.main-box .box .left-top[data-v-7e4304c8]{background-color:#fff;border-radius:8px}.main-box .box .left-bottom[data-v-7e4304c8]{height:calc(100vh - 439px);padding:24px 24px 0 24px}.main-box .box .right[data-v-7e4304c8]{height:calc(100vh - 156px);background-color:#fff;border-radius:8px}
 | 
			
		||||
@@ -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-499108ae]{position:relative}.box .text1[data-v-499108ae],.box .text2[data-v-499108ae],.box .text3[data-v-499108ae],.box .text4[data-v-499108ae]{position:absolute}.box .text1[data-v-499108ae]{top:30px;left:0}.box .text2[data-v-499108ae]{top:30px;right:0}.box .text3[data-v-499108ae]{bottom:10px;left:0}.box .text4[data-v-499108ae]{bottom:10px;right:0}.defectScatterPlot[data-v-b3510d52]{height:calc(100vh - 206px);overflow:auto}.defectScatterPlot .split-pane[data-v-b3510d52]{height:100%;border-radius:8px}.defectScatterPlot .left-box[data-v-b3510d52]{margin-left:16px;padding:16px 16px 0;background-color:#fff}.defectScatterPlot .right-box[data-v-b3510d52]{margin-right:16px}.defectScatterPlot .right-box .inner-box[data-v-b3510d52]{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-b3510d52]{margin-bottom:18px}.defectScatterPlot .right-box .inner-box .line2[data-v-b3510d52]{margin-bottom:12px}.defectScatterPlot .right-box .inner-box .line2 .el-checkbox[data-v-b3510d52]{margin-right:8px}.defectScatterPlot .title[data-v-b3510d52]{font-size:14px;color:rgba(0,0,0,.85)}.defectScatterPlot .title[data-v-b3510d52]: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-499108ae]{position:relative}.box .text1[data-v-499108ae],.box .text2[data-v-499108ae],.box .text3[data-v-499108ae],.box .text4[data-v-499108ae]{position:absolute}.box .text1[data-v-499108ae]{top:30px;left:0}.box .text2[data-v-499108ae]{top:30px;right:0}.box .text3[data-v-499108ae]{bottom:10px;left:0}.box .text4[data-v-499108ae]{bottom:10px;right:0}.defectScatterPlot[data-v-046d3a89]{height:calc(100vh - 206px);overflow:auto}.defectScatterPlot .split-pane[data-v-046d3a89]{height:100%;border-radius:8px}.defectScatterPlot .left-box[data-v-046d3a89]{margin-left:16px;padding:16px 16px 0;background-color:#fff}.defectScatterPlot .right-box[data-v-046d3a89]{margin-right:16px}.defectScatterPlot .right-box .inner-box[data-v-046d3a89]{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-046d3a89]{margin-bottom:18px}.defectScatterPlot .right-box .inner-box .line2[data-v-046d3a89]{margin-bottom:12px}.defectScatterPlot .right-box .inner-box .line2 .el-checkbox[data-v-046d3a89]{margin-right:8px}.defectScatterPlot .title[data-v-046d3a89]{font-size:14px;color:rgba(0,0,0,.85)}.defectScatterPlot .title[data-v-046d3a89]:before{content:"";display:inline-block;width:4px;height:16px;background:#0b58ff;border-radius:1px;vertical-align:middle;margin-right:8px}
 | 
			
		||||
							
								
								
									
										1
									
								
								dist/css/6681.ea2cf61d.css
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								dist/css/6681.ea2cf61d.css
									
									
									
									
										vendored
									
									
								
							@@ -1 +0,0 @@
 | 
			
		||||
.detail-box .column-box .box .tip-value[data-v-31d6d2a0]{display:block}.detail-box .column-box .box .tip[data-v-31d6d2a0]{display:inline-block;background-color:#cae2ff;border-radius:2px;color:#288aff;padding:4px}.detail-box .border-right[data-v-31d6d2a0]{border-right:1px solid #e8e8e8}.statistics[data-v-481a3ece]{padding:0 24px}.statistics .title[data-v-481a3ece]{display:inline-block;margin:24px 0 16px 0}.statistics .title[data-v-481a3ece]:before{content:"";display:inline-block;width:4px;height:16px;background:#0b58ff;border-radius:1px;margin-right:8px;vertical-align:middle}.main-box[data-v-2c312d06]{margin-top:8px}.main-box .top-box[data-v-2c312d06]{width:100%}.main-box .top-box .top-left[data-v-2c312d06],.main-box .top-box .top-right[data-v-2c312d06]{height:calc(49vh - 76.44px);background-color:#fff;border-radius:8px}.main-box .top-box .top-left .titleStyle[data-v-2c312d06]{font-weight:600;color:rgba(0,0,0,.9);vertical-align:top}.main-box .top-box .top-left .line-order-msg[data-v-2c312d06]{display:flex}.main-box .top-box .top-left .line-order-msg li .title[data-v-2c312d06]{display:inline-block}.main-box .top-box .top-left .line-order-msg li .title[data-v-2c312d06]: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-2c312d06]{border-right:1px solid #ccc}.main-box .top-box .top-left .line-order-msg li .plan_num[data-v-2c312d06],.main-box .top-box .top-left .line-order-msg li .product_num[data-v-2c312d06]{width:100%;border-radius:8px}.main-box .top-box .top-left .line-order-msg li .plan_num .num[data-v-2c312d06],.main-box .top-box .top-left .line-order-msg li .product_num .num[data-v-2c312d06]{color:rgba(0,0,0,.85);margin-bottom:6px}.main-box .top-box .top-left .line-order-msg li .plan_num .words[data-v-2c312d06],.main-box .top-box .top-left .line-order-msg li .product_num .words[data-v-2c312d06]{font-size:14px;color:rgba(0,0,0,.45)}.main-box .top-box .top-left .line-order-msg li .plan_num[data-v-2c312d06]{background:#fff8e8}.main-box .top-box .top-left .line-order-msg li .product_num[data-v-2c312d06]{background:#e3ffeb}.main-box .bottom-box[data-v-2c312d06]{height:calc(51vh - 79.56px);background-color:#fff;border-radius:8px;margin:8px 8px 0 0}
 | 
			
		||||
							
								
								
									
										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.9292971d.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.a130481f.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/1509.92e10c7c.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								dist/js/1509.92e10c7c.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
											
										
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										1
									
								
								dist/js/2740.5f835a4b.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								dist/js/2740.5f835a4b.js
									
									
									
									
										vendored
									
									
								
							@@ -1 +0,0 @@
 | 
			
		||||
"use strict";(self["webpackChunktft_mes"]=self["webpackChunktft_mes"]||[]).push([[2740],{2740:function(t,r,e){e.r(r),e.d(r,{default:function(){return l}});var o=function(){var t=this,r=t._self._c;return r("div",{staticClass:"reoprtManager"},[r("div",{staticClass:"report"},[t._m(0),r("div",{staticClass:"numBox"},[r("div",[r("div",{staticClass:"reportNum"},[r("div",{staticClass:"num"},[t._v(t._s(t.totalReports))]),t._m(1)]),r("div",{staticClass:"detail",on:{click:function(r){return t.toDetail()}}},[t._v("了解详情")])])])]),t._l(t.reportList,(function(e,o){return r("div",{key:o,staticClass:"reportDesc"},[r("div",[r("div",{staticClass:"reportNum"},[r("div",{staticClass:"num"},[t._v(t._s(e.quantity))]),r("div",{staticClass:"text"},[r("p",{staticClass:"font"},[t._v(t._s(e.name))]),r("p",{staticClass:"letter"},[t._v("Reports")])])]),r("div",{staticClass:"detail",on:{click:function(r){return t.toDetail(e.id)}}},[t._v("了解详情")])])])}))],2)},n=[function(){var t=this,r=t._self._c;return r("div",{staticClass:"imgBox"},[r("img",{attrs:{src:e(5002),alt:"",width:"355px",height:"314px"}})])},function(){var t=this,r=t._self._c;return r("div",{staticClass:"text"},[r("p",{staticClass:"font"},[t._v("全部报表")]),r("p",{staticClass:"letter"},[t._v("Reports")])])}],s=e(6527),a={name:"ReportList",data(){return{totalReports:0,reportList:[]}},mounted(){this.getList()},methods:{getList(){(0,s.J_)({}).then((t=>{if(0===t.code&&t.data.length>0){this.totalReports=0;for(let r=0;r<t.data.length;r++)this.totalReports+=t.data[r].quantity;this.reportList=t.data}else this.totalReports=0,this.reportList=[]}))},toDetail(t){this.$router.push({name:"reportListDetail",params:{categoryId:t||""}})}}},u=a,i=e(1001),p=(0,i.Z)(u,o,n,!1,null,null,null),l=p.exports},6527:function(t,r,e){e.d(r,{AT:function(){return y},Hg:function(){return d},J_:function(){return n},Kx:function(){return Z},QL:function(){return i},W0:function(){return f},a:function(){return c},an:function(){return _},bu:function(){return v},fL:function(){return R},gc:function(){return C},kB:function(){return s},m3:function(){return l},oR:function(){return g},sy:function(){return a},uW:function(){return h},uj:function(){return m},wy:function(){return u},yk:function(){return p}});var o=e(8859);function n(t){return(0,o.Z)({url:"/report/report-sheet-category/list",method:"post",data:t})}function s(t){return(0,o.Z)({url:"/report/report-sheet/page",method:"post",data:t})}function a(t){return(0,o.Z)({url:"/report/report-sheet/update",method:"post",data:t})}function u(t){return(0,o.Z)({url:"/report/report-sheet/delete",method:"post",data:t})}function i(t){return(0,o.Z)({url:"/report/report-sheet/get",method:"post",data:t})}function p(t){return(0,o.Z)({url:"/report/report-sheet-category/page",method:"post",data:t})}function l(t){return(0,o.Z)({url:"/report/report-sheet-category/add",method:"post",data:t})}function c(t){return(0,o.Z)({url:"/report/report-sheet-category/update",method:"post",data:t})}function d(t){return(0,o.Z)({url:"/report/report-sheet-category/get",method:"post",data:t})}function f(t){return(0,o.Z)({url:"/report/report-sheet-category/delete",method:"post",data:t})}function h(t){return(0,o.Z)({url:"/report/GlassReport/listGlass",method:"post",data:t})}function m(t){return(0,o.Z)({url:"/report/GlassReport/qualityReport",method:"post",data:t})}function g(t){return(0,o.Z)({url:"/report/GlassReport/qualityReportexport",method:"post",responseType:"blob",data:t})}function v(t){return(0,o.Z)({url:"/report/GlassReport/thickReport",method:"post",data:t})}function _(t){return(0,o.Z)({url:"/report/GlassReport/thickReportexport",method:"post",responseType:"blob",data:t})}function y(t){return(0,o.Z)({url:"/quality/finalpackaging/queryGlassData",method:"post",data:t})}function R(t){return(0,o.Z)({url:"/quality/finalpackaging/claGlassData",method:"post",data:t})}function Z(t){return(0,o.Z)({url:"/report/GlassReport/getGlassVoid",method:"post",data:t})}function C(t){return(0,o.Z)({url:"/report/GlassReport/getUnitVoid",method:"post",data:t})}},5002:function(t,r,e){t.exports=e.p+"img/report.b2b3c253.png"}}]);
 | 
			
		||||
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
										
											
												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/6015.e0415dee.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								dist/js/6015.e0415dee.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1 @@
 | 
			
		||||
"use strict";(self["webpackChunktft_mes"]=self["webpackChunktft_mes"]||[]).push([[6015],{6015:function(t,r,e){e.r(r),e.d(r,{default:function(){return c}});var o=function(){var t=this,r=t._self._c;return r("div",{staticClass:"reoprtManager"},[r("div",{staticClass:"report"},[t._m(0),r("div",{staticClass:"numBox"},[r("div",[r("div",{staticClass:"reportNum"},[r("div",{staticClass:"num"},[t._v(t._s(t.totalReports))]),t._m(1)]),r("div",{staticClass:"detail",on:{click:function(r){return t.toDetail()}}},[t._v("了解详情")])])])]),t._l(t.reportList,(function(e,o){return r("div",{key:o,staticClass:"reportDesc"},[r("div",[r("div",{staticClass:"reportNum"},[r("div",{staticClass:"num"},[t._v(t._s(e.quantity))]),r("div",{staticClass:"text"},[r("p",{staticClass:"font"},[t._v(t._s(e.name))]),r("p",{staticClass:"letter"},[t._v("Reports")])])]),r("div",{staticClass:"detail",on:{click:function(r){return t.toDetail(e.id)}}},[t._v("了解详情")])])])}))],2)},n=[function(){var t=this,r=t._self._c;return r("div",{staticClass:"imgBox"},[r("img",{attrs:{src:e(5002),alt:"",width:"355px",height:"314px"}})])},function(){var t=this,r=t._self._c;return r("div",{staticClass:"text"},[r("p",{staticClass:"font"},[t._v("全部报表")]),r("p",{staticClass:"letter"},[t._v("Reports")])])}],s=e(6527),a={name:"ReportList",data(){return{totalReports:0,reportList:[]}},mounted(){this.getList()},methods:{getList(){(0,s.J_)({}).then((t=>{0===t.code&&t.data.length>0?this.reportList=t.data:this.reportList=[]})),(0,s.up)({}).then((t=>{0===t.code&&t.data.length>0?this.totalReports=t.data[0].reportNum:this.totalReports=0}))},toDetail(t){this.$router.push({name:"reportListDetail",params:{categoryId:t||""}})}}},u=a,i=e(1001),p=(0,i.Z)(u,o,n,!1,null,null,null),c=p.exports},6527:function(t,r,e){e.d(r,{AT:function(){return Z},Hg:function(){return f},J_:function(){return n},Kx:function(){return C},QL:function(){return i},W0:function(){return h},a:function(){return d},an:function(){return R},bu:function(){return _},fL:function(){return y},gc:function(){return k},kB:function(){return s},m3:function(){return l},oR:function(){return v},sy:function(){return a},uW:function(){return m},uj:function(){return g},up:function(){return c},wy:function(){return u},yk:function(){return p}});var o=e(8859);function n(t){return(0,o.Z)({url:"/report/report-sheet-category/list",method:"post",data:t})}function s(t){return(0,o.Z)({url:"/report/report-sheet/page",method:"post",data:t})}function a(t){return(0,o.Z)({url:"/report/report-sheet/update",method:"post",data:t})}function u(t){return(0,o.Z)({url:"/report/report-sheet/delete",method:"post",data:t})}function i(t){return(0,o.Z)({url:"/report/report-sheet/get",method:"post",data:t})}function p(t){return(0,o.Z)({url:"/report/report-sheet-category/page",method:"post",data:t})}function c(t){return(0,o.Z)({url:"/report/GlassReport/getReportNum",method:"post",data:t})}function l(t){return(0,o.Z)({url:"/report/report-sheet-category/add",method:"post",data:t})}function d(t){return(0,o.Z)({url:"/report/report-sheet-category/update",method:"post",data:t})}function f(t){return(0,o.Z)({url:"/report/report-sheet-category/get",method:"post",data:t})}function h(t){return(0,o.Z)({url:"/report/report-sheet-category/delete",method:"post",data:t})}function m(t){return(0,o.Z)({url:"/report/GlassReport/listGlass",method:"post",data:t})}function g(t){return(0,o.Z)({url:"/report/GlassReport/qualityReport",method:"post",data:t})}function v(t){return(0,o.Z)({url:"/report/GlassReport/qualityReportexport",method:"post",responseType:"blob",data:t})}function _(t){return(0,o.Z)({url:"/report/GlassReport/thickReport",method:"post",data:t})}function R(t){return(0,o.Z)({url:"/report/GlassReport/thickReportexport",method:"post",responseType:"blob",data:t})}function Z(t){return(0,o.Z)({url:"/quality/finalpackaging/queryGlassData",method:"post",data:t})}function y(t){return(0,o.Z)({url:"/quality/finalpackaging/claGlassData",method:"post",data:t})}function C(t){return(0,o.Z)({url:"/report/GlassReport/getGlassVoid",method:"post",data:t})}function k(t){return(0,o.Z)({url:"/report/GlassReport/getUnitVoid",method:"post",data:t})}},5002:function(t,r,e){t.exports=e.p+"img/report.b2b3c253.png"}}]);
 | 
			
		||||
							
								
								
									
										1
									
								
								dist/js/6681.1d3c6433.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								dist/js/6681.1d3c6433.js
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							@@ -8,30 +8,6 @@ export function getProcessInfo(data) {
 | 
			
		||||
  })
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export function lineGlassCount(data) {
 | 
			
		||||
  return request({
 | 
			
		||||
    url: '/order/workOrderProcess/lineGlassCount',
 | 
			
		||||
    method: 'post',
 | 
			
		||||
    data
 | 
			
		||||
  })
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export function grindGlassCount(data) {
 | 
			
		||||
  return request({
 | 
			
		||||
    url: '/order/workOrderProcess/grindGlassCount',
 | 
			
		||||
    method: 'post',
 | 
			
		||||
    data
 | 
			
		||||
  })
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export function finalClassCount(data) {
 | 
			
		||||
  return request({
 | 
			
		||||
    url: '/order/workOrderProcess/FinalClassCount',
 | 
			
		||||
    method: 'post',
 | 
			
		||||
    data
 | 
			
		||||
  })
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 工单管理
 | 
			
		||||
export function getWorkOrderPage(data) {
 | 
			
		||||
  return request({
 | 
			
		||||
 
 | 
			
		||||
@@ -48,6 +48,14 @@ export function getReportCategory(data) {
 | 
			
		||||
  })
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export function getReportNum(data) {
 | 
			
		||||
  return request({
 | 
			
		||||
    url: '/report/GlassReport/getReportNum',
 | 
			
		||||
    method: 'post',
 | 
			
		||||
    data
 | 
			
		||||
  })
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export function reportCategoryAdd(data) {
 | 
			
		||||
  return request({
 | 
			
		||||
    url: '/report/report-sheet-category/add',
 | 
			
		||||
 
 | 
			
		||||
@@ -1,17 +1,24 @@
 | 
			
		||||
<template>
 | 
			
		||||
  <div :style="{ paddingLeft: 50 * beilv + 'px' }">
 | 
			
		||||
  <div>
 | 
			
		||||
    <div
 | 
			
		||||
      id="productRing"
 | 
			
		||||
      :style="{ height: 280 * beilv + 'px', width: 280 * beilv + 'px' }"
 | 
			
		||||
      style="width: 100%"
 | 
			
		||||
      :style="{ height: chartHeight + 'px' }"
 | 
			
		||||
    />
 | 
			
		||||
  </div>
 | 
			
		||||
</template>
 | 
			
		||||
<script>
 | 
			
		||||
import * as echarts from 'echarts'
 | 
			
		||||
import { tableHeight } from '@/utils/index'
 | 
			
		||||
import resize from '@/utils/chartMixins/resize'
 | 
			
		||||
export default {
 | 
			
		||||
  mixins: [resize],
 | 
			
		||||
  name: 'RingChart',
 | 
			
		||||
  data() {
 | 
			
		||||
    return {
 | 
			
		||||
      chartHeight: tableHeight(439) - 60
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  props: {
 | 
			
		||||
    chartMsg: {
 | 
			
		||||
      type: Object,
 | 
			
		||||
@@ -20,16 +27,15 @@ export default {
 | 
			
		||||
          chart: ''
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    beilv: {
 | 
			
		||||
      type: Number,
 | 
			
		||||
      default: 1
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  mounted() {
 | 
			
		||||
    this.$nextTick(() => {
 | 
			
		||||
      this.initChart()
 | 
			
		||||
    })
 | 
			
		||||
    window.addEventListener('resize', () => {
 | 
			
		||||
      this.chartHeight = tableHeight(439) - 60
 | 
			
		||||
    })
 | 
			
		||||
  },
 | 
			
		||||
  watch: {
 | 
			
		||||
    chartMsg: function () {
 | 
			
		||||
@@ -55,32 +61,44 @@ export default {
 | 
			
		||||
      var chartDom = document.getElementById('productRing')
 | 
			
		||||
      this.chart = echarts.init(chartDom)
 | 
			
		||||
      console.log(this.chartMsg)
 | 
			
		||||
      var totalNum = this.chartMsg.finishNum
 | 
			
		||||
      var lp = this.chartMsg.okNum
 | 
			
		||||
      var fp = this.chartMsg.wasteNum
 | 
			
		||||
      var djg = this.chartMsg.reprocessNum
 | 
			
		||||
      var tj = this.chartMsg.tuneNum
 | 
			
		||||
      var totalNum = this.chartMsg.finishNum ? this.chartMsg.finishNum : 0
 | 
			
		||||
      var lp = this.chartMsg.okNum ? this.chartMsg.okNum : 0
 | 
			
		||||
      var fp = this.chartMsg.wasteNum ? this.chartMsg.wasteNum : 0
 | 
			
		||||
      var djg = this.chartMsg.reprocessNum ? this.chartMsg.reprocessNum : 0
 | 
			
		||||
      var tj = this.chartMsg.tuneNum ? this.chartMsg.tuneNum : 0
 | 
			
		||||
      var option = {
 | 
			
		||||
        color: ['#288aff', '#7a34fd', '#ffb750', '#95f3b1'],
 | 
			
		||||
        tooltip: {
 | 
			
		||||
          trigger: 'item'
 | 
			
		||||
        },
 | 
			
		||||
        legend: {
 | 
			
		||||
          icon: 'circle',
 | 
			
		||||
          bottom: '0%',
 | 
			
		||||
          left: 'center',
 | 
			
		||||
          itemWidth: 8,
 | 
			
		||||
          itemHeight: 8
 | 
			
		||||
          top: '0%',
 | 
			
		||||
          left: '-10px'
 | 
			
		||||
        },
 | 
			
		||||
        series: [
 | 
			
		||||
          // 内圆1
 | 
			
		||||
          {
 | 
			
		||||
            type: 'pie',
 | 
			
		||||
            zlevel: 1, // 层级
 | 
			
		||||
            radius: ['55%', '58%'],
 | 
			
		||||
            center: ['50%', '40%'],
 | 
			
		||||
            radius: ['48%', '50%'],
 | 
			
		||||
            center: ['50%', '60%'],
 | 
			
		||||
            label: {
 | 
			
		||||
              show: false
 | 
			
		||||
              show: true,
 | 
			
		||||
              position: 'center',
 | 
			
		||||
              color: '#9A9EBA',
 | 
			
		||||
              formatter: ['{a|' + totalNum + '}', '{b|总生产数量}'].join(
 | 
			
		||||
                '\n\n'
 | 
			
		||||
              ),
 | 
			
		||||
              rich: {
 | 
			
		||||
                a: {
 | 
			
		||||
                  color: '#262626',
 | 
			
		||||
                  fontSize: 50
 | 
			
		||||
                },
 | 
			
		||||
                b: {
 | 
			
		||||
                  color: '#979797',
 | 
			
		||||
                  fontSize: 22
 | 
			
		||||
                }
 | 
			
		||||
              }
 | 
			
		||||
            },
 | 
			
		||||
            itemStyle: {
 | 
			
		||||
              shadowBlur: 10,
 | 
			
		||||
@@ -98,8 +116,8 @@ export default {
 | 
			
		||||
          // 外环1
 | 
			
		||||
          {
 | 
			
		||||
            type: 'pie',
 | 
			
		||||
            radius: ['70%', '71%'],
 | 
			
		||||
            center: ['50%', '40%'],
 | 
			
		||||
            radius: ['62%', '63%'],
 | 
			
		||||
            center: ['50%', '60%'],
 | 
			
		||||
            zlevel: 1, // 层级
 | 
			
		||||
            label: {
 | 
			
		||||
              show: false
 | 
			
		||||
@@ -122,8 +140,8 @@ export default {
 | 
			
		||||
            name: 'Access From',
 | 
			
		||||
            zlevel: 2, // 层级
 | 
			
		||||
            type: 'pie',
 | 
			
		||||
            radius: ['58%', '70%'],
 | 
			
		||||
            center: ['50%', '40%'],
 | 
			
		||||
            radius: ['50%', '62%'],
 | 
			
		||||
            center: ['50%', '60%'],
 | 
			
		||||
            clockwise: true,
 | 
			
		||||
            avoidLabelOverlap: false,
 | 
			
		||||
            emphasis: {
 | 
			
		||||
@@ -132,52 +150,53 @@ export default {
 | 
			
		||||
            silent: true,
 | 
			
		||||
            label: {
 | 
			
		||||
              show: true,
 | 
			
		||||
              position: 'center',
 | 
			
		||||
              color: '#9A9EBA',
 | 
			
		||||
              formatter: ['{a|' + totalNum + '}', '{b|总生产数量}'].join(
 | 
			
		||||
                '\n\n'
 | 
			
		||||
              ),
 | 
			
		||||
              formatter(param) {
 | 
			
		||||
                return [
 | 
			
		||||
                  '{a|' + param.name + '}',
 | 
			
		||||
                  '{b|' + param.value + '}'
 | 
			
		||||
                ].join('\n\n')
 | 
			
		||||
              },
 | 
			
		||||
              color: 'inherit',
 | 
			
		||||
              rich: {
 | 
			
		||||
                a: {
 | 
			
		||||
                  color: '#262626',
 | 
			
		||||
                  fontSize: 24
 | 
			
		||||
                  fontSize: 18
 | 
			
		||||
                },
 | 
			
		||||
                b: {
 | 
			
		||||
                  color: '#979797',
 | 
			
		||||
                  fontSize: 12
 | 
			
		||||
                  color: '#000',
 | 
			
		||||
                  fontSize: 24
 | 
			
		||||
                }
 | 
			
		||||
              }
 | 
			
		||||
            },
 | 
			
		||||
            labelLine: {
 | 
			
		||||
              show: false
 | 
			
		||||
              length2: 60
 | 
			
		||||
            },
 | 
			
		||||
            data: [
 | 
			
		||||
              {
 | 
			
		||||
                value: djg,
 | 
			
		||||
                name: '待再加工',
 | 
			
		||||
                itemStyle: {
 | 
			
		||||
                  color: '#ffb750'
 | 
			
		||||
                }
 | 
			
		||||
              },
 | 
			
		||||
              {
 | 
			
		||||
                value: lp,
 | 
			
		||||
                name: '良品数量 ' + lp,
 | 
			
		||||
                name: '良品数量',
 | 
			
		||||
                itemStyle: {
 | 
			
		||||
                  color: '#288aff'
 | 
			
		||||
                }
 | 
			
		||||
              },
 | 
			
		||||
              {
 | 
			
		||||
                value: fp,
 | 
			
		||||
                name: '废品数量 ' + fp,
 | 
			
		||||
                name: '废品数量',
 | 
			
		||||
                itemStyle: {
 | 
			
		||||
                  color: '#7a34fd'
 | 
			
		||||
                }
 | 
			
		||||
              },
 | 
			
		||||
              {
 | 
			
		||||
                value: djg,
 | 
			
		||||
                name: '待再加工 ' + djg,
 | 
			
		||||
                itemStyle: {
 | 
			
		||||
                  color: '#ffb750'
 | 
			
		||||
                }
 | 
			
		||||
              },
 | 
			
		||||
              {
 | 
			
		||||
                value: tj,
 | 
			
		||||
                name: '调机数量 ' + tj,
 | 
			
		||||
                name: '调机数量',
 | 
			
		||||
                itemStyle: {
 | 
			
		||||
                  color: '#95f3b1'
 | 
			
		||||
                  color: '#50d277'
 | 
			
		||||
                }
 | 
			
		||||
              }
 | 
			
		||||
            ]
 | 
			
		||||
 
 | 
			
		||||
@@ -1,182 +1,71 @@
 | 
			
		||||
<template>
 | 
			
		||||
  <el-row class="detail-box" :style="{ paddingTop: 16 * beilv + 'px' }">
 | 
			
		||||
    <el-col :span="8">
 | 
			
		||||
      <div
 | 
			
		||||
        class="column-box border-right"
 | 
			
		||||
        :style="{ paddingLeft: 60 * beilv + 'px' }"
 | 
			
		||||
      >
 | 
			
		||||
        <p class="box" :style="{ marginTop: 27 * beilv + 'px' }">
 | 
			
		||||
          <span
 | 
			
		||||
            class="tip-value"
 | 
			
		||||
            :style="{
 | 
			
		||||
              fontSize: 27 * beilv + 'px',
 | 
			
		||||
              marginBottom: 6 * beilv + 'px'
 | 
			
		||||
            }"
 | 
			
		||||
            >{{ detailMsg.code }}</span
 | 
			
		||||
          >
 | 
			
		||||
          <span class="tip" :style="{ fontSize: 16 * beilv + 'px' }"
 | 
			
		||||
            >工单编号</span
 | 
			
		||||
          >
 | 
			
		||||
        </p>
 | 
			
		||||
        <p class="box" :style="{ marginTop: 27 * beilv + 'px' }">
 | 
			
		||||
          <span
 | 
			
		||||
            class="tip-value"
 | 
			
		||||
            :style="{
 | 
			
		||||
              fontSize: 27 * beilv + 'px',
 | 
			
		||||
              marginBottom: 6 * beilv + 'px'
 | 
			
		||||
            }"
 | 
			
		||||
            >{{ detailMsg.planNum }}</span
 | 
			
		||||
          >
 | 
			
		||||
          <span class="tip" :style="{ fontSize: 16 * beilv + 'px' }"
 | 
			
		||||
            >计划数量</span
 | 
			
		||||
          >
 | 
			
		||||
        </p>
 | 
			
		||||
        <p class="box" :style="{ marginTop: 27 * beilv + 'px' }">
 | 
			
		||||
          <span
 | 
			
		||||
            class="tip-value"
 | 
			
		||||
            :style="{
 | 
			
		||||
              fontSize: 27 * beilv + 'px',
 | 
			
		||||
              marginBottom: 6 * beilv + 'px'
 | 
			
		||||
            }"
 | 
			
		||||
            >{{ type }}</span
 | 
			
		||||
          >
 | 
			
		||||
          <span class="tip" :style="{ fontSize: 16 * beilv + 'px' }"
 | 
			
		||||
            >工单类型</span
 | 
			
		||||
          >
 | 
			
		||||
        </p>
 | 
			
		||||
        <p class="box" :style="{ marginTop: 27 * beilv + 'px' }">
 | 
			
		||||
          <span
 | 
			
		||||
            class="tip-value"
 | 
			
		||||
            :style="{
 | 
			
		||||
              fontSize: 27 * beilv + 'px',
 | 
			
		||||
              marginBottom: 6 * beilv + 'px'
 | 
			
		||||
            }"
 | 
			
		||||
            >{{ detailMsg.productSpec }}</span
 | 
			
		||||
          >
 | 
			
		||||
          <span class="tip" :style="{ fontSize: 16 * beilv + 'px' }"
 | 
			
		||||
            >产品型号</span
 | 
			
		||||
          >
 | 
			
		||||
        </p>
 | 
			
		||||
      </div>
 | 
			
		||||
    </el-col>
 | 
			
		||||
    <el-col :span="8">
 | 
			
		||||
      <div
 | 
			
		||||
        class="column-box border-right"
 | 
			
		||||
        :style="{ paddingLeft: 60 * beilv + 'px' }"
 | 
			
		||||
      >
 | 
			
		||||
        <p class="box" :style="{ marginTop: 27 * beilv + 'px' }">
 | 
			
		||||
          <span
 | 
			
		||||
            class="tip-value"
 | 
			
		||||
            :style="{
 | 
			
		||||
              fontSize: 27 * beilv + 'px',
 | 
			
		||||
              marginBottom: 6 * beilv + 'px'
 | 
			
		||||
            }"
 | 
			
		||||
            >{{ status }}</span
 | 
			
		||||
          >
 | 
			
		||||
          <span class="tip" :style="{ fontSize: 16 * beilv + 'px' }"
 | 
			
		||||
            >工单状态</span
 | 
			
		||||
          >
 | 
			
		||||
        </p>
 | 
			
		||||
        <p class="box" :style="{ marginTop: 27 * beilv + 'px' }">
 | 
			
		||||
          <span
 | 
			
		||||
            class="tip-value"
 | 
			
		||||
            :style="{
 | 
			
		||||
              fontSize: 27 * beilv + 'px',
 | 
			
		||||
              marginBottom: 6 * beilv + 'px'
 | 
			
		||||
            }"
 | 
			
		||||
            >{{ detailMsg.realProductNum }}</span
 | 
			
		||||
          >
 | 
			
		||||
          <span class="tip" :style="{ fontSize: 16 * beilv + 'px' }"
 | 
			
		||||
            >完成数量</span
 | 
			
		||||
          >
 | 
			
		||||
        </p>
 | 
			
		||||
        <p class="box" :style="{ marginTop: 27 * beilv + 'px' }">
 | 
			
		||||
          <span
 | 
			
		||||
            class="tip-value"
 | 
			
		||||
            :style="{
 | 
			
		||||
              fontSize: 27 * beilv + 'px',
 | 
			
		||||
              marginBottom: 6 * beilv + 'px'
 | 
			
		||||
            }"
 | 
			
		||||
            >{{ planStartTime }}</span
 | 
			
		||||
          >
 | 
			
		||||
          <span class="tip" :style="{ fontSize: 16 * beilv + 'px' }"
 | 
			
		||||
            >计划开始时间</span
 | 
			
		||||
          >
 | 
			
		||||
        </p>
 | 
			
		||||
        <p class="box" :style="{ marginTop: 27 * beilv + 'px' }">
 | 
			
		||||
          <span
 | 
			
		||||
            class="tip-value"
 | 
			
		||||
            :style="{
 | 
			
		||||
              fontSize: 27 * beilv + 'px',
 | 
			
		||||
              marginBottom: 6 * beilv + 'px'
 | 
			
		||||
            }"
 | 
			
		||||
            >{{ planEndTime }}</span
 | 
			
		||||
          >
 | 
			
		||||
          <span class="tip" :style="{ fontSize: 16 * beilv + 'px' }"
 | 
			
		||||
            >计划结束时间</span
 | 
			
		||||
          >
 | 
			
		||||
        </p>
 | 
			
		||||
      </div>
 | 
			
		||||
    </el-col>
 | 
			
		||||
    <el-col :span="8">
 | 
			
		||||
      <div class="column-box" :style="{ paddingLeft: 60 * beilv + 'px' }">
 | 
			
		||||
        <p class="box" :style="{ marginTop: 27 * beilv + 'px' }">
 | 
			
		||||
          <span
 | 
			
		||||
            class="tip-value"
 | 
			
		||||
            :style="{
 | 
			
		||||
              fontSize: 27 * beilv + 'px',
 | 
			
		||||
              marginBottom: 6 * beilv + 'px'
 | 
			
		||||
            }"
 | 
			
		||||
            >{{ process }}</span
 | 
			
		||||
          >
 | 
			
		||||
          <span class="tip" :style="{ fontSize: 16 * beilv + 'px' }"
 | 
			
		||||
            >工单进度</span
 | 
			
		||||
          >
 | 
			
		||||
        </p>
 | 
			
		||||
        <p class="box" :style="{ marginTop: 27 * beilv + 'px' }">
 | 
			
		||||
          <span
 | 
			
		||||
            class="tip-value"
 | 
			
		||||
            :style="{
 | 
			
		||||
              fontSize: 27 * beilv + 'px',
 | 
			
		||||
              marginBottom: 6 * beilv + 'px'
 | 
			
		||||
            }"
 | 
			
		||||
            >{{ yieldNum }}</span
 | 
			
		||||
          >
 | 
			
		||||
          <span class="tip" :style="{ fontSize: 16 * beilv + 'px' }"
 | 
			
		||||
            >工单良率</span
 | 
			
		||||
          >
 | 
			
		||||
        </p>
 | 
			
		||||
        <p class="box" :style="{ marginTop: 27 * beilv + 'px' }">
 | 
			
		||||
          <span
 | 
			
		||||
            class="tip-value"
 | 
			
		||||
            :style="{
 | 
			
		||||
              fontSize: 27 * beilv + 'px',
 | 
			
		||||
              marginBottom: 6 * beilv + 'px'
 | 
			
		||||
            }"
 | 
			
		||||
            >{{
 | 
			
		||||
  <div class="order-detail">
 | 
			
		||||
    <span class="title">生产信息</span>
 | 
			
		||||
    <el-row class="detail-box">
 | 
			
		||||
      <el-col :span="10">
 | 
			
		||||
        <div class="column-box border-right">
 | 
			
		||||
          <p class="box">
 | 
			
		||||
            <span class="tip-value">{{ planStartTime }}</span>
 | 
			
		||||
            <span class="tip">计划开始时间</span>
 | 
			
		||||
          </p>
 | 
			
		||||
          <p class="box">
 | 
			
		||||
            <span class="tip-value">{{ planEndTime }}</span>
 | 
			
		||||
            <span class="tip">计划结束时间</span>
 | 
			
		||||
          </p>
 | 
			
		||||
          <p class="box">
 | 
			
		||||
            <span class="tip-value">{{ startTime }}</span>
 | 
			
		||||
            <span class="tip">实际开始时间</span>
 | 
			
		||||
          </p>
 | 
			
		||||
          <p class="box clear-border">
 | 
			
		||||
            <span class="tip-value">{{
 | 
			
		||||
              detailMsg.sumProcessTime ? detailMsg.sumProcessTime : '-'
 | 
			
		||||
            }}</span
 | 
			
		||||
          >
 | 
			
		||||
          <span class="tip" :style="{ fontSize: 16 * beilv + 'px' }"
 | 
			
		||||
            >累计加工时长</span
 | 
			
		||||
          >
 | 
			
		||||
        </p>
 | 
			
		||||
        <p class="box" :style="{ marginTop: 27 * beilv + 'px' }">
 | 
			
		||||
          <span
 | 
			
		||||
            class="tip-value"
 | 
			
		||||
            :style="{
 | 
			
		||||
              fontSize: 27 * beilv + 'px',
 | 
			
		||||
              marginBottom: 6 * beilv + 'px'
 | 
			
		||||
            }"
 | 
			
		||||
            >{{ startTime }}</span
 | 
			
		||||
          >
 | 
			
		||||
          <span class="tip" :style="{ fontSize: 16 * beilv + 'px' }"
 | 
			
		||||
            >实际开始时间</span
 | 
			
		||||
          >
 | 
			
		||||
        </p>
 | 
			
		||||
      </div>
 | 
			
		||||
    </el-col>
 | 
			
		||||
  </el-row>
 | 
			
		||||
            }}</span>
 | 
			
		||||
            <span class="tip">累计加工时长</span>
 | 
			
		||||
          </p>
 | 
			
		||||
        </div>
 | 
			
		||||
      </el-col>
 | 
			
		||||
      <el-col :span="7">
 | 
			
		||||
        <div class="column-box border-right">
 | 
			
		||||
          <p class="box">
 | 
			
		||||
            <span class="tip-value">{{ detailMsg.code }}</span>
 | 
			
		||||
            <span class="tip">工单编号</span>
 | 
			
		||||
          </p>
 | 
			
		||||
          <p class="box">
 | 
			
		||||
            <span class="tip-value">{{ detailMsg.planNum }}</span>
 | 
			
		||||
            <span class="tip">计划数量</span>
 | 
			
		||||
          </p>
 | 
			
		||||
          <p class="box">
 | 
			
		||||
            <span class="tip-value">{{ type }}</span>
 | 
			
		||||
            <span class="tip">工单类型</span>
 | 
			
		||||
          </p>
 | 
			
		||||
          <p class="box clear-border">
 | 
			
		||||
            <span class="tip-value">{{ process }}</span>
 | 
			
		||||
            <span class="tip">工单进度</span>
 | 
			
		||||
          </p>
 | 
			
		||||
        </div>
 | 
			
		||||
      </el-col>
 | 
			
		||||
      <el-col :span="7">
 | 
			
		||||
        <div class="column-box">
 | 
			
		||||
          <p class="box">
 | 
			
		||||
            <span class="tip-value">{{ status }}</span>
 | 
			
		||||
            <span class="tip">工单状态</span>
 | 
			
		||||
          </p>
 | 
			
		||||
          <p class="box">
 | 
			
		||||
            <span class="tip-value">{{ detailMsg.realProductNum }}</span>
 | 
			
		||||
            <span class="tip">完成数量</span>
 | 
			
		||||
          </p>
 | 
			
		||||
          <p class="box">
 | 
			
		||||
            <span class="tip-value">{{ detailMsg.productSpec }}</span>
 | 
			
		||||
            <span class="tip">产品型号</span>
 | 
			
		||||
          </p>
 | 
			
		||||
          <p class="box clear-border">
 | 
			
		||||
            <span class="tip-value">{{ yieldNum }}</span>
 | 
			
		||||
            <span class="tip">工单良率</span>
 | 
			
		||||
          </p>
 | 
			
		||||
        </div>
 | 
			
		||||
      </el-col>
 | 
			
		||||
    </el-row>
 | 
			
		||||
  </div>
 | 
			
		||||
</template>
 | 
			
		||||
<script>
 | 
			
		||||
import { timeFormatter } from '@/utils/index'
 | 
			
		||||
@@ -223,10 +112,14 @@ export default {
 | 
			
		||||
      return timeFormatter(this.detailMsg.planEndTime)
 | 
			
		||||
    },
 | 
			
		||||
    process() {
 | 
			
		||||
      return (this.detailMsg.process * 100).toFixed(2) + '%'
 | 
			
		||||
      return this.detailMsg.process
 | 
			
		||||
        ? (this.detailMsg.process * 100).toFixed(0) + '%'
 | 
			
		||||
        : ''
 | 
			
		||||
    },
 | 
			
		||||
    yieldNum() {
 | 
			
		||||
      return (this.detailMsg.yield * 100).toFixed(2) + '%'
 | 
			
		||||
      return this.detailMsg.yield
 | 
			
		||||
        ? (this.detailMsg.yield * 100).toFixed(0) + '%'
 | 
			
		||||
        : ''
 | 
			
		||||
    },
 | 
			
		||||
    startTime() {
 | 
			
		||||
      return timeFormatter(this.detailMsg.startTime)
 | 
			
		||||
@@ -235,23 +128,51 @@ export default {
 | 
			
		||||
}
 | 
			
		||||
</script>
 | 
			
		||||
<style lang="scss" scoped>
 | 
			
		||||
.detail-box {
 | 
			
		||||
  .column-box {
 | 
			
		||||
    .box {
 | 
			
		||||
      .tip-value {
 | 
			
		||||
        display: block;
 | 
			
		||||
.order-detail {
 | 
			
		||||
  .title {
 | 
			
		||||
    padding: 24px;
 | 
			
		||||
    display: inline-block;
 | 
			
		||||
  }
 | 
			
		||||
  .title::before {
 | 
			
		||||
    content: '';
 | 
			
		||||
    display: inline-block;
 | 
			
		||||
    width: 4px;
 | 
			
		||||
    height: 16px;
 | 
			
		||||
    background: #0b58ff;
 | 
			
		||||
    border-radius: 1px;
 | 
			
		||||
    margin-right: 8px;
 | 
			
		||||
    vertical-align: middle;
 | 
			
		||||
  }
 | 
			
		||||
  .detail-box {
 | 
			
		||||
    padding: 0 16px;
 | 
			
		||||
    .column-box {
 | 
			
		||||
      .box {
 | 
			
		||||
        height: calc((100vh - 240px) / 4);
 | 
			
		||||
        padding-top: calc(((100vh - 240px) / 4) * 0.3);
 | 
			
		||||
        padding-left: 30px;
 | 
			
		||||
        border-bottom: 1px solid #e8e8e8;
 | 
			
		||||
        .tip-value {
 | 
			
		||||
          display: block;
 | 
			
		||||
          font-size: 22px;
 | 
			
		||||
          height: 18px;
 | 
			
		||||
          margin-bottom: 12px;
 | 
			
		||||
        }
 | 
			
		||||
        .tip {
 | 
			
		||||
          display: inline-block;
 | 
			
		||||
          font-size: 16px;
 | 
			
		||||
          background-color: #cae2ff;
 | 
			
		||||
          border-radius: 2px;
 | 
			
		||||
          color: #288aff;
 | 
			
		||||
          padding: 4px;
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
      .tip {
 | 
			
		||||
        display: inline-block;
 | 
			
		||||
        background-color: #cae2ff;
 | 
			
		||||
        border-radius: 2px;
 | 
			
		||||
        color: #288aff;
 | 
			
		||||
        padding: 4px;
 | 
			
		||||
      .clear-border {
 | 
			
		||||
        border: none;
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
  .border-right {
 | 
			
		||||
    border-right: 1px solid #e8e8e8;
 | 
			
		||||
    .border-right {
 | 
			
		||||
      border-right: 1px solid #e8e8e8;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
</style>
 | 
			
		||||
 
 | 
			
		||||
@@ -1,235 +0,0 @@
 | 
			
		||||
<template>
 | 
			
		||||
  <div class="statistics" :style="{ fontSize: 16 * beilv + 'px' }">
 | 
			
		||||
    <span class="title">{{ line }}在制品统计</span>
 | 
			
		||||
    <base-table :table-props="tableProps1" :table-data="tableData1" />
 | 
			
		||||
    <span class="title">面磨单元在制品统计</span>
 | 
			
		||||
    <base-table :table-props="tableProps2" :table-data="tableData1" />
 | 
			
		||||
    <span class="title">终检单元在制品统计</span>
 | 
			
		||||
    <base-table :table-props="tableProps3" :table-data="tableData1" />
 | 
			
		||||
  </div>
 | 
			
		||||
</template>
 | 
			
		||||
<script>
 | 
			
		||||
const tableProps1 = [
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'name1',
 | 
			
		||||
    label: '精切单元',
 | 
			
		||||
    minWidth: 100
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'name2',
 | 
			
		||||
    label: '磨边单元',
 | 
			
		||||
    minWidth: 100
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'name3',
 | 
			
		||||
    label: '磨边后传送带',
 | 
			
		||||
    minWidth: 120
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'name4',
 | 
			
		||||
    label: '磨边后清洗单元',
 | 
			
		||||
    minWidth: 120
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'name5',
 | 
			
		||||
    label: '磨边清洗后传送带',
 | 
			
		||||
    minWidth: 140
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'name6',
 | 
			
		||||
    label: '再研磨上片单元',
 | 
			
		||||
    minWidth: 120
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'name7',
 | 
			
		||||
    label: '面磨单元',
 | 
			
		||||
    minWidth: 100
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'name8',
 | 
			
		||||
    label: '面磨后传送带',
 | 
			
		||||
    minWidth: 120
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'name9',
 | 
			
		||||
    label: '面磨后清洗单元',
 | 
			
		||||
    minWidth: 120
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'name10',
 | 
			
		||||
    label: '面磨后清洗传送带',
 | 
			
		||||
    minWidth: 140
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'name11',
 | 
			
		||||
    label: '终检传送带',
 | 
			
		||||
    minWidth: 100
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'name12',
 | 
			
		||||
    label: '终检下片单元',
 | 
			
		||||
    minWidth: 120
 | 
			
		||||
  }
 | 
			
		||||
]
 | 
			
		||||
const tableProps2 = [
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'name1',
 | 
			
		||||
    label: '贴合机',
 | 
			
		||||
    minWidth: 100
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'name2',
 | 
			
		||||
    label: '压合机',
 | 
			
		||||
    minWidth: 100
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'name3',
 | 
			
		||||
    label: '干式传送带',
 | 
			
		||||
    minWidth: 120
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'name4',
 | 
			
		||||
    label: '湿式传送带',
 | 
			
		||||
    minWidth: 120
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'name5',
 | 
			
		||||
    label: '剥片机1',
 | 
			
		||||
    minWidth: 140
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'name6',
 | 
			
		||||
    label: '剥片机2',
 | 
			
		||||
    minWidth: 120
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'name7',
 | 
			
		||||
    label: '托盘清洗机',
 | 
			
		||||
    minWidth: 100
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'name8',
 | 
			
		||||
    label: '成品传动带',
 | 
			
		||||
    minWidth: 120
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'name9',
 | 
			
		||||
    label: '托盘缓存',
 | 
			
		||||
    minWidth: 120
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'name10',
 | 
			
		||||
    label: 'SLC研磨机1',
 | 
			
		||||
    minWidth: 140
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'name11',
 | 
			
		||||
    label: 'SLC研磨机2',
 | 
			
		||||
    minWidth: 100
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'name12',
 | 
			
		||||
    label: 'LGC研磨机1',
 | 
			
		||||
    minWidth: 120
 | 
			
		||||
  }
 | 
			
		||||
]
 | 
			
		||||
const tableProps3 = [
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'name1',
 | 
			
		||||
    label: '水平架B1工位',
 | 
			
		||||
    minWidth: 100
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'name2',
 | 
			
		||||
    label: '水平架B2工位',
 | 
			
		||||
    minWidth: 100
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'name3',
 | 
			
		||||
    label: '水平架A1工位',
 | 
			
		||||
    minWidth: 120
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'name4',
 | 
			
		||||
    label: '水平架A2工位',
 | 
			
		||||
    minWidth: 120
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'name5',
 | 
			
		||||
    label: '废片工位',
 | 
			
		||||
    minWidth: 140
 | 
			
		||||
  }
 | 
			
		||||
]
 | 
			
		||||
export default {
 | 
			
		||||
  name: 'ProgressStatistics',
 | 
			
		||||
  data() {
 | 
			
		||||
    return {
 | 
			
		||||
      list: JSON.parse(localStorage.getItem('publicList')).proLineVoList,
 | 
			
		||||
      tableProps1,
 | 
			
		||||
      tableData1: [{ name1: 111 }],
 | 
			
		||||
      tableProps2,
 | 
			
		||||
      tableData2: [{ name1: 111 }],
 | 
			
		||||
      tableProps3,
 | 
			
		||||
      tableData3: [{ name1: 111 }]
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  props: {
 | 
			
		||||
    // lineName: {
 | 
			
		||||
    //   type: Number,
 | 
			
		||||
    //   default: 1
 | 
			
		||||
    // },
 | 
			
		||||
    tableLine: {
 | 
			
		||||
      type: Array,
 | 
			
		||||
      default: () => {
 | 
			
		||||
        return []
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    tableGrind: {
 | 
			
		||||
      type: Array,
 | 
			
		||||
      default: () => {
 | 
			
		||||
        return []
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    tableFinal: {
 | 
			
		||||
      type: Array,
 | 
			
		||||
      default: () => {
 | 
			
		||||
        return []
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    beilv: {
 | 
			
		||||
      type: Number,
 | 
			
		||||
      default: 1
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  computed: {
 | 
			
		||||
    line() {
 | 
			
		||||
      let res = ''
 | 
			
		||||
      this.list.map((item) => {
 | 
			
		||||
        if (item.dataCode === this.lineName) {
 | 
			
		||||
          res = item.dataName
 | 
			
		||||
        }
 | 
			
		||||
      })
 | 
			
		||||
      return res
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
</script>
 | 
			
		||||
<style lang="scss" scoped>
 | 
			
		||||
.statistics {
 | 
			
		||||
  padding: 0 24px;
 | 
			
		||||
  .title {
 | 
			
		||||
    display: inline-block;
 | 
			
		||||
    margin: 24px 0 16px 0;
 | 
			
		||||
  }
 | 
			
		||||
  .title::before {
 | 
			
		||||
    content: '';
 | 
			
		||||
    display: inline-block;
 | 
			
		||||
    width: 4px;
 | 
			
		||||
    height: 16px;
 | 
			
		||||
    background: #0b58ff;
 | 
			
		||||
    border-radius: 1px;
 | 
			
		||||
    margin-right: 8px;
 | 
			
		||||
    vertical-align: middle;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
</style>
 | 
			
		||||
@@ -1,186 +1,127 @@
 | 
			
		||||
<template>
 | 
			
		||||
  <div
 | 
			
		||||
    id="container"
 | 
			
		||||
    ref="container"
 | 
			
		||||
    class="main-box"
 | 
			
		||||
    :style="{ padding: '0 ' + 8 * beilv + 'px ' }"
 | 
			
		||||
  >
 | 
			
		||||
    <el-row :gutter="8" class="top-box">
 | 
			
		||||
      <el-col :span="10">
 | 
			
		||||
        <div class="top-left">
 | 
			
		||||
          <div
 | 
			
		||||
            class="top-title"
 | 
			
		||||
            :style="{
 | 
			
		||||
              padding:
 | 
			
		||||
                16 * beilv + 'px ' + 18 * beilv + 'px ' + 20 * beilv + 'px'
 | 
			
		||||
            }"
 | 
			
		||||
          >
 | 
			
		||||
  <div id="container" ref="container" class="main-box">
 | 
			
		||||
    <el-row :gutter="8" class="box">
 | 
			
		||||
      <el-col :span="14">
 | 
			
		||||
        <div class="left-top">
 | 
			
		||||
          <div class="top-title">
 | 
			
		||||
            <svg-icon
 | 
			
		||||
              icon-class="home_title1"
 | 
			
		||||
              :style="{
 | 
			
		||||
                fontSize: 22 * beilv + 'px',
 | 
			
		||||
                marginRight: 8 * beilv + 'px'
 | 
			
		||||
              }"
 | 
			
		||||
              style="font-size: 22px; margin-right: 8px"
 | 
			
		||||
            />
 | 
			
		||||
            <span class="titleStyle" :style="{ fontSize: 16 * beilv + 'px' }"
 | 
			
		||||
              >生产进度</span
 | 
			
		||||
            >
 | 
			
		||||
            <span class="titleStyle">生产进度</span>
 | 
			
		||||
          </div>
 | 
			
		||||
          <ul class="line-order-msg">
 | 
			
		||||
            <li :style="{ width: '40%', paddingLeft: 24 * beilv + 'px' }">
 | 
			
		||||
              <div :style="{ fontSize: 16 * beilv + 'px' }">
 | 
			
		||||
                <span
 | 
			
		||||
                  class="title"
 | 
			
		||||
                  :style="{
 | 
			
		||||
                    margin: '0 ' + 5 * beilv + 'px ' + 40 * beilv + 'px ' + '0'
 | 
			
		||||
                  }"
 | 
			
		||||
                  >产线名称</span
 | 
			
		||||
          <div class="line-order-msg">
 | 
			
		||||
            <div>
 | 
			
		||||
              <span class="title" style="margin: 0 8px 32px 0">产线名称</span>
 | 
			
		||||
              <el-select
 | 
			
		||||
                v-model="lineName"
 | 
			
		||||
                placeholder="请选择名称"
 | 
			
		||||
                size="small"
 | 
			
		||||
                style="width: 160px"
 | 
			
		||||
                @change="changeLine"
 | 
			
		||||
              >
 | 
			
		||||
                <el-option
 | 
			
		||||
                  v-for="item in nameList"
 | 
			
		||||
                  :key="item.dataCode"
 | 
			
		||||
                  :label="item.dataName"
 | 
			
		||||
                  :value="item.dataCode"
 | 
			
		||||
                >
 | 
			
		||||
                <el-select
 | 
			
		||||
                  v-model="lineName"
 | 
			
		||||
                  placeholder="请选择名称"
 | 
			
		||||
                  size="small"
 | 
			
		||||
                  :style="{ width: 150 * beilv + 'px' }"
 | 
			
		||||
                  @change="changeLine"
 | 
			
		||||
                >
 | 
			
		||||
                  <el-option
 | 
			
		||||
                    v-for="item in nameList"
 | 
			
		||||
                    :key="item.dataCode"
 | 
			
		||||
                    :label="item.dataName"
 | 
			
		||||
                    :value="item.dataCode"
 | 
			
		||||
                </el-option>
 | 
			
		||||
              </el-select>
 | 
			
		||||
            </div>
 | 
			
		||||
            <el-row :gutter="16">
 | 
			
		||||
              <el-col :span="12">
 | 
			
		||||
                <el-row class="plan_num">
 | 
			
		||||
                  <el-col :span="8" class="left-icon">
 | 
			
		||||
                    <svg-icon icon-class="home_plan" style="font-size: 50px" />
 | 
			
		||||
                  </el-col>
 | 
			
		||||
                  <el-col
 | 
			
		||||
                    :span="16"
 | 
			
		||||
                    :style="{ paddingLeft: 32 * beilv + 'px' }"
 | 
			
		||||
                  >
 | 
			
		||||
                  </el-option>
 | 
			
		||||
                </el-select>
 | 
			
		||||
              </div>
 | 
			
		||||
              <div class="num-box" :style="{ paddingRight: 32 * beilv + 'px' }">
 | 
			
		||||
                <div
 | 
			
		||||
                  class="plan_num"
 | 
			
		||||
                  :style="{
 | 
			
		||||
                    padding:
 | 
			
		||||
                      16 * beilv +
 | 
			
		||||
                      'px 0 ' +
 | 
			
		||||
                      16 * beilv +
 | 
			
		||||
                      'px ' +
 | 
			
		||||
                      32 * beilv +
 | 
			
		||||
                      'px',
 | 
			
		||||
                    marginBottom: 16 * beilv + 'px'
 | 
			
		||||
                  }"
 | 
			
		||||
                >
 | 
			
		||||
                  <svg-icon
 | 
			
		||||
                    icon-class="home_plan"
 | 
			
		||||
                    :style="{
 | 
			
		||||
                      fontSize: 32 * beilv + 'px',
 | 
			
		||||
                      marginBottom: 6 * beilv + 'px'
 | 
			
		||||
                    }"
 | 
			
		||||
                  />
 | 
			
		||||
                  <p
 | 
			
		||||
                    class="num"
 | 
			
		||||
                    :style="{
 | 
			
		||||
                      fontSize: 24 * beilv + 'px',
 | 
			
		||||
                      marginBottom: 8 * beilv + 'px'
 | 
			
		||||
                    }"
 | 
			
		||||
                    <p class="num">
 | 
			
		||||
                      {{ productMsg.planNum }}
 | 
			
		||||
                    </p>
 | 
			
		||||
                    <p class="words">计划数量</p>
 | 
			
		||||
                  </el-col>
 | 
			
		||||
                </el-row>
 | 
			
		||||
              </el-col>
 | 
			
		||||
              <el-col :span="12">
 | 
			
		||||
                <el-row class="product_num">
 | 
			
		||||
                  <el-col :span="8" class="left-icon">
 | 
			
		||||
                    <svg-icon
 | 
			
		||||
                      icon-class="home_product"
 | 
			
		||||
                      style="font-size: 50px"
 | 
			
		||||
                    />
 | 
			
		||||
                  </el-col>
 | 
			
		||||
                  <el-col
 | 
			
		||||
                    :span="16"
 | 
			
		||||
                    :style="{ paddingLeft: 32 * beilv + 'px' }"
 | 
			
		||||
                  >
 | 
			
		||||
                    {{ productMsg.planNum }}
 | 
			
		||||
                  </p>
 | 
			
		||||
                  <p class="words" :style="{ fontSize: 14 * beilv + 'px' }">
 | 
			
		||||
                    计划数量
 | 
			
		||||
                  </p>
 | 
			
		||||
                </div>
 | 
			
		||||
                <div
 | 
			
		||||
                  class="product_num"
 | 
			
		||||
                  :style="{
 | 
			
		||||
                    padding:
 | 
			
		||||
                      16 * beilv +
 | 
			
		||||
                      'px 0 ' +
 | 
			
		||||
                      16 * beilv +
 | 
			
		||||
                      'px ' +
 | 
			
		||||
                      32 * beilv +
 | 
			
		||||
                      'px',
 | 
			
		||||
                    marginBottom: 16 * beilv + 'px'
 | 
			
		||||
                  }"
 | 
			
		||||
                >
 | 
			
		||||
                  <svg-icon
 | 
			
		||||
                    icon-class="home_product"
 | 
			
		||||
                    :style="{
 | 
			
		||||
                      fontSize: 32 * beilv + 'px',
 | 
			
		||||
                      marginBottom: 8 * beilv + 'px'
 | 
			
		||||
                    }"
 | 
			
		||||
                  />
 | 
			
		||||
                  <p
 | 
			
		||||
                    class="num"
 | 
			
		||||
                    :style="{
 | 
			
		||||
                      fontSize: 24 * beilv + 'px',
 | 
			
		||||
                      marginBottom: 6 * beilv + 'px'
 | 
			
		||||
                    }"
 | 
			
		||||
                  >
 | 
			
		||||
                    {{ productMsg.realProductNum }}
 | 
			
		||||
                  </p>
 | 
			
		||||
                  <p class="words" :style="{ fontSize: 14 * beilv + 'px' }">
 | 
			
		||||
                    生产数量
 | 
			
		||||
                  </p>
 | 
			
		||||
                </div>
 | 
			
		||||
              </div>
 | 
			
		||||
            </li>
 | 
			
		||||
            <li :style="{ width: '60%', paddingLeft: 24 * beilv + 'px' }">
 | 
			
		||||
              <div :style="{ fontSize: 16 * beilv + 'px' }">
 | 
			
		||||
                <span
 | 
			
		||||
                  class="title"
 | 
			
		||||
                  :style="{
 | 
			
		||||
                    margin: '0 ' + 20 * beilv + 'px ' + 32 * beilv + 'px ' + '0'
 | 
			
		||||
                  }"
 | 
			
		||||
                  >生产信息</span
 | 
			
		||||
                >
 | 
			
		||||
                <span>工单号: {{ productMsg.code }}</span>
 | 
			
		||||
                <ring-chart :chartMsg="productMsg" :beilv="beilv" />
 | 
			
		||||
              </div>
 | 
			
		||||
            </li>
 | 
			
		||||
          </ul>
 | 
			
		||||
                    <p class="num">
 | 
			
		||||
                      {{ productMsg.realProductNum }}
 | 
			
		||||
                    </p>
 | 
			
		||||
                    <p class="words">生产数量</p>
 | 
			
		||||
                  </el-col>
 | 
			
		||||
                </el-row>
 | 
			
		||||
              </el-col>
 | 
			
		||||
            </el-row>
 | 
			
		||||
            <!-- <div class="num-box" :style="{ paddingRight: 32 * beilv + 'px' }"></div> -->
 | 
			
		||||
          </div>
 | 
			
		||||
        </div>
 | 
			
		||||
        <div class="left-bottom">
 | 
			
		||||
          <span class="title">生产信息</span>
 | 
			
		||||
          <span style="margin-left: 16px">工单号: {{ productMsg.code }}</span>
 | 
			
		||||
          <ring-chart :chartMsg="productMsg" :beilv="beilv" />
 | 
			
		||||
        </div>
 | 
			
		||||
      </el-col>
 | 
			
		||||
      <el-col :span="14">
 | 
			
		||||
        <div class="top-right">
 | 
			
		||||
      <el-col :span="10">
 | 
			
		||||
        <div class="right">
 | 
			
		||||
          <progress-details :detailMsg="detailMsg" :beilv="beilv" />
 | 
			
		||||
        </div>
 | 
			
		||||
      </el-col>
 | 
			
		||||
    </el-row>
 | 
			
		||||
    <el-row>
 | 
			
		||||
      <el-col :span="24">
 | 
			
		||||
        <div class="bottom-box">
 | 
			
		||||
          <progress-statistics
 | 
			
		||||
            :tableLine="tableLine"
 | 
			
		||||
            :tableGrind="tableGrind"
 | 
			
		||||
            :tableFinal="tableFinal"
 | 
			
		||||
            :beilv="beilv"
 | 
			
		||||
          />
 | 
			
		||||
        </div>
 | 
			
		||||
      </el-col>
 | 
			
		||||
    </el-row>
 | 
			
		||||
  </div>
 | 
			
		||||
</template>
 | 
			
		||||
<script>
 | 
			
		||||
import RingChart from './components/RingChart.vue'
 | 
			
		||||
import ProgressDetails from './components/WorkOrderProgressDetails.vue'
 | 
			
		||||
import ProgressStatistics from './components/WorkOrderProgressStatistics.vue'
 | 
			
		||||
import { getProductData } from '@/api/app'
 | 
			
		||||
import {
 | 
			
		||||
  getProcessInfo,
 | 
			
		||||
  lineGlassCount,
 | 
			
		||||
  grindGlassCount,
 | 
			
		||||
  finalClassCount
 | 
			
		||||
} from '@/api/productionScheduling'
 | 
			
		||||
import { getProcessInfo } from '@/api/productionScheduling'
 | 
			
		||||
export default {
 | 
			
		||||
  name: 'WorkOrderProgress',
 | 
			
		||||
  components: { RingChart, ProgressDetails, ProgressStatistics },
 | 
			
		||||
  components: { RingChart, ProgressDetails },
 | 
			
		||||
  data() {
 | 
			
		||||
    return {
 | 
			
		||||
      beilv: 1,
 | 
			
		||||
      lineName: 1,
 | 
			
		||||
      nameList: JSON.parse(localStorage.getItem('publicList')).proLineVoList,
 | 
			
		||||
      productMsg: {},
 | 
			
		||||
      detailMsg: {},
 | 
			
		||||
      tableLine: [],
 | 
			
		||||
      tableGrind: [],
 | 
			
		||||
      tableFinal: []
 | 
			
		||||
      detailMsg: {}
 | 
			
		||||
      // productMsg: {
 | 
			
		||||
      //   planNum: 110122,
 | 
			
		||||
      //   realProductNum: 110122,
 | 
			
		||||
      //   code: 3234435435345,
 | 
			
		||||
      //   finishNum: 100,
 | 
			
		||||
      //   okNum: 40,
 | 
			
		||||
      //   wasteNum: 10,
 | 
			
		||||
      //   reprocessNum: 10,
 | 
			
		||||
      //   tuneNum: 20
 | 
			
		||||
      // },
 | 
			
		||||
      // detailMsg: {
 | 
			
		||||
      //   code: 243434,
 | 
			
		||||
      //   planNum: 23232,
 | 
			
		||||
      //   productSpec: 'xx型号',
 | 
			
		||||
      //   realProductNum: 2233,
 | 
			
		||||
      //   sumProcessTime: 232,
 | 
			
		||||
      //   startTime: '2022.12.11 12:23:23',
 | 
			
		||||
      //   yield: 0.98,
 | 
			
		||||
      //   process: 0.23,
 | 
			
		||||
      //   planEndTime: '2022.12.11 12:23:23',
 | 
			
		||||
      //   planStartTime: '2022.12.11 12:23:23',
 | 
			
		||||
      //   type: 1,
 | 
			
		||||
      //   status: 1
 | 
			
		||||
      // }
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  mounted() {
 | 
			
		||||
@@ -198,9 +139,6 @@ export default {
 | 
			
		||||
    changeLine() {
 | 
			
		||||
      this.getProductMsg()
 | 
			
		||||
      this.getProcess()
 | 
			
		||||
      this.getLineGlassCount()
 | 
			
		||||
      this.getGrindGlassCount()
 | 
			
		||||
      this.getFinalClassCount()
 | 
			
		||||
    },
 | 
			
		||||
    getProductMsg() {
 | 
			
		||||
      getProductData({ productionLineId: this.lineName }).then((res) => {
 | 
			
		||||
@@ -217,30 +155,6 @@ export default {
 | 
			
		||||
          this.detailMsg = res.data
 | 
			
		||||
        }
 | 
			
		||||
      })
 | 
			
		||||
    },
 | 
			
		||||
    getLineGlassCount() {
 | 
			
		||||
      lineGlassCount({ productionLineId: this.lineName }).then((res) => {
 | 
			
		||||
        console.log(res)
 | 
			
		||||
        // if (res.code === 0) {
 | 
			
		||||
        //   this.tableLine = res.data
 | 
			
		||||
        // }
 | 
			
		||||
      })
 | 
			
		||||
    },
 | 
			
		||||
    getGrindGlassCount() {
 | 
			
		||||
      grindGlassCount({ productionLineId: this.lineName }).then((res) => {
 | 
			
		||||
        console.log(res)
 | 
			
		||||
        // if (res.code === 0) {
 | 
			
		||||
        //   this.tableGrind = res.data
 | 
			
		||||
        // }
 | 
			
		||||
      })
 | 
			
		||||
    },
 | 
			
		||||
    getFinalClassCount() {
 | 
			
		||||
      finalClassCount({ productionLineId: this.lineName }).then((res) => {
 | 
			
		||||
        console.log(res)
 | 
			
		||||
        // if (res.code === 0) {
 | 
			
		||||
        //   this.tableFinal = res.data
 | 
			
		||||
        // }
 | 
			
		||||
      })
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@@ -248,67 +162,85 @@ export default {
 | 
			
		||||
<style lang="scss" scoped>
 | 
			
		||||
.main-box {
 | 
			
		||||
  margin-top: 8px;
 | 
			
		||||
  .top-box {
 | 
			
		||||
  padding: 0 8px;
 | 
			
		||||
  .title {
 | 
			
		||||
    display: inline-block;
 | 
			
		||||
  }
 | 
			
		||||
  .title::before {
 | 
			
		||||
    content: '';
 | 
			
		||||
    display: inline-block;
 | 
			
		||||
    width: 4px;
 | 
			
		||||
    height: 16px;
 | 
			
		||||
    background: #0b58ff;
 | 
			
		||||
    border-radius: 1px;
 | 
			
		||||
    margin-right: 8px;
 | 
			
		||||
    vertical-align: middle;
 | 
			
		||||
  }
 | 
			
		||||
  .box {
 | 
			
		||||
    width: 100%;
 | 
			
		||||
    .top-left,
 | 
			
		||||
    .top-right {
 | 
			
		||||
      height: calc((100vh - 156px) * 0.49);
 | 
			
		||||
      background-color: #fff;
 | 
			
		||||
      border-radius: 8px;
 | 
			
		||||
    }
 | 
			
		||||
    .top-left {
 | 
			
		||||
    .left-top {
 | 
			
		||||
      height: 275px;
 | 
			
		||||
      margin-bottom: 8px;
 | 
			
		||||
      .top-title {
 | 
			
		||||
        padding: 16px 16px 20px;
 | 
			
		||||
      }
 | 
			
		||||
      .titleStyle {
 | 
			
		||||
        font-size: 16px;
 | 
			
		||||
        font-weight: 600;
 | 
			
		||||
        color: rgba(0, 0, 0, 0.9);
 | 
			
		||||
        vertical-align: top;
 | 
			
		||||
      }
 | 
			
		||||
      .line-order-msg {
 | 
			
		||||
        display: flex;
 | 
			
		||||
        li {
 | 
			
		||||
          .title {
 | 
			
		||||
            display: inline-block;
 | 
			
		||||
        padding-left: 24px;
 | 
			
		||||
        padding-right: 24px;
 | 
			
		||||
        width: 100%;
 | 
			
		||||
        .plan_num,
 | 
			
		||||
        .product_num {
 | 
			
		||||
          height: 118px;
 | 
			
		||||
          width: 100%;
 | 
			
		||||
          border-radius: 8px;
 | 
			
		||||
          .left-icon {
 | 
			
		||||
            text-align: center;
 | 
			
		||||
            margin-top: 34px;
 | 
			
		||||
          }
 | 
			
		||||
          .title::before {
 | 
			
		||||
            content: '';
 | 
			
		||||
            display: inline-block;
 | 
			
		||||
            width: 4px;
 | 
			
		||||
            height: 16px;
 | 
			
		||||
            background: #0b58ff;
 | 
			
		||||
            border-radius: 1px;
 | 
			
		||||
            margin-right: 8px;
 | 
			
		||||
            vertical-align: middle;
 | 
			
		||||
          .num {
 | 
			
		||||
            font-size: 32px;
 | 
			
		||||
            color: rgba(0, 0, 0, 0.85);
 | 
			
		||||
            margin-top: 28px;
 | 
			
		||||
          }
 | 
			
		||||
          .num-box {
 | 
			
		||||
            border-right: 1px solid #ccc;
 | 
			
		||||
          .words {
 | 
			
		||||
            font-size: 18px;
 | 
			
		||||
            color: rgba(0, 0, 0, 0.65);
 | 
			
		||||
          }
 | 
			
		||||
          .plan_num,
 | 
			
		||||
          .product_num {
 | 
			
		||||
            width: 100%;
 | 
			
		||||
            border-radius: 8px;
 | 
			
		||||
            .num {
 | 
			
		||||
              color: rgba(0, 0, 0, 0.85);
 | 
			
		||||
              margin-bottom: 6px;
 | 
			
		||||
            }
 | 
			
		||||
            .words {
 | 
			
		||||
              font-size: 14px;
 | 
			
		||||
              color: rgba(0, 0, 0, 0.45);
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        .plan_num {
 | 
			
		||||
          background: #fff8e8;
 | 
			
		||||
          .left-icon {
 | 
			
		||||
            border-right: 1px solid #ff9d50;
 | 
			
		||||
          }
 | 
			
		||||
          .plan_num {
 | 
			
		||||
            background: #fff8e8;
 | 
			
		||||
          }
 | 
			
		||||
          .product_num {
 | 
			
		||||
            background: #e3ffeb;
 | 
			
		||||
        }
 | 
			
		||||
        .product_num {
 | 
			
		||||
          background: #e3ffeb;
 | 
			
		||||
          .left-icon {
 | 
			
		||||
            border-right: 1px solid #50d277;
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
  .bottom-box {
 | 
			
		||||
    height: calc((100vh - 156px) * 0.51);
 | 
			
		||||
    background-color: #fff;
 | 
			
		||||
    border-radius: 8px;
 | 
			
		||||
    margin: 8px 8px 0 0;
 | 
			
		||||
    .left-top,
 | 
			
		||||
    .left-bottom {
 | 
			
		||||
      background-color: #fff;
 | 
			
		||||
      border-radius: 8px;
 | 
			
		||||
    }
 | 
			
		||||
    .left-bottom {
 | 
			
		||||
      height: calc(100vh - 156px - 283px);
 | 
			
		||||
      padding: 24px 24px 0 24px;
 | 
			
		||||
    }
 | 
			
		||||
    .right {
 | 
			
		||||
      height: calc(100vh - 156px);
 | 
			
		||||
      background-color: #fff;
 | 
			
		||||
      border-radius: 8px;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
</style>
 | 
			
		||||
 
 | 
			
		||||
@@ -133,9 +133,7 @@ const tableProps = [
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'grindTime',
 | 
			
		||||
    label: '总研磨时间',
 | 
			
		||||
    filter: timeFormatter,
 | 
			
		||||
    minWidth: 160
 | 
			
		||||
    label: '总研磨时间'
 | 
			
		||||
  }
 | 
			
		||||
]
 | 
			
		||||
export default {
 | 
			
		||||
 
 | 
			
		||||
@@ -37,7 +37,7 @@
 | 
			
		||||
  </div>
 | 
			
		||||
</template>
 | 
			
		||||
<script>
 | 
			
		||||
import { getReportCategorylist } from '@/api/reportManagement'
 | 
			
		||||
import { getReportCategorylist, getReportNum } from '@/api/reportManagement'
 | 
			
		||||
export default {
 | 
			
		||||
  name: 'ReportList',
 | 
			
		||||
  data() {
 | 
			
		||||
@@ -53,16 +53,18 @@ export default {
 | 
			
		||||
    getList() {
 | 
			
		||||
      getReportCategorylist({}).then((res) => {
 | 
			
		||||
        if (res.code === 0 && res.data.length > 0) {
 | 
			
		||||
          this.totalReports = 0
 | 
			
		||||
          for (let i = 0; i < res.data.length; i++) {
 | 
			
		||||
            this.totalReports += res.data[i].quantity
 | 
			
		||||
          }
 | 
			
		||||
          this.reportList = res.data
 | 
			
		||||
        } else {
 | 
			
		||||
          this.totalReports = 0
 | 
			
		||||
          this.reportList = []
 | 
			
		||||
        }
 | 
			
		||||
      })
 | 
			
		||||
      getReportNum({}).then((res) => {
 | 
			
		||||
        if (res.code === 0 && res.data.length > 0) {
 | 
			
		||||
          this.totalReports = res.data[0].reportNum
 | 
			
		||||
        } else {
 | 
			
		||||
          this.totalReports = 0
 | 
			
		||||
        }
 | 
			
		||||
      })
 | 
			
		||||
    },
 | 
			
		||||
    toDetail(id) {
 | 
			
		||||
      this.$router.push({
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user