工单进度 #28
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({
|
||||
|
Loading…
Reference in New Issue
Block a user