Compare commits

..

No commits in common. "78f6165cfcde46644c01402fc702a95285c89f89" and "984cf2e7d5243441ed590f641a73c211bb6e04e1" have entirely different histories.

21 changed files with 802 additions and 991 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 126 KiB

After

Width:  |  Height:  |  Size: 125 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 141 KiB

After

Width:  |  Height:  |  Size: 140 KiB

View File

@ -2,7 +2,7 @@
* @Author: zwq * @Author: zwq
* @Date: 2021-07-19 15:18:30 * @Date: 2021-07-19 15:18:30
* @LastEditors: zhp * @LastEditors: zhp
* @LastEditTime: 2024-03-29 16:49:00 * @LastEditTime: 2024-03-28 15:28:07
* @Description: * @Description:
--> -->
<template> <template>
@ -16,11 +16,11 @@
许昌安彩AGV原片周转看板 许昌安彩AGV原片周转看板
<h3 class="unit">单位河南汇融数字科技有限公司</h3> <h3 class="unit">单位河南汇融数字科技有限公司</h3>
<h3 class="time">{{ times }}</h3> <h3 class="time">{{ times }}</h3>
<!-- <el-button type="text" class="title-button" :style="{ right: 18 + 'px', top: 26 + 'px', fontSize: '32px' }" <el-button type="text" class="title-button" :style="{ right: 18 + 'px', top: 26 + 'px', fontSize: '32px' }"
@click="changeFullScreen"> @click="changeFullScreen">
<svg-icon width="32" height="32" v-if="isFullScreen" icon-class="unFullScreenView" /> <svg-icon width="32" height="32" v-if="isFullScreen" icon-class="unFullScreenView" />
<svg-icon width="32" height="32" v-else icon-class="fullScreenView" /> <svg-icon width="32" height="32" v-else icon-class="fullScreenView" />
</el-button> --> </el-button>
</el-row> </el-row>
<el-row class="container-main flex-col" type="flex"> <el-row class="container-main flex-col" type="flex">
<el-row :style="{ padding: '0 ' + 9 + 'px' }" :gutter="15 * beilv" type="flex" class="flex-1"> <el-row :style="{ padding: '0 ' + 9 + 'px' }" :gutter="15 * beilv" type="flex" class="flex-1">
@ -35,15 +35,13 @@
<base-container :beilv="1" :size="'eqStatus'" :title="'周转进度'" :title-icon="'order'" :back="'energy'"> <base-container :beilv="1" :size="'eqStatus'" :title="'周转进度'" :title-icon="'order'" :back="'energy'">
<div class="order" style="width:100%; overflow: hidden scroll;height: 350px;"> <div class="order" style="width:100%; overflow: hidden scroll;height: 350px;">
<el-row v-for="op in orderProcessList" :key="op.id" style="margin-bottom: 1em"> <el-row v-for="op in orderProcessList" :key="op.id" style="margin-bottom: 1em">
<!-- <p v-if="op.outRate === 1" class="now-secondary-title" <p v-if="op.outRate === 1" class="now-secondary-title" style="color:#4679FD">
style="font-size: 14px; opacity: calc(.6);color:#4679FD">
<i class="el-icon-check" /> <i class="el-icon-check" />
{{ op.name }} {{ op.name }}
</p> --> </p>
<!-- <p class="now-secondary-title">{{ op.name }}</p> --> <p v-else class="now-secondary-title">{{ op.name }}</p>
<p class="now-secondary-title" style="font-size: 14px;opacity: calc(.6);">{{ op.name }}</p> <el-progress :stroke-width="10" define-back-color="rgba(32, 57, 96, 1)" text-color="white"
<el-progress style="width: 910px;" text-color="rgba(255, 255, 255, .6)" :stroke-width="10" :percentage="op.outRate * 100" class="custom-progress-bar" />
define-back-color="rgba(32, 57, 96, 1)" :percentage="op.outRate * 100" class="custom-progress-bar" />
</el-row> </el-row>
</div> </div>
</base-container> </base-container>
@ -498,7 +496,7 @@ export default {
seconds = "0" + seconds; seconds = "0" + seconds;
} }
// //
this.times = year + "." + month + "." + day + " " + hours + ":" + minutes + ":" + seconds; this.times = year + "-" + month + "-" + day + " " + hours + ":" + minutes + ":" + seconds;
}, },
windowWidth(value) { windowWidth(value) {
this.clientWidth = value this.clientWidth = value
@ -532,6 +530,11 @@ export default {
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.visual-container { .visual-container {
width: 1920px; width: 1920px;
height: 1080px; height: 1080px;
@ -553,7 +556,7 @@ export default {
top: 25px; top: 25px;
color: rgba(255, 255, 255, 0.80); color: rgba(255, 255, 255, 0.80);
font-size: 20px; font-size: 20px;
letter-spacing: 1px; letter-spacing: 0px;
} }
.time { .time {
position: absolute; position: absolute;
@ -561,7 +564,7 @@ export default {
top: 25px; top: 25px;
color: rgba(255, 255, 255, 0.80); color: rgba(255, 255, 255, 0.80);
font-size: 20px; font-size: 20px;
letter-spacing: .72px; letter-spacing: 0px;
} }
.title-button { .title-button {
color: #00fff0; color: #00fff0;
@ -604,12 +607,6 @@ export default {
::v-deep .el-progress-bar__inner { ::v-deep .el-progress-bar__inner {
background-color: unset; background-color: unset;
background-image: linear-gradient(to right, #4573fe, #47f8dc); background-image: linear-gradient(to right, #4573fe, #47f8dc);
}
::v-deep .el-progress__text {
margin-top: -70px;
margin-left: 820px;
// background-color: unset;
// background-image: linear-gradient(to right, #4573fe, #47f8dc);
} }
.visual-select { .visual-select {
position: absolute; position: absolute;

View File

@ -1,7 +1,7 @@
<!-- <!--
* @Author: zhp * @Author: zhp
* @Date: 2024-01-29 16:50:26 * @Date: 2024-01-29 16:50:26
* @LastEditTime: 2024-03-29 16:51:53 * @LastEditTime: 2024-03-28 16:35:49
* @LastEditors: zhp * @LastEditors: zhp
* @Description: * @Description:
--> -->
@ -17,11 +17,11 @@
许昌安彩冷端看板 许昌安彩冷端看板
<h3 class="unit">单位河南汇融数字科技有限公司</h3> <h3 class="unit">单位河南汇融数字科技有限公司</h3>
<h3 class="time">{{ times }}</h3> <h3 class="time">{{ times }}</h3>
<!-- <el-button type="text" class="title-button" :style="{ right: 18 + 'px', top: 26 + 'px',fontSize:'32px'}" <el-button type="text" class="title-button" :style="{ right: 18 + 'px', top: 26 + 'px',fontSize:'32px'}"
@click="changeFullScreen"> @click="changeFullScreen">
<svg-icon width="32" height="32" v-if="isFullScreen" icon-class="unFullScreenView" /> <svg-icon width="32" height="32" v-if="isFullScreen" icon-class="unFullScreenView" />
<svg-icon width="32" height="32" v-else icon-class="fullScreenView" /> <svg-icon width="32" height="32" v-else icon-class="fullScreenView" />
</el-button> --> </el-button>
</el-row> </el-row>
<el-row class="container-main flex-col" type="flex"> <el-row class="container-main flex-col" type="flex">
<el-row :style="{ padding: '0 ' + 9 + 'px' }" :gutter="15" type="flex" class="flex-1"> <el-row :style="{ padding: '0 ' + 9 + 'px' }" :gutter="15" type="flex" class="flex-1">
@ -64,11 +64,11 @@
</div> --> </div> -->
<!-- <el-row :gutter="9"> --> <!-- <el-row :gutter="9"> -->
<!-- <el-col :style="{ margin: 8 + 'px' + ' 0' }" :span="24"> --> <!-- <el-col :style="{ margin: 8 + 'px' + ' 0' }" :span="24"> -->
<pile-bar-chart style="margin-top: -5px;" ref="firstPileChart" :height="80" /> <pile-bar-chart style="margin-bottom: -15px" ref="firstPileChart" :height="90" />
<second-pile-bar-chart id=" 'second' " ref="secondPileChart" :height="90" /> <second-pile-bar-chart style="margin-bottom: -15px" id=" 'second' " ref="secondPileChart" :height="90" />
<third-pile-bar-chart id=" 'third' " ref="thirdPileChart" :height="90" /> <third-pile-bar-chart style="margin-bottom: -15px" id=" 'third' " ref="thirdPileChart" :height="90" />
<fourth-pile-bar-chart id=" 'fourth' " ref="fourthPileChart" :height="90" /> <fourth-pile-bar-chart style="margin-bottom: -15px" id=" 'fourth' " ref="fourthPileChart" :height="90" />
<fifth-pile-bar-chart style="margin-top: -5px;" id=" 'fifth' " ref="fifthPileChart" :height="100" /> <fifth-pile-bar-chart style="margin-bottom: -15px" id=" 'fifth' " ref="fifthPileChart" :height="100" />
<!-- <pile-bar-chart ref="secondPileChart" <!-- <pile-bar-chart ref="secondPileChart"
:height="90" /> :height="90" />
<pile-bar-chart ref="thirdPileChart" <pile-bar-chart ref="thirdPileChart"
@ -320,7 +320,7 @@ export default {
let productList = [] let productList = []
let wasteList = [] let wasteList = []
let yieldList = [] let yieldList = []
let sumAreaList = [] // let sumAreaList = []
// let yieldList = [] // let yieldList = []
// this.cutTableDataList = // this.cutTableDataList =
let coldDetData = [ let coldDetData = [
@ -377,25 +377,22 @@ export default {
] ]
coldDetData.forEach((ele, index) => { coldDetData.forEach((ele, index) => {
nameList.push(ele.lineName) nameList.push(ele.lineName)
topNameList.push('产线: ' + ele.lineName + ' ' + '总面积:' + ele.sumArea + '㎡') topNameList.push('产线: ' + ele.lineName + ' ' + '总面积:' + ele.sumArea)
productList.push(ele.productArea) productList.push(ele.productArea)
wasteList.push(ele.wastArea) wasteList.push(ele.wastArea)
nameWasteList.push('缺陷面积:' + ele.wastArea + '㎡') nameWasteList.push('缺陷面积:' + ele.wastArea)
// yieldList.push({ yieldList.push({
// name: '', name: '良品',
// yield:ele.yield yield:ele.yield
// }) })
sumAreaList.push(ele.sumArea) // sumAreaList.push(ele.sumArea)
yieldList.push((ele.yield * 100).toFixed(3)) // yieldList.push((ele.yield * 100).toFixed(3))
}) })
this.$nextTick(() => {
this.$refs.productChart.initChart(nameList, yieldList, sumAreaList)
this.$refs.firstPileChart.initChart(nameList, [topNameList[0]], [nameWasteList[0]], [productList[0]], [wasteList[0]]) this.$refs.firstPileChart.initChart(nameList, [topNameList[0]], [nameWasteList[0]], [productList[0]], [wasteList[0]])
this.$refs.secondPileChart.initChart(nameList, [topNameList[1]], [nameWasteList[1]], [productList[1]], [wasteList[1]]) this.$refs.secondPileChart.initChart(nameList, [topNameList[1]], [nameWasteList[1]], [productList[1]], [wasteList[1]])
this.$refs.thirdPileChart.initChart(nameList, [topNameList[2]], [nameWasteList[2]], [productList[2]], [wasteList[2]]) this.$refs.thirdPileChart.initChart(nameList, [topNameList[2]], [nameWasteList[2]], [productList[2]], [wasteList[2]])
this.$refs.fourthPileChart.initChart(nameList, [topNameList[3]], [nameWasteList[3]], [productList[3]], [wasteList[3]]) this.$refs.fourthPileChart.initChart(nameList, [topNameList[3]], [nameWasteList[3]], [productList[3]], [wasteList[3]])
this.$refs.fifthPileChart.initChart(nameList, [topNameList[4]], [nameWasteList[4]], [productList[4]], [wasteList[4]]) this.$refs.fifthPileChart.initChart(nameList, [topNameList[4]], [nameWasteList[4]], [productList[4]], [wasteList[4]])
})
// this.$refs.productChart.initChart(nameList, yieldList, sumAreaList) // this.$refs.productChart.initChart(nameList, yieldList, sumAreaList)
this.getTimes() this.getTimes()
// console.log(moment(this.logoutTime - 28800000).format('HH:mm:ss')); // console.log(moment(this.logoutTime - 28800000).format('HH:mm:ss'));
@ -417,39 +414,39 @@ export default {
} }
}, },
methods: { methods: {
getData() { // getData() {
let detData = [ // let detData = [
{ // {
name: '1', // name: '1',
run: '运行', // run: '',
}, // },
{ // {
name: '2', // name: '2',
run: '未运行', // run: '',
}, // },
{ // {
name: '3', // name: '3',
run: '运行', // run: '',
}, // },
{ // {
name: '4', // name: '4',
run: '未运行', // run: '',
}, // },
{ // {
name: '1', // name: '1',
run: '运行', // run: '',
}, // },
] // ]
this.realEqList = detData.map((item, index) => [ // this.realEqList = detData.map((item, index) => [
// console.log(item) // // console.log(item)
`<span style="color:rgba(255,255,255,0.5)" >${index + 1 || ''} // `<span style="color:rgba(255,255,255,0.5)" >${index + 1 || ''}
</span>`, // </span>`,
`<span style="color:rgba(255,255,255,0.5)">${item.name || ''}</span>`, // `<span style="color:rgba(255,255,255,0.5)">${item.name || ''}</span>`,
`<span style="color:rgba(255,255,255,0.5)"><div style="${item.run == '运行' ? 'box-shadow: 0px 0px 2px 1px #2760FF;width:6px;height:6px;border-radius: 50%;background-color: #2760FF;float:left;margin:10px 10px 0 0 ' : 'box-shadow: 0px 0px 2px 1px #FFBD02;width:6px;height:6px;border-radius: 50%; background-color: #FFBD02;float:left;margin:10px 10px 0 0 '}"></div> ${item.run || ''}</span>`, // `<span style="color:rgba(255,255,255,0.5)"><div style="${item.run == '' ? 'box-shadow: 0px 0px 2px 1px #2760FF;width:6px;height:6px;border-radius: 50%;background-color: #2760FF;float:left;margin:10px 10px 0 0 ' : 'box-shadow: 0px 0px 2px 1px #FFBD02;width:6px;height:6px;border-radius: 50%; background-color: #FFBD02;float:left;margin:10px 10px 0 0 '}"></div> ${item.run || ''}</span>`,
]) // ])
this.realEqConfig.data = this.realEqList // this.realEqConfig.data = this.realEqList
this.$refs['realEqScrollBoard'].updateRows(this.realEqList) // this.$refs['realEqScrollBoard'].updateRows(this.realEqList)
}, // },
CutWebsocketClose(e) { CutWebsocketClose(e) {
this.Cutws.ws.onclose = (event) => { console.log(event );} this.Cutws.ws.onclose = (event) => { console.log(event );}
}, },
@ -498,7 +495,7 @@ export default {
seconds = "0" + seconds; seconds = "0" + seconds;
} }
// //
this.times = year + "." + month + "." + day + " " + hours + ":" + minutes + ":" + seconds; this.times = year + "-" + month + "-" + day + " " + hours + ":" + minutes + ":" + seconds;
}, },
SJGInitWebSocket() { SJGInitWebSocket() {
let date = new Date().valueOf() let date = new Date().valueOf()
@ -528,9 +525,10 @@ export default {
]) ])
} }
this.realEqConfig.data = this.realEqList this.realEqConfig.data = this.realEqList
// this.$nextTick(() => { this.$nextTick(() => {
this.$refs['realEqScrollBoard'].updateRows(this.realEqList) this.$refs['realEqScrollBoard'].updateRows(this.realEqList)
// })
})
}; };
// if (typeof (WebSocket) === 'undefined') { // if (typeof (WebSocket) === 'undefined') {
// alert('WebSocket') // alert('WebSocket')
@ -574,11 +572,7 @@ export default {
<div style = "${(item.product * 100).toFixed(2) < 91 ? 'display:block; color:rgba(255, 209, 96, 1)' : 'display:none;'}">${(item.product * 100).toFixed(2) + '%' || ''}</div>` <div style = "${(item.product * 100).toFixed(2) < 91 ? 'display:block; color:rgba(255, 209, 96, 1)' : 'display:none;'}">${(item.product * 100).toFixed(2) + '%' || ''}</div>`
]) ])
this.cutConfig.data = cutArr this.cutConfig.data = cutArr
// this.$nextTick(() => {
this.$refs['cutScrollBoard'].updateRows(cutArr) this.$refs['cutScrollBoard'].updateRows(cutArr)
// })
// this.cutConfig.data = cutArr
// this.$refs['cutScrollBoard'].updateRows(cutArr)
} else if (this.cutWsData.type === 'cutting' && this.cutWsData.name === 'chart' && this.cutWsData.dateType === 'day') { } else if (this.cutWsData.type === 'cutting' && this.cutWsData.name === 'chart' && this.cutWsData.dateType === 'day') {
let nameList = [] let nameList = []
let nameWasteList = [] let nameWasteList = []
@ -590,21 +584,19 @@ export default {
// this.cutTableDataList = // this.cutTableDataList =
this.cutWsData.coldDetData.forEach((ele, index) => { this.cutWsData.coldDetData.forEach((ele, index) => {
nameList.push(ele.lineName) nameList.push(ele.lineName)
topNameList.push('产线: ' + ele.lineName + ' ' + '总面积:' + ele.sumArea + '㎡') topNameList.push('产线: ' + ele.lineName + ' ' + '总面积:' + ele.sumArea)
productList.push(ele.productArea) productList.push(ele.productArea)
wasteList.push(ele.wastArea) wasteList.push(ele.wastArea)
nameWasteList.push('缺陷面积:' + ele.wastArea + '㎡') nameWasteList.push('缺陷面积:' + ele.wastArea)
sumAreaList.push(ele.sumArea) sumAreaList.push(ele.sumArea)
yieldList.push(parseFloat((ele.yield * 100).toFixed(3))) yieldList.push(parseFloat((ele.yield * 100).toFixed(3)))
}) })
this.$nextTick(() => {
this.$refs.firstPileChart.initChart(nameList, [topNameList[0]], [nameWasteList[0]], [productList[0]], [wasteList[0]]) this.$refs.firstPileChart.initChart(nameList, [topNameList[0]], [nameWasteList[0]], [productList[0]], [wasteList[0]])
this.$refs.secondPileChart.initChart(nameList, [topNameList[1]], [nameWasteList[1]], [productList[1]], [wasteList[1]]) this.$refs.secondPileChart.initChart(nameList, [topNameList[1]], [nameWasteList[1]], [productList[1]], [wasteList[1]])
this.$refs.thirdPileChart.initChart(nameList, [topNameList[0]], [nameWasteList[0]], [productList[0]], [wasteList[0]]) this.$refs.thirdPileChart.initChart(nameList, [topNameList[0]], [nameWasteList[0]], [productList[0]], [wasteList[0]])
this.$refs.fourthPileChart.initChart(nameList, [topNameList[0]], [nameWasteList[0]], [productList[0]], [wasteList[0]]) this.$refs.fourthPileChart.initChart(nameList, [topNameList[0]], [nameWasteList[0]], [productList[0]], [wasteList[0]])
this.$refs.fifthPileChart.initChart(nameList, [topNameList[0]], [nameWasteList[0]], [productList[0]], [wasteList[0]]) this.$refs.fifthPileChart.initChart(nameList, [topNameList[0]], [nameWasteList[0]], [productList[0]], [wasteList[0]])
this.$refs.productChart.initChart(nameList, yieldList, sumAreaList) this.$refs.productChart.initChart(nameList, yieldList, sumAreaList)
})
} }
}; };
// if (typeof (WebSocket) === 'undefined') { // if (typeof (WebSocket) === 'undefined') {
@ -650,9 +642,7 @@ export default {
]) ])
} }
this.annealFunConfig.data = arr this.annealFunConfig.data = arr
// this.$nextTick(() => {
this.$refs['annealFunScrollBoard'].updateRows(arr) this.$refs['annealFunScrollBoard'].updateRows(arr)
// })
} }
if (this.funWsData.type === 'FanInfo') { if (this.funWsData.type === 'FanInfo') {
let arr = [] let arr = []
@ -667,9 +657,7 @@ export default {
]) ])
} }
this.funConfig.data = arr this.funConfig.data = arr
// this.$nextTick(() => {
this.$refs['funScrollBoard'].updateRows(arr) this.$refs['funScrollBoard'].updateRows(arr)
// })
} }
}; };
// if (typeof (WebSocket) === 'undefined') { // if (typeof (WebSocket) === 'undefined') {
@ -806,7 +794,7 @@ export default {
top: 25px; top: 25px;
color: rgba(255, 255, 255, 0.80); color: rgba(255, 255, 255, 0.80);
font-size: 20px; font-size: 20px;
letter-spacing: 1px; letter-spacing: 0px;
} }
.time { .time {
@ -815,7 +803,7 @@ export default {
color: rgba(255, 255, 255, 0.80); color: rgba(255, 255, 255, 0.80);
top: 25px; top: 25px;
font-size: 20px; font-size: 20px;
letter-spacing: .72px; letter-spacing: 0px;
} }
.title-button { .title-button {

View File

@ -2,7 +2,7 @@
* @Author: zwq * @Author: zwq
* @Date: 2022-01-21 14:43:06 * @Date: 2022-01-21 14:43:06
* @LastEditors: zhp * @LastEditors: zhp
* @LastEditTime: 2024-03-29 14:50:50 * @LastEditTime: 2024-03-28 16:45:24
* @Description: * @Description:
--> -->
<template> <template>
@ -158,9 +158,6 @@ export default {
methods: { methods: {
initChart() { initChart() {
this.chart = echarts.init(document.getElementById(this.id)) this.chart = echarts.init(document.getElementById(this.id))
this.$nextTick(() => {
this.chart.resize();
});
this.chart.setOption({ this.chart.setOption({
title: this.showCenterTitle title: this.showCenterTitle
? { ? {

View File

@ -2,7 +2,7 @@
* @Author: gtz * @Author: gtz
* @Date: 2022-01-19 15:58:17 * @Date: 2022-01-19 15:58:17
* @LastEditors: zhp * @LastEditors: zhp
* @LastEditTime: 2024-03-29 14:47:29 * @LastEditTime: 2024-03-27 10:26:35
* @Description: file content * @Description: file content
* @FilePath: \mt-bus-fe\src\views\OperationalOverview\components\baseContainer\index.vue * @FilePath: \mt-bus-fe\src\views\OperationalOverview\components\baseContainer\index.vue
--> -->
@ -164,7 +164,7 @@ export default {
width: 100%; width: 100%;
// background-color: rgba($color: #061027, $alpha: 0.15); // background-color: rgba($color: #061027, $alpha: 0.15);
position: relative; position: relative;
// opacity: calc(.8); opacity: calc(.8);
// border: 2px solid; // border: 2px solid;
// background: url('../../../../assets/img/energy.png') no-repeat; // background: url('../../../../assets/img/energy.png') no-repeat;
// background-size: 100% 100%; // background-size: 100% 100%;
@ -274,8 +274,6 @@ export default {
width: 100%; width: 100%;
color: #ffffff; color: #ffffff;
font-size: 24px; font-size: 24px;
font-weight: normal;
letter-spacing: .8px;
padding: 0.67em 0.67em 0.3em 0.67em; padding: 0.67em 0.67em 0.3em 0.67em;
display: flex; display: flex;
} }

View File

@ -2,7 +2,7 @@
<!-- <!--
* @Author: zhp * @Author: zhp
* @Date: 2023-09-21 09:06:28 * @Date: 2023-09-21 09:06:28
* @LastEditTime: 2024-03-29 16:25:59 * @LastEditTime: 2024-03-25 18:34:58
* @LastEditors: zhp * @LastEditors: zhp
* @Description: * @Description:
--> -->
@ -71,9 +71,9 @@ export default {
mounted() { mounted() {
console.log('mounted') console.log('mounted')
console.log('borderRadius: ', this.borderRadius) console.log('borderRadius: ', this.borderRadius)
this.$el.addEventListener('resize', () => { // this.$nextTick(() => {
console.log('resziing.....'); // this.initChart()
}); // })
}, },
beforeDestroy() { beforeDestroy() {
if (!this.chart) { if (!this.chart) {
@ -114,7 +114,6 @@ export default {
name: '产线良品率', name: '产线良品率',
symbol: 'circle', // symbol: 'circle', //
type: 'line', type: 'line',
// symbolSize: 7,
yAxisIndex: 0, yAxisIndex: 0,
areaStyle: { areaStyle: {
opacity: 0.8, opacity: 0.8,
@ -142,16 +141,6 @@ export default {
] ]
// const colors = ['#5470C6', '#91CC75', '#EE6666'] // const colors = ['#5470C6', '#91CC75', '#EE6666']
this.chart = echarts.init(document.getElementById(this.id)) this.chart = echarts.init(document.getElementById(this.id))
let isFinished = false // isFinished
this.chart.on('finished', _ => {
if (!isFinished) {
console.log('我只执行一次')
isFinished = true
// this.isLoading = false //loading
this.chart.resize() //charts
}
console.log(113, 'finished')
})
this.chart.setOption({ this.chart.setOption({
// color: colors, // color: colors,
tooltip: { tooltip: {
@ -162,33 +151,22 @@ export default {
}, },
grid: { grid: {
left: "3%", left: "3%",
right: "10%", right: "5%",
bottom: "3%", bottom: "3%",
containLabel: true containLabel: true
}, },
legend: { legend: {
itemWidth: 10, itemWidth: 10,
itemHeight: 10, itemHeight: 10,
top: '5', top: '20',
right: '20px', // right: '20px',
data: [ data: ['产线产量', '产线良品率'],
// { icon: 'rect', name: '访' },
{ icon: 'roundRect', name: '产线产量' },
{
icon: 'circle', name: '产线良品率',
itemWidth: 7,
itemHeight: 7,
},
],
textStyle: { textStyle: {
fontSize: 12 * this.beilv, fontSize: 12 * this.beilv,
color: '#ced1d5' color: '#ced1d5'
} }
}, },
xAxis: { xAxis: {
axisTick: {
show: false
},
type: 'category', type: 'category',
axisLine: { axisLine: {
lineStyle: { lineStyle: {
@ -224,7 +202,7 @@ export default {
type: 'value', type: 'value',
name: '良品率/%', name: '良品率/%',
nameTextStyle: {// y nameTextStyle: {// y
color: 'rgba(255,255,255,0.5)', // color: '#fff',
align: "left", align: "left",
}, },
position: 'right', position: 'right',
@ -267,7 +245,7 @@ export default {
type: 'value', type: 'value',
name: '产量/㎡', // y name: '产量/㎡', // y
nameTextStyle: { nameTextStyle: {
color: 'rgba(255,255,255,0.5)', // color: "#fff",
// fontSize: 10, // fontSize: 10,
align: "right", align: "right",
}, },

View File

@ -1,7 +1,7 @@
<!-- <!--
* @Author: zhp * @Author: zhp
* @Date: 2023-09-21 09:06:28 * @Date: 2023-09-21 09:06:28
* @LastEditTime: 2024-03-29 16:26:28 * @LastEditTime: 2024-03-28 16:31:20
* @LastEditors: zhp * @LastEditors: zhp
* @Description: * @Description:
--> -->
@ -106,8 +106,7 @@ export default {
position: 'top', // position: 'top', //
textStyle: { // textStyle: { //
color: '#ced1d5', color: '#ced1d5',
fontSize: 12, fontSize: 12
fontWight:'bolder'
} }
}, },
} }
@ -143,7 +142,7 @@ export default {
} }
}, },
// data: passRateList // data: passRateList
data: passRateList data: []
} }
] ]
// const colors = ['#5470C6', '#91CC75', '#EE6666'] // const colors = ['#5470C6', '#91CC75', '#EE6666']
@ -167,7 +166,7 @@ export default {
type: 'cross' type: 'cross'
} }
}, },
grid: { top: 90, right: 70, bottom: 20, left: 20, containLabel: true }, grid: { top: 90, right: 60, bottom: 20, left: 20, containLabel: true },
legend: { legend: {
itemWidth: 10, itemWidth: 10,
itemHeight: 10, itemHeight: 10,
@ -176,14 +175,10 @@ export default {
data: ['产线产量', '产线良品率'], data: ['产线产量', '产线良品率'],
textStyle: { textStyle: {
fontSize: 12 * this.beilv, fontSize: 12 * this.beilv,
color: '#ced1d5', color: '#ced1d5'
fontWight: 'bolder'
} }
}, },
xAxis: { xAxis: {
axisTick: {
show: false
},
type: 'category', type: 'category',
axisLine: { axisLine: {
lineStyle: { lineStyle: {
@ -192,11 +187,8 @@ export default {
width: '1' // 线 width: '1' // 线
} }
}, },
textStyle: {
fontWight: 'bolder'
},
axisLabel: { axisLabel: {
color: 'rgba(255,255,255,0.5)', // color: "#fff",
fontSize: 12, fontSize: 12,
// formatter: '{value}' // formatter: '{value}'
// textStyle: { // textStyle: {
@ -225,7 +217,7 @@ export default {
type: 'value', type: 'value',
name: '良品率/%', name: '良品率/%',
nameTextStyle: {// y nameTextStyle: {// y
color: 'rgba(255,255,255,0.5)', // color: '#fff',
align: "left", align: "left",
}, },
position: 'right', position: 'right',
@ -239,7 +231,7 @@ export default {
} }
}, },
axisLabel: { axisLabel: {
color: 'rgba(255,255,255,0.5)', // color: "#fff",
fontSize: 12, fontSize: 12,
// formatter: '{value}' // formatter: '{value}'
formatter: '{value}%' formatter: '{value}%'
@ -269,7 +261,7 @@ export default {
type: 'value', type: 'value',
name: '产量/片', // y name: '产量/片', // y
nameTextStyle: { nameTextStyle: {
color: 'rgba(255,255,255,0.5)', // color: "#fff",
// fontSize: 10, // fontSize: 10,
align: "right", align: "right",
}, },
@ -286,7 +278,7 @@ export default {
axisLabel: { axisLabel: {
// textStyle: { // textStyle: {
// color: 'rgba(255,255,255,0.5)', // // color: 'rgba(255,255,255,0.5)', //
color: 'rgba(255,255,255,0.5)', // color: "#fff",
// show: true, // show: true,
lineStyle: { lineStyle: {
color: "#25528f", color: "#25528f",

View File

@ -111,9 +111,8 @@ export default {
show: true, // show: true, //
position: 'top', // position: 'top', //
textStyle: { // textStyle: { //
color: 'rgba(255,255,255,0.5)', // color: '#ced1d5',
fontSize: 12, fontSize: 12
fontWeight: 'bolder'
} }
}, },
} }
@ -145,9 +144,6 @@ export default {
// } // }
// }, // },
xAxis: { xAxis: {
axisTick: {
show: false
},
type: 'category', type: 'category',
axisLine: { axisLine: {
lineStyle: { lineStyle: {
@ -156,11 +152,8 @@ export default {
width: '1' // 线 width: '1' // 线
} }
}, },
textStyle: {
fontWeight: 'bolder'
},
axisLabel: { axisLabel: {
color: 'rgba(255,255,255,0.5)', // color: "#fff",
fontSize: 12, fontSize: 12,
// formatter: '{value}' // formatter: '{value}'
}, },
@ -174,13 +167,13 @@ export default {
yAxis: { yAxis: {
name: '单位kwh', name: '单位kwh',
nameTextStyle: { nameTextStyle: {
color: 'rgba(255,255,255,0.5)', // color: '#fff',
fontSize: 10, fontSize: 10,
align: 'right', align: 'right',
}, },
type: 'value', type: 'value',
axisLabel: { axisLabel: {
color: 'rgba(255,255,255,0.5)', // color: "#fff",
fontSize: 12, fontSize: 12,
// formatter: '{value}/kwh' // formatter: '{value}/kwh'
}, },

View File

@ -1,13 +1,13 @@
<!-- <!--
* @Author: zhp * @Author: zhp
* @Date: 2023-12-27 13:54:52 * @Date: 2023-12-27 13:54:52
* @LastEditTime: 2024-03-29 16:50:47 * @LastEditTime: 2024-03-28 16:30:14
* @LastEditors: zhp * @LastEditors: zhp
* @Description: * @Description:
--> -->
<template> <template>
<div> <div>
<div :id="id" class="productChart" :style="{ height:'80px', width: width }" /> <div :id="id" class="productChart" :style="{ height: height + 'px', width: width }" />
</div> </div>
</template> </template>
@ -106,6 +106,7 @@ export default {
} }
// } // }
console.log('total', totalData) console.log('total', totalData)
this.chart = echarts.init(document.getElementById(this.id))
const series = [ const series = [
'良品', '良品',
'废品', '废品',
@ -136,17 +137,6 @@ export default {
// width, // width,
// height // height
// }) // })
this.chart = echarts.init(document.getElementById(this.id))
let isFinished = false // isFinished
this.chart.on('finished', _ => {
if (!isFinished) {
console.log('我只执行一次')
isFinished = true
// this.isLoading = false //loading
this.chart.resize() //charts
}
console.log(113, 'finished')
})
this.chart.setOption({ this.chart.setOption({
legend: { legend: {
formatter: function (name) { formatter: function (name) {
@ -162,8 +152,7 @@ export default {
left: '20', left: '20',
icon: 'rect', icon: 'rect',
textStyle: { textStyle: {
color: 'rgba(255,255,255,.6)', color: '#ffffff'
fontSize:12,
} }
}, },
grid: { grid: {
@ -195,9 +184,9 @@ export default {
splitNumber: 50, splitNumber: 50,
// boundaryGap: [20, 20], // boundaryGap: [20, 20],
textStyle: { textStyle: {
color: 'rgba(255,255,255,.6)', color: '#ffffff',
verticalAlign: 'bottom', verticalAlign: 'bottom',
fontSize: 16, fontSize: 12,
align: 'left', align: 'left',
padding: [0, 0, 10, -5] padding: [0, 0, 10, -5]
} }
@ -223,9 +212,9 @@ export default {
splitNumber: 50, splitNumber: 50,
// boundaryGap: [20, 20], // boundaryGap: [20, 20],
textStyle: { textStyle: {
color: 'rgba(255,255,255,.6)', color: '#ffffff',
verticalAlign: 'bottom', verticalAlign: 'bottom',
fontSize: 16, fontSize: 12,
align: 'right', align: 'right',
padding: [0, 0, 10, -5] padding: [0, 0, 10, -5]
} }

View File

@ -2,7 +2,7 @@
* @Author: zwq * @Author: zwq
* @Date: 2021-07-19 15:18:30 * @Date: 2021-07-19 15:18:30
* @LastEditors: zhp * @LastEditors: zhp
* @LastEditTime: 2024-03-29 16:49:09 * @LastEditTime: 2024-03-28 16:10:47
* @Description: * @Description:
--> -->
<template> <template>
@ -10,41 +10,40 @@
<el-row class="container-title" :style="{ <el-row class="container-title" :style="{
height: 88 + 'px', height: 88 + 'px',
lineHeight: 88 + 'px', lineHeight: 88 + 'px',
fontSize: 31 + 'px', fontSize: 31 + 'px'
}"> }">
<img src="../../assets/img/logo.png" style="width: 1.1em; position: relative; top: 0.22em" alt="" /> <img src="../../assets/img/logo.png" style="width:1.1em;position:relative;top:.22em" alt="">
许昌安彩深加工看板 许昌安彩深加工看板
<h3 class="unit">单位河南汇融数字科技有限公司</h3> <h3 class="unit">单位河南汇融数字科技有限公司</h3>
<h3 class="time">{{ times }}</h3> <h3 class="time">{{ times }}</h3>
<!-- <el-button type="text" class="title-button" :style="{ right: 18 + 'px', top: 26 + 'px',fontSize:'32px'}" <el-button type="text" class="title-button" :style="{ right: 18 + 'px', top: 26 + 'px',fontSize:'32px'}"
@click="changeFullScreen"> @click="changeFullScreen">
<svg-icon width="32" height="32" v-if="isFullScreen" icon-class="unFullScreenView" /> <svg-icon width="32" height="32" v-if="isFullScreen" icon-class="unFullScreenView" />
<svg-icon width="32" height="32" v-else icon-class="fullScreenView" /> <svg-icon width="32" height="32" v-else icon-class="fullScreenView" />
</el-button> --> </el-button>
</el-row> </el-row>
<el-row class="container-main flex-col" type="flex"> <el-row class="container-main flex-col" type="flex">
<el-row :style="{ padding: '0 ' + 9 + 'px' }" :gutter="15" type="flex" class="flex-1" style="height: 50%"> <el-row :style="{ padding: '0 ' + 9 + 'px' }" :gutter="15" type="flex" class="flex-1" style="height: 50%;">
<el-col :style="{ margin: 8 + 'px' + ' 0' }" :span="8" height="100%"> <el-col :style="{ margin: 8 + 'px' + ' 0' }" :span="8" height="100%">
<base-container :title="'设备报警'" :size="'small'" :height="318" :title-icon="'eqAlarm'"> <base-container :title="'设备报警'" :size="'small'" :height="318" :title-icon="'eqAlarm'">
<dv-scroll-board class="eqTable" :config="eqConfig" style="width: 100%; height: 350px" <dv-scroll-board class="eqTable" :config="eqConfig" style="width:100%;height:350px" ref='eqScrollBoard' />
ref="eqScrollBoard" />
</base-container> </base-container>
</el-col> </el-col>
<el-col :style="{ margin: 8 + 'px' + ' 0' }" :span="8" height="100%"> <el-col :style="{ margin: 8 + 'px' + ' 0' }" :span="8" height="100%">
<base-container :title="'各工序缺陷汇总'" :size="'small'" :title-icon="'scrap'"> <base-container :title="'各工序缺陷汇总'" :size="'small'" :title-icon="'scrap'">
<dv-scroll-board :config="processConfig" style="width: 100%; height: 350px" ref="processScrollBoard" /> <dv-scroll-board :config="processConfig" style="width:100%;height:350px" ref='processScrollBoard' />
</base-container> </base-container>
</el-col> </el-col>
<el-col :style="{ margin: 8 + 'px' + ' 0' }" :span="8" height="100%"> <el-col :style="{ margin: 8 + 'px' + ' 0' }" :span="8" height="100%">
<base-container :height="318" :size="'small'" :title="'工单监控'" :title-icon="'eqMonitoring'"> <base-container :height="318" :size="'small'" :title="'工单监控'" :title-icon="'eqMonitoring'">
<div class="order" style="width: 100%; overflow: hidden scroll; height: 350px"> <div class="order" style="width:100%; overflow: hidden scroll;height: 350px;">
<el-row v-for="op in orderList" :key="op.id" style="margin-bottom: 1em"> <el-row v-for="op in orderList" :key="op.id" style="margin-bottom: 1em">
<!-- <el-col :span="12"> --> <!-- <el-col :span="12"> -->
<p class="now-secondary-title" style="font-size: 14px;opacity: calc(.6);">{{ op.name }}</p> <p class="now-secondary-title">{{ op.name }}</p>
<el-progress style="width: 610px;" text-color="rgba(255, 255, 255, .6)" :stroke-width="10" <el-progress :stroke-width="10" define-back-color="rgba(32, 57, 96, 1)" text-color="white"
define-back-color="rgba(32, 57, 96, 1)" :percentage="op.progressRate" class="custom-progress-bar" /> :percentage="op.progressRate" class="custom-progress-bar" />
</el-row> </el-row>
</div> </div>
<!-- </div> --> <!-- </div> -->
@ -67,7 +66,7 @@
<el-col :style="{ margin: 8 + 'px' + ' 0' }" :span="12"> <el-col :style="{ margin: 8 + 'px' + ' 0' }" :span="12">
<base-container :show-time="true" :no-content-padding="true" :height="318 + 338 + 16" :size="'eqStatus'" <base-container :show-time="true" :no-content-padding="true" :height="318 + 338 + 16" :size="'eqStatus'"
:title="'产线产量及良品率'" :title-icon="'productLine'"> :title="'产线产量及良品率'" :title-icon="'productLine'">
<double-y-chart ref="productLineChart" :id="'doubleYChart'" :height="390" :show-legend="true" /> <double-y-chart ref="productLineChart" :id=" 'doubleYChart' " :height="390" :show-legend="true" />
</base-container> </base-container>
</el-col> </el-col>
</el-row> </el-row>
@ -76,175 +75,105 @@
</template> </template>
<script> <script>
import baseContainer from './components/baseContainer'; import baseContainer from './components/baseContainer'
import baseTable1 from './components/baseTable'; import baseTable1 from './components/baseTable'
import screenfull from 'screenfull'; import screenfull from 'screenfull'
import doubleYChart from './components/doubleYChart '; import doubleYChart from './components/doubleYChart '
import LinearBarChart from './components/linearBarChart'; import LinearBarChart from './components/linearBarChart'
import WebSocketHeartbeat from './ws.js'; import WebSocketHeartbeat from './ws.js';
// WebSocketHeartbeat // WebSocketHeartbeat
const qualityYearList = [ const qualityYearList = [
{ {
name: '翻转机', name: '翻转机', code: 'EQ20240110112358000235', status: '运行', error: '否'
code: 'EQ20240110112358000235',
status: '运行',
error: '否',
}, },
{ {
name: '烘干炉', name: '烘干炉', code: 'EQ20240110112537000241', status: '运行', error: '否'
code: 'EQ20240110112537000241',
status: '运行',
error: '否',
}, },
{ {
name: '清洗机', name: '清洗机', code: ' EQ20240110112310000232', status: '运行', error: '否'
code: ' EQ20240110112310000232', },
status: '运行', { name: '钢化清洗机', code: 'EQ20240110111700000208', status: '运行', error: '否' },
error: '否', { name: '固化机', code: 'EQ20240110111700000201', status: '运行', error: '否' },
{
name: '磨边清洗机', code: ' EQ20240110111700000208', status: '运行', error: '否'
},
{ name: '预热机', code: 'EQ20240110111700000205', status: '故障', error: '是' },
{ name: '下片机', code: 'EQ20240115151435000279', status: '运行', error: '否' },
{
name: '冷却机', code: 'EQ20240110111700000203', status: '运行', error: '否'
}, },
{ {
name: '钢化清洗机', name: 'A储片机106', code: 'EQ20240110111700000202', status: '运行', error: '否'
code: 'EQ20240110111700000208',
status: '运行',
error: '否',
}, },
{ name: '二次清洗机', code: 'EQ20240110111700000209', status: '运行', error: '否' },
{ {
name: '固化机', name: '二次磨边机', code: ' EQ20240110110927000181', status: '故障', error: '是'
code: 'EQ20240110111700000201',
status: '运行',
error: '否',
}, },
{ { name: '测试设备', code: 'EQ20240110111700000201', status: '运行', error: '否' }
name: '磨边清洗机', ]
code: ' EQ20240110111700000208',
status: '运行',
error: '否',
},
{
name: '预热机',
code: 'EQ20240110111700000205',
status: '故障',
error: '是',
},
{
name: '下片机',
code: 'EQ20240115151435000279',
status: '运行',
error: '否',
},
{
name: '冷却机',
code: 'EQ20240110111700000203',
status: '运行',
error: '否',
},
{
name: 'A储片机106',
code: 'EQ20240110111700000202',
status: '运行',
error: '否',
},
{
name: '二次清洗机',
code: 'EQ20240110111700000209',
status: '运行',
error: '否',
},
{
name: '二次磨边机',
code: ' EQ20240110110927000181',
status: '故障',
error: '是',
},
{
name: '测试设备',
code: 'EQ20240110111700000201',
status: '运行',
error: '否',
},
];
const qualityMonthList = [ const qualityMonthList = [
{ {
productionLineName: 'D61', productionLineName: 'D61',
sectionName: '成型', sectionName: '成型',
count: '3片', count: '3片',
inspectionTypeName: '细长泡', inspectionTypeName: '细长泡'
}, },
{ {
productionLineName: 'D62', productionLineName: 'D62',
sectionName: '组合落板', sectionName: '组合落板',
count: '4片', count: '4片',
inspectionTypeName: '细长泡', inspectionTypeName: '细长泡'
}, },
{ {
productionLineName: 'D61', productionLineName: 'D61',
sectionName: '磨边', sectionName: '磨边',
count: '6片', count: '6片',
inspectionTypeName: '开口泡', inspectionTypeName: '开口泡'
}, },
{ {
productionLineName: 'D63', productionLineName: 'D63',
sectionName: '清洗', sectionName: '清洗',
count: '5片', count: '5片',
inspectionTypeName: '结石', inspectionTypeName: '结石'
}, },
{ {
productionLineName: 'D64', productionLineName: 'D64',
sectionName: '打孔', sectionName: '打孔',
count: '2片', count: '2片',
inspectionTypeName: '结石', inspectionTypeName: '结石'
}, },
{ {
productionLineName: 'D63', productionLineName: 'D63',
sectionName: '成型', sectionName: '成型',
count: '7片', count: '7片',
inspectionTypeName: '开口泡', inspectionTypeName: '开口泡'
}, },
{ {
productionLineName: 'D61', productionLineName: 'D61',
sectionName: '上片', sectionName: '上片',
count: '8片', count: '8片',
inspectionTypeName: '结石', inspectionTypeName: '结石'
}, }
]; ]
const orderProcessList = [ const orderProcessList = [
{ {
id: '1', id: '1', outRate: '.8', name: '凯盛0322'
outRate: '.8', }, {
name: '凯盛0322', id: '2', outRate: '.4', name: '光伏玻璃4.0'
}, {
id: '3', outRate: '.5', name: '光伏玻璃3.0'
}, {
id: '4', outRate: '.3', name: '光伏玻璃2.0'
}, {
id: '5', outRate: '.5', name: '光伏玻璃1.0'
}, {
id: '6', outRate: '.8', name: '光伏玻璃'
}, },
{ {
id: '2', id: '7', outRate: '.8', name: '统计订单'
outRate: '.4', }
name: '光伏玻璃4.0', ]
},
{
id: '3',
outRate: '.5',
name: '光伏玻璃3.0',
},
{
id: '4',
outRate: '.3',
name: '光伏玻璃2.0',
},
{
id: '5',
outRate: '.5',
name: '光伏玻璃1.0',
},
{
id: '6',
outRate: '.8',
name: '光伏玻璃',
},
{
id: '7',
outRate: '.8',
name: '统计订单',
},
];
export default { export default {
name: 'ProductionMonitoringCockpit', name: 'ProductionMonitoringCockpit',
components: { components: {
@ -254,7 +183,7 @@ export default {
// baseTable3, // baseTable3,
// TopRadioGroup, // TopRadioGroup,
doubleYChart, doubleYChart,
LinearBarChart, LinearBarChart
// pieChart1, // pieChart1,
// pieChart2 // pieChart2
// pieChart3 // pieChart3
@ -265,7 +194,7 @@ export default {
beilv2: 1, beilv2: 1,
beilv: 1, beilv: 1,
value: 100, value: 100,
orderList: [], orderList:[],
times: '', times: '',
EnergyMonitoringNameList: [], EnergyMonitoringNameList: [],
// equipmentList:[], // equipmentList:[],
@ -275,27 +204,27 @@ export default {
headerBGC: 'rgba(32, 55, 96, 0.8)', headerBGC: 'rgba(32, 55, 96, 0.8)',
oddRowBGC: 'rgba(32, 55, 96, 0.8)', oddRowBGC: 'rgba(32, 55, 96, 0.8)',
evenRowBGC: 'rgba(14, 32, 62, 0.8)', evenRowBGC: 'rgba(14, 32, 62, 0.8)',
columnWidth: [70, 100, 200, 90, 90], columnWidth: [70, 100, 200, 90, 90,],
align: ['center'], align: ['center'],
data: [], data: [],
// index:true, // index:true,
rowNum: 10, rowNum: 10
}, },
processConfig: { processConfig: {
header: ['序号', '产线名称', '工序', '损耗片数', '缺陷类型'], header: ['序号', '产线名称', '工序', '损耗片数', '缺陷类型'],
headerBGC: 'rgba(32, 55, 96, 0.8)', headerBGC: 'rgba(32, 55, 96, 0.8)',
oddRowBGC: 'rgba(32, 55, 96, 0.8)', oddRowBGC: 'rgba(32, 55, 96, 0.8)',
evenRowBGC: 'rgba(14, 32, 62, 0.8)', evenRowBGC: 'rgba(14, 32, 62, 0.8)',
columnWidth: [70, 130, 100, 120, 110], columnWidth: [70, 130, 100, 120, 110,],
align: ['center'], align: ['center'],
data: [], data: [],
// index:true, // index:true,
rowNum: 10, rowNum: 10
}, },
// cxDataList, // cxDataList,
SJGws: undefined, SJGws: undefined,
wsHeartbeat: undefined, wsHeartbeat:undefined,
productLineList: [], productLineList:[],
qualityYearList, qualityYearList,
clientWidth: 0, clientWidth: 0,
containerWidth: 111111, containerWidth: 111111,
@ -306,136 +235,127 @@ export default {
// qualityMonthTableProps, // qualityMonthTableProps,
modelMonth: '', modelMonth: '',
dateType: '0', dateType: '0',
}; }
}, },
computed: { computed: {
styles() { styles() {
const v = Math.floor(this.value * this.beilv2 * 100) / 10000; const v = Math.floor(this.value * this.beilv2 * 100) / 10000
return { return {
transform: `scale(${v})`, transform: `scale(${v})`,
transformOrigin: 'top left', transformOrigin: 'top left'
}; }
}, }
}, },
watch: { watch: {
isFullScreen: function (val) { isFullScreen: function (val) {
if (val) { if (val) {
const _this = this; const _this = this;
_this.beilv2 = document.documentElement.clientWidth / 1920; _this.beilv2 = document.documentElement.clientWidth / 1920
console.log(_this.beilv2); console.log(_this.beilv2);
} else { } else {
const _this = this; const _this = this;
_this.beilv2 = document.documentElement.clientWidth / 1920; _this.beilv2 = document.documentElement.clientWidth / 1920
} }
}, },
clientWidth(val) { clientWidth(val) {
if (!this.timer) { if (!this.timer) {
this.clientWidth = val; this.clientWidth = val
this.beilv2 = this.clientWidth / 1920; this.beilv2 = this.clientWidth / 1920
this.timer = true; this.timer = true
let _this = this; let _this = this
setTimeout(function () { setTimeout(function () {
_this.timer = false; _this.timer = false
}, 500); }, 500)
} }
this.windowWidth(val); this.windowWidth(val);
}, }
}, },
created() { created() {
this.getData(); this.init()
this.init();
setTimeout(() => { setTimeout(() => {
window.location.reload(); window.location.reload()
}, 86400000); }, 86400000)
}, },
destroyed() { destroyed () {
this.websocketClose(); this.websocketClose()
this.SJGWebsocketClose(); this.SJGWebsocketClose()
}, },
mounted() { mounted() {
let detData = [ // let detData = [
{
id: '1',
name: '测试工单',
progressRate: 0.933333,
},
{
id: '2',
name: '测试工单2',
progressRate: 0.932323,
},
{
id: '3',
name: '测试工单3',
progressRate: 0.23232,
},
{
id: '4',
name: '测试工单4',
progressRate: 0.32323,
},
// { // {
// id: '5', // id:'1',
// name: '', // name: '',
// progressRate: 0.5555 // progressRate:0.933333
// }, {
// id: '6',
// name: '',
// progressRate: 0.66564
// }, // },
]; // {
this.orderList = detData.map((ele, index) => { // id: '2',
if (ele.progressRate && ele.progressRate != 1) { // name: '2',
return { // progressRate: 0.932323
id: ele.id, // }, {
name: ele.name, // id: '3',
progressRate: parseFloat((ele.progressRate * 100).toFixed(3)), // name: '3',
}; // progressRate: 0.23232
} // }, {
}); // id: '4',
let EnergyNameList = ['Y61', 'Y62', 'Y63', 'Y64', 'Y65']; // name: '4',
this.EnergyMonitoringNameList = EnergyNameList; // progressRate: 0.32323
let EnergyDataList = [1, 2, 3, 4, 5]; // }
// this.wsData.data.forEach((ele) => { // // {
// EnergyDataList.push(ele.useQuantity) // // id: '5',
// }) // // name: '',
this.EnergyMonitoringList = EnergyDataList; // // progressRate: 0.5555
// console.log(EnergyDataList) // // }, {
this.$refs.EnergyMonitoringChart.initChart( // // id: '6',
this.EnergyMonitoringNameList, // // name: '',
this.EnergyMonitoringList // // progressRate: 0.66564
); // // },
let eqArr = this.qualityYearList.map((item, index) => [ // ]
`<span style="color:rgba(255,255,255,0.5)" >${index + 1 || ''} // this.orderList = detData.map((ele, index) => {
</span>`, // if (ele.progressRate && ele.progressRate != 1) {
// formatDate(item.planStartTime) || '', // return {
` // id: ele.id,
<span style="color:rgba(255,255,255,0.5)" >${item.name || ''} // name: ele.name,
</span>`, // progressRate: parseFloat((ele.progressRate * 100).toFixed(3))
`<span style="color:rgba(255,255,255,0.5)">${item.code || ''}</span>`, // }
`<span style="color:rgba(255,255,255,0.5)">${item.status || ''}</span>`, // }
`<span style="color:rgba(255,255,255,0.5)">${item.error || ''}</span>`, // });
]); // let EnergyNameList = ['Y61', 'Y62', 'Y63', 'Y64', 'Y65',]
this.eqConfig.data = eqArr; // this.EnergyMonitoringNameList = EnergyNameList
this.$refs['eqScrollBoard'].updateRows(eqArr); // let EnergyDataList = [1, 2, 3, 4, 5]
this.$refs.productLineChart.initChart( // // this.wsData.data.forEach((ele) => {
['D61', 'D62', 'D63', 'D64', 'D65'], // // EnergyDataList.push(ele.useQuantity)
[98, 97, 98.7, 98.5, 98.3], // // })
[3134, 2323, 3232, 3233, 2321] // this.EnergyMonitoringList = EnergyDataList
); // // console.log(EnergyDataList)
// this.$refs.EnergyMonitoringChart.initChart(this.EnergyMonitoringNameList, this.EnergyMonitoringList)
// let eqArr = this.qualityYearList.map((item, index) => [
// `<span style="color:rgba(255,255,255,0.5)" >${index + 1 || ''}
// </span>`,
// // formatDate(item.planStartTime) || '',
// `
// <span style="color:rgba(255,255,255,0.5)" >${item.name || ''}
// </span>`,
// `<span style="color:rgba(255,255,255,0.5)">${item.code || ''}</span>`,
// `<span style="color:rgba(255,255,255,0.5)">${item.status || ''}</span>`,
// `<span style="color:rgba(255,255,255,0.5)">${item.error || ''}</span>`,
// ])
// this.eqConfig.data = eqArr
// this.$refs['eqScrollBoard'].updateRows(eqArr)
// this.$refs.productLineChart.initChart(['D61', 'D62', 'D63', 'D64', 'D65',], [98, 97, 98.7, 98.5, 98.3,], [3134, 2323, 3232, 3233, 2321])
// this.getList() // this.getList()
this.initWebSocket(); this.initWebSocket()
this.SJGInitWebSocket(); this.SJGInitWebSocket()
this.getTimes(); this.getTimes()
// this.$refs.EnergyMonitoringChart.initChart(['Y61', 'Y62', 'Y63', 'Y64', 'Y65',], [3134, 2323, 3232, 3233, 2321]) // this.$refs.EnergyMonitoringChart.initChart(['Y61', 'Y62', 'Y63', 'Y64', 'Y65',], [3134, 2323, 3232, 3233, 2321])
const _this = this; const _this = this;
_this.beilv2 = document.documentElement.clientWidth / 1920; _this.beilv2 = document.documentElement.clientWidth / 1920
window.onresize = () => { window.onresize = () => {
return (() => { return (() => {
_this.clientWidth = `${document.documentElement.clientWidth}`; _this.clientWidth = `${document.documentElement.clientWidth}`
this.beilv2 = _this.clientWidth / 1920; this.beilv2 = _this.clientWidth / 1920
})(); })()
}; }
this.getData()
}, },
// beforeDestroy() { // beforeDestroy() {
@ -451,22 +371,14 @@ export default {
</span>`, </span>`,
// formatDate(item.planStartTime) || '', // formatDate(item.planStartTime) || '',
` `
<span style="color:rgba(255,255,255,0.5)" >${ <span style="color:rgba(255,255,255,0.5)" >${item.productionLineName || ''}
item.productionLineName || ''
}
</span>`, </span>`,
`<span style="color:rgba(255,255,255,0.5)">${ `<span style="color:rgba(255,255,255,0.5)">${item.sectionName || ''}</span>`,
item.sectionName || ''
}</span>`,
`<span style="color:rgba(255,255,255,0.5)">${item.count || ''}</span>`, `<span style="color:rgba(255,255,255,0.5)">${item.count || ''}</span>`,
`<span style="color:rgba(255,255,255,0.5)">${ `<span style="color:rgba(255,255,255,0.5)">${item.inspectionTypeName || ''}</span>`,
item.inspectionTypeName || '' ])
}</span>`, this.processConfig.data = processArr
]); this.$refs['processScrollBoard'].updateRows(processArr)
this.processConfig.data = processArr;
// this.$nextTick(() => {
this.$refs['processScrollBoard'].updateRows(processArr);
// })
}, },
// getList() { // getList() {
// // this.$axios.get( // // this.$axios.get(
@ -527,55 +439,41 @@ export default {
let seconds = new Date().getSeconds(); // let seconds = new Date().getSeconds(); //
// 10 0 // 10 0
if (hours < 10) { if (hours < 10) {
hours = '0' + hours; hours = "0" + hours;
} }
if (minutes < 10) { if (minutes < 10) {
minutes = '0' + minutes; minutes = "0" + minutes;
} }
if (seconds < 10) { if (seconds < 10) {
seconds = '0' + seconds; seconds = "0" + seconds;
} }
// //
this.times = this.times = year + "-" + month + "-" + day + " " + hours + ":" + minutes + ":" + seconds;
year +
'.' +
month +
'.' +
day +
' ' +
hours +
':' +
minutes +
':' +
seconds;
}, },
initWebSocket() { initWebSocket() {
let date = new Date().valueOf(); let date = new Date().valueOf()
const wsUrl = const wsUrl = process.env.VUE_APP_Socket_API + `/websocket/message?userId=EN${date}`
process.env.VUE_APP_Socket_API + `/websocket/message?userId=EN${date}`;
this.wsHeartbeat = new WebSocketHeartbeat(wsUrl); this.wsHeartbeat = new WebSocketHeartbeat(wsUrl);
// //
this.wsHeartbeat.ws.onmessage = (event) => { this.wsHeartbeat.ws.onmessage = (event) => {
console.log('收到消息:', event.data); console.log('收到消息:', event.data)
this.wsData = event?.data ? JSON.parse(event?.data) : {}; this.wsData = event?.data ? JSON.parse(event?.data) : {}
// console.log('22222', this.wsData.data) // console.log('22222', this.wsData.data)
if (this.wsData.type === 'EnergyMonitoring') { if (this.wsData.type === 'EnergyMonitoring') {
let EnergyNameList = []; let EnergyNameList = []
this.wsData.data.forEach((ele) => { this.wsData.data.forEach((ele) => {
EnergyNameList.push(ele.lineName); EnergyNameList.push(ele.lineName)
});
this.EnergyMonitoringNameList = EnergyNameList;
let EnergyDataList = [];
this.wsData.data.forEach((ele) => {
EnergyDataList.push(ele.useQuantity);
});
this.EnergyMonitoringList = EnergyDataList;
console.log(EnergyDataList);
this.$nextTick(() => {
this.$refs.EnergyMonitoringChart.initChart(this.EnergyMonitoringNameList,this.EnergyMonitoringList);
}) })
this.EnergyMonitoringNameList = EnergyNameList
let EnergyDataList = []
this.wsData.data.forEach((ele) => {
EnergyDataList.push(ele.useQuantity
)
})
this.EnergyMonitoringList = EnergyDataList
console.log(EnergyDataList)
this.$refs.EnergyMonitoringChart.initChart(this.EnergyMonitoringNameList, this.EnergyMonitoringList)
} }
}; };
// if (typeof (WebSocket) === 'undefined') { // if (typeof (WebSocket) === 'undefined') {
@ -597,15 +495,14 @@ export default {
// } // }
}, },
SJGInitWebSocket() { SJGInitWebSocket() {
let date = new Date().valueOf(); let date = new Date().valueOf()
const SJGWsUrl = const SJGWsUrl = process.env.VUE_APP_Socket_API + `/websocket/message?userId=SJG${date}`
process.env.VUE_APP_Socket_API + `/websocket/message?userId=SJG${date}`;
this.SJGws = new WebSocketHeartbeat(SJGWsUrl); this.SJGws = new WebSocketHeartbeat(SJGWsUrl);
// //
this.SJGws.ws.onmessage = (event) => { this.SJGws.ws.onmessage = (event) => {
console.log('收到消息:', event.data); console.log('收到消息:', event.data)
this.SJGWsData = event?.data ? JSON.parse(event?.data) : {}; this.SJGWsData = event?.data ? JSON.parse(event?.data) : {}
// console.log(this.wsData.detData); // console.log(this.wsData.detData);
// console.log('22222', this.wsData.data) // console.log('22222', this.wsData.data)
if (this.SJGWsData.type === 'order') { if (this.SJGWsData.type === 'order') {
@ -614,87 +511,69 @@ export default {
return { return {
id: ele.id, id: ele.id,
name: ele.name, name: ele.name,
progressRate: parseFloat((ele.progressRate * 100).toFixed(3)), progressRate: parseFloat((ele.progressRate * 100).toFixed(3))
}; }
} }
}); });
console.log(this.orderList); console.log(this.orderList)
} else if (this.SJGWsData.type === 'equipment') { } else if (this.SJGWsData.type === 'equipment') {
let eqArr = this.SJGWsData.detData.map((item, index) => [ let eqArr = this.SJGWsData.detData.map((item, index) => [
`<span style="color:rgba(255,255,255,0.5)" >${index + 1 || ''} `<span style="color:rgba(255,255,255,0.5)" >${index + 1 || ''}
</span>`, </span>`,
`<span style="color:rgba(255,255,255,0.5)" >${item.name || ''} `<span style="color:rgba(255,255,255,0.5)" >${item.name || ''}
</span>`, </span>`,
`<span style="color:rgba(255,255,255,0.5)">${ `<span style="color:rgba(255,255,255,0.5)">${item.code || ''}</span>`,
item.code || '' `<span style="color:rgba(255,255,255,0.5)"><span style="color:rgba(255,255,255,0.5)"></span> ${item.status || ''}</span>`,
}</span>`, `<span style="color:rgba(255,255,255,0.5)">${item.error || ''}</span>`,
`<span style="color:rgba(255,255,255,0.5)"><span style="color:rgba(255,255,255,0.5)"></span> ${ ])
item.status || '' this.eqConfig.data = eqArr
}</span>`, this.$refs['eqScrollBoard'].updateRows(eqArr)
`<span style="color:rgba(255,255,255,0.5)">${
item.error || ''
}</span>`,
]);
this.eqConfig.data = eqArr;
// this.$nextTick(() => {
this.$refs['eqScrollBoard'].updateRows(eqArr);
// })
// console.log(SJGWsData.orderList) // console.log(SJGWsData.orderList)
} else if (this.SJGWsData.type === 'productline') { } else if (this.SJGWsData.type === 'productline') {
console.log('aaaaaaaaaaaaaaaaaaa', this.SJGWsData); console.log('aaaaaaaaaaaaaaaaaaa', this.SJGWsData);
let nameList = []; let nameList = []
let passRateList = []; let passRateList = []
let outputNumList = []; let outputNumList = []
this.SJGWsData.detData.forEach((ele) => { this.SJGWsData.detData.forEach((ele) => {
// if (item.id == ele.productionLineId) { // if (item.id == ele.productionLineId) {
// if (item.name.substr(0, 1) == "D") { // if (item.name.substr(0, 1) == "D") {
// console.log(ele) // console.log(ele)
nameList.push(ele.lineName); nameList.push(ele.lineName)
outputNumList.push(ele.outputNum); outputNumList.push(ele.outputNum)
passRateList.push(ele.passRate); passRateList.push(ele.passRate)
// } // }
// } // }
});
this.$nextTick(() => {
this.$refs.productLineChart.initChart(
nameList,
passRateList,
outputNumList
);
}) })
this.$refs.productLineChart.initChart(nameList, passRateList, outputNumList)
} else if (this.SJGInitWebSocket === 'inspection') { } else if (this.SJGInitWebSocket === 'inspection') {
} }
}; };
}, },
SJGWebsocketClose(e) { SJGWebsocketClose(e) {
this.SJGws.ws.onclose = (event) => { this.SJGws.ws.onclose = (event) => { console.log(event); }
console.log(event);
};
}, },
websocketClose(e) { websocketClose(e) {
this.wsHeartbeat.ws.onclose = (event) => { this.wsHeartbeat.ws.onclose = (event) => { console.log(event); }
console.log(event);
};
}, },
windowWidth(value) { windowWidth(value) {
this.clientWidth = value; this.clientWidth = value
this.beilv2 = this.clientWidth / 1920; this.beilv2 = this.clientWidth / 1920
}, },
change() { change() {
console.log(this.isFullScreen); console.log(this.isFullScreen);
debugger; debugger;
this.isFullScreen = screenfull.isFullscreen; this.isFullScreen = screenfull.isFullscreen
}, },
init() { init() {
console.log(screenfull.isEnabled); console.log(screenfull.isEnabled);
if (screenfull.isEnabled) { if (screenfull.isEnabled) {
debugger; debugger;
screenfull.on('change', this.change); screenfull.on('change', this.change)
} }
}, },
destroy() { destroy() {
if (screenfull.isEnabled) { if (screenfull.isEnabled) {
screenfull.off('change', this.change); screenfull.off('change', this.change)
} }
}, },
changeFullScreen() { changeFullScreen() {
@ -702,17 +581,19 @@ export default {
if (!screenfull.isEnabled) { if (!screenfull.isEnabled) {
this.$message({ this.$message({
message: 'you browser can not work', message: 'you browser can not work',
type: 'warning', type: 'warning'
}); })
return false; return false
} }
screenfull.toggle(); screenfull.toggle()
}, }
}, }
}; }
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.visual-container { .visual-container {
width: 1920px; width: 1920px;
height: 1080px; height: 1080px;
@ -731,17 +612,17 @@ export default {
position: absolute; position: absolute;
left: 290px; left: 290px;
top: 25px; top: 25px;
color: rgba(255, 255, 255, 0.8); color: rgba(255, 255, 255, 0.80);
font-size: 20px; font-size: 20px;
letter-spacing: 1px; letter-spacing: 0px;
} }
.time { .time {
position: absolute; position: absolute;
left: 1360px; left: 1360px;
color: rgba(255, 255, 255, 0.8); color: rgba(255, 255, 255, 0.80);
top: 25px; top: 25px;
font-size: 20px; font-size: 20px;
letter-spacing: 0.72px; letter-spacing: 0px;
} }
.title-button { .title-button {
color: #00fff0; color: #00fff0;
@ -785,17 +666,11 @@ export default {
background-color: unset; background-color: unset;
background-image: linear-gradient(to right, #4573fe, #47f8dc); background-image: linear-gradient(to right, #4573fe, #47f8dc);
} }
::v-deep .el-progress__text { .visual-select {
margin-top: -70px;
margin-left: 490px;
// background-color: unset;
// background-image: linear-gradient(to right, #4573fe, #47f8dc);
}
.visual-select {
position: absolute; position: absolute;
right: 1em; right: 1em;
top: 2em; top: 2em;
} }
// .container-main { // .container-main {
// padding: 5px; // padding: 5px;
@ -841,7 +716,7 @@ export default {
background-color: rgba($color: #5bc4be, $alpha: 1); background-color: rgba($color: #5bc4be, $alpha: 1);
} }
} }
.coldSelect { .coldSelect{
.el-input { .el-input {
min-height: 10px; min-height: 10px;
} }
@ -861,7 +736,7 @@ export default {
} }
} }
.order::-webkit-scrollbar { .order::-webkit-scrollbar {
display: none; display: none
} }
</style> </style>
@ -879,7 +754,7 @@ export default {
/* .container-main { /* .container-main {
min-height: calc(100vh - 10em); min-height: calc(100vh - 10em);
} */ } */
.eqTable { .eqTable{
overflow: hidden; overflow: hidden;
} }
</style> </style>

View File

@ -4,8 +4,7 @@
<SearchBar :formConfigs="searchBarFormConfig" ref="search-bar" @headBtnClick="buttonClick" /> <SearchBar :formConfigs="searchBarFormConfig" ref="search-bar" @headBtnClick="buttonClick" />
<!-- 列表 --> <!-- 列表 -->
<base-table :max-height="tableH" :table-props="tableProps" :page="listQuery.pageNo" :limit="listQuery.pageSize" <base-table :table-props="tableProps" :page="listQuery.pageNo" :limit="listQuery.pageSize" :table-data="tableData">
:table-data="tableData">
<method-btn v-if="tableBtn.length" slot="handleBtn" label="操作" :width="120" fixed="right" :method-list="tableBtn" <method-btn v-if="tableBtn.length" slot="handleBtn" label="操作" :width="120" fixed="right" :method-list="tableBtn"
@clickBtn="handleClick" /> @clickBtn="handleClick" />
</base-table> </base-table>
@ -34,10 +33,10 @@ import {
import basicPage from '../../mixins/basic-page'; import basicPage from '../../mixins/basic-page';
import moment from 'moment'; import moment from 'moment';
import addOrUpdate from './dialogForm.vue'; import addOrUpdate from './dialogForm.vue';
import tableHeightMixin from '@/mixins/lb/tableHeightMixin';
export default { export default {
name: 'QualityInspectionBoxBtn', name: 'QualityInspectionBoxBtn',
mixins: [basicPage, tableHeightMixin], mixins: [basicPage],
components: { addOrUpdate }, components: { addOrUpdate },
data() { data() {
return { return {
@ -115,7 +114,7 @@ export default {
// //
listQuery: { listQuery: {
pageNo: 1, pageNo: 1,
pageSize: 20, pageSize: 10,
inspectionDetContent: null, inspectionDetContent: null,
}, },
addOrUpdateVisible: false, addOrUpdateVisible: false,

View File

@ -4,8 +4,7 @@
<SearchBar :formConfigs="searchBarFormConfig" ref="search-bar" @headBtnClick="buttonClick" /> <SearchBar :formConfigs="searchBarFormConfig" ref="search-bar" @headBtnClick="buttonClick" />
<!-- 列表 --> <!-- 列表 -->
<base-table :max-height="tableH" :table-props="tableProps" :page="listQuery.pageNo" :limit="listQuery.pageSize" <base-table :table-props="tableProps" :page="listQuery.pageNo" :limit="listQuery.pageSize" :table-data="tableData">
:table-data="tableData">
<method-btn v-if="tableBtn.length" slot="handleBtn" label="操作" :width="120" fixed="right" :method-list="tableBtn" <method-btn v-if="tableBtn.length" slot="handleBtn" label="操作" :width="120" fixed="right" :method-list="tableBtn"
@clickBtn="handleClick" /> @clickBtn="handleClick" />
</base-table> </base-table>
@ -35,11 +34,10 @@ import basicPage from './basic-page';
import moment from 'moment'; import moment from 'moment';
import addOrUpdate from './dialogForm.vue'; import addOrUpdate from './dialogForm.vue';
import ProcessBomList from './ProcessBomList.vue'; import ProcessBomList from './ProcessBomList.vue';
import tableHeightMixin from '@/mixins/lb/tableHeightMixin';
import row from './row.vue'; import row from './row.vue';
export default { export default {
name: 'QualityInspectionBoxBtn', name: 'QualityInspectionBoxBtn',
mixins: [basicPage, tableHeightMixin], mixins: [basicPage],
components: { addOrUpdate, ProcessBomList }, components: { addOrUpdate, ProcessBomList },
data() { data() {
return { return {
@ -125,7 +123,7 @@ export default {
// //
listQuery: { listQuery: {
pageNo: 1, pageNo: 1,
pageSize: 20, pageSize: 10,
userName: null, userName: null,
nickName:null nickName:null
}, },

View File

@ -1,7 +1,7 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<search-bar :formConfigs="formConfig" ref="searchBarForm" @headBtnClick="buttonClick" /> <search-bar :formConfigs="formConfig" ref="searchBarForm" @headBtnClick="buttonClick" />
<base-table :max-height="tableH" v-loading="dataListLoading" :table-props="tableProps" :page="listQuery.pageNo" <base-table v-loading="dataListLoading" :table-props="tableProps" :page="listQuery.pageNo"
:limit="listQuery.pageSize" :table-data="tableData"> :limit="listQuery.pageSize" :table-data="tableData">
<method-btn v-if="tableBtn.length" slot="handleBtn" :width="120" label="操作" :method-list="tableBtn" <method-btn v-if="tableBtn.length" slot="handleBtn" :width="120" label="操作" :method-list="tableBtn"
@clickBtn="handleClick" /> @clickBtn="handleClick" />
@ -29,7 +29,6 @@ import {
deleteQualityHotMaterial, deleteQualityHotMaterial,
getHotMaterialAllList getHotMaterialAllList
} from '@/api/base/qualityHotMaterial'; } from '@/api/base/qualityHotMaterial';
import tableHeightMixin from '@/mixins/lb/tableHeightMixin';
// import { getList, } from "@/api/base/qualityScrapType"; // import { getList, } from "@/api/base/qualityScrapType";
const tableProps = [ const tableProps = [
{ {
@ -75,7 +74,7 @@ const tableProps = [
]; ];
export default { export default {
mixins: [basicPage, tableHeightMixin], mixins: [basicPage],
data() { data() {
return { return {
urlOptions: { urlOptions: {
@ -208,7 +207,7 @@ export default {
switch (val.btnName) { switch (val.btnName) {
case 'search': case 'search':
this.listQuery.pageNo = 1; this.listQuery.pageNo = 1;
this.listQuery.pageSize = 20; this.listQuery.pageSize = 10;
this.listQuery.materialId = val.materialId ? val.materialId : undefined; this.listQuery.materialId = val.materialId ? val.materialId : undefined;
this.listQuery.checkTime = val.checkTime ? val.checkTime : undefined; this.listQuery.checkTime = val.checkTime ? val.checkTime : undefined;
this.getDataList(); this.getDataList();
@ -216,7 +215,7 @@ export default {
case 'reset': case 'reset':
this.$refs.searchBarForm.resetForm(); this.$refs.searchBarForm.resetForm();
this.listQuery = { this.listQuery = {
pageSize: 20, pageSize: 10,
pageNo: 1, pageNo: 1,
total: 1, total: 1,
}; };

View File

@ -4,7 +4,7 @@
<SearchBar :formConfigs="searchBarFormConfig" ref="search-bar" @headBtnClick="handleSearchBarBtnClick" /> <SearchBar :formConfigs="searchBarFormConfig" ref="search-bar" @headBtnClick="handleSearchBarBtnClick" />
<!-- 列表 --> <!-- 列表 -->
<base-table :max-height="tableH" :table-props="tableProps" :page="queryParams.pageNo" :limit="queryParams.pageSize" :table-data="list" <base-table :table-props="tableProps" :page="queryParams.pageNo" :limit="queryParams.pageSize" :table-data="list"
@emitFun="handleEmitFun"> @emitFun="handleEmitFun">
<method-btn v-if="tableBtn.length" slot="handleBtn" label="操作" :width="120" fixed="right" :method-list="tableBtn" <method-btn v-if="tableBtn.length" slot="handleBtn" label="操作" :width="120" fixed="right" :method-list="tableBtn"
@clickBtn="handleTableBtnClick" /> @clickBtn="handleTableBtnClick" />
@ -59,14 +59,14 @@ import {
getQualityInspectionDetPage, getQualityInspectionDetPage,
exportQualityInspectionDetExcel, exportQualityInspectionDetExcel,
} from '@/api/base/qualityInspectionDet'; } from '@/api/base/qualityInspectionDet';
import tableHeightMixin from '@/mixins/lb/tableHeightMixin';
import moment from 'moment'; import moment from 'moment';
import basicPageMixin from '@/mixins/lb/basicPageMixin'; import basicPageMixin from '@/mixins/lb/basicPageMixin';
export default { export default {
name: 'QualityInspectionDet', name: 'QualityInspectionDet',
mixins: [basicPageMixin, tableHeightMixin], mixins: [basicPageMixin],
data() { data() {
return { return {
typeList: [], // typeList: [], //
@ -153,7 +153,7 @@ export default {
// //
queryParams: { queryParams: {
pageNo: 1, pageNo: 1,
pageSize: 20, pageSize: 10,
content: null, content: null,
createTime: [], createTime: [],
}, },

View File

@ -4,8 +4,8 @@
<SearchBar :formConfigs="searchBarFormConfig" ref="search-bar" @headBtnClick="handleSearchBarBtnClick" /> <SearchBar :formConfigs="searchBarFormConfig" ref="search-bar" @headBtnClick="handleSearchBarBtnClick" />
<!-- 列表 --> <!-- 列表 -->
<base-table :max-height="tableH" :table-props="tableProps" :page="queryParams.pageNo" :limit="queryParams.pageSize" <base-table :table-props="tableProps" :page="queryParams.pageNo" :limit="queryParams.pageSize" :table-data="list"
:table-data="list" @emitFun="handleEmitFun"> @emitFun="handleEmitFun">
<method-btn v-if="tableBtn.length" slot="handleBtn" label="操作" :width="120" :method-list="tableBtn" <method-btn v-if="tableBtn.length" slot="handleBtn" label="操作" :width="120" :method-list="tableBtn"
@clickBtn="handleTableBtnClick" /> @clickBtn="handleTableBtnClick" />
</base-table> </base-table>
@ -61,10 +61,10 @@ import {
exportQualityInspectionTypeExcel, exportQualityInspectionTypeExcel,
} from '@/api/base/qualityInspectionType'; } from '@/api/base/qualityInspectionType';
import basicPageMixin from '@/mixins/lb/basicPageMixin'; import basicPageMixin from '@/mixins/lb/basicPageMixin';
import tableHeightMixin from '@/mixins/lb/tableHeightMixin';
export default { export default {
name: 'QualityInspectionType', name: 'QualityInspectionType',
mixins: [basicPageMixin, tableHeightMixin], mixins: [basicPageMixin],
data() { data() {
return { return {
tableBtn: [ tableBtn: [

View File

@ -2,7 +2,7 @@
* @Author: zwq * @Author: zwq
* @Date: 2023-08-01 14:55:51 * @Date: 2023-08-01 14:55:51
* @LastEditors: zhp * @LastEditors: zhp
* @LastEditTime: 2024-03-29 14:08:18 * @LastEditTime: 2024-03-25 16:07:07
* @Description: * @Description:
--> -->
<template> <template>
@ -24,12 +24,12 @@
// import unitDict from './unitDict'; // import unitDict from './unitDict';
// import basicPage from '../mixins/basic-page'; // import basicPage from '../mixins/basic-page';
import { parseTime } from '../mixins/code-filter'; import { parseTime } from '../mixins/code-filter';
import tableHeightMixin from '@/mixins/lb/tableHeightMixin';
import { import {
getMaterialUseLogPage, getMaterialUseLogPage,
getWorkOrderList, getWorkOrderList,
exportEnergyPlcExcel exportEnergyPlcExcel
} from '@/api/quality/materialTraceability'; } from '@/api/quality/materialTraceability';
const tableProps = [ const tableProps = [
{ {
prop: 'materialName', prop: 'materialName',
@ -73,7 +73,6 @@ const tableProps = [
]; ];
export default { export default {
mixins: [tableHeightMixin],
// mixins: [basicPage], // mixins: [basicPage],
data() { data() {
return { return {
@ -83,7 +82,7 @@ export default {
// // exportURL: exportPackingExcel, // // exportURL: exportPackingExcel,
// }, // },
tableProps, tableProps,
// tableH: this.tableHeight(260), tableH: this.tableHeight(260),
tableBtn: [ tableBtn: [
this.$auth.hasPermi(`base:packaging-print-log:update`) this.$auth.hasPermi(`base:packaging-print-log:update`)
? { ? {
@ -175,9 +174,9 @@ export default {
// AddOrUpdate, // AddOrUpdate,
}, },
created() { created() {
// window.addEventListener('resize', () => { window.addEventListener('resize', () => {
// this.tableH = this.tableHeight(260) this.tableH = this.tableHeight(260)
// }) })
this.getList() this.getList()
this.getDict() this.getDict()
}, },

View File

@ -2,7 +2,7 @@
* @Author: zwq * @Author: zwq
* @Date: 2023-08-01 14:55:51 * @Date: 2023-08-01 14:55:51
* @LastEditors: zhp * @LastEditors: zhp
* @LastEditTime: 2024-03-29 14:08:30 * @LastEditTime: 2024-03-21 15:17:05
* @Description: * @Description:
--> -->
<template> <template>
@ -25,8 +25,6 @@
// import basicPage from '../mixins/basic-page'; // import basicPage from '../mixins/basic-page';
import { publicFormatter } from '@/utils/dict'; import { publicFormatter } from '@/utils/dict';
import { parseTime } from '../mixins/code-filter'; import { parseTime } from '../mixins/code-filter';
import tableHeightMixin from '@/mixins/lb/tableHeightMixin';
import { import {
getOriginalGlassRetrace, getOriginalGlassRetrace,
getWorkOrderList, getWorkOrderList,
@ -87,7 +85,6 @@ const tableProps = [
export default { export default {
// mixins: [basicPage], // mixins: [basicPage],
mixins: [tableHeightMixin],
data() { data() {
return { return {
// urlOptions: { // urlOptions: {
@ -122,7 +119,7 @@ export default {
startTime: undefined, startTime: undefined,
endTime:undefined, endTime:undefined,
}, },
// tableH: this.tableHeight(260), tableH: this.tableHeight(260),
formConfig: [ formConfig: [
{ {
type: 'select', type: 'select',
@ -187,9 +184,9 @@ export default {
// AddOrUpdate, // AddOrUpdate,
}, },
created() { created() {
// window.addEventListener('resize', () => { window.addEventListener('resize', () => {
// this.tableH = this.tableHeight(260) this.tableH = this.tableHeight(260)
// }) })
this.getList() this.getList()
this.getDict() this.getDict()
}, },

View File

@ -2,14 +2,13 @@
* @Author: zwq * @Author: zwq
* @Date: 2023-08-01 14:55:51 * @Date: 2023-08-01 14:55:51
* @LastEditors: zhp * @LastEditors: zhp
* @LastEditTime: 2024-03-29 15:32:33 * @LastEditTime: 2024-03-20 09:25:40
* @Description: * @Description:
--> -->
<template> <template>
<div class="app-container"> <div class="app-container">
<search-bar :formConfigs="formConfig" ref="searchBarForm" @headBtnClick="buttonClick" /> <search-bar :formConfigs="formConfig" ref="searchBarForm" @headBtnClick="buttonClick" />
<base-table :max-height="tableH" :table-props="tableProps" :page="listQuery.pageNo" :limit="listQuery.pageSize" <base-table :table-props="tableProps" :page="listQuery.pageNo" :limit="listQuery.pageSize" :table-data="list">
:table-data="list">
<method-btn v-if="tableBtn.length" slot="handleBtn" :width="120" label="操作" :method-list="tableBtn" <method-btn v-if="tableBtn.length" slot="handleBtn" :width="120" label="操作" :method-list="tableBtn"
@clickBtn="handleClick" /> @clickBtn="handleClick" />
</base-table> </base-table>
@ -31,7 +30,6 @@ import {
// exportEnergyPlcExcel // exportEnergyPlcExcel
} from '@/api/quality/processTraceability'; } from '@/api/quality/processTraceability';
import { publicFormatter } from '@/utils/dict'; import { publicFormatter } from '@/utils/dict';
import tableHeightMixin from '@/mixins/lb/tableHeightMixin';
const tableProps = [ const tableProps = [
{ {
prop: 'name', prop: 'name',
@ -80,7 +78,7 @@ const tableProps = [
]; ];
export default { export default {
mixins: [tableHeightMixin], // mixins: [basicPage],
data() { data() {
return { return {
// urlOptions: { // urlOptions: {

View File

@ -1,7 +1,14 @@
<!-- <!--
* @Author: zhp * @Author: zhp
* @Date: 2023-11-09 16:32:21 * @Date: 2023-11-09 16:32:21
* @LastEditTime: 2024-03-29 14:21:52 * @LastEditTime: 2023-11-09 16:32:21
* @LastEditors: zhp
* @Description:
-->
<!--
* @Author: zhp
* @Date: 2023-11-07 19:28:13
* @LastEditTime: 2023-11-08 14:11:43
* @LastEditors: zhp * @LastEditors: zhp
* @Description: * @Description:
--> -->

View File

@ -1,10 +1,17 @@
<!-- <!--
* @Author: zhp * @Author: zhp
* @Date: 2023-11-28 10:41:50 * @Date: 2023-11-28 10:41:50
* @LastEditTime: 2024-03-29 14:14:13 * @LastEditTime: 2023-11-28 10:49:43
* @LastEditors: zhp * @LastEditors: zhp
* @Description: * @Description:
--> -->
<!--
filename: index.vue
author: liubin
date: 2023-10-18 12:25:46
description:
-->
<template> <template>
<div class="app-container process-flow-view"> <div class="app-container process-flow-view">
<ProcessInfo /> <ProcessInfo />