Merge pull request '5.22' (#19) from zjl into master
Todas as verificações foram bem sucedidas
continuous-integration/drone/push Build is passing
Todas as verificações foram bem sucedidas
continuous-integration/drone/push Build is passing
Reviewed-on: #19
Esse commit está contido em:
1
dist/css/1913.db4e9e42.css
externo
Arquivo normal
1
dist/css/1913.db4e9e42.css
externo
Arquivo normal
@@ -0,0 +1 @@
|
||||
.tableInner .el-input__inner{border:none;padding:0;height:33px}.samplingAdd .form-box[data-v-b1bb2734]{height:100%;padding:0 32px;position:relative}.samplingAdd .form-box .first-line[data-v-b1bb2734]{border-bottom:1px solid #e9e9e9;margin-bottom:23px}.samplingAdd .bottom[data-v-b1bb2734]{position:absolute;bottom:0;right:32px}.standardSetting .form-box[data-v-fbc9d82a]{height:100%;padding:0 32px;position:relative}.standardSetting .bottom[data-v-fbc9d82a]{position:absolute;bottom:0;right:32px}
|
||||
1
dist/css/2125.93591f9e.css
externo
Arquivo normal
1
dist/css/2125.93591f9e.css
externo
Arquivo normal
@@ -0,0 +1 @@
|
||||
.processMonitoring .bottom-box[data-v-756f88ed],.processMonitoring .top-box[data-v-756f88ed]{margin:8px 16px;background-color:#fff;border-radius:8px}.processMonitoring .bottom-box[data-v-756f88ed]{padding:16px;height:calc(100vh - 218px)}.processMonitoring .bottom-box .title-box[data-v-756f88ed]{margin-bottom:16px}.processMonitoring .bottom-box .title[data-v-756f88ed]:before{content:"";display:inline-block;width:4px;height:16px;background-color:#0b58ff;vertical-align:middle;margin-right:8px}.processMonitoring .top-box[data-v-756f88ed]{padding:10px 16px 1px}.processMonitoring .top-box .top-search1[data-v-756f88ed],.processMonitoring .top-box .top-search2[data-v-756f88ed]{display:inline-block}.processMonitoring .top-box .top-search1[data-v-756f88ed]{height:50px;padding-top:5px;vertical-align:bottom;margin-right:24px}
|
||||
1
dist/css/2581.fa424ad2.css
externo
1
dist/css/2581.fa424ad2.css
externo
@@ -1 +0,0 @@
|
||||
.tableInner .el-input__inner{border:none;padding:0;height:33px}.samplingAdd .form-box[data-v-2adb9530]{height:100%;padding:0 32px;position:relative}.samplingAdd .form-box .first-line[data-v-2adb9530]{border-bottom:1px solid #e9e9e9;margin-bottom:23px}.samplingAdd .bottom[data-v-2adb9530]{position:absolute;bottom:0;right:32px}.standardSetting .form-box[data-v-fbc9d82a]{height:100%;padding:0 32px;position:relative}.standardSetting .bottom[data-v-fbc9d82a]{position:absolute;bottom:0;right:32px}
|
||||
1
dist/css/293.b914c318.css
externo
Arquivo normal
1
dist/css/293.b914c318.css
externo
Arquivo normal
@@ -0,0 +1 @@
|
||||
.box[data-v-537468a0]{padding:0 32px}
|
||||
1
dist/css/4750.572b21b0.css
externo
1
dist/css/4750.572b21b0.css
externo
@@ -1 +0,0 @@
|
||||
.processMonitoring .bottom-box[data-v-bcfbbbf2],.processMonitoring .top-box[data-v-bcfbbbf2]{margin:8px 16px;background-color:#fff;border-radius:8px}.processMonitoring .bottom-box[data-v-bcfbbbf2]{padding:16px;height:calc(100vh - 218px)}.processMonitoring .bottom-box .title-box[data-v-bcfbbbf2]{margin-bottom:16px}.processMonitoring .bottom-box .title[data-v-bcfbbbf2]:before{content:"";display:inline-block;width:4px;height:16px;background-color:#0b58ff;vertical-align:middle;margin-right:8px}.processMonitoring .top-box[data-v-bcfbbbf2]{padding:10px 16px 1px}.processMonitoring .top-box .top-search1[data-v-bcfbbbf2],.processMonitoring .top-box .top-search2[data-v-bcfbbbf2]{display:inline-block}.processMonitoring .top-box .top-search1[data-v-bcfbbbf2]{height:50px;padding-top:5px;vertical-align:bottom;margin-right:24px}
|
||||
1
dist/css/5060.d800e106.css
externo
1
dist/css/5060.d800e106.css
externo
@@ -1 +0,0 @@
|
||||
.box[data-v-353959df]{padding:0 32px}
|
||||
@@ -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-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-50980432]{height:calc(100vh - 206px);overflow:auto}.defectScatterPlot .split-pane[data-v-50980432]{height:100%;border-radius:8px}.defectScatterPlot .left-box[data-v-50980432]{margin-left:16px;padding:16px 16px 0;background-color:#fff}.defectScatterPlot .right-box[data-v-50980432]{margin-right:16px}.defectScatterPlot .right-box .inner-box[data-v-50980432]{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-50980432]{margin-bottom:18px}.defectScatterPlot .right-box .inner-box .line2[data-v-50980432]{margin-bottom:12px}.defectScatterPlot .right-box .inner-box .line2 .el-checkbox[data-v-50980432]{margin-right:8px}.defectScatterPlot .title[data-v-50980432]{font-size:14px;color:rgba(0,0,0,.85)}.defectScatterPlot .title[data-v-50980432]: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-52899232]{position:relative}.box .text1[data-v-52899232],.box .text2[data-v-52899232],.box .text3[data-v-52899232],.box .text4[data-v-52899232]{position:absolute}.box .text1[data-v-52899232]{top:30px;left:0}.box .text2[data-v-52899232]{top:30px;right:0}.box .text3[data-v-52899232]{bottom:10px;left:0}.box .text4[data-v-52899232]{bottom:10px;right:0}.defectScatterPlot[data-v-47efdd70]{height:calc(100vh - 206px);overflow:auto}.defectScatterPlot .split-pane[data-v-47efdd70]{height:100%;border-radius:8px}.defectScatterPlot .left-box[data-v-47efdd70]{margin-left:16px;padding:16px 16px 0;background-color:#fff}.defectScatterPlot .right-box[data-v-47efdd70]{margin-right:16px}.defectScatterPlot .right-box .inner-box[data-v-47efdd70]{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-47efdd70]{margin-bottom:18px}.defectScatterPlot .right-box .inner-box .line2[data-v-47efdd70]{margin-bottom:12px}.defectScatterPlot .right-box .inner-box .line2 .el-checkbox[data-v-47efdd70]{margin-right:8px}.defectScatterPlot .title[data-v-47efdd70]{font-size:14px;color:rgba(0,0,0,.85)}.defectScatterPlot .title[data-v-47efdd70]:before{content:"";display:inline-block;width:4px;height:16px;background:#0b58ff;border-radius:1px;vertical-align:middle;margin-right:8px}
|
||||
2
dist/index.html
externo
2
dist/index.html
externo
@@ -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.50e71cdc.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.ae91d20e.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>
|
||||
Diff do arquivo suprimido porque uma ou mais linhas são muito longas
1
dist/js/2125.35167988.js
externo
Arquivo normal
1
dist/js/2125.35167988.js
externo
Arquivo normal
Diff do arquivo suprimido porque uma ou mais linhas são muito longas
1
dist/js/293.26410775.js
externo
Arquivo normal
1
dist/js/293.26410775.js
externo
Arquivo normal
Diff do arquivo suprimido porque uma ou mais linhas são muito longas
1
dist/js/3813.3001de3b.js
externo
Arquivo normal
1
dist/js/3813.3001de3b.js
externo
Arquivo normal
Diff do arquivo suprimido porque uma ou mais linhas são muito longas
1
dist/js/3813.9ee396fc.js
externo
1
dist/js/3813.9ee396fc.js
externo
Diff do arquivo suprimido porque uma ou mais linhas são muito longas
Diff do arquivo suprimido porque uma ou mais linhas são muito longas
1
dist/js/4112.bf1953c5.js
externo
1
dist/js/4112.bf1953c5.js
externo
Diff do arquivo suprimido porque uma ou mais linhas são muito longas
1
dist/js/4750.10fe98ea.js
externo
1
dist/js/4750.10fe98ea.js
externo
Diff do arquivo suprimido porque uma ou mais linhas são muito longas
1
dist/js/5060.f685ef99.js
externo
1
dist/js/5060.f685ef99.js
externo
Diff do arquivo suprimido porque uma ou mais linhas são muito longas
1
dist/js/5094.c1fd04cd.js
externo
Arquivo normal
1
dist/js/5094.c1fd04cd.js
externo
Arquivo normal
Diff do arquivo suprimido porque uma ou mais linhas são muito longas
1
dist/js/5096.2f89e25f.js
externo
1
dist/js/5096.2f89e25f.js
externo
Diff do arquivo suprimido porque uma ou mais linhas são muito longas
1
dist/js/5096.fd052dc8.js
externo
Arquivo normal
1
dist/js/5096.fd052dc8.js
externo
Arquivo normal
Diff do arquivo suprimido porque uma ou mais linhas são muito longas
1
dist/js/5633.cd27f4f8.js
externo
1
dist/js/5633.cd27f4f8.js
externo
Diff do arquivo suprimido porque uma ou mais linhas são muito longas
Diff do arquivo suprimido porque uma ou mais linhas são muito longas
1
dist/js/6729.a676c4bc.js
externo
Arquivo normal
1
dist/js/6729.a676c4bc.js
externo
Arquivo normal
Diff do arquivo suprimido porque uma ou mais linhas são muito longas
Diff do arquivo suprimido porque uma ou mais linhas são muito longas
Diff do arquivo suprimido porque uma ou mais linhas são muito longas
Diff do arquivo suprimido porque uma ou mais linhas são muito longas
1
dist/js/app.50e71cdc.js
externo
1
dist/js/app.50e71cdc.js
externo
Diff do arquivo suprimido porque uma ou mais linhas são muito longas
1
dist/js/app.ae91d20e.js
externo
Arquivo normal
1
dist/js/app.ae91d20e.js
externo
Arquivo normal
Diff do arquivo suprimido porque uma ou mais linhas são muito longas
@@ -19,7 +19,7 @@ export function getPageReal(data) {
|
||||
|
||||
export function getPageHistory(data) {
|
||||
return request({
|
||||
url: '/process/processMonitor/history',
|
||||
url: '/process/processMonitor/historyList',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
|
||||
@@ -110,6 +110,24 @@ export function queryPointClear(data) {
|
||||
data
|
||||
})
|
||||
}
|
||||
export function pointExport2(data) {
|
||||
return request({
|
||||
url: '/quality/ProcessFull/pointExport2',
|
||||
method: 'post',
|
||||
responseType: 'blob',
|
||||
data,
|
||||
timeout: 60000
|
||||
})
|
||||
}
|
||||
export function pointExport(data) {
|
||||
return request({
|
||||
url: '/quality/ProcessFull/pointExport',
|
||||
method: 'post',
|
||||
responseType: 'blob',
|
||||
data,
|
||||
timeout: 60000
|
||||
})
|
||||
}
|
||||
|
||||
// 颗粒折线图
|
||||
export function getProcessFull(data) {
|
||||
|
||||
@@ -162,18 +162,17 @@ export default {
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
init() {
|
||||
this.getNameList()
|
||||
},
|
||||
getNameList() {
|
||||
getNameList().then((res) => {
|
||||
init() {},
|
||||
selectName(val) {
|
||||
getNameList({
|
||||
type: val
|
||||
}).then((res) => {
|
||||
this.sparePartsList = res.data
|
||||
this.sparePartsSpecList = []
|
||||
this.form.sparePartName = ''
|
||||
this.form.model = ''
|
||||
})
|
||||
},
|
||||
selectName(val) {
|
||||
console.log(val)
|
||||
},
|
||||
selectModel(val) {
|
||||
getModelList({
|
||||
name: val
|
||||
|
||||
@@ -112,7 +112,7 @@
|
||||
</el-form>
|
||||
</template>
|
||||
<script>
|
||||
import { getModelList, getNameList } from '@/api/basicConfig'
|
||||
import { getModelList } from '@/api/basicConfig'
|
||||
import { sparePartStockUpdate, getSparePartStock } from '@/api/deviceManagement'
|
||||
export default {
|
||||
name: 'SparePartsEdit',
|
||||
@@ -170,12 +170,6 @@ export default {
|
||||
})
|
||||
}
|
||||
},
|
||||
getNameList() {
|
||||
getNameList().then((res) => {
|
||||
this.sparePartsList = res.data
|
||||
this.sparePartsSpecList = []
|
||||
})
|
||||
},
|
||||
selectModel(val) {
|
||||
getModelList({
|
||||
name: val
|
||||
|
||||
@@ -128,7 +128,7 @@
|
||||
</el-form>
|
||||
</template>
|
||||
<script>
|
||||
import { getModelList, getNameList } from '@/api/basicConfig'
|
||||
import { getModelList } from '@/api/basicConfig'
|
||||
import {
|
||||
sparePartStockOutStock,
|
||||
getBatchList,
|
||||
@@ -207,12 +207,6 @@ export default {
|
||||
this.batchCodeList = res.data
|
||||
})
|
||||
},
|
||||
getNameList() {
|
||||
getNameList().then((res) => {
|
||||
this.sparePartsList = res.data
|
||||
this.sparePartsSpecList = []
|
||||
})
|
||||
},
|
||||
selectModel(val) {
|
||||
getModelList({
|
||||
name: val
|
||||
|
||||
@@ -7,16 +7,15 @@
|
||||
<script>
|
||||
import * as echarts from 'echarts'
|
||||
import resize from '@/utils/chartMixins/resize'
|
||||
import moment from 'moment'
|
||||
export default {
|
||||
mixins: [resize],
|
||||
name: 'ProcessMonitoringChart',
|
||||
props: {
|
||||
chartMsg: {
|
||||
type: Object,
|
||||
type: Array,
|
||||
default: () => {
|
||||
return {
|
||||
chart: ''
|
||||
}
|
||||
return []
|
||||
}
|
||||
},
|
||||
beilv: {
|
||||
@@ -24,11 +23,11 @@ export default {
|
||||
default: 1
|
||||
}
|
||||
},
|
||||
// mounted() {
|
||||
// this.$nextTick(() => {
|
||||
// this.initChart()
|
||||
// })
|
||||
// },
|
||||
mounted() {
|
||||
this.$nextTick(() => {
|
||||
this.initChart()
|
||||
})
|
||||
},
|
||||
watch: {
|
||||
chartMsg: function () {
|
||||
this.initChart()
|
||||
@@ -43,6 +42,15 @@ export default {
|
||||
},
|
||||
methods: {
|
||||
initChart() {
|
||||
const xData = []
|
||||
const yData = []
|
||||
for (let i = 0; i < this.chartMsg.length; i++) {
|
||||
let time = moment(this.chartMsg[i].createTime).format(
|
||||
'yyyy-MM-DD HH:mm:ss'
|
||||
)
|
||||
xData.push(time)
|
||||
yData.push(this.chartMsg[i].value)
|
||||
}
|
||||
if (
|
||||
this.chart !== null &&
|
||||
this.chart !== '' &&
|
||||
@@ -64,14 +72,14 @@ export default {
|
||||
},
|
||||
xAxis: {
|
||||
type: 'category',
|
||||
data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
|
||||
data: xData
|
||||
},
|
||||
yAxis: {
|
||||
type: 'value'
|
||||
},
|
||||
series: [
|
||||
{
|
||||
data: [150, 230, 224, 218, 135, 147, 260],
|
||||
data: yData,
|
||||
type: 'line'
|
||||
}
|
||||
]
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
/>
|
||||
</div>
|
||||
<div v-else>
|
||||
<process-monitoring-chart :beilv="beilv" />
|
||||
<process-monitoring-chart :beilv="beilv" :chartMsg="historyList" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -185,7 +185,7 @@ export default {
|
||||
paramName: this.listQuery.paramName
|
||||
}).then((res) => {
|
||||
if (res.code === 0) {
|
||||
this.historyList = res
|
||||
this.historyList = res.data
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
@@ -18,22 +18,60 @@ import resize from '@/utils/chartMixins/resize'
|
||||
export default {
|
||||
name: 'DefectScatterPlotChart',
|
||||
mixins: [resize],
|
||||
props: {
|
||||
defectMsg: {
|
||||
type: Object,
|
||||
default: () => {
|
||||
return {}
|
||||
}
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
chartDom: '',
|
||||
chart: '',
|
||||
chartHeight: tableHeight(446)
|
||||
chartHeight: tableHeight(446),
|
||||
list: [
|
||||
{ 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: 'ADG', value: 'adg' },
|
||||
{ label: '点状缺陷', value: 'tin' },
|
||||
{ label: '锡缺陷(顶部)', value: 'top' },
|
||||
{ label: '锡缺陷(底部)', value: 'bottom' },
|
||||
{ label: '无法识别', value: 'iisrest' }
|
||||
]
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
window.addEventListener('resize', () => {
|
||||
this.chartHeight = tableHeight(446)
|
||||
})
|
||||
setTimeout(() => {
|
||||
},
|
||||
watch: {
|
||||
defectMsg: function () {
|
||||
this.getChart()
|
||||
}, 20)
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
transLabel(v) {
|
||||
let label = ''
|
||||
for (let l = 0; l < this.list.length; l++) {
|
||||
if (v === this.list[l].value) {
|
||||
label = this.list[l].label
|
||||
}
|
||||
}
|
||||
return label
|
||||
},
|
||||
getChart() {
|
||||
if (
|
||||
this.chart !== null &&
|
||||
@@ -44,105 +82,28 @@ 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]
|
||||
]
|
||||
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]
|
||||
]
|
||||
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]
|
||||
]
|
||||
console.log(this.defectMsg)
|
||||
let legendList = []
|
||||
let seriesList = []
|
||||
for (let i in this.defectMsg) {
|
||||
console.log(i)
|
||||
console.log(this.transLabel(i))
|
||||
legendList.push(this.transLabel(i))
|
||||
let arr1 = []
|
||||
let obj = {}
|
||||
for (let j of this.defectMsg[i]) {
|
||||
let arr2 = []
|
||||
arr2.push(parseInt(j.xpos))
|
||||
arr2.push(parseInt(j.ypos))
|
||||
arr1.push(arr2)
|
||||
}
|
||||
obj.name = this.transLabel(i)
|
||||
obj.type = 'scatter'
|
||||
obj.data = arr1
|
||||
obj.symbolSize = 5
|
||||
seriesList.push(obj)
|
||||
}
|
||||
console.log(seriesList)
|
||||
var option = {
|
||||
color: [
|
||||
'#5d7ab7',
|
||||
@@ -166,7 +127,7 @@ export default {
|
||||
legend: {
|
||||
top: 10,
|
||||
left: 0,
|
||||
data: ['S', 'M', 'L'],
|
||||
data: legendList,
|
||||
textStyle: {
|
||||
fontSize: 9
|
||||
},
|
||||
@@ -185,7 +146,6 @@ export default {
|
||||
nameTextStyle: {
|
||||
fontSize: 16
|
||||
},
|
||||
max: 31,
|
||||
splitLine: {
|
||||
show: true,
|
||||
lineStyle: {
|
||||
@@ -207,26 +167,27 @@ export default {
|
||||
}
|
||||
}
|
||||
},
|
||||
series: [
|
||||
{
|
||||
name: 'S',
|
||||
type: 'scatter',
|
||||
data: dataS,
|
||||
symbolSize: 5
|
||||
},
|
||||
{
|
||||
name: 'M',
|
||||
type: 'scatter',
|
||||
data: dataM,
|
||||
symbolSize: 5
|
||||
},
|
||||
{
|
||||
name: 'L',
|
||||
type: 'scatter',
|
||||
data: dataL,
|
||||
symbolSize: 5
|
||||
}
|
||||
]
|
||||
series: seriesList
|
||||
// series: [
|
||||
// {
|
||||
// name: 'S',
|
||||
// type: 'scatter',
|
||||
// data: dataS,
|
||||
// symbolSize: 5
|
||||
// },
|
||||
// {
|
||||
// name: 'M',
|
||||
// type: 'scatter',
|
||||
// data: dataM,
|
||||
// symbolSize: 5
|
||||
// },
|
||||
// {
|
||||
// name: 'L',
|
||||
// type: 'scatter',
|
||||
// data: dataL,
|
||||
// symbolSize: 5
|
||||
// }
|
||||
// ]
|
||||
}
|
||||
option && this.chart.setOption(option)
|
||||
}
|
||||
|
||||
@@ -107,6 +107,10 @@ const tablePropsP = [
|
||||
{
|
||||
prop: 'currentValue',
|
||||
label: '当前值'
|
||||
},
|
||||
{
|
||||
prop: 'time',
|
||||
label: '参数记录时间'
|
||||
}
|
||||
]
|
||||
const tablePropsD = [
|
||||
|
||||
@@ -29,7 +29,6 @@
|
||||
v-model="form.detectTime"
|
||||
type="datetime"
|
||||
placeholder="选择抽检时间"
|
||||
value-format="yyyy-MM-DDTHH:mm:ss"
|
||||
style="width: 100%"
|
||||
>
|
||||
</el-date-picker>
|
||||
@@ -168,8 +167,7 @@ export default {
|
||||
this.tableH = tableHeight(250)
|
||||
})
|
||||
this.form.model = 'G8.5'
|
||||
// this.form.detectTime = moment().format('yyyy-MM-DD HH:mm:ss')
|
||||
this.form.detectTime = moment().format('yyyy-MM-DD HH:mm:ss')
|
||||
this.form.detectTime = new Date()
|
||||
},
|
||||
selectItem() {
|
||||
this.getStandard()
|
||||
|
||||
@@ -37,7 +37,9 @@
|
||||
@click="drawPic"
|
||||
>绘图</el-button
|
||||
>
|
||||
<el-button type="primary" size="small" plain>导出</el-button>
|
||||
<el-button type="primary" size="small" plain @click="exportExl"
|
||||
>导出</el-button
|
||||
>
|
||||
</div>
|
||||
<div class="line2">
|
||||
<el-checkbox-group v-model="checkList">
|
||||
@@ -52,7 +54,10 @@
|
||||
<div>
|
||||
<span class="title">缺陷散点图(1245241242)</span>
|
||||
</div>
|
||||
<defect-scatter-plot-chart ref="poltChart" />
|
||||
<defect-scatter-plot-chart
|
||||
ref="poltChart"
|
||||
:defectMsg="defectList"
|
||||
/>
|
||||
<div class="bottom">
|
||||
<div style="margin-bottom: 10px">
|
||||
<span class="title">合计</span>
|
||||
@@ -69,7 +74,13 @@
|
||||
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 {
|
||||
queryPoint,
|
||||
drawPoint,
|
||||
queryPointClear,
|
||||
pointExport,
|
||||
pointExport2
|
||||
} from '@/api/qualityManagement'
|
||||
import moment from 'moment'
|
||||
import { timeFormatter } from '@/utils'
|
||||
const tableProps = [
|
||||
@@ -168,7 +179,8 @@ export default {
|
||||
{ label: '无法识别', value: 'iisrest' }
|
||||
],
|
||||
selectedGlassId: [],
|
||||
detailMsg: {}
|
||||
detailMsg: {},
|
||||
defectList: {}
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
@@ -201,13 +213,29 @@ export default {
|
||||
})
|
||||
return false
|
||||
}
|
||||
if (this.checkList.length === 0) {
|
||||
this.$message({
|
||||
message: '请先勾选缺陷',
|
||||
type: 'error',
|
||||
duration: 1500,
|
||||
onClose: () => {}
|
||||
})
|
||||
return false
|
||||
}
|
||||
this.getDetail()
|
||||
drawPoint({
|
||||
startTime: this.listQuery.startTime,
|
||||
endTime: this.listQuery.endTime,
|
||||
glassId: this.selectedGlassId
|
||||
glassId: this.selectedGlassId,
|
||||
defectType: this.checkList
|
||||
}).then((res) => {
|
||||
console.log(res)
|
||||
if (res.code === 0) {
|
||||
this.defectList = res.data
|
||||
} else {
|
||||
this.defectList = {}
|
||||
}
|
||||
this.$refs.poltChart.getChart()
|
||||
})
|
||||
},
|
||||
getDetail() {
|
||||
@@ -266,6 +294,63 @@ export default {
|
||||
},
|
||||
moveEnd() {
|
||||
this.$refs.poltChart.getChart()
|
||||
},
|
||||
// 导出
|
||||
exportExl() {
|
||||
pointExport({
|
||||
startTime: this.listQuery.startTime,
|
||||
endTime: this.listQuery.endTime,
|
||||
glassId: this.selectedGlassId,
|
||||
defectType: this.checkList
|
||||
}).then((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)
|
||||
}
|
||||
})
|
||||
pointExport2({
|
||||
startTime: this.listQuery.startTime,
|
||||
endTime: this.listQuery.endTime,
|
||||
glassId: this.selectedGlassId,
|
||||
defectType: this.checkList
|
||||
}).then((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)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Referência em uma nova issue
Block a user