Compare commits

..

No commits in common. "523a9d976761d3ca11bbfce77d28fe0555bae8ee" and "4aad193bb0424e27b258b54b05691b48a712448a" have entirely different histories.

64 changed files with 359 additions and 954 deletions

View File

@ -6,4 +6,3 @@ ENV = 'development'
VUE_APP_BASE_API = '/api'
VUE_APP_VIEW_PIC = 'http://tft.mes.picaiba.com/api/common/attachment/downloadFile?type=0&attachmentId='
VUE_APP_REPORT_DESIGN_URL = 'http://tft.mes.picaiba.com/ureport/designer'
VUE_APP_REPORT_VIEW_URL = 'http://tft.mes.picaiba.com/ureport/preview'

View File

@ -6,4 +6,3 @@ ENV = 'production'
VUE_APP_BASE_API = '/api'
VUE_APP_VIEW_PIC = 'http://tft.mes.picaiba.com/api/common/attachment/downloadFile?type=0&attachmentId='
VUE_APP_REPORT_DESIGN_URL = 'http://tft.mes.picaiba.com/ureport/designer'
VUE_APP_REPORT_VIEW_URL = 'http://tft.mes.picaiba.com/ureport/preview'

View File

@ -1 +0,0 @@
.reportView[data-v-2fcfb7ac]{margin:0 16px 0 16px;width:98.5%;height:calc(100vh - 205px)}.reportView .mainIframe[data-v-2fcfb7ac]{width:100%;height:100%}

1
dist/css/546.4c12fd50.css vendored Normal file
View File

