From 0f6418fcf9945de7fad658bd5b5d8fbd637942c1 Mon Sep 17 00:00:00 2001 From: lb Date: Wed, 30 Aug 2023 14:30:08 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E5=9F=BA=E6=9C=AC=E5=AE=8C=E6=88=90?= =?UTF-8?q?=E8=AE=BE=E5=A4=87=E8=BF=9124=E5=B0=8F=E6=97=B6=E6=95=B0?= =?UTF-8?q?=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../monitoring/equipmentRecentHours/index.vue | 685 +++++++++++++----- 1 file changed, 491 insertions(+), 194 deletions(-) diff --git a/src/views/monitoring/equipmentRecentHours/index.vue b/src/views/monitoring/equipmentRecentHours/index.vue index 402d24c7..dacce04e 100644 --- a/src/views/monitoring/equipmentRecentHours/index.vue +++ b/src/views/monitoring/equipmentRecentHours/index.vue @@ -291,168 +291,468 @@ export default { ], }, - res: { - code: 0, - msg: 'success', - data: [ - { - productLine: '产线22', - specification: ['1000*29*1', '898'], - data: [ - { - equipmentName: '下片机', - totalQuantity: 15, - hourData: { - '2023-08-29T09:24:09.878': { - inQuantity: 0, - nokQuantity: 0, - outQuantity: 0, - scrapRatio: 0.0, - }, - '2023-08-29T10:24:09.878': { - inQuantity: 0, - nokQuantity: 0, - outQuantity: 0, - scrapRatio: 0.0, - }, - '2023-08-29T11:24:09.878': { - inQuantity: 0, - nokQuantity: 0, - outQuantity: 0, - scrapRatio: 0.0, - }, - '2023-08-29T12:24:09.878': { - inQuantity: 0, - nokQuantity: 0, - outQuantity: 0, - scrapRatio: 0.0, - }, - '2023-08-29T13:24:09.878': { - inQuantity: 0, - nokQuantity: 0, - outQuantity: 0, - scrapRatio: 0.0, - }, - '2023-08-29T14:24:09.878': { - inQuantity: 0, - nokQuantity: 0, - outQuantity: 0, - scrapRatio: 0.0, - }, - '2023-08-29T15:24:09.878': { - inQuantity: 9, - nokQuantity: 6, - outQuantity: 8, - scrapRatio: 0.46153846, - }, - '2023-08-29T16:24:09.878': { - inQuantity: 0, - nokQuantity: 0, - outQuantity: 0, - scrapRatio: 0.0, - }, - '2023-08-29T17:24:09.878': { - inQuantity: 1, - nokQuantity: 1, - outQuantity: 1, - scrapRatio: 0.5, - }, - '2023-08-29T18:24:09.878': { - inQuantity: 0, - nokQuantity: 0, - outQuantity: 0, - scrapRatio: 0.0, - }, - '2023-08-29T19:24:09.878': { - inQuantity: 0, - nokQuantity: 0, - outQuantity: 0, - scrapRatio: 0.0, - }, - '2023-08-29T20:24:09.878': { - inQuantity: 0, - nokQuantity: 0, - outQuantity: 0, - scrapRatio: 0.0, - }, - '2023-08-29T21:24:09.878': { - inQuantity: 0, - nokQuantity: 0, - outQuantity: 0, - scrapRatio: 0.0, - }, - '2023-08-29T22:24:09.878': { - inQuantity: 0, - nokQuantity: 0, - outQuantity: 0, - scrapRatio: 0.0, - }, - '2023-08-29T23:24:09.878': { - inQuantity: 0, - nokQuantity: 0, - outQuantity: 0, - scrapRatio: 0.0, - }, - '2023-08-30T00:24:09.878': { - inQuantity: 0, - nokQuantity: 0, - outQuantity: 0, - scrapRatio: 0.0, - }, - '2023-08-30T01:24:09.878': { - inQuantity: 0, - nokQuantity: 0, - outQuantity: 0, - scrapRatio: 0.0, - }, - '2023-08-30T02:24:09.878': { - inQuantity: 0, - nokQuantity: 0, - outQuantity: 0, - scrapRatio: 0.0, - }, - '2023-08-30T03:24:09.878': { - inQuantity: 0, - nokQuantity: 0, - outQuantity: 0, - scrapRatio: 0.0, - }, - '2023-08-30T04:24:09.878': { - inQuantity: 0, - nokQuantity: 0, - outQuantity: 0, - scrapRatio: 0.0, - }, - '2023-08-30T05:24:09.878': { - inQuantity: 0, - nokQuantity: 0, - outQuantity: 0, - scrapRatio: 0.0, - }, - '2023-08-30T06:24:09.878': { - inQuantity: 0, - nokQuantity: 0, - outQuantity: 0, - scrapRatio: 0.0, - }, - '2023-08-30T07:24:09.878': { - inQuantity: 0, - nokQuantity: 0, - outQuantity: 0, - scrapRatio: 0.0, - }, - '2023-08-30T08:24:09.878': { - inQuantity: 0, - nokQuantity: 0, - outQuantity: 0, - scrapRatio: 0.0, - }, - }, - }, - ], - }, - ], - }, + // res: { + // code: 0, + // msg: 'success', + // data: [ + // { + // productLine: '产线22', + // specification: ['1000*29*1', '898'], + // data: [ + // { + // equipmentName: '下片机', + // totalQuantity: 15, + // hourData: { + // '2023-08-29T09:24:09.878': { + // inQuantity: 1, + // nokQuantity: 0, + // outQuantity: 0, + // scrapRatio: 0.0, + // }, + // '2023-08-29T10:24:09.878': { + // inQuantity: 0, + // nokQuantity: 2, + // outQuantity: 0, + // scrapRatio: 0.0, + // }, + // '2023-08-29T11:24:09.878': { + // inQuantity: 0, + // nokQuantity: 0, + // outQuantity: 3, + // scrapRatio: 0.0, + // }, + // '2023-08-29T12:24:09.878': { + // inQuantity: 0, + // nokQuantity: 0, + // outQuantity: 0, + // scrapRatio: 4.0, + // }, + // '2023-08-29T13:24:09.878': { + // inQuantity: 0, + // nokQuantity: 0, + // outQuantity: 0, + // scrapRatio: 0.0, + // }, + // '2023-08-29T14:24:09.878': { + // inQuantity: 0, + // nokQuantity: 0, + // outQuantity: 0, + // scrapRatio: 0.0, + // }, + // '2023-08-29T15:24:09.878': { + // inQuantity: 9, + // nokQuantity: 6, + // outQuantity: 8, + // scrapRatio: 0.46153846, + // }, + // '2023-08-29T16:24:09.878': { + // inQuantity: 0, + // nokQuantity: 0, + // outQuantity: 0, + // scrapRatio: 0.0, + // }, + // '2023-08-29T17:24:09.878': { + // inQuantity: 1, + // nokQuantity: 1, + // outQuantity: 1, + // scrapRatio: 0.5, + // }, + // '2023-08-29T18:24:09.878': { + // inQuantity: 0, + // nokQuantity: 0, + // outQuantity: 0, + // scrapRatio: 0.0, + // }, + // '2023-08-29T19:24:09.878': { + // inQuantity: 0, + // nokQuantity: 0, + // outQuantity: 0, + // scrapRatio: 0.0, + // }, + // '2023-08-29T20:24:09.878': { + // inQuantity: 0, + // nokQuantity: 0, + // outQuantity: 0, + // scrapRatio: 0.0, + // }, + // '2023-08-29T21:24:09.878': { + // inQuantity: 0, + // nokQuantity: 0, + // outQuantity: 0, + // scrapRatio: 0.0, + // }, + // '2023-08-29T22:24:09.878': { + // inQuantity: 0, + // nokQuantity: 0, + // outQuantity: 0, + // scrapRatio: 0.0, + // }, + // '2023-08-29T23:24:09.878': { + // inQuantity: 0, + // nokQuantity: 0, + // outQuantity: 0, + // scrapRatio: 0.0, + // }, + // '2023-08-30T00:24:09.878': { + // inQuantity: 0, + // nokQuantity: 0, + // outQuantity: 0, + // scrapRatio: 0.0, + // }, + // '2023-08-30T01:24:09.878': { + // inQuantity: 0, + // nokQuantity: 0, + // outQuantity: 0, + // scrapRatio: 0.0, + // }, + // '2023-08-30T02:24:09.878': { + // inQuantity: 0, + // nokQuantity: 0, + // outQuantity: 0, + // scrapRatio: 0.0, + // }, + // '2023-08-30T03:24:09.878': { + // inQuantity: 0, + // nokQuantity: 0, + // outQuantity: 0, + // scrapRatio: 0.0, + // }, + // '2023-08-30T04:24:09.878': { + // inQuantity: 0, + // nokQuantity: 0, + // outQuantity: 0, + // scrapRatio: 0.0, + // }, + // '2023-08-30T05:24:09.878': { + // inQuantity: 0, + // nokQuantity: 0, + // outQuantity: 0, + // scrapRatio: 0.0, + // }, + // '2023-08-30T06:24:09.878': { + // inQuantity: 0, + // nokQuantity: 0, + // outQuantity: 0, + // scrapRatio: 0.0, + // }, + // '2023-08-30T07:24:09.878': { + // inQuantity: 0, + // nokQuantity: 0, + // outQuantity: 0, + // scrapRatio: 0.0, + // }, + // '2023-08-30T08:24:09.878': { + // inQuantity: 0, + // nokQuantity: 0, + // outQuantity: 0, + // scrapRatio: 0.0, + // }, + // }, + // }, + // { + // equipmentName: '磨边机', + // totalQuantity: 100, + // hourData: { + // '2023-08-29T09:24:09.878': { + // inQuantity: 0, + // nokQuantity: 0, + // outQuantity: 0, + // scrapRatio: 0.0, + // }, + // '2023-08-29T10:24:09.878': { + // inQuantity: 0, + // nokQuantity: 0, + // outQuantity: 0, + // scrapRatio: 0.0, + // }, + // '2023-08-29T11:24:09.878': { + // inQuantity: 0, + // nokQuantity: 0, + // outQuantity: 0, + // scrapRatio: 0.0, + // }, + // '2023-08-29T12:24:09.878': { + // inQuantity: 0, + // nokQuantity: 0, + // outQuantity: 0, + // scrapRatio: 0.0, + // }, + // '2023-08-29T13:24:09.878': { + // inQuantity: 0, + // nokQuantity: 0, + // outQuantity: 0, + // scrapRatio: 0.0, + // }, + // '2023-08-29T14:24:09.878': { + // inQuantity: 0, + // nokQuantity: 0, + // outQuantity: 0, + // scrapRatio: 0.0, + // }, + // '2023-08-29T15:24:09.878': { + // inQuantity: 9, + // nokQuantity: 6, + // outQuantity: 8, + // scrapRatio: 0.46153846, + // }, + // '2023-08-29T16:24:09.878': { + // inQuantity: 0, + // nokQuantity: 0, + // outQuantity: 0, + // scrapRatio: 0.0, + // }, + // '2023-08-29T17:24:09.878': { + // inQuantity: 1, + // nokQuantity: 1, + // outQuantity: 1, + // scrapRatio: 0.5, + // }, + // '2023-08-29T18:24:09.878': { + // inQuantity: 0, + // nokQuantity: 0, + // outQuantity: 0, + // scrapRatio: 0.0, + // }, + // '2023-08-29T19:24:09.878': { + // inQuantity: 0, + // nokQuantity: 0, + // outQuantity: 0, + // scrapRatio: 0.0, + // }, + // '2023-08-29T20:24:09.878': { + // inQuantity: 0, + // nokQuantity: 0, + // outQuantity: 0, + // scrapRatio: 0.0, + // }, + // '2023-08-29T21:24:09.878': { + // inQuantity: 0, + // nokQuantity: 0, + // outQuantity: 0, + // scrapRatio: 0.0, + // }, + // '2023-08-29T22:24:09.878': { + // inQuantity: 0, + // nokQuantity: 0, + // outQuantity: 0, + // scrapRatio: 0.0, + // }, + // '2023-08-29T23:24:09.878': { + // inQuantity: 0, + // nokQuantity: 0, + // outQuantity: 0, + // scrapRatio: 0.0, + // }, + // '2023-08-30T00:24:09.878': { + // inQuantity: 0, + // nokQuantity: 0, + // outQuantity: 0, + // scrapRatio: 0.0, + // }, + // '2023-08-30T01:24:09.878': { + // inQuantity: 0, + // nokQuantity: 0, + // outQuantity: 0, + // scrapRatio: 0.0, + // }, + // '2023-08-30T02:24:09.878': { + // inQuantity: 0, + // nokQuantity: 0, + // outQuantity: 0, + // scrapRatio: 0.0, + // }, + // '2023-08-30T03:24:09.878': { + // inQuantity: 0, + // nokQuantity: 0, + // outQuantity: 0, + // scrapRatio: 0.0, + // }, + // '2023-08-30T04:24:09.878': { + // inQuantity: 0, + // nokQuantity: 0, + // outQuantity: 0, + // scrapRatio: 0.0, + // }, + // '2023-08-30T05:24:09.878': { + // inQuantity: 0, + // nokQuantity: 0, + // outQuantity: 0, + // scrapRatio: 0.0, + // }, + // '2023-08-30T06:24:09.878': { + // inQuantity: 0, + // nokQuantity: 0, + // outQuantity: 0, + // scrapRatio: 0.0, + // }, + // '2023-08-30T07:24:09.878': { + // inQuantity: 0, + // nokQuantity: 0, + // outQuantity: 0, + // scrapRatio: 0.0, + // }, + // '2023-08-30T08:24:09.878': { + // inQuantity: 0, + // nokQuantity: 0, + // outQuantity: 0, + // scrapRatio: 0.0, + // }, + // }, + // }, + // { + // equipmentName: '清洗机', + // totalQuantity: 88, + // hourData: { + // '2023-08-29T09:24:09.878': { + // inQuantity: 0, + // nokQuantity: 0, + // outQuantity: 0, + // scrapRatio: 0.0, + // }, + // '2023-08-29T10:24:09.878': { + // inQuantity: 0, + // nokQuantity: 0, + // outQuantity: 0, + // scrapRatio: 0.0, + // }, + // '2023-08-29T11:24:09.878': { + // inQuantity: 0, + // nokQuantity: 0, + // outQuantity: 0, + // scrapRatio: 0.0, + // }, + // '2023-08-29T12:24:09.878': { + // inQuantity: 0, + // nokQuantity: 0, + // outQuantity: 0, + // scrapRatio: 0.0, + // }, + // '2023-08-29T13:24:09.878': { + // inQuantity: 0, + // nokQuantity: 0, + // outQuantity: 0, + // scrapRatio: 0.0, + // }, + // '2023-08-29T14:24:09.878': { + // inQuantity: 0, + // nokQuantity: 0, + // outQuantity: 0, + // scrapRatio: 0.0, + // }, + // '2023-08-29T15:24:09.878': { + // inQuantity: 9, + // nokQuantity: 6, + // outQuantity: 8, + // scrapRatio: 0.46153846, + // }, + // '2023-08-29T16:24:09.878': { + // inQuantity: 0, + // nokQuantity: 0, + // outQuantity: 0, + // scrapRatio: 0.0, + // }, + // '2023-08-29T17:24:09.878': { + // inQuantity: 1, + // nokQuantity: 1, + // outQuantity: 1, + // scrapRatio: 0.5, + // }, + // '2023-08-29T18:24:09.878': { + // inQuantity: 0, + // nokQuantity: 0, + // outQuantity: 0, + // scrapRatio: 0.0, + // }, + // '2023-08-29T19:24:09.878': { + // inQuantity: 0, + // nokQuantity: 0, + // outQuantity: 0, + // scrapRatio: 0.0, + // }, + // '2023-08-29T20:24:09.878': { + // inQuantity: 0, + // nokQuantity: 0, + // outQuantity: 0, + // scrapRatio: 0.0, + // }, + // '2023-08-29T21:24:09.878': { + // inQuantity: 0, + // nokQuantity: 0, + // outQuantity: 0, + // scrapRatio: 0.0, + // }, + // '2023-08-29T22:24:09.878': { + // inQuantity: 0, + // nokQuantity: 0, + // outQuantity: 0, + // scrapRatio: 0.0, + // }, + // '2023-08-29T23:24:09.878': { + // inQuantity: 0, + // nokQuantity: 0, + // outQuantity: 0, + // scrapRatio: 0.0, + // }, + // '2023-08-30T00:24:09.878': { + // inQuantity: 0, + // nokQuantity: 0, + // outQuantity: 0, + // scrapRatio: 0.0, + // }, + // '2023-08-30T01:24:09.878': { + // inQuantity: 0, + // nokQuantity: 0, + // outQuantity: 0, + // scrapRatio: 0.0, + // }, + // '2023-08-30T02:24:09.878': { + // inQuantity: 0, + // nokQuantity: 0, + // outQuantity: 0, + // scrapRatio: 0.0, + // }, + // '2023-08-30T03:24:09.878': { + // inQuantity: 0, + // nokQuantity: 0, + // outQuantity: 0, + // scrapRatio: 0.0, + // }, + // '2023-08-30T04:24:09.878': { + // inQuantity: 0, + // nokQuantity: 0, + // outQuantity: 0, + // scrapRatio: 0.0, + // }, + // '2023-08-30T05:24:09.878': { + // inQuantity: 0, + // nokQuantity: 0, + // outQuantity: 0, + // scrapRatio: 0.0, + // }, + // '2023-08-30T06:24:09.878': { + // inQuantity: 0, + // nokQuantity: 0, + // outQuantity: 0, + // scrapRatio: 0.0, + // }, + // '2023-08-30T07:24:09.878': { + // inQuantity: 0, + // nokQuantity: 0, + // outQuantity: 0, + // scrapRatio: 0.0, + // }, + // '2023-08-30T08:24:09.878': { + // inQuantity: 0, + // nokQuantity: 0, + // outQuantity: 0, + // scrapRatio: 0.0, + // }, + // }, + // }, + // ], + // }, + // ], + // }, spanInfo: {}, }; @@ -483,7 +783,12 @@ export default { { prop: key + '__in', label: '进数据', align: 'center' }, { prop: key + '__out', label: '出数据', align: 'center' }, { prop: key + '__nok', label: '报废数据', align: 'center' }, - { prop: key + '__ratio', label: '报废率', align: 'center' }, + { + prop: key + '__ratio', + label: '报废率', + align: 'center', + filter: (val) => (val != null ? val + ' %' : '-'), + }, ], }; props.push(subprop); @@ -495,7 +800,6 @@ export default { /** 把 list 里的数据转换成 tableProps 对应的格式 */ convertList(list) { this.list.splice(0); - let row = {}; let rowIndex = 0; for (const line of list) { const { productLine, specification, data } = line; @@ -503,25 +807,24 @@ export default { // 设置span的行数 this.spanInfo[rowIndex] = data.length; for (const equipment of data) { + const { equipmentName, totalQuantity } = equipment; + let row = { + productLine, + specification: specification.join('、'), + equipmentName, + totalQuantity, + }; rowIndex += 1; for (const [key, hourData] of Object.entries(equipment.hourData)) { - const { equipmentName, totalQuantity } = equipment; const { inQuantity, outQuantity, nokQuantity, scrapRatio } = hourData; - row = { - productLine, - specification: specification.join('、'), - equipmentName, - totalQuantity, - }; row[key + '__in'] = inQuantity; row[key + '__out'] = outQuantity; row[key + '__nok'] = nokQuantity; row[key + '__ratio'] = scrapRatio; - this.list.push(row); } + this.list.push(row); } - console.log('list:', this.list, 'spanInfo:', this.spanInfo); } }, @@ -531,41 +834,35 @@ export default { /** 合并table列的规则 */ mergeColumnHandler({ row, column, rowIndex, columnIndex }) { - // console.log('handle merge column', row, column, rowIndex, columnIndex); - if (columnIndex == 0 || columnIndex == 1 || columnIndex == 3) { - if (rowIndex % 3 == 0) { + if (columnIndex == 0 || columnIndex == 1) { + if (this.spanInfo[rowIndex]) { return [ - 3, // this.spanInfo[rowIndex], // row span + this.spanInfo[rowIndex], // row span 1, // col span ]; } else { return [0, 0]; } } - // return { rowspan: 3, colspan: 1 }; }, async getList() { - // const { data } = await this.$axios({ - // url: '/monitoring/equipment-monitor/recent-24-hours', - // method: 'get', - // }); + const { data } = await this.$axios({ + url: '/monitoring/equipment-monitor/recent-24-hours', + method: 'get', + }); - const data = this.res.data; - console.log('recent-24', data); + // const data = this.res.data; + // console.log('recent-24', data); + + this.initing = true; this.buildProps(data[0]); this.buildData(data); + this.queryParams.pageSize = this.list.length; - // this.initing = true; - // const dynamicProps = handleNameData(nameData); - // this.tableProps.push(...dynamicProps); - // const dataList = handleDynamicData(dyanmicData); - // this.list = dataList; - // this.queryParams.pageSize = dataList.length; - - // setTimeout(() => { - // this.initing = false; - // }, 1000); + setTimeout(() => { + this.initing = false; + }, 1000); }, handleEmitFun(payload) {