このコミットが含まれているのは:
2023-07-05 16:45:27 +08:00
コミット 58bc2d3682
26個のファイルの変更368行の追加747行の削除

1
dist/css/1509.e33f4b04.css vendored ノーマルファイル
ファイルの表示

@@ -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 +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
ファイルの表示

@@ -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 ノーマルファイル

長すぎる行があるためファイル差分は表示されません

長すぎる行があるためファイル差分は表示されません

長すぎる行があるためファイル差分は表示されません

ファイルの表示

@@ -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"}}]);

長すぎる行があるためファイル差分は表示されません

長すぎる行があるためファイル差分は表示されません

長すぎる行があるためファイル差分は表示されません

1
dist/js/6015.e0415dee.js vendored ノーマルファイル
ファイルの表示

@@ -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"}}]);

長すぎる行があるためファイル差分は表示されません

長すぎる行があるためファイル差分は表示されません

長すぎる行があるためファイル差分は表示されません

長すぎる行があるためファイル差分は表示されません

長すぎる行があるためファイル差分は表示されません

ファイルの表示

@@ -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) { export function getWorkOrderPage(data) {
return request({ 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) { export function reportCategoryAdd(data) {
return request({ return request({
url: '/report/report-sheet-category/add', url: '/report/report-sheet-category/add',

ファイルの表示

@@ -1,17 +1,24 @@
<template> <template>
<div :style="{ paddingLeft: 50 * beilv + 'px' }"> <div>
<div <div
id="productRing" id="productRing"
:style="{ height: 280 * beilv + 'px', width: 280 * beilv + 'px' }" style="width: 100%"
:style="{ height: chartHeight + 'px' }"
/> />
</div> </div>
</template> </template>
<script> <script>
import * as echarts from 'echarts' import * as echarts from 'echarts'
import { tableHeight } from '@/utils/index'
import resize from '@/utils/chartMixins/resize' import resize from '@/utils/chartMixins/resize'
export default { export default {
mixins: [resize], mixins: [resize],
name: 'RingChart', name: 'RingChart',
data() {
return {
chartHeight: tableHeight(439) - 60
}
},
props: { props: {
chartMsg: { chartMsg: {
type: Object, type: Object,
@@ -20,16 +27,15 @@ export default {
chart: '' chart: ''
} }
} }
},
beilv: {
type: Number,
default: 1
} }
}, },
mounted() { mounted() {
this.$nextTick(() => { this.$nextTick(() => {
this.initChart() this.initChart()
}) })
window.addEventListener('resize', () => {
this.chartHeight = tableHeight(439) - 60
})
}, },
watch: { watch: {
chartMsg: function () { chartMsg: function () {
@@ -55,32 +61,44 @@ export default {
var chartDom = document.getElementById('productRing') var chartDom = document.getElementById('productRing')
this.chart = echarts.init(chartDom) this.chart = echarts.init(chartDom)
console.log(this.chartMsg) console.log(this.chartMsg)
var totalNum = this.chartMsg.finishNum var totalNum = this.chartMsg.finishNum ? this.chartMsg.finishNum : 0
var lp = this.chartMsg.okNum var lp = this.chartMsg.okNum ? this.chartMsg.okNum : 0
var fp = this.chartMsg.wasteNum var fp = this.chartMsg.wasteNum ? this.chartMsg.wasteNum : 0
var djg = this.chartMsg.reprocessNum var djg = this.chartMsg.reprocessNum ? this.chartMsg.reprocessNum : 0
var tj = this.chartMsg.tuneNum var tj = this.chartMsg.tuneNum ? this.chartMsg.tuneNum : 0
var option = { var option = {
color: ['#288aff', '#7a34fd', '#ffb750', '#95f3b1'],
tooltip: { tooltip: {
trigger: 'item' trigger: 'item'
}, },
legend: { legend: {
icon: 'circle', icon: 'circle',
bottom: '0%', top: '0%',
left: 'center', left: '-10px'
itemWidth: 8,
itemHeight: 8
}, },
series: [ series: [
// 内圆1 // 内圆1
{ {
type: 'pie', type: 'pie',
zlevel: 1, // 层级 zlevel: 1, // 层级
radius: ['55%', '58%'], radius: ['48%', '50%'],
center: ['50%', '40%'], center: ['50%', '60%'],
label: { 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: { itemStyle: {
shadowBlur: 10, shadowBlur: 10,
@@ -98,8 +116,8 @@ export default {
// 外环1 // 外环1
{ {
type: 'pie', type: 'pie',
radius: ['70%', '71%'], radius: ['62%', '63%'],
center: ['50%', '40%'], center: ['50%', '60%'],
zlevel: 1, // 层级 zlevel: 1, // 层级
label: { label: {
show: false show: false
@@ -122,8 +140,8 @@ export default {
name: 'Access From', name: 'Access From',
zlevel: 2, // 层级 zlevel: 2, // 层级
type: 'pie', type: 'pie',
radius: ['58%', '70%'], radius: ['50%', '62%'],
center: ['50%', '40%'], center: ['50%', '60%'],
clockwise: true, clockwise: true,
avoidLabelOverlap: false, avoidLabelOverlap: false,
emphasis: { emphasis: {
@@ -132,52 +150,53 @@ export default {
silent: true, silent: true,
label: { label: {
show: true, show: true,
position: 'center', formatter(param) {
color: '#9A9EBA', return [
formatter: ['{a|' + totalNum + '}', '{b|总生产数量}'].join( '{a|' + param.name + '}',
'\n\n' '{b|' + param.value + '}'
), ].join('\n\n')
},
color: 'inherit',
rich: { rich: {
a: { a: {
color: '#262626', fontSize: 18
fontSize: 24
}, },
b: { b: {
color: '#979797', color: '#000',
fontSize: 12 fontSize: 24
} }
} }
}, },
labelLine: { labelLine: {
show: false length2: 60
}, },
data: [ data: [
{
value: djg,
name: '待再加工',
itemStyle: {
color: '#ffb750'
}
},
{ {
value: lp, value: lp,
name: '良品数量 ' + lp, name: '良品数量',
itemStyle: { itemStyle: {
color: '#288aff' color: '#288aff'
} }
}, },
{ {
value: fp, value: fp,
name: '废品数量 ' + fp, name: '废品数量',
itemStyle: { itemStyle: {
color: '#7a34fd' color: '#7a34fd'
} }
}, },
{
value: djg,
name: '待再加工 ' + djg,
itemStyle: {
color: '#ffb750'
}
},
{ {
value: tj, value: tj,
name: '调机数量 ' + tj, name: '调机数量',
itemStyle: { itemStyle: {
color: '#95f3b1' color: '#50d277'
} }
} }
] ]

ファイルの表示

@@ -1,182 +1,71 @@
<template> <template>
<el-row class="detail-box" :style="{ paddingTop: 16 * beilv + 'px' }"> <div class="order-detail">
<el-col :span="8"> <span class="title">生产信息</span>
<div <el-row class="detail-box">
class="column-box border-right" <el-col :span="10">
:style="{ paddingLeft: 60 * beilv + 'px' }" <div class="column-box border-right">
> <p class="box">
<p class="box" :style="{ marginTop: 27 * beilv + 'px' }"> <span class="tip-value">{{ planStartTime }}</span>
<span <span class="tip">计划开始时间</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>
<p class="box" :style="{ marginTop: 27 * beilv + 'px' }"> <p class="box">
<span <span class="tip-value">{{ planEndTime }}</span>
class="tip-value" <span class="tip">计划结束时间</span>
:style="{
fontSize: 27 * beilv + 'px',
marginBottom: 6 * beilv + 'px'
}"
>{{ detailMsg.planNum }}</span
>
<span class="tip" :style="{ fontSize: 16 * beilv + 'px' }"
>计划数量</span
>
</p> </p>
<p class="box" :style="{ marginTop: 27 * beilv + 'px' }"> <p class="box">
<span <span class="tip-value">{{ startTime }}</span>
class="tip-value" <span class="tip">实际开始时间</span>
:style="{
fontSize: 27 * beilv + 'px',
marginBottom: 6 * beilv + 'px'
}"
>{{ type }}</span
>
<span class="tip" :style="{ fontSize: 16 * beilv + 'px' }"
>工单类型</span
>
</p> </p>
<p class="box" :style="{ marginTop: 27 * beilv + 'px' }"> <p class="box clear-border">
<span <span class="tip-value">{{
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'
}"
>{{
detailMsg.sumProcessTime ? detailMsg.sumProcessTime : '-' detailMsg.sumProcessTime ? detailMsg.sumProcessTime : '-'
}}</span }}</span>
> <span class="tip">累计加工时长</span>
<span class="tip" :style="{ fontSize: 16 * beilv + 'px' }"
>累计加工时长</span
>
</p> </p>
<p class="box" :style="{ marginTop: 27 * beilv + 'px' }"> </div>
<span </el-col>
class="tip-value" <el-col :span="7">
:style="{ <div class="column-box border-right">
fontSize: 27 * beilv + 'px', <p class="box">
marginBottom: 6 * beilv + 'px' <span class="tip-value">{{ detailMsg.code }}</span>
}" <span class="tip">工单编号</span>
>{{ startTime }}</span </p>
> <p class="box">
<span class="tip" :style="{ fontSize: 16 * beilv + 'px' }" <span class="tip-value">{{ detailMsg.planNum }}</span>
>实际开始时间</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> </p>
</div> </div>
</el-col> </el-col>
</el-row> </el-row>
</div>
</template> </template>
<script> <script>
import { timeFormatter } from '@/utils/index' import { timeFormatter } from '@/utils/index'
@@ -223,10 +112,14 @@ export default {
return timeFormatter(this.detailMsg.planEndTime) return timeFormatter(this.detailMsg.planEndTime)
}, },
process() { process() {
return (this.detailMsg.process * 100).toFixed(2) + '%' return this.detailMsg.process
? (this.detailMsg.process * 100).toFixed(0) + '%'
: ''
}, },
yieldNum() { yieldNum() {
return (this.detailMsg.yield * 100).toFixed(2) + '%' return this.detailMsg.yield
? (this.detailMsg.yield * 100).toFixed(0) + '%'
: ''
}, },
startTime() { startTime() {
return timeFormatter(this.detailMsg.startTime) return timeFormatter(this.detailMsg.startTime)
@@ -235,23 +128,51 @@ export default {
} }
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.detail-box { .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 { .column-box {
.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 { .tip-value {
display: block; display: block;
font-size: 22px;
height: 18px;
margin-bottom: 12px;
} }
.tip { .tip {
display: inline-block; display: inline-block;
font-size: 16px;
background-color: #cae2ff; background-color: #cae2ff;
border-radius: 2px; border-radius: 2px;
color: #288aff; color: #288aff;
padding: 4px; padding: 4px;
} }
} }
.clear-border {
border: none;
}
} }
.border-right { .border-right {
border-right: 1px solid #e8e8e8; border-right: 1px solid #e8e8e8;
} }
}
} }
</style> </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,46 +1,23 @@
<template> <template>
<div <div id="container" ref="container" class="main-box">
id="container" <el-row :gutter="8" class="box">
ref="container" <el-col :span="14">
class="main-box" <div class="left-top">
:style="{ padding: '0 ' + 8 * beilv + 'px ' }" <div class="top-title">
>
<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'
}"
>
<svg-icon <svg-icon
icon-class="home_title1" icon-class="home_title1"
:style="{ style="font-size: 22px; margin-right: 8px"
fontSize: 22 * beilv + 'px',
marginRight: 8 * beilv + 'px'
}"
/> />
<span class="titleStyle" :style="{ fontSize: 16 * beilv + 'px' }" <span class="titleStyle">生产进度</span>
>生产进度</span
>
</div> </div>
<ul class="line-order-msg"> <div class="line-order-msg">
<li :style="{ width: '40%', paddingLeft: 24 * beilv + 'px' }"> <div>
<div :style="{ fontSize: 16 * beilv + 'px' }"> <span class="title" style="margin: 0 8px 32px 0">产线名称</span>
<span
class="title"
:style="{
margin: '0 ' + 5 * beilv + 'px ' + 40 * beilv + 'px ' + '0'
}"
>产线名称</span
>
<el-select <el-select
v-model="lineName" v-model="lineName"
placeholder="请选择名称" placeholder="请选择名称"
size="small" size="small"
:style="{ width: 150 * beilv + 'px' }" style="width: 160px"
@change="changeLine" @change="changeLine"
> >
<el-option <el-option
@@ -52,106 +29,55 @@
</el-option> </el-option>
</el-select> </el-select>
</div> </div>
<div class="num-box" :style="{ paddingRight: 32 * beilv + 'px' }"> <el-row :gutter="16">
<div <el-col :span="12">
class="plan_num" <el-row class="plan_num">
:style="{ <el-col :span="8" class="left-icon">
padding: <svg-icon icon-class="home_plan" style="font-size: 50px" />
16 * beilv + </el-col>
'px 0 ' + <el-col
16 * beilv + :span="16"
'px ' + :style="{ paddingLeft: 32 * 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 }} {{ productMsg.planNum }}
</p> </p>
<p class="words" :style="{ fontSize: 14 * beilv + 'px' }"> <p class="words">计划数量</p>
计划数量
</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>
</div>
</el-col>
<el-col :span="14">
<div class="top-right">
<progress-details :detailMsg="detailMsg" :beilv="beilv" />
</div>
</el-col> </el-col>
</el-row> </el-row>
<el-row> </el-col>
<el-col :span="24"> <el-col :span="12">
<div class="bottom-box"> <el-row class="product_num">
<progress-statistics <el-col :span="8" class="left-icon">
:tableLine="tableLine" <svg-icon
:tableGrind="tableGrind" icon-class="home_product"
:tableFinal="tableFinal" style="font-size: 50px"
:beilv="beilv"
/> />
</el-col>
<el-col
:span="16"
:style="{ paddingLeft: 32 * beilv + 'px' }"
>
<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="10">
<div class="right">
<progress-details :detailMsg="detailMsg" :beilv="beilv" />
</div> </div>
</el-col> </el-col>
</el-row> </el-row>
@@ -160,27 +86,42 @@
<script> <script>
import RingChart from './components/RingChart.vue' import RingChart from './components/RingChart.vue'
import ProgressDetails from './components/WorkOrderProgressDetails.vue' import ProgressDetails from './components/WorkOrderProgressDetails.vue'
import ProgressStatistics from './components/WorkOrderProgressStatistics.vue'
import { getProductData } from '@/api/app' import { getProductData } from '@/api/app'
import { import { getProcessInfo } from '@/api/productionScheduling'
getProcessInfo,
lineGlassCount,
grindGlassCount,
finalClassCount
} from '@/api/productionScheduling'
export default { export default {
name: 'WorkOrderProgress', name: 'WorkOrderProgress',
components: { RingChart, ProgressDetails, ProgressStatistics }, components: { RingChart, ProgressDetails },
data() { data() {
return { return {
beilv: 1, beilv: 1,
lineName: 1, lineName: 1,
nameList: JSON.parse(localStorage.getItem('publicList')).proLineVoList, nameList: JSON.parse(localStorage.getItem('publicList')).proLineVoList,
productMsg: {}, productMsg: {},
detailMsg: {}, detailMsg: {}
tableLine: [], // productMsg: {
tableGrind: [], // planNum: 110122,
tableFinal: [] // 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() { mounted() {
@@ -198,9 +139,6 @@ export default {
changeLine() { changeLine() {
this.getProductMsg() this.getProductMsg()
this.getProcess() this.getProcess()
this.getLineGlassCount()
this.getGrindGlassCount()
this.getFinalClassCount()
}, },
getProductMsg() { getProductMsg() {
getProductData({ productionLineId: this.lineName }).then((res) => { getProductData({ productionLineId: this.lineName }).then((res) => {
@@ -217,30 +155,6 @@ export default {
this.detailMsg = res.data 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,23 +162,7 @@ export default {
<style lang="scss" scoped> <style lang="scss" scoped>
.main-box { .main-box {
margin-top: 8px; margin-top: 8px;
.top-box { padding: 0 8px;
width: 100%;
.top-left,
.top-right {
height: calc((100vh - 156px) * 0.49);
background-color: #fff;
border-radius: 8px;
}
.top-left {
.titleStyle {
font-weight: 600;
color: rgba(0, 0, 0, 0.9);
vertical-align: top;
}
.line-order-msg {
display: flex;
li {
.title { .title {
display: inline-block; display: inline-block;
} }
@@ -278,37 +176,71 @@ export default {
margin-right: 8px; margin-right: 8px;
vertical-align: middle; vertical-align: middle;
} }
.num-box { .box {
border-right: 1px solid #ccc; width: 100%;
.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 {
padding-left: 24px;
padding-right: 24px;
width: 100%;
.plan_num, .plan_num,
.product_num { .product_num {
height: 118px;
width: 100%; width: 100%;
border-radius: 8px; border-radius: 8px;
.left-icon {
text-align: center;
margin-top: 34px;
}
.num { .num {
font-size: 32px;
color: rgba(0, 0, 0, 0.85); color: rgba(0, 0, 0, 0.85);
margin-bottom: 6px; margin-top: 28px;
} }
.words { .words {
font-size: 14px; font-size: 18px;
color: rgba(0, 0, 0, 0.45); color: rgba(0, 0, 0, 0.65);
} }
} }
.plan_num { .plan_num {
background: #fff8e8; background: #fff8e8;
.left-icon {
border-right: 1px solid #ff9d50;
}
} }
.product_num { .product_num {
background: #e3ffeb; background: #e3ffeb;
.left-icon {
border-right: 1px solid #50d277;
} }
} }
} }
} }
} .left-top,
.bottom-box { .left-bottom {
height: calc((100vh - 156px) * 0.51);
background-color: #fff; background-color: #fff;
border-radius: 8px; border-radius: 8px;
margin: 8px 8px 0 0; }
.left-bottom {
height: calc(100vh - 156px - 283px);
padding: 24px 24px 0 24px;
}
.right {
height: calc(100vh - 156px);
background-color: #fff;
border-radius: 8px;
}
} }
} }
</style> </style>

ファイルの表示

@@ -133,9 +133,7 @@ const tableProps = [
}, },
{ {
prop: 'grindTime', prop: 'grindTime',
label: '总研磨时间', label: '总研磨时间'
filter: timeFormatter,
minWidth: 160
} }
] ]
export default { export default {

ファイルの表示

@@ -37,7 +37,7 @@
</div> </div>
</template> </template>
<script> <script>
import { getReportCategorylist } from '@/api/reportManagement' import { getReportCategorylist, getReportNum } from '@/api/reportManagement'
export default { export default {
name: 'ReportList', name: 'ReportList',
data() { data() {
@@ -53,16 +53,18 @@ export default {
getList() { getList() {
getReportCategorylist({}).then((res) => { getReportCategorylist({}).then((res) => {
if (res.code === 0 && res.data.length > 0) { 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 this.reportList = res.data
} else { } else {
this.totalReports = 0
this.reportList = [] 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) { toDetail(id) {
this.$router.push({ this.$router.push({