@ -0,0 +1 @@
.thicknessDistributionChart .top-table[data-v-2cc32f61]{font-size:14px;font-weight:500;margin-bottom:16px}.thicknessDistributionChart .top-table ul[data-v-2cc32f61]{display:flex;flex-flow:row nowrap}.thicknessDistributionChart .top-table ul li[data-v-2cc32f61]{color:rgba(0,0,0,.85);width:20%;padding:10px;border:1px solid #e8e8e8}.thicknessDistributionChart .top-table ul .red-tip[data-v-2cc32f61]{color:rgba(255,78,78,.85)}.thicknessDistributionChart .top-table ul .blue-tip[data-v-2cc32f61]{color:#507dd7}.thicknessDistributionChart .top-table ul .purple-tip[data-v-2cc32f61]{color:rgba(152,83,255,.85)}.thicknessDistributionChart .top-table ul .green-tip[data-v-2cc32f61]{color:#50bb90}.thicknessDistributionChart .top-table ul .yellow-tip[data-v-2cc32f61]{color:#ecb441}.thicknessDistributionChart .title[data-v-2cc32f61]{font-size:14px;color:rgba(0,0,0,.85)}.thicknessDistributionChart .title[data-v-2cc32f61]:before{content:"";display:inline-block;width:4px;height:16px;background:#0b58ff;border-radius:1px;margin-right:8px;vertical-align:middle}.thicknessDistributionMap[data-v-6ea24da0]{width:100%;padding:0 8px 0 16px}.thicknessDistributionMap .left-box[data-v-6ea24da0],.thicknessDistributionMap .right-box[data-v-6ea24da0]{height:calc(100vh - 205px);padding:16px;border-radius:8px;background-color:#fff}

View File

@ -1 +0,0 @@
.thicknessDistributionChart .top-table[data-v-39282f9b]{font-size:14px;font-weight:500;margin-bottom:16px}.thicknessDistributionChart .top-table ul[data-v-39282f9b]{display:flex;flex-flow:row nowrap}.thicknessDistributionChart .top-table ul li[data-v-39282f9b]{color:rgba(0,0,0,.85);width:20%;padding:10px;border:1px solid #e8e8e8}.thicknessDistributionChart .top-table ul .red-tip[data-v-39282f9b]{color:rgba(255,78,78,.85)}.thicknessDistributionChart .top-table ul .blue-tip[data-v-39282f9b]{color:#507dd7}.thicknessDistributionChart .top-table ul .purple-tip[data-v-39282f9b]{color:rgba(152,83,255,.85)}.thicknessDistributionChart .top-table ul .green-tip[data-v-39282f9b]{color:#50bb90}.thicknessDistributionChart .top-table ul .yellow-tip[data-v-39282f9b]{color:#ecb441}.thicknessDistributionChart .title[data-v-39282f9b]{font-size:14px;color:rgba(0,0,0,.85)}.thicknessDistributionChart .title[data-v-39282f9b]:before{content:"";display:inline-block;width:4px;height:16px;background:#0b58ff;border-radius:1px;margin-right:8px;vertical-align:middle}.thicknessDistributionMap[data-v-577f5adc]{width:100%;padding:0 8px 0 16px}.thicknessDistributionMap .left-box[data-v-577f5adc],.thicknessDistributionMap .right-box[data-v-577f5adc]{height:calc(100vh - 205px);padding:16px;border-radius:8px;background-color:#fff}

View File

@ -1 +0,0 @@
.bottom-box[data-v-4eab165e]{overflow-x:auto;display:flex}.bottom-box .bottom-left[data-v-4eab165e],.bottom-box .bottom-right[data-v-4eab165e]{display:inline-block}.bottom-box .bottom-left[data-v-4eab165e]{width:290px;margin-right:8px}.bottom-box .bottom-left .dataTab li[data-v-4eab165e]{width:65px}.bottom-box .bottom-right[data-v-4eab165e]{width:calc(100% - 300px)}.bottom-box .bottom-right .dataTab li[data-v-4eab165e]{width:7.7%;min-width:60px}.title[data-v-4eab165e]{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-4eab165e]{display:flex;flex-flow:row nowrap}.dataTab li[data-v-4eab165e]{font-size:14px;border-right:1px solid #e8e8e8;border-bottom:1px solid #e8e8e8}.dataTab li p[data-v-4eab165e]{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.dataTab li .tabHead[data-v-4eab165e]{height:31px;background:#e9ebf0}.dataTab li .tabHead[data-v-4eab165e],.dataTab li .tabValue[data-v-4eab165e]{padding:8px}.dataTab li .tabValue[data-v-4eab165e]{height:35px}.full-inspection-detail[data-v-444ed842]{margin:0 16px;padding:16px;border-radius:8px;height:calc(100vh - 205px);background-color:#fff}.full-inspection-detail .plot-total[data-v-444ed842]{position:relative;height:115px}.full-inspection-detail .plot-total .plot-total-box[data-v-444ed842]{position:absolute;width:100%;top:25px;left:0}

1
dist/css/6286.af863504.css vendored Normal file
View File

@ -0,0 +1 @@
.reportDesign[data-v-0e48fcd6]{margin:0 16px 0 16px;width:98.5%;height:calc(100vh - 205px)}.reportDesign .mainIframe[data-v-0e48fcd6]{width:100%;height:100%}

1
dist/css/6488.37bc6dd9.css vendored Normal file
View File

@ -0,0 +1 @@
.bottom-box[data-v-7836bff5]{overflow-x:auto;display:flex}.bottom-box .bottom-left[data-v-7836bff5],.bottom-box .bottom-right[data-v-7836bff5]{display:inline-block}.bottom-box .bottom-left[data-v-7836bff5]{width:290px;margin-right:8px}.bottom-box .bottom-left .dataTab li[data-v-7836bff5]{width:65px}.bottom-box .bottom-right[data-v-7836bff5]{width:calc(100% - 300px)}.bottom-box .bottom-right .dataTab li[data-v-7836bff5]{width:7.7%;min-width:60px}.title[data-v-7836bff5]{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-7836bff5]{display:flex;flex-flow:row nowrap}.dataTab li[data-v-7836bff5]{font-size:14px;border-right:1px solid #e8e8e8;border-bottom:1px solid #e8e8e8}.dataTab li p[data-v-7836bff5]{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.dataTab li .tabHead[data-v-7836bff5]{height:31px;background:#e9ebf0}.dataTab li .tabHead[data-v-7836bff5],.dataTab li .tabValue[data-v-7836bff5]{padding:8px}.dataTab li .tabValue[data-v-7836bff5]{height:35px}.box[data-v-fbbcfa60]{position:relative}.box .text1[data-v-fbbcfa60],.box .text2[data-v-fbbcfa60],.box .text3[data-v-fbbcfa60],.box .text4[data-v-fbbcfa60]{position:absolute}.box .text1[data-v-fbbcfa60]{top:30px;left:0}.box .text2[data-v-fbbcfa60]{top:30px;right:0}.box .text3[data-v-fbbcfa60]{bottom:10px;left:0}.box .text4[data-v-fbbcfa60]{bottom:10px;right:0}.defectScatterPlot[data-v-6da52022]{height:calc(100vh - 206px);overflow:auto}.defectScatterPlot .split-pane[data-v-6da52022]{height:100%;border-radius:8px}.defectScatterPlot .left-box[data-v-6da52022]{margin-left:16px;padding:16px 16px 0;background-color:#fff}.defectScatterPlot .right-box[data-v-6da52022]{margin-right:16px}.defectScatterPlot .right-box .inner-box[data-v-6da52022]{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-6da52022]{margin-bottom:18px}.defectScatterPlot .right-box .inner-box .line2[data-v-6da52022]{margin-bottom:12px}.defectScatterPlot .right-box .inner-box .line2 .el-checkbox[data-v-6da52022]{margin-right:8px}.defectScatterPlot .title[data-v-6da52022]{font-size:14px;color:rgba(0,0,0,.85)}.defectScatterPlot .title[data-v-6da52022]:before{content:"";display:inline-block;width:4px;height:16px;background:#0b58ff;border-radius:1px;vertical-align:middle;margin-right:8px}

View File

@ -1 +0,0 @@
.reportDesign[data-v-00a9937e]{margin:0 16px 0 16px;width:98.5%;height:calc(100vh - 205px)}.reportDesign .mainIframe[data-v-00a9937e]{width:100%;height:100%}

View File

@ -1 +1 @@
.particleLine-chart[data-v-b61f9baa]{height:calc(100vh - 205px);margin:0 16px;border-radius:8px;padding:8px 16px;background-color:#fff}
.particleLine-chart[data-v-06ca839a]{height:calc(100vh - 205px);margin:0 16px;border-radius:8px;padding:8px 16px;background-color:#fff}

View File

@ -1 +0,0 @@
.bottom-box[data-v-4eab165e]{overflow-x:auto;display:flex}.bottom-box .bottom-left[data-v-4eab165e],.bottom-box .bottom-right[data-v-4eab165e]{display:inline-block}.bottom-box .bottom-left[data-v-4eab165e]{width:290px;margin-right:8px}.bottom-box .bottom-left .dataTab li[data-v-4eab165e]{width:65px}.bottom-box .bottom-right[data-v-4eab165e]{width:calc(100% - 300px)}.bottom-box .bottom-right .dataTab li[data-v-4eab165e]{width:7.7%;min-width:60px}.title[data-v-4eab165e]{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-4eab165e]{display:flex;flex-flow:row nowrap}.dataTab li[data-v-4eab165e]{font-size:14px;border-right:1px solid #e8e8e8;border-bottom:1px solid #e8e8e8}.dataTab li p[data-v-4eab165e]{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.dataTab li .tabHead[data-v-4eab165e]{height:31px;background:#e9ebf0}.dataTab li .tabHead[data-v-4eab165e],.dataTab li .tabValue[data-v-4eab165e]{padding:8px}.dataTab li .tabValue[data-v-4eab165e]{height:35px}.box[data-v-51a1dc14]{position:relative}.box .text1[data-v-51a1dc14],.box .text2[data-v-51a1dc14],.box .text3[data-v-51a1dc14],.box .text4[data-v-51a1dc14]{position:absolute}.box .text1[data-v-51a1dc14]{top:30px;left:0}.box .text2[data-v-51a1dc14]{top:30px;right:0}.box .text3[data-v-51a1dc14]{bottom:10px;left:0}.box .text4[data-v-51a1dc14]{bottom:10px;right:0}.defectScatterPlot[data-v-ab923e7c]{height:calc(100vh - 206px);overflow:auto}.defectScatterPlot .split-pane[data-v-ab923e7c]{height:100%;border-radius:8px}.defectScatterPlot .left-box[data-v-ab923e7c]{margin-left:16px;padding:16px 16px 0;background-color:#fff}.defectScatterPlot .right-box[data-v-ab923e7c]{margin-right:16px}.defectScatterPlot .right-box .inner-box[data-v-ab923e7c]{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-ab923e7c]{margin-bottom:18px}.defectScatterPlot .right-box .inner-box .line2[data-v-ab923e7c]{margin-bottom:12px}.defectScatterPlot .right-box .inner-box .line2 .el-checkbox[data-v-ab923e7c]{margin-right:8px}.defectScatterPlot .title[data-v-ab923e7c]{font-size:14px;color:rgba(0,0,0,.85)}.defectScatterPlot .title[data-v-ab923e7c]:before{content:"";display:inline-block;width:4px;height:16px;background:#0b58ff;border-radius:1px;vertical-align:middle;margin-right:8px}

2
dist/index.html vendored
View File

@ -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.4f3f8fe2.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.9320babc.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>

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/2033.434c23a4.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/2532.3254d9f1.js vendored Normal file
View File

@ -0,0 +1 @@
"use strict";(self["webpackChunktft_mes"]=self["webpackChunktft_mes"]||[]).push([[2532],{2532:function(t,s,a){a.r(s),a.d(s,{default:function(){return o}});var e=function(){var t=this,s=t._self._c;return s("div",{staticClass:"reoprtManager"},[s("div",{staticClass:"report"},[t._m(0),s("div",{staticClass:"numBox"},[s("div",[t._m(1),s("div",{staticClass:"detail",on:{click:t.toDetail}},[t._v("了解详情")])])])]),t._l(t.reportList,(function(a,e){return s("div",{key:e,staticClass:"reportDesc"},[s("div",[s("div",{staticClass:"reportNum"},[s("div",{staticClass:"num"},[t._v(t._s(a.num))]),s("div",{staticClass:"text"},[s("p",{staticClass:"font"},[t._v(t._s(a.name))]),s("p",{staticClass:"letter"},[t._v("Reports")])])]),s("div",{staticClass:"detail",on:{click:t.bbb}},[t._v("了解详情")])])])}))],2)},i=[function(){var t=this,s=t._self._c;return s("div",{staticClass:"imgBox"},[s("img",{attrs:{src:a(2070),alt:"",width:"355px",height:"314px"}})])},function(){var t=this,s=t._self._c;return s("div",{staticClass:"reportNum"},[s("div",{staticClass:"num"},[t._v("6")]),s("div",{staticClass:"text"},[s("p",{staticClass:"font"},[t._v("全部报表")]),s("p",{staticClass:"letter"},[t._v("Reports")])])])}],r={name:"ReportList",data(){return{totalReports:6,reportList:[{num:2,name:"能源报表"},{num:2,name:"订单报表"},{num:1,name:"设备报表"},{num:1,name:"人员报表"},{num:1,name:"质量报表"},{num:0,name:"产线报表"}]}},methods:{toDetail(){this.$router.push({path:"/basicConfig/reportManagement/reportListDetail"})},bbb(){this.$router.push({path:"/basicConfig/reportManagement/reportDesign"})}}},n=r,l=a(1001),c=(0,l.Z)(n,e,i,!1,null,null,null),o=c.exports},2070:function(t,s,a){t.exports=a.p+"img/report.b2b3c253.png"}}]);

1
dist/js/2795.68202645.js vendored Normal file
View File

@ -0,0 +1 @@
"use strict";(self["webpackChunktft_mes"]=self["webpackChunktft_mes"]||[]).push([[2795],{2795:function(e,t,a){a.r(t),a.d(t,{default:function(){return y}});var i=function(){var e=this,t=e._self._c;return t("div",{staticClass:"report-classification"},[t("search-bar",{ref:"searchBarForm",attrs:{formConfigs:e.formConfig},on:{headBtnClick:e.buttonClick}}),t("base-table",{attrs:{page:e.listQuery.current,limit:e.listQuery.size,"table-props":e.tableProps,"table-data":e.tableData,"max-height":e.tableH}},[e.tableBtn.length?t("method-btn",{attrs:{slot:"handleBtn",width:180,label:"操作","method-list":e.tableBtn},on:{clickBtn:e.handleClick},slot:"handleBtn"}):e._e()],1),t("pagination",{attrs:{page:e.listQuery.current,limit:e.listQuery.size,total:e.total},on:{"update:page":function(t){return e.$set(e.listQuery,"current",t)},"update:limit":function(t){return e.$set(e.listQuery,"size",t)},pagination:function(t){return e.getList()}}}),t("base-dialog",{attrs:{dialogTitle:e.addOrEditTitle,dialogVisible:e.centervisible,"before-close":e.handleCancel},on:{cancel:e.handleCancel,confirm:e.handleConfirm}},[t("report-name-edit",{ref:"reportNameEdit",on:{successSubmit:e.successSubmit}})],1)],1)},r=[],s=a(475),n=function(){var e=this,t=e._self._c;return t("el-form",{ref:"form",attrs:{rules:e.rules,"label-width":"100px",model:e.form}},[t("el-form-item",{attrs:{label:"报表名称",prop:"name"}},[t("el-input",{model:{value:e.form.name,callback:function(t){e.$set(e.form,"name",t)},expression:"form.name"}})],1),t("el-form-item",{attrs:{label:"报表分类",prop:"type"}},[t("el-select",{staticStyle:{width:"100%"},attrs:{placeholder:"报表分类"},model:{value:e.form.type,callback:function(t){e.$set(e.form,"type",t)},expression:"form.type"}},e._l(e.typeList,(function(e,a){return t("el-option",{key:a,attrs:{label:e.dataName,value:e.dataName}})})),1)],1)],1)},l=[],o={name:"ReportNameEdit",data(){return{form:{id:"",name:""},typeList:[{dataName:"能源",id:1},{dataName:"订单",id:2},{dataName:"设备",id:3},{dataName:"人员",id:4}],rules:{name:[{required:!0,message:"请输入报表分类名",trigger:"blur"}],type:[{required:!0,message:"请选择分类",trigger:"change"}]}}},methods:{init(e){e&&(this.form.id=e)},submitForm(){this.$refs["form"].validate((e=>{if(!e)return!1;this.$emit("successSubmit")}))},formClear(){this.$refs.form.resetFields()}}},m=o,d=a(1001),u=(0,d.Z)(m,n,l,!1,null,null,null),c=u.exports;const p=[{prop:"name",label:"报表名称"},{prop:"type",label:"报表分类"},{prop:"time",label:"添加时间"}],h=[{type:"view",btnName:"预览"},{type:"design",btnName:"设计"},{type:"edit",btnName:"编辑"},{type:"delete",btnName:"删除"}];var b={name:"ReportListDetail",components:{ReportNameEdit:c},data(){return{formConfig:[{type:"input",label:"关键字",placeholder:"报表名称",param:"name",width:300},{type:"button",btnName:"查询",name:"search",color:"primary"},{type:"separate"},{type:"button",btnName:"新增",name:"add",color:"success",plain:!0}],tableProps:p,tableData:[],tableBtn:h,tableH:(0,s.NC)(330),total:0,listQuery:{current:1,size:20},centervisible:!1,addOrEditTitle:""}},mounted(){window.addEventListener("resize",(()=>{this.tableH=(0,s.NC)(265)})),this.getList()},methods:{getList(){let e=[];for(let t=0;t<30;t++){let a={};a.name="名称"+t,a.type="分类"+t,a.time="2023-2-8 13:59:59",a.id=t+1,e.push(a)}this.tableData=e,this.total=30},handleClick(e){switch(e.type){case"view":this.$router.push({path:"/basicConfig/reportManagement/reportView"});break;case"design":this.$router.push({path:"/basicConfig/reportManagement/reportDesign"});break;case"edit":this.addOrEditTitle="编辑",this.centervisible=!0,this.$nextTick((()=>{this.$refs.reportNameEdit.init(e.data.id)}));break;default:this.$confirm('确认删除报表"'+e.data.name+'"吗?',{type:"warning"}).then((()=>{})).catch((()=>{}))}},buttonClick(e){switch(e.btnName){case"search":this.listQuery.name=e.name,this.listQuery.current=1,this.getList();break;default:this.$router.push({path:"/basicConfig/reportManagement/reportDesign"})}},handleCancel(){this.$refs.reportNameEdit.formClear(),this.centervisible=!1,this.addOrEditTitle=""},handleConfirm(){this.$refs.reportNameEdit.submitForm()},successSubmit(){this.handleCancel(),this.getList()}}},f=b,g=(0,d.Z)(f,i,r,!1,null,null,null),y=g.exports}}]);

File diff suppressed because one or more lines are too long

1
dist/js/3124.5c573e61.js vendored Normal file
View File

@ -0,0 +1 @@
"use strict";(self["webpackChunktft_mes"]=self["webpackChunktft_mes"]||[]).push([[3124],{3124:function(e,t,n){n.r(t),n.d(t,{default:function(){return i}});var u=function(){var e=this,t=e._self._c;return t("div",[e._v("预览")])},r=[],l={name:"reportView"},s=l,f=n(1001),c=(0,f.Z)(s,u,r,!1,null,null,null),i=c.exports}}]);

View File

@ -1 +0,0 @@
"use strict";(self["webpackChunktft_mes"]=self["webpackChunktft_mes"]||[]).push([[3759],{3759:function(t,e,r){r.r(e),r.d(e,{default:function(){return l}});var o=function(){var t=this,e=t._self._c;return e("div",{staticClass:"reportView",attrs:{id:"reportView"}},[e("iframe",{attrs:{src:t.url,width:"100%",height:"100%"}})])},n=[],s={name:"ReportView",data(){return{url:"http://tft.mes.picaiba.com/ureport/preview",aa:"111"}},mounted(){const t=this,{name:e}=this.$route.query;console.log(e),this.url+=e?"?_u=db:"+this.$route.query.name:"",console.log(this.url);const r=document.getElementById("reportView");r.onload=function(){console.log("加载完成"),t.loading=!1}}},u=s,i=r(1001),a=(0,i.Z)(u,o,n,!1,null,"2fcfb7ac",null),l=a.exports}}]);

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

View File

@ -1 +0,0 @@
"use strict";(self["webpackChunktft_mes"]=self["webpackChunktft_mes"]||[]).push([[4341],{4341:function(t,s,a){a.r(s),a.d(s,{default:function(){return c}});var e=function(){var t=this,s=t._self._c;return s("div",{staticClass:"reoprtManager"},[s("div",{staticClass:"report"},[t._m(0),s("div",{staticClass:"numBox"},[s("div",[t._m(1),s("div",{staticClass:"detail",on:{click:t.toAll}},[t._v("了解详情")])])])]),t._l(t.reportList,(function(a,e){return s("div",{key:e,staticClass:"reportDesc"},[s("div",[s("div",{staticClass:"reportNum"},[s("div",{staticClass:"num"},[t._v(t._s(a.num))]),s("div",{staticClass:"text"},[s("p",{staticClass:"font"},[t._v(t._s(a.name))]),s("p",{staticClass:"letter"},[t._v("Reports")])])]),s("div",{staticClass:"detail",on:{click:t.toDetail}},[t._v("了解详情")])])])}))],2)},i=[function(){var t=this,s=t._self._c;return s("div",{staticClass:"imgBox"},[s("img",{attrs:{src:a(2070),alt:"",width:"355px",height:"314px"}})])},function(){var t=this,s=t._self._c;return s("div",{staticClass:"reportNum"},[s("div",{staticClass:"num"},[t._v("6")]),s("div",{staticClass:"text"},[s("p",{staticClass:"font"},[t._v("全部报表")]),s("p",{staticClass:"letter"},[t._v("Reports")])])])}],r={name:"ReportList",data(){return{totalReports:6,reportList:[{num:2,name:"能源报表"},{num:2,name:"订单报表"},{num:1,name:"设备报表"},{num:1,name:"人员报表"},{num:1,name:"质量报表"},{num:0,name:"产线报表"}]}},methods:{toAll(){this.$router.push({path:"/basicConfig/reportManagement/reportListDetail"})},toDetail(t){this.$router.push({path:"/basicConfig/reportManagement/reportListDetail",params:{category:t}})}}},n=r,l=a(1001),o=(0,l.Z)(n,e,i,!1,null,null,null),c=o.exports},2070:function(t,s,a){t.exports=a.p+"img/report.b2b3c253.png"}}]);

1
dist/js/5091.57954fe0.js vendored Normal file

File diff suppressed because one or more lines are too long

1
dist/js/546.d5a8f7d7.js vendored Normal file
View File

@ -0,0 +1 @@
"use strict";(self["webpackChunktft_mes"]=self["webpackChunktft_mes"]||[]).push([[546],{546:function(t,e,a){a.r(e),a.d(e,{default:function(){return g}});var s=function(){var t=this,e=t._self._c;return e("el-row",{staticClass:"thicknessDistributionMap",attrs:{gutter:8}},[e("el-col",{attrs:{span:10}},[e("div",{staticClass:"left-box"},[e("search-bar",{attrs:{formConfigs:t.formConfig},on:{headBtnClick:t.buttonClick}}),e("base-table",{attrs:{page:t.listQuery.current,limit:t.listQuery.size,selectWidth:50,"table-props":t.tableProps,"table-data":t.tableData,"max-height":t.tableH}})],1)]),e("el-col",{attrs:{span:14}},[e("div",{staticClass:"right-box"},[e("thickness-distribution-chart")],1)])],1)},i=[],l=a(475),r=function(){var t=this,e=t._self._c;return e("div",{staticClass:"thicknessDistributionChart"},[t._m(0),t._m(1),e("div",{staticStyle:{width:"100%"},style:{height:t.chartHeight+"px"},attrs:{id:"thicknessChart"}})])},n=[function(){var t=this,e=t._self._c;return e("div",{staticClass:"top-table"},[e("ul",[e("li",[t._v("转换速度32654654")]),e("li",[t._v("配方类型G8.5-0943")]),e("li",[t._v("玻璃索引56565")]),e("li",[t._v("等级G1")]),e("li")]),e("ul",[e("li",{staticClass:"red-tip"},[t._v("最大值235454")]),e("li",{staticClass:"blue-tip"},[t._v("最小值5652356")]),e("li",{staticClass:"purple-tip"},[t._v("平均值6856532656")]),e("li",{staticClass:"green-tip"},[t._v("厚度差656413212")]),e("li",{staticClass:"yellow-tip"},[t._v("研磨类型4ABC")])])])},function(){var t=this,e=t._self._c;return e("div",[e("span",{staticClass:"title"},[t._v("玻璃ID46745386415274874")])])}],o=a(7171),h=a(5468),c={name:"thicknessDistributionChart",mixins:[h.Z],data(){return{chartDom:"",chart:"",chartHeight:(0,l.NC)(320)}},mounted(){this.chartDom=document.getElementById("thicknessChart"),this.chart=o.S1(this.chartDom),this.getChart(),window.addEventListener("resize",(()=>{this.chartHeight=(0,l.NC)(320)}))},methods:{getChart(){let t=[];for(let i=1;i<=21;i++)t.push(i);let e=[];for(let i=1;i<=7;i++)e.push(i);const a=[];for(let i=0;i<t.length;i++)for(let t=0;t<e.length;t++){let e=[];e[0]=i,e[1]=t,e[2]=parseInt(80*Math.random()+470),a.push(e)}var s={tooltip:{position:"top"},grid:{height:"50%",top:"10%"},xAxis:{type:"category",data:t,splitArea:{show:!0}},yAxis:{type:"category",data:e,splitArea:{show:!0}},visualMap:{min:470,max:550,calculable:!0,color:["#FF8481","#F9E35E","#A6FF99","#46EBE8","#4572FF"],orient:"horizontal",right:"9%",top:"3%"},series:[{name:"Punch Card",type:"heatmap",data:a,label:{show:!0},emphasis:{itemStyle:{shadowBlur:10,shadowColor:"rgba(0, 0, 0, 0.5)"}}}]};s&&this.chart.setOption(s)}}},p=c,u=a(1001),d=(0,u.Z)(p,r,n,!1,null,"2cc32f61",null),m=d.exports;const b=[{prop:"glassID",label:"ID"},{prop:"time",label:"检测时间"},{prop:"type",label:"研磨类型"}];var C={name:"thicknessDistributionMap",components:{thicknessDistributionChart:m},data(){return{formConfig:[{type:"datePicker",label:"检验时间",dateType:"datetime",format:"yyyy-MM-dd HH:mm:ss",valueFormat:"yyyy-MM-dd HH:mm:ss",placeholder:"检验时间",param:"testTime",width:200},{type:"select",label:"玻璃ID",selectOptions:[{id:"1",name:"521321545"},{id:"2",name:"932234561"},{id:"3",name:"542121212"},{id:"4",name:"354855321"}],param:"fullInspectionType",defaultSelect:"",width:150},{type:"button",btnName:"查询",name:"search",color:"primary"},{type:"button",btnName:"绘图",name:"draw",color:"primary"}],listQuery:{current:1,size:20},tableProps:b,tableData:[],tableH:(0,l.NC)(300)}},mounted(){window.addEventListener("resize",(()=>{this.tableH=(0,l.NC)(300)})),this.getList()},methods:{getList(){let t=[];for(let e=0;e<30;e++){let a={};a.glassID=e,t.push(a)}this.tableData=t},buttonClick(t){switch(t.btnName){case"search":this.getList();break;default:alert("导出")}}}},f=C,y=(0,u.Z)(f,s,i,!1,null,"6ea24da0",null),g=y.exports}}]);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

1
dist/js/6286.dfadd6c6.js vendored Normal file
View File

@ -0,0 +1 @@
"use strict";(self["webpackChunktft_mes"]=self["webpackChunktft_mes"]||[]).push([[6286],{6286:function(t,e,n){n.r(e),n.d(e,{default:function(){return c}});var r=function(){var t=this,e=t._self._c;return e("div",{staticClass:"reportDesign",attrs:{id:"reportDesign"}},[e("iframe",{attrs:{src:t.url,width:"100%",height:"100%"}})])},s=[],i={name:"ReportDesign",data(){return{url:"http://tft.mes.picaiba.com/ureport/designer"}},mounted(){const t=this,e=document.getElementById("reportDesign");e.onload=function(){console.log("加载完成"),t.loading=!1}}},o=i,u=n(1001),a=(0,u.Z)(o,r,s,!1,null,"0e48fcd6",null),c=a.exports}}]);

File diff suppressed because one or more lines are too long

1
dist/js/6488.c01a640d.js vendored Normal file

File diff suppressed because one or more lines are too long

View File

@ -1 +0,0 @@
"use strict";(self["webpackChunktft_mes"]=self["webpackChunktft_mes"]||[]).push([[6582],{6582:function(t,e,r){r.r(e),r.d(e,{default:function(){return l}});var n=function(){var t=this,e=t._self._c;return e("div",{staticClass:"reportDesign",attrs:{id:"reportDesign"}},[e("iframe",{attrs:{src:t.url,width:"100%",height:"100%"}})])},s=[],u={name:"ReportDesign",data(){return{url:"http://tft.mes.picaiba.com/ureport/designer"}},mounted(){const t=this,{name:e}=this.$route.query;this.url+=e?"?_u=db:"+this.$route.query.name:"";const r=document.getElementById("reportDesign");r.onload=function(){console.log("加载完成"),t.loading=!1}}},i=u,o=r(1001),a=(0,o.Z)(i,n,s,!1,null,"00a9937e",null),l=a.exports}}]);

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/839.ec7017d6.js vendored Normal file
View File

@ -0,0 +1 @@
"use strict";(self["webpackChunktft_mes"]=self["webpackChunktft_mes"]||[]).push([[839],{839:function(t,e,a){a.r(e),a.d(e,{default:function(){return y}});var i=function(){var t=this,e=t._self._c;return e("div",{staticClass:"particleLine-chart"},[e("div",{staticStyle:{"margin-bottom":"30px"}},[e("search-bar",{attrs:{formConfigs:t.formConfig},on:{headBtnClick:t.buttonClick}})],1),e("div",{staticStyle:{width:"100%"},style:{height:t.chartHeight+"px"},attrs:{id:"particleLineChart"}})])},s=[],n=a(7171),r=a(475),l=a(5468),o=a(381),m=a.n(o),h={name:"particleLineChart",mixins:[l.Z],data(){return{formConfig:[{type:"datePicker",label:"检验时间",dateType:"datetime",format:"yyyy-MM-dd HH:mm:ss",valueFormat:"yyyy-MM-dd HH:mm:ss",placeholder:"抽检时间",param:"checkOutTime",defaultSelect:"",width:200},{type:"input",label:"合格上线",placeholder:"合格上线",param:"maxLine"},{type:"button",btnName:"确认",name:"search",color:"primary"}],chartDom:"",chart:"",chartHeight:(0,r.NC)(320),checkOutTime:"",maxLine:""}},mounted(){this.chartDom=document.getElementById("particleLineChart"),this.chart=n.S1(this.chartDom),window.addEventListener("resize",(()=>{this.chartHeight=(0,r.NC)(320)})),this.formConfig[0].defaultSelect=m()().format("YYYY-MM-DD HH:mm:ss"),this.getMsg()},methods:{buttonClick(t){console.log(t),"search"===t.btnName&&(this.checkOutTime=t.checkOutTime,this.maxLine=t.maxLine,this.getMsg())},getMsg(){let t=[],e=[],a=[],i=[],s=[],n=[],r={};for(let l=0;l<1e3;l++)t.push(m()().add(l,"days").format("YYYY-MM-DD HH:mm:ss")),e.push(Math.floor(80*Math.random()+10)),a.push(Math.floor(100*Math.random()+20)),i.push(Math.floor(130*Math.random()+30)),s.push(Math.floor(150*Math.random()+40)),n.push(e[l]+a[l]+i[l]+s[l]);r.time=t,r.sList=e,r.mList=a,r.lList=i,r.xlList=s,r.sumList=n,this.getChart(r)},getChart1(t){var e={color:["#5AD8A6","#5B8FF9","#5D7092","#F6BD16","#E8684A"],title:{text:"时间段玻璃颗粒数"},tooltip:{trigger:"axis"},legend:{data:["Total","M","L","S","XL"],right:"4%"},grid:{left:"3%",right:"4%",bottom:"3%"},xAxis:{type:"category",boundaryGap:!1,data:t.time},yAxis:{type:"value"},series:[{name:"Total",type:"line",data:t.sumList,markLine:{show:!1,Symbol:"none",label:{position:"end",formatter:"合格线\n"+this.maxLine},data:[{silent:!1,lineStyle:{type:"dashed",color:"#0B58FF"},yAxis:this.maxLine}]}},{name:"M",type:"line",data:t.mList},{name:"L",type:"line",data:t.lList},{name:"S",type:"line",data:t.sList},{name:"XL",type:"line",data:t.xlList}]};e&&this.chart.setOption(e)},getChart(t){console.log(t);var e={color:["#5AD8A6","#5B8FF9","#5D7092","#F6BD16","#E8684A"],title:{text:"时间段玻璃颗粒数",left:"1%"},tooltip:{trigger:"axis"},legend:{data:["Total","M","L","S","XL"],right:"4%"},grid:{left:"4%",right:"4%",bottom:"10%"},xAxis:{type:"category",boundaryGap:!1,data:t.time},yAxis:{type:"value"},dataZoom:[{startValue:"2023-02-014"},{type:"inside"}],series:[{name:"Total",type:"line",data:t.sumList,markLine:{show:!1,Symbol:"none",label:{position:"end",formatter:"合格线\n"+this.maxLine},data:[{silent:!1,lineStyle:{type:"dashed",color:"#0B58FF"},yAxis:this.maxLine}]}},{name:"M",type:"line",data:t.mList},{name:"L",type:"line",data:t.lList},{name:"S",type:"line",data:t.sList},{name:"XL",type:"line",data:t.xlList}]};e&&this.chart.setOption(e)}}},d=h,c=a(1001),p=(0,c.Z)(d,i,s,!1,null,"06ca839a",null),y=p.exports}}]);

1
dist/js/8637.896e8c07.js vendored Normal file
View File

@ -0,0 +1 @@
"use strict";(self["webpackChunktft_mes"]=self["webpackChunktft_mes"]||[]).push([[8637],{8637:function(t,e,l){l.r(e),l.d(e,{default:function(){return m}});var a=function(){var t=this,e=t._self._c;return e("div",{staticClass:"fullInspection"},[e("search-bar",{ref:"searchBarForm",attrs:{formConfigs:t.formConfig},on:{headBtnClick:t.buttonClick}}),e("base-table",{attrs:{page:t.listQuery.current,limit:t.listQuery.size,"table-props":t.tableProps,"table-data":t.tableData,"max-height":t.tableH}},[t.tableBtn.length?e("method-btn",{attrs:{slot:"handleBtn",width:80,label:"操作",fixed:"right","method-list":t.tableBtn},on:{clickBtn:t.handleClick},slot:"handleBtn"}):t._e()],1),e("pagination",{attrs:{limit:t.listQuery.size,total:t.total}})],1)},i=[],n=l(475);const r=[{prop:"glassId",label:"玻璃ID"},{prop:"fullInspectionType",label:"全检类型"},{prop:"long",label:"长/mm"},{prop:"width",label:"宽/mm"},{prop:"thick",label:"厚/mm"},{prop:"productQuality",label:"产品质量"},{prop:"productionLine",label:"产线"},{prop:"testOfTime",label:"检验时间"}],s=[{type:"detail",btnName:"详情"}];var o={name:"fullInspection",data(){return{formConfig:[{type:"input",label:"玻璃ID",placeholder:"玻璃ID",param:"glassId"},{type:"select",label:"全检类型",selectOptions:[{id:"1",name:"精切后边检"},{id:"2",name:"终检边检"},{id:"3",name:"面检"},{id:"4",name:"复检"}],param:"fullInspectionType",defaultSelect:"",width:150},{type:"datePicker",label:"检验时间",dateType:"datetime",format:"yyyy-MM-dd HH:mm:ss",valueFormat:"yyyy-MM-dd HH:mm:ss",placeholder:"抽检时间",param:"testTime",width:200},{type:"button",btnName:"查询",name:"search",color:"primary"},{type:"separate"},{type:"button",btnName:"导出",name:"export",color:"primary",plain:!0}],tableProps:r,tableData:[],tableH:(0,n.NC)(330),tableBtn:s,total:0,listQuery:{current:1,size:20}}},mounted(){window.addEventListener("resize",(()=>{this.tableH=(0,n.NC)(330)}));for(let t=0;t<30;t++){let e={};e.glassId=t,e.fullInspectionType="全检类型"+t,e.long=t,e.width=t,e.thick=t,e.productQuality="产品质量"+t,e.productionLine="产线"+t,e.testOfTime="2022-08-08 13:59:13",this.tableData.push(e)}},methods:{getList(){console.log("getList")},buttonClick(t){switch(t.btnName){case"search":this.getList();break;default:alert("导出")}},handleClick(t){console.log(t),"detail"===t.type&&alert("详情")}}},p=o,d=l(1001),c=(0,d.Z)(p,a,i,!1,null,null,null),m=c.exports}}]);

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/app.9320babc.js vendored Normal file

File diff suppressed because one or more lines are too long

View File

@ -221,36 +221,3 @@ export function getEqCode(data) {
data
})
}
// 报表管理
export function getReportlist(data) {
return request({
url: '/report/report-sheet/page',
method: 'post',
data
})
}
export function updateReportlist(data) {
return request({
url: '/report/report-sheet/update',
method: 'post',
data
})
}
export function delReportlist(data) {
return request({
url: '/report/report-sheet/delete',
method: 'post',
data
})
}
// by id
export function getReport(data) {
return request({
url: '/report/report-sheet/get',
method: 'post',
data
})
}

View File

@ -44,73 +44,6 @@ export function processDetectExport(data) {
})
}
// 过程全检
export function processCompleteInspetion(data) {
return request({
url: '/quality/processCompleteInspetion/page',
method: 'post',
data
})
}
export function processCompleteInspetionDetails(data) {
return request({
url: '/quality/processCompleteInspetion/getDetails',
method: 'post',
data
})
}
export function processCompleteInspetionListType(data) {
return request({
url: '/quality/processCompleteInspetion/listType',
method: 'post',
data
})
}
// 全检导出
export function completeInspetionExport(data) {
return request({
url: '/quality/processCompleteInspetion/export',
method: 'post',
responseType: 'blob',
data
})
}
export function pageIIS(data) {
return request({
url: '/quality/processCompleteInspetion/pageIIS',
method: 'post',
data
})
}
// 缺陷散点图
export function queryPoint(data) {
return request({
url: '/quality/ProcessFull/queryPoint',
method: 'post',
data
})
}
// 缺陷散点图-绘图
export function drawPoint(data) {
return request({
url: '/quality/ProcessFull/drawPoint',
method: 'post',
data
})
}
// 缺陷散点图--底部明细
export function queryPointClear(data) {
return request({
url: '/quality/ProcessFull/queryPointClear',
method: 'post',
data
})
}
// 颗粒折线图
export function getProcessFull(data) {
return request({
@ -119,21 +52,3 @@ export function getProcessFull(data) {
data
})
}
// 厚度分布图--查询
export function queryThickness(data) {
return request({
url: '/quality/ProcessFull/queryThickness',
method: 'post',
data
})
}
// 厚度分布图--绘图
export function drawThickness(val) {
return request({
url: '/quality/ProcessFull/drawThickness',
method: 'post',
formState: true,
data: val
})
}

View File

@ -457,17 +457,6 @@ export const routes = [
'../views/qualityManagement/processFullInspection/fullInspection'
)
},
{
path: 'fullInspectionDetail',
name: 'fullInspectionDetail',
meta: {
title: '全检详情'
},
component: () =>
import(
'../views/qualityManagement/processFullInspection/fullInspectionDetail'
)
},
{
path: 'defectScatterPlot',
name: 'defectScatterPlot',

View File

@ -3,12 +3,8 @@
<el-form-item label="报表名称" prop="name">
<el-input v-model="form.name"></el-input>
</el-form-item>
<el-form-item label="报表分类" prop="category">
<el-select
v-model="form.category"
placeholder="报表分类"
style="width: 100%"
>
<el-form-item label="报表分类" prop="type">
<el-select v-model="form.type" placeholder="报表分类" style="width: 100%">
<el-option
v-for="(item, i) in typeList"
:key="i"
@ -20,15 +16,13 @@
</el-form>
</template>
<script>
import { getReport, updateReportlist } from '@/api/basicConfig'
export default {
name: 'ReportNameEdit',
data() {
return {
form: {
id: '',
name: '',
category: ''
name: ''
},
typeList: [
{ dataName: '能源', id: 1 },
@ -37,8 +31,10 @@ export default {
{ dataName: '人员', id: 4 }
],
rules: {
name: [{ required: true, message: '请输入报表分类名', trigger: 'blur' }]
// category: [{ required: true, message: '', trigger: 'change' }]
name: [
{ required: true, message: '请输入报表分类名', trigger: 'blur' }
],
type: [{ required: true, message: '请选择分类', trigger: 'change' }]
}
}
},
@ -46,28 +42,32 @@ export default {
init(id) {
if (id) {
this.form.id = id
getReport({ id }).then((res) => {
if (res.code === 0) {
this.form.category = res.data.category
this.form.name = res.data.name
}
})
// getAccount({ id }).then((res) => {
// if (res.code === 0) {
// this.form.account = res.data.account
// this.form.password = res.data.password
// this.form.name = res.data.name
// this.form.proLineId = res.data.proLineId
// this.form.role = res.data.role
// this.form.enabled = res.data.enabled
// }
// })
}
},
submitForm() {
this.$refs['form'].validate((valid) => {
if (valid) {
//
updateReportlist({ ...this.form }).then((res) => {
if (res.code === 0) {
this.$message({
message: '操作成功',
type: 'success',
duration: 1500
})
this.$emit('successSubmit')
}
})
// accountUpdate({ ...this.form }).then((res) => {
// if (res.code === 0) {
// this.$message({
// message: '',
// type: 'success',
// duration: 1500
// })
// this.$emit('successSubmit')
// }
// })
this.$emit('successSubmit')
} else {
return false

View File

@ -13,8 +13,8 @@ export default {
},
mounted() {
const vm = this
const { name } = this.$route.query
this.url += name ? '?_u=db:' + this.$route.query.name : ''
// const { name } = this.$route.query
// this.url += name ? '?_u=db:' + this.$route.query.name : ''
const ifream = document.getElementById('reportDesign')
ifream.onload = function () {
console.log('加载完成')

View File

@ -18,7 +18,7 @@
<p class="letter">Reports</p>
</div>
</div>
<div class="detail" @click="toAll">了解详情</div>
<div class="detail" @click="toDetail">了解详情</div>
</div>
</div>
</div>
@ -31,7 +31,7 @@
<p class="letter">Reports</p>
</div>
</div>
<div class="detail" @click="toDetail">了解详情</div>
<div class="detail" @click="bbb">了解详情</div>
</div>
</div>
</div>
@ -53,17 +53,13 @@ export default {
}
},
methods: {
toAll() {
toDetail() {
this.$router.push({
path: '/basicConfig/reportManagement/reportListDetail'
})
},
toDetail(name) {
// this.$router.push({ path: '/basicConfig/reportManagement/reportDesign' })
this.$router.push({
path: '/basicConfig/reportManagement/reportListDetail',
params: { category: name }
})
bbb() {
this.$router.push({ path: '/basicConfig/reportManagement/reportDesign' })
}
}
}

View File

@ -40,22 +40,20 @@
</div>
</template>
<script>
import { tableHeight } from '@/utils/index'
import ReportNameEdit from './../components/reportNameEdit.vue'
import { getReportlist, delReportlist } from '@/api/basicConfig'
import { tableHeight, timeFormatter } from '@/utils'
const tableProps = [
{
prop: 'name',
label: '报表名称'
},
{
prop: 'category',
prop: 'type',
label: '报表分类'
},
{
prop: 'createTime',
label: '添加时间',
filter: timeFormatter
prop: 'time',
label: '添加时间'
}
]
const tableBtn = [
@ -127,30 +125,28 @@ export default {
},
methods: {
getList() {
getReportlist({ ...this.listQuery }).then((res) => {
console.log(res)
if (res.code === 0 && res.data) {
this.tableData = res.data.records
this.total = res.data.total
} else {
this.tableData = []
this.total = 0
let arr = []
for (let i = 0; i < 30; i++) {
let obj = {}
obj.name = '名称' + i
obj.type = '分类' + i
obj.time = '2023-2-8 13:59:59'
obj.id = i + 1
arr.push(obj)
}
})
this.tableData = arr
this.total = 30
},
handleClick(val) {
console.log(val.data.name)
switch (val.type) {
case 'view':
this.$router.push({
path: '/basicConfig/reportManagement/reportView',
query: { name: val.data.name }
path: '/basicConfig/reportManagement/reportView'
})
break
case 'design':
this.$router.push({
path: '/basicConfig/reportManagement/reportDesign',
query: { name: val.data.name }
path: '/basicConfig/reportManagement/reportDesign'
})
break
case 'edit':
@ -165,17 +161,17 @@ export default {
type: 'warning'
})
.then(() => {
delReportlist({ id: val.data.id }).then((res) => {
console.log(res)
this.$message({
message: '报表删除成功',
type: 'success',
duration: 1500,
onClose: () => {}
})
this.listQuery.current = 1
this.getList()
})
// maintainManageDelete({ id: val.data.id }).then((res) => {
// console.log(res)
// this.$message({
// message: '',
// type: 'success',
// duration: 1500,
// onClose: () => {}
// })
// this.listQuery.current = 1
// this.getList()
// })
})
.catch(() => {})
}

View File

@ -1,39 +1,8 @@
<template>
<div id="reportView" class="reportView">
<iframe :src="url" width="100%" height="100%"></iframe>
</div>
<div>预览</div>
</template>
<script>
export default {
name: 'ReportView',
data() {
return {
url: process.env.VUE_APP_REPORT_VIEW_URL,
aa: '111'
}
},
mounted() {
const vm = this
const { name } = this.$route.query
console.log(name)
this.url += name ? '?_u=db:' + this.$route.query.name : ''
console.log(this.url)
const ifream = document.getElementById('reportView')
ifream.onload = function () {
console.log('加载完成')
vm.loading = false
}
}
name: 'reportView'
}
</script>
<style lang="scss" scoped>
.reportView {
margin: 0px 16px 0 16px;
width: 98.5%;
height: calc(100vh - 205px);
.mainIframe {
width: 100%;
height: 100%;
}
}
</style>

View File

@ -45,124 +45,106 @@ export default {
this.chartDom = document.getElementById('defectScatterPlotChart')
this.chart = echarts.init(this.chartDom)
const dataS = [
[1, 55],
[2, 25],
[3, 56],
[4, 33],
[5, 42],
[6, 82],
[7, 74],
[8, 78],
[9, 267],
[10, 185],
[11, 39],
[12, 41],
[13, 64],
[14, 108],
[15, 108],
[16, 33],
[17, 94],
[18, 186],
[19, 57],
[20, 22],
[21, 39],
[22, 94],
[23, 99],
[24, 31],
[25, 42],
[26, 154],
[27, 234],
[28, 160],
[29, 134],
[30, 52],
[31, 46]
[1, 55, 9, 56, 0.46, 18, 6, '良'],
[2, 25, 11, 21, 0.65, 34, 9, '优'],
[3, 56, 7, 63, 0.3, 14, 5, '良'],
[4, 33, 7, 29, 0.33, 16, 6, '优'],
[5, 42, 24, 44, 0.76, 40, 16, '优'],
[6, 82, 58, 90, 1.77, 68, 33, '良'],
[7, 74, 49, 77, 1.46, 48, 27, '良'],
[8, 78, 55, 80, 1.29, 59, 29, '良'],
[9, 267, 216, 280, 4.8, 108, 64, '重度污染'],
[10, 185, 127, 216, 2.52, 61, 27, '中度污染'],
[11, 39, 19, 38, 0.57, 31, 15, '优'],
[12, 41, 11, 40, 0.43, 21, 7, '优'],
[13, 64, 38, 74, 1.04, 46, 22, '良'],
[14, 108, 79, 120, 1.7, 75, 41, '轻度污染'],
[15, 108, 63, 116, 1.48, 44, 26, '轻度污染'],
[16, 33, 6, 29, 0.34, 13, 5, '优'],
[17, 94, 66, 110, 1.54, 62, 31, '良'],
[18, 186, 142, 192, 3.88, 93, 79, '中度污染'],
[19, 57, 31, 54, 0.96, 32, 14, '良'],
[20, 22, 8, 17, 0.48, 23, 10, '优'],
[21, 39, 15, 36, 0.61, 29, 13, '优'],
[22, 94, 69, 114, 2.08, 73, 39, '良'],
[23, 99, 73, 110, 2.43, 76, 48, '良'],
[24, 31, 12, 30, 0.5, 32, 16, '优'],
[25, 42, 27, 43, 1, 53, 22, '优'],
[26, 154, 117, 157, 3.05, 92, 58, '中度污染'],
[27, 234, 185, 230, 4.09, 123, 69, '重度污染'],
[28, 160, 120, 186, 2.77, 91, 50, '中度污染'],
[29, 134, 96, 165, 2.76, 83, 41, '轻度污染'],
[30, 52, 24, 60, 1.03, 50, 21, '良'],
[31, 46, 5, 49, 0.28, 10, 6, '优']
]
const dataM = [
[1, 26],
[2, 85],
[3, 78],
[4, 21],
[5, 41],
[6, 56],
[7, 64],
[8, 55],
[9, 76],
[10, 91],
[11, 84],
[12, 64],
[13, 70],
[14, 77],
[15, 109],
[16, 73],
[17, 54],
[18, 51],
[19, 91],
[20, 73],
[21, 73],
[22, 84],
[23, 93],
[24, 99],
[25, 146],
[26, 113],
[27, 81],
[28, 56],
[29, 82],
[30, 106],
[31, 118]
[1, 26, 37, 27, 1.163, 27, 13, '优'],
[2, 85, 62, 71, 1.195, 60, 8, '良'],
[3, 78, 38, 74, 1.363, 37, 7, '良'],
[4, 21, 21, 36, 0.634, 40, 9, '优'],
[5, 41, 42, 46, 0.915, 81, 13, '优'],
[6, 56, 52, 69, 1.067, 92, 16, '良'],
[7, 64, 30, 28, 0.924, 51, 2, '良'],
[8, 55, 48, 74, 1.236, 75, 26, '良'],
[9, 76, 85, 113, 1.237, 114, 27, '良'],
[10, 91, 81, 104, 1.041, 56, 40, '良'],
[11, 84, 39, 60, 0.964, 25, 11, '良'],
[12, 64, 51, 101, 0.862, 58, 23, '良'],
[13, 70, 69, 120, 1.198, 65, 36, '良'],
[14, 77, 105, 178, 2.549, 64, 16, '良'],
[15, 109, 68, 87, 0.996, 74, 29, '轻度污染'],
[16, 73, 68, 97, 0.905, 51, 34, '良'],
[17, 54, 27, 47, 0.592, 53, 12, '良'],
[18, 51, 61, 97, 0.811, 65, 19, '良'],
[19, 91, 71, 121, 1.374, 43, 18, '良'],
[20, 73, 102, 182, 2.787, 44, 19, '良'],
[21, 73, 50, 76, 0.717, 31, 20, '良'],
[22, 84, 94, 140, 2.238, 68, 18, '良'],
[23, 93, 77, 104, 1.165, 53, 7, '良'],
[24, 99, 130, 227, 3.97, 55, 15, '良'],
[25, 146, 84, 139, 1.094, 40, 17, '轻度污染'],
[26, 113, 108, 137, 1.481, 48, 15, '轻度污染'],
[27, 81, 48, 62, 1.619, 26, 3, '良'],
[28, 56, 48, 68, 1.336, 37, 9, '良'],
[29, 82, 92, 174, 3.29, 0, 13, '良'],
[30, 106, 116, 188, 3.628, 101, 16, '轻度污染'],
[31, 118, 50, 0, 1.383, 76, 11, '轻度污染']
]
const dataL = [
[1, 91],
[2, 65],
[3, 83],
[4, 109],
[5, 106],
[6, 109],
[7, 106],
[8, 89],
[9, 53],
[10, 80],
[11, 117],
[12, 99],
[13, 95],
[14, 116],
[15, 108],
[16, 134],
[17, 79],
[18, 71],
[19, 97],
[20, 84],
[21, 87],
[22, 104],
[23, 87],
[24, 168],
[25, 65],
[26, 39],
[27, 39],
[28, 93],
[29, 188],
[30, 174],
[31, 187]
[1, 91, 45, 125, 0.82, 34, 23, '良'],
[2, 65, 27, 78, 0.86, 45, 29, '良'],
[3, 83, 60, 84, 1.09, 73, 27, '良'],
[4, 109, 81, 121, 1.28, 68, 51, '轻度污染'],
[5, 106, 77, 114, 1.07, 55, 51, '轻度污染'],
[6, 109, 81, 121, 1.28, 68, 51, '轻度污染'],
[7, 106, 77, 114, 1.07, 55, 51, '轻度污染'],
[8, 89, 65, 78, 0.86, 51, 26, '良'],
[9, 53, 33, 47, 0.64, 50, 17, '良'],
[10, 80, 55, 80, 1.01, 75, 24, '良'],
[11, 117, 81, 124, 1.03, 45, 24, '轻度污染'],
[12, 99, 71, 142, 1.1, 62, 42, '良'],
[13, 95, 69, 130, 1.28, 74, 50, '良'],
[14, 116, 87, 131, 1.47, 84, 40, '轻度污染'],
[15, 108, 80, 121, 1.3, 85, 37, '轻度污染'],
[16, 134, 83, 167, 1.16, 57, 43, '轻度污染'],
[17, 79, 43, 107, 1.05, 59, 37, '良'],
[18, 71, 46, 89, 0.86, 64, 25, '良'],
[19, 97, 71, 113, 1.17, 88, 31, '良'],
[20, 84, 57, 91, 0.85, 55, 31, '良'],
[21, 87, 63, 101, 0.9, 56, 41, '良'],
[22, 104, 77, 119, 1.09, 73, 48, '轻度污染'],
[23, 87, 62, 100, 1, 72, 28, '良'],
[24, 168, 128, 172, 1.49, 97, 56, '中度污染'],
[25, 65, 45, 51, 0.74, 39, 17, '良'],
[26, 39, 24, 38, 0.61, 47, 17, '优'],
[27, 39, 24, 39, 0.59, 50, 19, '优'],
[28, 93, 68, 96, 1.05, 79, 29, '良'],
[29, 188, 143, 197, 1.66, 99, 51, '中度污染'],
[30, 174, 131, 174, 1.55, 108, 50, '中度污染'],
[31, 187, 143, 201, 1.39, 89, 53, '中度污染']
]
var option = {
color: [
'#5d7ab7',
'#ec795f',
'#925041',
'#fb5099',
'#f6bd16',
'#E8684A',
'#6DC8EC',
'#9270CA',
'#FF9D4D',
'#269A99',
'#FF99C3',
'#BDD2FD',
'#5AD8A6',
'#FDABAB',
'#BDEFDB',
'#5B8FF9',
'#404E67'
],
color: ['#dd4444', '#fec42c', '#80F1BE'],
legend: {
top: 10,
left: 0,

View File

@ -3,7 +3,7 @@
<div class="bottom-left">
<ul class="dataTab">
<div class="title">颗粒数据</div>
<li v-for="(item, index) in leftList" :key="index">
<li v-for="(item, index) in a" :key="index">
<p class="tabHead">{{ item.name }}</p>
<p class="tabValue">{{ item.value }}</p>
</li>
@ -12,7 +12,7 @@
<div class="bottom-right">
<ul class="dataTab">
<div class="title">面检数据</div>
<li v-for="(item, index) in rightList" :key="index">
<li v-for="(item, index) in b" :key="index">
<p class="tabHead">{{ item.name }}</p>
<p class="tabValue">{{ item.value }}</p>
</li>
@ -23,50 +23,30 @@
<script>
export default {
name: 'DefectScatterPlot',
props: {
detailObj: {
type: Object
}
},
data() {
return {
leftList: [
{ name: 'S', value: null, key: 's' },
{ name: 'M', value: null, key: 'm' },
{ name: 'L', value: null, key: 'l' },
{ name: 'XL', value: null, key: 'xl' }
a: [
{ name: 'S', value: 65323 },
{ name: 'M', value: 65323 },
{ name: 'L', value: 65323 },
{ name: 'XL', value: 65323 }
],
rightList: [
{ name: '气泡', value: null, key: 'bl' },
{ name: '变形', value: null, key: 'distortion' },
{ name: '纤维', value: null, key: 'fiber' },
{ name: '划伤', value: null, key: 'scratch' },
{ name: '点状缺陷', value: null, key: 'tin' },
{ name: '结石', value: null, key: 'stone' },
{ name: '铂金', value: null, key: 'pt' },
{ name: '结节', value: null, key: 'knot' },
{ name: '拖尾', value: null, key: 'tail' },
{ name: 'ADG', value: null, key: 'adg' },
{ name: '锡缺陷(顶部)', value: null, key: 'top' },
{ name: '锡缺陷(底部)', value: null, key: 'bottom' },
{ name: '无法识别', value: null, key: 'iisrest' }
b: [
{ name: '气泡', value: 65323 },
{ name: '变形', value: 65323 },
{ name: '纤维', value: 65323 },
{ name: '划伤', value: 65323 },
{ name: '点状缺陷', value: 65323 },
{ name: '结石', value: 65323 },
{ name: '铂金', value: 65323 },
{ name: '结节', value: 65323 },
{ name: '拖尾', value: 65323 },
{ name: 'ADG', value: 65323 },
{ name: '锡缺陷(顶部)', value: 65323 },
{ name: '锡缺陷(底部)', value: 65323 },
{ name: '无法识别', value: 65323 }
]
}
},
methods: {
init() {
console.log(this.detailObj)
for (let i = 0; i < this.leftList.length; i++) {
this.leftList[i].value = this.detailObj[this.leftList[i].key]
? this.detailObj[this.leftList[i].key]
: null
}
for (let i = 0; i < this.rightList.length; i++) {
this.rightList[i].value = this.detailObj[this.rightList[i].key]
? this.detailObj[this.rightList[i].key]
: null
}
}
}
}
</script>

View File

@ -68,7 +68,6 @@ export default {
data.push(arr)
}
}
console.log(data)
var option = {
tooltip: {
position: 'top'

View File

@ -11,7 +11,6 @@
:table-props="tableProps"
:table-data="tableData"
:max-height="tableH"
@selection-change="selectChange"
/>
<pagination :limit="listQuery.size" :total="total" />
</div>
@ -25,16 +24,11 @@
v-model="type"
size="small"
style="margin-right: 24px"
@change="selectType"
>
<el-radio-button label="pellet">颗粒全选</el-radio-button>
<el-radio-button label="surface">面检全选</el-radio-button>
<el-radio-button label="1">颗粒全选</el-radio-button>
<el-radio-button label="2">面检全选</el-radio-button>
</el-radio-group>
<el-button
type="primary"
size="small"
style="margin-right: 14px"
@click="drawPic"
<el-button type="primary" size="small" style="margin-right: 14px"
>绘图</el-button
>
<el-button type="primary" size="small" plain>导出</el-button>
@ -69,37 +63,31 @@
import { tableHeight } from '@/utils/index'
import defectScatterPlotTotal from './../components/defectScatterPlotTotal.vue'
import defectScatterPlotChart from './../components/defectScatterPlotChart.vue'
import { queryPoint, drawPoint, queryPointClear } from '@/api/qualityManagement'
import moment from 'moment'
import { timeFormatter } from '@/utils'
const tableProps = [
{
prop: 'glassId',
label: 'ID',
fixed: 'left',
minWidth: 120
prop: 'id',
label: 'D',
fixed: 'left'
},
{
prop: 'testTime',
prop: 'fullInspectionType',
label: '检验时间',
fixed: 'left',
filter: timeFormatter,
minWidth: 160
fixed: 'left'
},
{
prop: 'grindType',
prop: 'type',
label: '研磨类型'
},
{
prop: 'electricity',
prop: 'width',
label: '总电流'
},
{
prop: 'particleSum',
prop: 'thick',
label: '颗粒总数'
},
{
prop: 'surfaceSum',
prop: 'productQuality',
label: '面检总数'
}
]
@ -113,15 +101,12 @@ export default {
{
type: 'datePicker',
label: '检验时间',
dateType: 'datetimerange',
dateType: 'datetime',
format: 'yyyy-MM-dd HH:mm:ss',
valueFormat: 'yyyy-MM-ddTHH:mm:ss',
rangeSeparator: '-',
startPlaceholder: '开始时间',
endPlaceholder: '结束时间',
param: 'timeVal',
defaultSelect: [],
width: 350
valueFormat: 'yyyy-MM-dd HH:mm:ss',
placeholder: '抽检时间',
param: 'testTime',
width: 200
},
{
type: 'button',
@ -132,14 +117,14 @@ export default {
],
searchTime: '',
listQuery: {
startTime: '',
endTime: ''
current: 1,
size: 20
},
tableProps,
tableData: [],
tableH: tableHeight(290),
total: 0,
type: 'pellet',
type: '1',
selectList: [
{ label: '1', value: '1' },
{ label: '2', value: '2' },
@ -147,47 +132,25 @@ export default {
{ label: '4', value: '4' }
],
checkItem: '',
checkList: ['s', 'm', 'l', 'xl'],
checkList: [],
list: [
{ label: 'S', value: 's' },
{ label: 'S', value: 'S' },
{ label: 'M', value: 'm' },
{ label: 'L', value: 'l' },
{ label: 'XL', value: 'xl' },
{ label: '气泡', value: 'bl' },
{ label: '变形', value: 'distortion' },
{ label: '纤维', value: 'fiber' },
{ label: '划伤', value: 'scratch' },
{ label: '结节', value: 'knot' },
{ label: '结石', value: 'stone' },
{ label: '铂金', value: 'pt' },
{ label: '拖尾', value: 'tail' },
{ label: '气泡', value: 'qp' },
{ label: '变形', value: 'bx' },
{ label: '纤维', value: 'xw' },
{ label: '划伤', value: 'hs' },
{ label: '结节', value: 'jj' },
{ label: '结石', value: 'js' },
{ label: '铂金', value: 'bj' },
{ label: '拖尾', value: 'tw' },
{ label: 'ADG', value: 'adg' },
{ label: '点状缺陷', value: 'tin' },
{ label: '锡缺陷(顶部)', value: 'top' },
{ label: '锡缺陷(底部)', value: 'bottom' },
{ label: '无法识别', value: 'iisrest' }
],
selectedGlassId: [],
leftList: [
{ name: 'S', value: null, key: 's' },
{ name: 'M', value: null, key: 'm' },
{ name: 'L', value: null, key: 'l' },
{ name: 'XL', value: null, key: 'xl' }
],
rightList: [
{ name: '气泡', value: null, key: 'bl' },
{ name: '变形', value: null, key: 'distortion' },
{ name: '纤维', value: null, key: 'fiber' },
{ name: '划伤', value: null, key: 'scratch' },
{ name: '点状缺陷', value: null, key: 'tin' },
{ name: '结石', value: null, key: 'stone' },
{ name: '铂金', value: null, key: 'pt' },
{ name: '结节', value: null, key: 'knot' },
{ name: '拖尾', value: null, key: 'tail' },
{ name: 'ADG', value: null, key: 'adg' },
{ name: '锡缺陷(顶部)', value: null, key: 'top' },
{ name: '锡缺陷(底部)', value: null, key: 'bottom' },
{ name: '无法识别', value: null, key: 'iisrest' }
{ label: '点状缺陷', value: '' },
{ label: '锡缺陷(顶部)', value: 'xqxt' },
{ label: '锡缺陷(底部)', value: 'xqxb' },
{ label: '无法识别', value: 'wfsb' }
]
}
},
@ -195,76 +158,20 @@ export default {
window.addEventListener('resize', () => {
this.tableH = tableHeight(290)
})
this.formConfig[0].defaultSelect = [
moment().format('yyyy-MM-DD') + 'T00:00:00',
moment().format('yyyy-MM-DD') + 'T23:59:59'
]
this.listQuery.startTime = moment().format('yyyy-MM-DD') + 'T00:00:00'
this.listQuery.endTime = moment().format('yyyy-MM-DD') + 'T23:59:59'
this.getList()
},
methods: {
getList() {
queryPoint({ ...this.listQuery }).then((res) => {
console.log(res)
this.tableData = res.data
})
},
drawPic() {
//
this.getDetail()
drawPoint().then((res) => {
console.log(res)
})
},
getDetail() {
//
queryPointClear({
glassId: this.selectedGlassId
}).then((res) => {
console.log(res)
})
let arr = []
for (let i = 0; i < 30; i++) {
let obj = {}
obj.id = i + 10
arr.push(obj)
}
this.tableData = arr
},
buttonClick(val) {
//
console.log(val)
this.listQuery.startTime = val.timeVal ? val.timeVal[0] : ''
this.listQuery.endTime = val.timeVal ? val.timeVal[1] : ''
this.getList()
},
selectChange(val) {
console.log(val)
let arr = []
if (val.length > 0) {
for (let i = 0; i < val.length; i++) {
arr.push(val[i].glassId)
}
this.selectedGlassId = arr
} else {
this.selectedGlassId = []
}
},
selectType(val) {
console.log(val)
if (val === 'pellet') {
this.checkList = ['s', 'm', 'l', 'xl']
} else {
this.checkList = [
'bl',
'distortion',
'fiber',
'scratch',
'knot',
'stone',
'pt',
'tail',
'adg',
'tin',
'top',
'bottom',
'iisrest'
]
}
},
moveEnd() {
this.$refs.poltChart.getChart()

View File

@ -27,46 +27,38 @@
</template>
<script>
import { tableHeight } from '@/utils/index'
import {
processCompleteInspetion,
completeInspetionExport
} from '@/api/qualityManagement'
import moment from 'moment'
import { timeFormatter } from '@/utils'
const tableProps = [
{
prop: 'virtualcode',
prop: 'glassId',
label: '玻璃ID'
},
{
prop: 'filetype',
prop: 'fullInspectionType',
label: '全检类型'
},
{
prop: 'glassLength',
prop: 'long',
label: '长/mm'
},
{
prop: 'glassWidth',
prop: 'width',
label: '宽/mm'
},
{
prop: 'glassHeight',
prop: 'thick',
label: '厚/mm'
},
{
prop: 'grade',
prop: 'productQuality',
label: '产品质量'
},
{
prop: 'line',
prop: 'productionLine',
label: '产线'
},
{
prop: 'time',
label: '检验时间',
filter: timeFormatter,
minWidth: 160
prop: 'testOfTime',
label: '检验时间'
}
]
const tableBtn = [
@ -90,27 +82,24 @@ export default {
type: 'select',
label: '全检类型',
selectOptions: [
{ id: '精切后边检', name: '精切后边检' },
{ id: '终检边检', name: '终检边检' },
{ id: '面检', name: '面检' },
{ id: '复检', name: '复检' }
{ id: '1', name: '精切后边检' },
{ id: '2', name: '终检边检' },
{ id: '3', name: '面检' },
{ id: '4', name: '复检' }
],
param: 'grindType',
param: 'fullInspectionType',
defaultSelect: '',
width: 150
},
{
type: 'datePicker',
label: '检验时间',
dateType: 'datetimerange',
dateType: 'datetime',
format: 'yyyy-MM-dd HH:mm:ss',
valueFormat: 'yyyy-MM-ddTHH:mm:ss',
rangeSeparator: '-',
startPlaceholder: '开始时间',
endPlaceholder: '结束时间',
param: 'timeVal',
defaultSelect: [],
width: 350
valueFormat: 'yyyy-MM-dd HH:mm:ss',
placeholder: '抽检时间',
param: 'testTime',
width: 200
},
{
type: 'button',
@ -144,72 +133,36 @@ export default {
window.addEventListener('resize', () => {
this.tableH = tableHeight(330)
})
this.formConfig[2].defaultSelect = [
moment().format('yyyy-MM-DD') + 'T00:00:00',
moment().format('yyyy-MM-DD') + 'T23:59:59'
]
this.listQuery.startTime = moment().format('yyyy-MM-DD') + 'T00:00:00'
this.listQuery.endTime = moment().format('yyyy-MM-DD') + 'T23:59:59'
this.getList()
for (let i = 0; i < 30; i++) {
let obj = {}
obj.glassId = i
obj.fullInspectionType = '全检类型' + i
obj.long = i
obj.width = i
obj.thick = i
obj.productQuality = '产品质量' + i
obj.productionLine = '产线' + i
obj.testOfTime = '2022-08-08 13:59:13'
this.tableData.push(obj)
}
},
methods: {
getList() {
console.log('getList')
processCompleteInspetion({ ...this.listQuery }).then((res) => {
console.log(res)
if (res.code === 0 && res.data) {
this.tableData = res.data.records
this.total = res.data.total
}
})
},
buttonClick(val) {
switch (val.btnName) {
case 'search':
this.listQuery.startTime = val.timeVal ? val.timeVal[0] : ''
this.listQuery.endTime = val.timeVal ? val.timeVal[1] : ''
this.listQuery.grindType = val.grindType
this.listQuery.glassId = val.glassId
this.listQuery.current = 1
this.getList()
break
default:
completeInspetionExport({ ...this.listQuery }).then((response) => {
console.log(response)
let fileName = ''
const contentDisposition = response.headers['content-disposition']
if (contentDisposition) {
fileName = decodeURIComponent(
contentDisposition.slice(
contentDisposition.indexOf('filename=') + 9
)
)
}
const blob = new Blob([response.data])
const reader = new FileReader()
reader.readAsDataURL(blob)
reader.onload = (e) => {
const a = document.createElement('a')
a.download = fileName
a.href = e.target.result
document.body.appendChild(a)
a.click()
document.body.removeChild(a)
}
})
alert('导出')
}
},
handleClick(val) {
console.log(val)
if (val.type === 'detail') {
this.$router.push({
path: '/qualityManagement/processFullInspection/fullInspectionDetail',
query: {
virtualcode: val.data.virtualcode,
filetype: encodeURIComponent(val.data.filetype),
time: val.data.time
}
})
alert('详情')
}
}
}

View File

@ -1,201 +0,0 @@
<template>
<div class="full-inspection-detail">
<search-bar
:formConfigs="formConfig"
ref="searchBarForm"
@headBtnClick="buttonClick"
/>
<div class="plot-total">
<defect-scatter-plot-total
ref="fullInspectionDetailPlot"
:detailObj="detailObj"
class="plot-total-box"
/>
</div>
<base-table
:page="listQuery.current"
:limit="listQuery.size"
:table-props="tableProps"
:table-data="tableData"
:max-height="tableH"
>
<method-btn
v-if="tableBtn.length"
slot="handleBtn"
:width="80"
label="操作"
fixed="right"
:method-list="tableBtn"
@clickBtn="handleClick"
/>
</base-table>
<pagination :limit="listQuery.size" :total="total" />
</div>
</template>
<script>
import { tableHeight } from '@/utils/index'
import {
processCompleteInspetionListType,
processCompleteInspetionDetails,
pageIIS
} from '@/api/qualityManagement'
import defectScatterPlotTotal from './../components/defectScatterPlotTotal.vue'
const tableProps = [
{
prop: 'virtualcode',
label: '缺陷编号'
},
{
prop: 'filetype',
label: 'Y轴位置(mm)'
},
{
prop: 'glassLength',
label: 'X轴位置(mm)'
},
{
prop: 'glassWidth',
label: '缺陷尺寸等级'
},
{
prop: 'glassHeight',
label: '缺陷类型'
},
{
prop: 'grade',
label: '长度(mm)'
},
{
prop: 'line',
label: '宽度(mm)'
}
]
const tableBtn = [
{
type: 'detail',
btnName: '查看图片'
}
]
export default {
name: 'FullInspectionDetail',
components: { defectScatterPlotTotal },
data() {
return {
formConfig: [
{
type: 'select',
label: '缺陷类型',
selectOptions: [],
param: 'defectType',
labelField: 'defectType',
valueField: 'defectType',
defaultSelect: '',
filterable: true,
width: 200
},
{
type: 'button',
btnName: '查询',
name: 'search',
color: 'primary'
},
{
type: 'separate'
},
{
type: 'button',
btnName: '返回',
name: 'export',
color: 'primary',
plain: true
}
],
detailObj: {},
tableProps,
tableData: [],
tableH: tableHeight(330),
tableBtn,
total: 0,
listQuery: {
current: 1,
size: 20,
glassId: ''
}
}
},
mounted() {
const { virtualcode, filetype, time } = this.$route.query
this.listQuery.glassId = virtualcode
this.getDetail(virtualcode, filetype, time)
window.addEventListener('resize', () => {
this.tableH = tableHeight(330)
})
this.getListType()
},
methods: {
getDetail(virtualcode, filetype, time) {
processCompleteInspetionDetails({
virtualcode,
time,
defectType: decodeURIComponent(filetype)
}).then((res) => {
console.log(res)
this.detailObj = res.data
this.$nextTick(() => {
this.$refs.fullInspectionDetailPlot.init()
})
})
},
getListType() {
processCompleteInspetionListType({
size: 500,
current: 1
}).then((res) => {
console.log(res)
this.formConfig[0].selectOptions = res.data
})
},
getList() {
pageIIS({ ...this.listQuery }).then((res) => {
console.log(res)
})
},
buttonClick(val) {
switch (val.btnName) {
case 'search':
this.listQuery.defectType = val.defectType
this.listQuery.current = 1
this.getList()
break
default:
this.$router.push({
path: '/qualityManagement/processFullInspection/fullInspection'
})
}
},
handleClick(val) {
console.log(val)
alert('图片详情')
}
}
}
</script>
<style lang="scss" scoped>
.full-inspection-detail {
margin: 0 16px;
padding: 16px;
border-radius: 8px;
height: calc(100vh - 205px);
background-color: #fff;
.plot-total {
position: relative;
height: 115px;
.plot-total-box {
position: absolute;
width: 100%;
top: 25px;
left: 0px;
}
}
}
</style>

View File

@ -14,7 +14,7 @@
import * as echarts from 'echarts'
import { tableHeight } from '@/utils/index'
import resize from '@/utils/chartMixins/resize'
import { getProcessFull } from '@/api/qualityManagement'
// import { getProcessFull } from '@/api/qualityManagement'
import moment from 'moment'
export default {
name: 'particleLineChart',
@ -25,15 +25,13 @@ export default {
{
type: 'datePicker',
label: '检验时间',
dateType: 'datetimerange',
dateType: 'datetime',
format: 'yyyy-MM-dd HH:mm:ss',
valueFormat: 'yyyy-MM-ddTHH:mm:ss',
rangeSeparator: '-',
startPlaceholder: '开始时间',
endPlaceholder: '结束时间',
param: 'timeVal',
defaultSelect: [],
width: 350
valueFormat: 'yyyy-MM-dd HH:mm:ss',
placeholder: '抽检时间',
param: 'checkOutTime',
defaultSelect: '',
width: 200
},
{
type: 'input',
@ -51,10 +49,6 @@ export default {
chartDom: '',
chart: '',
chartHeight: tableHeight(320),
listQuery: {
startTime: '',
endTime: ''
},
checkOutTime: '',
maxLine: ''
}
@ -65,21 +59,14 @@ export default {
window.addEventListener('resize', () => {
this.chartHeight = tableHeight(320)
})
this.formConfig[0].defaultSelect = [
moment().format('yyyy-MM-DD') + 'T00:00:00',
moment().format('yyyy-MM-DD') + 'T23:59:59'
]
this.listQuery.startTime = moment().format('yyyy-MM-DD') + 'T00:00:00'
this.listQuery.endTime = moment().format('yyyy-MM-DD') + 'T23:59:59'
this.getList()
this.formConfig[0].defaultSelect = moment().format('YYYY-MM-DD HH:mm:ss')
this.getMsg()
},
methods: {
buttonClick(val) {
console.log(val)
if (val.btnName === 'search') {
this.listQuery.startTime = val.timeVal ? val.timeVal[0] : ''
this.listQuery.endTime = val.timeVal ? val.timeVal[1] : ''
this.checkOutTime = val.checkOutTime
this.maxLine = val.maxLine
this.getMsg()
}
@ -92,33 +79,14 @@ export default {
let xlList = []
let sumList = []
let msg = {}
// for (let i = 0; i < 1000; i++) {
// time.push(moment().add(i, 'days').format('YYYY-MM-DD HH:mm:ss'))
// sList.push(Math.floor(Math.random() * 80 + 10))
// mList.push(Math.floor(Math.random() * 100 + 20))
// lList.push(Math.floor(Math.random() * 130 + 30))
// xlList.push(Math.floor(Math.random() * 150 + 40))
// sumList.push(sList[i] + mList[i] + lList[i] + xlList[i])
// }
// msg.time = time
// msg.sList = sList
// msg.mList = mList
// msg.lList = lList
// msg.xlList = xlList
// msg.sumList = sumList
// this.getChart(msg)
getProcessFull({ ...this.listQuery }).then((res) => {
console.log(res)
if (res.code === 0 && res.data.length > 0) {
res.data.map((item) => {
console.log(item)
time.push(moment(item.hour).format('YY-MM-DD HH:mm:ss'))
sList.push(item.s)
mList.push(item.m)
lList.push(item.l)
xlList.push(item.xl)
sumList.push(item.sum)
})
for (let i = 0; i < 1000; i++) {
time.push(moment().add(i, 'days').format('YYYY-MM-DD HH:mm:ss'))
sList.push(Math.floor(Math.random() * 80 + 10))
mList.push(Math.floor(Math.random() * 100 + 20))
lList.push(Math.floor(Math.random() * 130 + 30))
xlList.push(Math.floor(Math.random() * 150 + 40))
sumList.push(sList[i] + mList[i] + lList[i] + xlList[i])
}
msg.time = time
msg.sList = sList
msg.mList = mList
@ -126,8 +94,27 @@ export default {
msg.xlList = xlList
msg.sumList = sumList
this.getChart(msg)
}
})
// getProcessFull({ checkOutTime: this.checkOutTime }).then((res) => {
// console.log(res)
// if (res.code === 0 && res.data.length > 0) {
// res.data.map((item) => {
// console.log(item)
// time.push(moment(item.hour).format('MM-DD HH:mm:ss'))
// sList.push(item.s)
// mList.push(item.m)
// lList.push(item.l)
// xlList.push(item.xl)
// sumList.push(item.sum)
// })
// msg.time = time
// msg.sList = sList
// msg.mList = mList
// msg.lList = lList
// msg.xlList = xlList
// msg.sumList = sumList
// this.getChart(msg)
// }
// })
},
getChart1(msg) {
var option = {

View File

@ -4,13 +4,12 @@
<div class="left-box">
<search-bar :formConfigs="formConfig" @headBtnClick="buttonClick" />
<base-table
ref="thicknessDistributionTable"
id="thicknessDistributionTable1"
:page="listQuery.current"
:limit="listQuery.size"
:selectWidth="50"
:table-props="tableProps"
:table-data="tableData"
:max-height="tableH"
highlight-current-row
@current-change="handleCurrentChange"
/>
</div>
</el-col>
@ -24,22 +23,17 @@
<script>
import { tableHeight } from '@/utils/index'
import thicknessDistributionChart from './../components/thicknessDistributionChart.vue'
import { queryThickness, drawThickness } from '@/api/qualityManagement'
import { timeFormatter } from '@/utils'
import moment from 'moment'
const tableProps = [
{
prop: 'glassId',
prop: 'glassID',
label: 'ID'
},
{
prop: 'testTime',
label: '检测时间',
filter: timeFormatter,
minWidth: 160
prop: 'time',
label: '检测时间'
},
{
prop: 'grindType',
prop: 'type',
label: '研磨类型'
}
]
@ -52,21 +46,25 @@ export default {
{
type: 'datePicker',
label: '检验时间',
dateType: 'datetimerange',
dateType: 'datetime',
format: 'yyyy-MM-dd HH:mm:ss',
valueFormat: 'yyyy-MM-ddTHH:mm:ss',
rangeSeparator: '-',
startPlaceholder: '开始时间',
endPlaceholder: '结束时间',
param: 'timeVal',
defaultSelect: [],
width: 350
valueFormat: 'yyyy-MM-dd HH:mm:ss',
placeholder: '检验时间',
param: 'testTime',
width: 200
},
{
type: 'input',
type: 'select',
label: '玻璃ID',
placeholder: '玻璃ID',
param: 'glassId'
selectOptions: [
{ id: '1', name: '521321545' },
{ id: '2', name: '932234561' },
{ id: '3', name: '542121212' },
{ id: '4', name: '354855321' }
],
param: 'fullInspectionType',
defaultSelect: '',
width: 150
},
{
type: 'button',
@ -82,65 +80,38 @@ export default {
}
],
listQuery: {
startTime: '',
endTime: '',
glassId: ''
current: 1,
size: 20
},
tableProps,
tableData: [],
tableH: tableHeight(350),
drawGlassId: ''
tableH: tableHeight(300)
}
},
mounted() {
window.addEventListener('resize', () => {
this.tableH = tableHeight(350)
this.tableH = tableHeight(300)
})
this.formConfig[0].defaultSelect = [
moment().format('yyyy-MM-DD') + 'T00:00:00',
moment().format('yyyy-MM-DD') + 'T23:59:59'
]
this.listQuery.startTime = moment().format('yyyy-MM-DD') + 'T00:00:00'
this.listQuery.endTime = moment().format('yyyy-MM-DD') + 'T23:59:59'
this.getList()
},
methods: {
getList() {
queryThickness({ ...this.listQuery }).then((res) => {
console.log(res)
if (res.code === 0 && res.data.length > 0) {
let _this = this
_this.tableData = res.data
_this.$nextTick(() => {
_this.$refs.thicknessDistributionTable.setCurrent(
'thicknessDistributionTable1',
0
)
})
_this.drawGlassId = _this.tableData[0].id
} else {
this.tableData = []
this.drawGlassId = ''
let arr = []
for (let i = 0; i < 30; i++) {
let obj = {}
obj.glassID = i
arr.push(obj)
}
})
this.tableData = arr
},
buttonClick(val) {
switch (val.btnName) {
case 'search':
this.listQuery.startTime = val.timeVal ? val.timeVal[0] : ''
this.listQuery.endTime = val.timeVal ? val.timeVal[1] : ''
this.listQuery.glassId = val.glassId
this.listQuery.current = 1
this.getList()
break
default:
drawThickness(this.drawGlassId).then((res) => {
console.log(res)
})
alert('导出')
}
},
handleCurrentChange(val) {
this.drawGlassId = val.newVal.id
}
}
}