diff --git a/src/views/board/board1/index.vue b/src/views/board/board1/index.vue index 4d76f11..f3ef56f 100644 --- a/src/views/board/board1/index.vue +++ b/src/views/board/board1/index.vue @@ -18,12 +18,15 @@
开机率 - {{ runningData.runningRate }} + + {{ + ((((Math.min((runningData.RUNNINGCOUNT || 0) + runNum, runningData.TOTALCOUNT) || 0) / runningData.TOTALCOUNT) || 0) * 100) < 100 ? (((((Math.min((runningData.RUNNINGCOUNT || 0) + runNum, runningData.TOTALCOUNT) || 0) / runningData.TOTALCOUNT) || 0) * 100).toFixed(2)) : '100' + }}%
运行 - {{ Math.min((runningData.RUNNINGCOUNT||0) + 5,runningData.TOTALCOUNT) }} + {{ Math.min((runningData.RUNNINGCOUNT || 0) + runNum, runningData.TOTALCOUNT) || 0 }}
@@ -48,7 +51,7 @@
未开机 - {{ Math.max((runningData.NOTSTARTEDCOUNT ||0) - 5 ,0) }} + {{ Math.max((runningData.NOTSTARTEDCOUNT || 0) - runNum, 0) }}
@@ -60,19 +63,27 @@
正常运行
未开机
- {{ parseFloat(i.value1||'0').toFixed(1) }} + {{ + parseFloat(i.value1 || '0').toFixed(1) + }} h
- {{ parseFloat(i.value1||'0').toFixed(1) }} + {{ + parseFloat(i.value1 || '0').toFixed(1) + }} h
- {{ parseFloat(i.value1||'0').toFixed(1) }} + {{ + parseFloat(i.value1 || '0').toFixed(1) + }} h
- {{ parseFloat(i.value1||'0').toFixed(1) }} + {{ + parseFloat(i.value1 || '0').toFixed(1) + }} h
待机时长
@@ -85,19 +96,27 @@
正常运行
未开机
- {{ timeData[i.DEVICECODE] || '0' }} + {{ + timeData[i.DEVICECODE] || '0' + }} h
- {{ timeData[i.DEVICECODE] || '0' }} + {{ + timeData[i.DEVICECODE] || '0' + }} h
- {{ timeData[i.DEVICECODE] || '0' }} + {{ + timeData[i.DEVICECODE] || '0' + }} h
- {{ timeData[i.DEVICECODE] || '0' }} + {{ + timeData[i.DEVICECODE] || '0' + }} h
待机时长
@@ -215,20 +234,15 @@ export default { ], isData: false, configDialogVisible: false, - form: { - }, + form: {}, runningData: {}, deviceData: [], - timeData: {} + timeData: {}, + runNum: 0, } }, async mounted() { await this.getData() - getSimulateData({customCode: 'board-3' || '', customType: 1}).then(val => { - this.row = val.rows[0] - this.form = JSON.parse(val.rows[0].customData); - this.isData = true - }) this.$refs.chart1.setData({ title: [ { @@ -373,13 +387,19 @@ export default { this.runningData = e.data }) await getDeviceStatusList().then(res => { - this.deviceData = res.data.filter(e=>!(e.DEVICENAME ==="5#"||e.DEVICENAME ==="10#"||e.DEVICENAME ==="12#"||e.DEVICENAME ==="17#"||e.DEVICENAME ==="18#")) + this.deviceData = res.data.filter(e => !(e.DEVICENAME === "5#" || e.DEVICENAME === "10#" || e.DEVICENAME === "12#" || e.DEVICENAME === "17#" || e.DEVICENAME === "18#")) }) - getDeviceStartTimeList().then(res => { + getDeviceStartTimeList().then(res => { res.data.forEach(e => { this.timeData[e.DEVICECODE] = ((e.STARTTIME / 60 / 60) || 0).toFixed(1) }) }) + getSimulateData({customCode: 'board-3' || '', customType: 1}).then(val => { + this.row = val.rows[0] + this.form = JSON.parse(val.rows[0].customData); + this.isData = true + this.runNum = this.form.table1.filter(v => v.STATUSCODE == 1).length + }) }, save() { @@ -389,6 +409,7 @@ export default { }).then(res => { Message({message: '保存成功', type: 'success'}) this.configDialogVisible = false + this.runNum = this.form.table1.filter(v => v.STATUSCODE == 1).length }) } }, @@ -411,7 +432,8 @@ export default { top: 0; left: 0; } -.top{ + +.top { position: absolute; width: 12vw; height: 3.3vw; @@ -427,6 +449,7 @@ export default { color: #d6eaed; letter-spacing: 0.1vw; } + .headTitle { position: absolute; top: 5%; diff --git a/src/views/board/board4/index.vue b/src/views/board/board4/index.vue index 752d341..bd1d5e1 100644 --- a/src/views/board/board4/index.vue +++ b/src/views/board/board4/index.vue @@ -107,10 +107,10 @@ form.isSimulate ? form.text12 : deviceStatusData.repairCount }}
-
工单进度
+
生产进度
累计维修分析
质量追溯
-
设备分析
+
设备总产量
当日维修趋势
@@ -175,6 +175,46 @@
+
+
+
+ 物料名称 +
+
+ 质量缺陷名称 +
+
+ 检测时间 +
+
+ +
+
+
+ {{ form.isSimulate ? item.text1 : item.materialName }} +
+
+ {{ form.isSimulate ? item.text2 : item.qualityDefectName }} +
+
+ {{ form.isSimulate ? item.text3 : item.inspectorTime }} +
+
+
+
+
{{ k + 1 }}
@@ -185,12 +225,12 @@
{{ form.isSimulate ? i.text3 : i.repairCount }}次
-
- -
-
- -
+ + + + + +
@@ -484,6 +524,7 @@ import { getOrderStatistics, getProductionTotal, getQualityStatistics, getQualityTraceList, getRepairAnalysisList, getRepairTrendList } from "@/api/board/board4"; +import {listQualityInspection} from "@/api/report/qualityInspection"; const vw = (document.documentElement.clientWidth || document.body.clientWidth) / 100 export default { @@ -577,6 +618,7 @@ export default { qualityStatisticsData: {}, qualityTraceList: [], deviceProductionList: [], + qualityInspectionList:[], runningData: {} } }, @@ -597,6 +639,9 @@ export default { }, methods: { async getData() { + listQualityInspection({pageSize:99999999}).then(res => { + this.qualityInspectionList = res.rows + }) getDeviceStatusStatistics().then(e => { this.runningData = e.data }) @@ -633,82 +678,82 @@ export default { this.chartInit() }, chartInit() { - this.$refs.chart1.setData({ - title: { - y: 'center', - left: '60%', - text: `{dot1|●} {name|合格数} :{value|${this.form.isSimulate ? this.form.chart1.value1 : this.qualityStatisticsData.qualifiedCount}}\n\n\n{dot2|●} {name|不合格数} :{value|${this.form.isSimulate ? this.form.chart1.value2 : this.qualityStatisticsData.unqualifiedCount}}`, - textStyle: { - color: '#ffffff', - rich: { - dot1: { - fontSize: 0.9 * vw, - color: '#ffffff', - }, - dot2: { - fontSize: 0.9 * vw, - color: '#4E97FF', - }, - name: { - color: '#fff', - fontSize: 1 * vw, - }, - value: { - color: '#fff', - fontSize: 1.1 * vw, - fontWeight: '800', - } - } - } - }, - series: [ - { - type: "pie", - center: ["30%", "50%"], - radius: ['57%', '63%'], - itemStyle: { - color: '#fff4' - }, - labelLine: { - show: false - }, - data: [1] - }, - { - type: "pie", - label: { - show: false, - }, - center: ["30%", "50%"], - radius: ['54%', '66%'], - clockwise: false, - labelLine: { - show: false - }, - itemStyle: { - color: '#4E97FF' - }, - data: [ - { - value: this.form.isSimulate ? this.form.chart1.value2 : this.qualityStatisticsData.unqualifiedCount, - name: '不合格数', - itemStyle: { - color: '#4E97FF', - borderColor: '#000', - borderWidth: 2 - }, - }, - { - value: this.form.isSimulate ? this.form.chart1.value1 : this.qualityStatisticsData.qualifiedCount, - name: '合格数', - itemStyle: { - color: '#0000', - }, - }, - ] - }, - ] - }) + // this.$refs.chart1.setData({ + // title: { + // y: 'center', + // left: '60%', + // text: `{dot1|●} {name|合格数} :{value|${this.form.isSimulate ? this.form.chart1.value1 : this.qualityStatisticsData.qualifiedCount}}\n\n\n{dot2|●} {name|不合格数} :{value|${this.form.isSimulate ? this.form.chart1.value2 : this.qualityStatisticsData.unqualifiedCount}}`, + // textStyle: { + // color: '#ffffff', + // rich: { + // dot1: { + // fontSize: 0.9 * vw, + // color: '#ffffff', + // }, + // dot2: { + // fontSize: 0.9 * vw, + // color: '#4E97FF', + // }, + // name: { + // color: '#fff', + // fontSize: 1 * vw, + // }, + // value: { + // color: '#fff', + // fontSize: 1.1 * vw, + // fontWeight: '800', + // } + // } + // } + // }, + // series: [ + // { + // type: "pie", + // center: ["30%", "50%"], + // radius: ['57%', '63%'], + // itemStyle: { + // color: '#fff4' + // }, + // labelLine: { + // show: false + // }, + // data: [1] + // }, + // { + // type: "pie", + // label: { + // show: false, + // }, + // center: ["30%", "50%"], + // radius: ['54%', '66%'], + // clockwise: false, + // labelLine: { + // show: false + // }, + // itemStyle: { + // color: '#4E97FF' + // }, + // data: [ + // { + // value: this.form.isSimulate ? this.form.chart1.value2 : this.qualityStatisticsData.unqualifiedCount, + // name: '不合格数', + // itemStyle: { + // color: '#4E97FF', + // borderColor: '#000', + // borderWidth: 2 + // }, + // }, + // { + // value: this.form.isSimulate ? this.form.chart1.value1 : this.qualityStatisticsData.qualifiedCount, + // name: '合格数', + // itemStyle: { + // color: '#0000', + // }, + // }, + // ] + // }, + // ] + // }) this.$refs.chart2.setData({ xAxis: { data: this.form.isSimulate ? this.form.chart2.map(e => e.value1) : this.deviceProductionList.map(e => e.deviceName), @@ -921,75 +966,75 @@ export default { }, ], }) - this.$refs.chart4.setData({ - radar: { - center: ["30%", "50%"], - radius: '40%', - shape: 'circle', - splitNumber: 1, - splitLine: { - lineStyle: { - color: '#fff4', - width: 1 - } - }, - splitArea: { - show: false - }, - axisLine: { - show: false - }, - axisNameGap: 3, - axisName: { - rotation: 90, - rotate: 90, - fontSize: 8, - color: '#ddd', - }, - indicator: this.form.isSimulate ? this.form.chart4.map(e => { - return {name: e.value1, max: e.value3} - }) : this.qualityTraceList.map(e => { - return {name: e.materialName, max: e.passLimit} - }), - - }, - series: [ - { - name: ' ', - type: 'radar', - symbolSize: 3, - itemStyle: { - color: '#FBFCFC' - }, - lineStyle: { - color: '#478EEE', - width: 1, - }, - data: [ - { - value: this.form.isSimulate ? this.form.chart4.map(e => { - return e.value2 - }) : this.qualityTraceList.map(e => { - return e.passRate - }), - name: 'Allocated Budget', - areaStyle: { - color: { - type: 'radial', - x: 0.5, - y: 0.5, - r: 0.5, - colorStops: [ - {offset: 0, color: '#fff0'}, - {offset: 1, color: '#4C92F266'} - ] - }, - } - } - ] - } - ] - }) + // this.$refs.chart4.setData({ + // radar: { + // center: ["30%", "50%"], + // radius: '40%', + // shape: 'circle', + // splitNumber: 1, + // splitLine: { + // lineStyle: { + // color: '#fff4', + // width: 1 + // } + // }, + // splitArea: { + // show: false + // }, + // axisLine: { + // show: false + // }, + // axisNameGap: 3, + // axisName: { + // rotation: 90, + // rotate: 90, + // fontSize: 8, + // color: '#ddd', + // }, + // indicator: this.form.isSimulate ? this.form.chart4.map(e => { + // return {name: e.value1, max: e.value3} + // }) : this.qualityTraceList.map(e => { + // return {name: e.materialName, max: e.passLimit} + // }), + // + // }, + // series: [ + // { + // name: ' ', + // type: 'radar', + // symbolSize: 3, + // itemStyle: { + // color: '#FBFCFC' + // }, + // lineStyle: { + // color: '#478EEE', + // width: 1, + // }, + // data: [ + // { + // value: this.form.isSimulate ? this.form.chart4.map(e => { + // return e.value2 + // }) : this.qualityTraceList.map(e => { + // return e.passRate + // }), + // name: 'Allocated Budget', + // areaStyle: { + // color: { + // type: 'radial', + // x: 0.5, + // y: 0.5, + // r: 0.5, + // colorStops: [ + // {offset: 0, color: '#fff0'}, + // {offset: 1, color: '#4C92F266'} + // ] + // }, + // } + // } + // ] + // } + // ] + // }) }, save() { updateCustomData({ @@ -1117,6 +1162,14 @@ export default { height: 20%; } +.scrollTable1 { + position: absolute; + top: 66%; + left: 3.3%; + width: 23.8%; + height: 29%; +} + .scrollTableItem { color: #65CDF9; margin: auto 0px;