Merge pull request 'projects/mesxc-zhp' (#304) from projects/mesxc-zhp into projects/mesxc-test
Reviewed-on: #304
This commit is contained in:
commit
49cb1e6877
@ -2,7 +2,7 @@
|
||||
* @Author: zwq
|
||||
* @Date: 2021-07-19 15:18:30
|
||||
* @LastEditors: zhp
|
||||
* @LastEditTime: 2024-03-29 16:49:00
|
||||
* @LastEditTime: 2024-04-03 10:54:53
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
@ -34,7 +34,7 @@
|
||||
<el-col :style="{ margin: 8 + 'px' + ' 0' }" :span="12">
|
||||
<base-container :beilv="1" :size="'eqStatus'" :title="'周转进度'" :title-icon="'order'" :back="'energy'">
|
||||
<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: .5em">
|
||||
<!-- <p v-if="op.outRate === 1" class="now-secondary-title"
|
||||
style="font-size: 14px; opacity: calc(.6);color:#4679FD">
|
||||
<i class="el-icon-check" />
|
||||
@ -42,7 +42,7 @@
|
||||
</p> -->
|
||||
<!-- <p class="now-secondary-title">{{ op.name }}</p> -->
|
||||
<p class="now-secondary-title" style="font-size: 14px;opacity: calc(.6);">{{ op.name }}</p>
|
||||
<el-progress style="width: 910px;" text-color="rgba(255, 255, 255, .6)" :stroke-width="10"
|
||||
<el-progress style="width: 935px;" text-color="rgba(255, 255, 255, .6)" :stroke-width="10"
|
||||
define-back-color="rgba(32, 57, 96, 1)" :percentage="op.outRate * 100" class="custom-progress-bar" />
|
||||
</el-row>
|
||||
</div>
|
||||
@ -606,8 +606,10 @@ export default {
|
||||
background-image: linear-gradient(to right, #4573fe, #47f8dc);
|
||||
}
|
||||
::v-deep .el-progress__text {
|
||||
width: 50px;
|
||||
margin-top: -70px;
|
||||
margin-left: 820px;
|
||||
margin-left: 834px;
|
||||
text-align: right;
|
||||
// background-color: unset;
|
||||
// background-image: linear-gradient(to right, #4573fe, #47f8dc);
|
||||
}
|
||||
|
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2024-01-29 16:50:26
|
||||
* @LastEditTime: 2024-04-02 15:01:40
|
||||
* @LastEditTime: 2024-04-03 15:54:51
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
@ -41,10 +41,11 @@
|
||||
</div> -->
|
||||
<!-- 像下面这样表格里的limit值,也许可以用js动态计算出来 -->
|
||||
<div v-if="coldDetData" class="myLegend">
|
||||
<div class="barLegend"></div>
|
||||
<h4 class="barText">产线产量</h4>
|
||||
<div class=" barCircleLegend"></div>
|
||||
<div class=" barCircle"></div>
|
||||
<h4 class="barCircleText">产线良品率</h4>
|
||||
<h4 class="barText">产线良品率</h4>
|
||||
<div class="barLegend"></div>
|
||||
<h4 class="barCircleText">产线产量</h4>
|
||||
</div>
|
||||
<double-y-chart ref="productChart" :id="'doubleYChart'" :name-list="cxNameList" :data-list="cxDataList"
|
||||
:height="359" :show-legend="true" />
|
||||
@ -309,6 +310,7 @@ export default {
|
||||
window.location.reload()
|
||||
}, 86400000)
|
||||
// this.getData()
|
||||
// this.getReaiData()
|
||||
},
|
||||
destroyed() {
|
||||
this.CutWebsocketClose()
|
||||
@ -410,7 +412,7 @@ export default {
|
||||
topNameList.push('产线: ' + ele.lineName + ' ' + '总面积:' + ele.sumArea + '㎡')
|
||||
productList.push(ele.productArea)
|
||||
wasteList.push(ele.wastArea)
|
||||
nameWasteList.push('缺陷面积:' + ele.wastArea + '㎡')
|
||||
nameWasteList.push('缺陷面积:' + this.NumFormat(ele.wastArea) + '㎡')
|
||||
// yieldList.push({
|
||||
// name: '良品',
|
||||
// yield:ele.yield
|
||||
@ -427,39 +429,82 @@ export default {
|
||||
this.$refs.fifthPileChart.initChart(nameList, [topNameList[4]], [nameWasteList[4]], [productList[4]], [wasteList[4]])
|
||||
})
|
||||
},
|
||||
getData() {
|
||||
let detData = [
|
||||
{
|
||||
name: '1',
|
||||
run: '运行',
|
||||
},
|
||||
{
|
||||
name: '2',
|
||||
run: '未运行',
|
||||
},
|
||||
{
|
||||
name: '3',
|
||||
run: '运行',
|
||||
},
|
||||
{
|
||||
name: '4',
|
||||
run: '未运行',
|
||||
},
|
||||
{
|
||||
name: '1',
|
||||
run: '运行',
|
||||
},
|
||||
]
|
||||
this.realEqList = detData.map((item, index) => [
|
||||
// console.log(item)
|
||||
`<span style="color:rgba(255,255,255,0.5)" >${index + 1 || ''}
|
||||
</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>`,
|
||||
])
|
||||
this.realEqConfig.data = this.realEqList
|
||||
this.$refs['realEqScrollBoard'].updateRows(this.realEqList)
|
||||
},
|
||||
// getReaiData() {
|
||||
// let detData = [
|
||||
// {
|
||||
// name: '1',
|
||||
// run: '运行',
|
||||
// },
|
||||
// {
|
||||
// name: '2',
|
||||
// run: '未运行',
|
||||
// },
|
||||
// {
|
||||
// name: '3',
|
||||
// run: '运行',
|
||||
// },
|
||||
// {
|
||||
// name: '4',
|
||||
// run: '未运行',
|
||||
// },
|
||||
// {
|
||||
// name: '1',
|
||||
// run: '运行',
|
||||
// },
|
||||
// ]
|
||||
// let arr = []
|
||||
// let index = 0
|
||||
// for (let i in detData) {
|
||||
// index++,
|
||||
// arr.push([
|
||||
// `<span style="color:rgba(255,255,255,0.5)" >${index || ''}
|
||||
// </span>`,
|
||||
// // `<span style="color:rgba(255,255,255,0.5)" >${i || ''}
|
||||
// // </span>`,
|
||||
// `<span style="color:rgba(255,255,255,0.5)">${i || ''}</span>`,
|
||||
// `<span style="color:rgba(255,255,255,0.5)"><div style="${detData[i] == '运行' ? '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> ${detData[i] || ''}</span>`,
|
||||
// ])
|
||||
// }
|
||||
// // this.$nextTick(() => {
|
||||
// this.annealFunConfig.data = arr
|
||||
// this.$refs['annealFunScrollBoard'].updateRows(arr)
|
||||
// // })
|
||||
// },
|
||||
// getData() {
|
||||
// let detData = [
|
||||
// {
|
||||
// name: '1',
|
||||
// run: '运行',
|
||||
// },
|
||||
// {
|
||||
// name: '2',
|
||||
// run: '未运行',
|
||||
// },
|
||||
// {
|
||||
// name: '3',
|
||||
// run: '运行',
|
||||
// },
|
||||
// {
|
||||
// name: '4',
|
||||
// run: '未运行',
|
||||
// },
|
||||
// {
|
||||
// name: '1',
|
||||
// run: '运行',
|
||||
// },
|
||||
// ]
|
||||
// this.realEqList = detData.map((item, index) => [
|
||||
// // console.log(item)
|
||||
// `<span style="color:rgba(255,255,255,0.5)" >${index + 1 || ''}
|
||||
// </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>`,
|
||||
// ])
|
||||
// // this.$nextTick(() => {
|
||||
// this.realEqConfig.data = this.realEqList
|
||||
// this.$refs['realEqScrollBoard'].updateRows(this.realEqList)
|
||||
// // })
|
||||
// },
|
||||
CutWebsocketClose(e) {
|
||||
this.Cutws.ws.onclose = (event) => { console.log(event );}
|
||||
},
|
||||
@ -604,16 +649,16 @@ export default {
|
||||
topNameList.push('产线: ' + ele.lineName + ' ' + '总面积:' + ele.sumArea + '㎡')
|
||||
productList.push(ele.productArea)
|
||||
wasteList.push(ele.wastArea)
|
||||
nameWasteList.push('缺陷面积:' + ele.wastArea + '㎡')
|
||||
nameWasteList.push('缺陷面积:' + this.NumFormat(ele.wastArea) + '㎡')
|
||||
sumAreaList.push(ele.sumArea)
|
||||
yieldList.push(parseFloat((ele.yield * 100).toFixed(3)))
|
||||
yieldList.push(parseFloat((ele.yield * 100).toFixed(2)))
|
||||
})
|
||||
this.$nextTick(() => {
|
||||
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.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.fifthPileChart.initChart(nameList, [topNameList[0]], [nameWasteList[0]], [productList[0]], [wasteList[0]])
|
||||
this.$refs.thirdPileChart.initChart(nameList, [topNameList[2]], [nameWasteList[2]], [productList[2]], [wasteList[2]])
|
||||
this.$refs.fourthPileChart.initChart(nameList, [topNameList[3]], [nameWasteList[3]], [productList[4]], [wasteList[5]])
|
||||
this.$refs.fifthPileChart.initChart(nameList, [topNameList[4]], [nameWasteList[4]], [productList[4]], [wasteList[4]])
|
||||
this.$refs.productChart.initChart(nameList, yieldList, sumAreaList)
|
||||
})
|
||||
}
|
||||
@ -700,6 +745,25 @@ export default {
|
||||
// this.funWebsocket.onclose = this.funWebsocketClose
|
||||
// }
|
||||
},
|
||||
NumFormat(value) {
|
||||
if (!value) return '0.00'
|
||||
value = value.toFixed(2)
|
||||
var intPart = Math.trunc(value) // 获取整数部分
|
||||
// var intPartFormat = intPart.toString().replace(/(\d)(?=(?:\d{3})+$)/g, '$1,') // 将整数部分逢三一断
|
||||
var floatPart = '.00' // 预定义小数部分
|
||||
var value2Array = value.split('.')
|
||||
// =2表示数据有小数位
|
||||
if (value2Array.length === 2) {
|
||||
floatPart = value2Array[1].toString() // 拿到小数部分
|
||||
if (floatPart.length === 1) {
|
||||
return intPart + '.' + floatPart + '0'
|
||||
} else {
|
||||
return intPart + '.' + floatPart
|
||||
}
|
||||
} else {
|
||||
return intPart + floatPart
|
||||
}
|
||||
},
|
||||
// funWebsocketOnOpen() {
|
||||
// console.log('socket连接成功')
|
||||
// this.SJGWebsocket.onmessage()
|
||||
@ -797,7 +861,7 @@ export default {
|
||||
.myLegend{
|
||||
position: absolute;
|
||||
top: -20px;
|
||||
right: 50px;
|
||||
right: 20px;
|
||||
font-size: 12px;
|
||||
color: rgba(255,255,255,.6);
|
||||
.barLegend{
|
||||
@ -807,19 +871,29 @@ export default {
|
||||
height: 10px;
|
||||
display: inline-block;
|
||||
margin-right: 5px;
|
||||
border-radius: 30%;
|
||||
}
|
||||
.barText{
|
||||
// float: right;
|
||||
display: inline-block;
|
||||
margin-right: 10px;
|
||||
}
|
||||
.barCircleLegend{
|
||||
width: 15px;
|
||||
height: 1px;
|
||||
background-color: rgba(255, 209, 96, 1);
|
||||
position: absolute;
|
||||
left: -4.1715px;
|
||||
top: 21.7px;
|
||||
}
|
||||
.barCircle{
|
||||
width: 7px;
|
||||
height: 7px;
|
||||
width: 6px;
|
||||
height: 6px;
|
||||
border-radius: 50%;
|
||||
background-color: rgba(255, 209, 96, 1);
|
||||
display: inline-block;
|
||||
margin-right: 5px;
|
||||
margin-right: 10px;
|
||||
margin-bottom: 1.7px;
|
||||
}
|
||||
.barCircleText{
|
||||
display: inline-block;
|
||||
|
@ -2,7 +2,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-09-21 09:06:28
|
||||
* @LastEditTime: 2024-04-01 09:12:56
|
||||
* @LastEditTime: 2024-04-03 15:14:24
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
@ -101,7 +101,8 @@ export default {
|
||||
position: 'top', //在上方显示
|
||||
textStyle: { //数值样式
|
||||
color: '#ced1d5',
|
||||
fontSize: 12
|
||||
fontSize: 12,
|
||||
fontWight: 'bolder'
|
||||
}
|
||||
},
|
||||
}
|
||||
@ -193,18 +194,19 @@ export default {
|
||||
axisLine: {
|
||||
lineStyle: {
|
||||
type: 'solid',
|
||||
color: '#213259', // 左边线的颜色
|
||||
color: '#25528f', // 左边线的颜色
|
||||
width: '1' // 坐标线的宽度
|
||||
}
|
||||
},
|
||||
axisLabel: {
|
||||
textStyle: {
|
||||
align: 'left',
|
||||
color: 'rgba(255,255,255,0.5)' // 坐标值得具体的颜色
|
||||
}
|
||||
},
|
||||
splitLine: {
|
||||
lineStyle: {
|
||||
color: '#213259'
|
||||
color: '#25528f'
|
||||
}
|
||||
},
|
||||
data: nameList
|
||||
@ -226,6 +228,7 @@ export default {
|
||||
nameTextStyle: {// y轴上方单位的颜色
|
||||
color: 'rgba(255,255,255,0.5)', // 坐标值得具体的颜色
|
||||
align: "left",
|
||||
padding: [0, 0, 0, 8]
|
||||
},
|
||||
position: 'right',
|
||||
alignTicks: true,
|
||||
@ -233,19 +236,20 @@ export default {
|
||||
show: true,
|
||||
lineStyle: {
|
||||
type: 'solid',
|
||||
color: '#213259', // 左边线的颜色
|
||||
color: '#25528f', // 左边线的颜色
|
||||
width: '1' // 坐标线的宽度
|
||||
}
|
||||
},
|
||||
axisLabel: {
|
||||
textStyle: {
|
||||
color: '#ced1d5', // 坐标值得具体的颜色
|
||||
formatter: '{value}%'
|
||||
color: 'rgba(255,255,255,0.5)', // 坐标值得具体的颜色
|
||||
formatter: '{value}%',
|
||||
align:'left',
|
||||
}
|
||||
},
|
||||
splitLine: {
|
||||
lineStyle: {
|
||||
color: '#213259'
|
||||
color: '#25528f'
|
||||
}
|
||||
}
|
||||
// type: 'value'
|
||||
@ -270,6 +274,7 @@ export default {
|
||||
color: 'rgba(255,255,255,0.5)', // 坐标值得具体的颜色
|
||||
// fontSize: 10,
|
||||
align: "right",
|
||||
padding:[0,4,0,0]
|
||||
},
|
||||
position: 'left',
|
||||
alignTicks: true,
|
||||
@ -277,19 +282,21 @@ export default {
|
||||
show: true,
|
||||
lineStyle: {
|
||||
type: 'solid',
|
||||
color: '#213259', // 左边线的颜色
|
||||
color: '#25528f', // 左边线的颜色
|
||||
width: '1' // 坐标线的宽度
|
||||
}
|
||||
},
|
||||
axisLabel: {
|
||||
// padding: [0, 20, 0, 0],
|
||||
textStyle: {
|
||||
margin: 60,
|
||||
color: 'rgba(255,255,255,0.5)', // 坐标值得具体的颜色
|
||||
formatter: '{value} 片'
|
||||
}
|
||||
},
|
||||
splitLine: {
|
||||
lineStyle: {
|
||||
color: '#213259'
|
||||
color: '#25528f'
|
||||
}
|
||||
}
|
||||
// type: 'value'
|
||||
|
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-09-21 09:06:28
|
||||
* @LastEditTime: 2024-03-29 16:26:28
|
||||
* @LastEditTime: 2024-04-03 15:10:31
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
@ -167,19 +167,19 @@ export default {
|
||||
type: 'cross'
|
||||
}
|
||||
},
|
||||
grid: { top: 90, right: 70, bottom: 20, left: 20, containLabel: true },
|
||||
legend: {
|
||||
itemWidth: 10,
|
||||
itemHeight: 10,
|
||||
top: '0%',
|
||||
right: '20px',
|
||||
data: ['产线良品率', '产线产量'],
|
||||
textStyle: {
|
||||
fontSize: 12 * this.beilv,
|
||||
color: '#ced1d5',
|
||||
fontWight: 'bolder'
|
||||
}
|
||||
},
|
||||
grid: { top: 70, right: 20, bottom: 10, left: 10, containLabel: true },
|
||||
// legend: {
|
||||
// itemWidth: 10,
|
||||
// itemHeight: 10,
|
||||
// top: '2%',
|
||||
// right: '30px',
|
||||
// data: ['产线良品率', '产线产量'],
|
||||
// textStyle: {
|
||||
// fontSize: 12 * this.beilv,
|
||||
// color: '#ced1d5',
|
||||
// fontWight: 'bolder'
|
||||
// }
|
||||
// },
|
||||
xAxis: {
|
||||
axisTick: {
|
||||
show: false
|
||||
@ -227,6 +227,7 @@ export default {
|
||||
nameTextStyle: {// y轴上方单位的颜色
|
||||
color: 'rgba(255,255,255,0.5)', // 坐标值得具体的颜色
|
||||
align: "left",
|
||||
padding: [0, 0, 0, 8]
|
||||
},
|
||||
position: 'right',
|
||||
alignTicks: true,
|
||||
@ -271,6 +272,7 @@ export default {
|
||||
nameTextStyle: {
|
||||
color: 'rgba(255,255,255,0.5)', // 坐标值得具体的颜色
|
||||
// fontSize: 10,
|
||||
padding: [0, 4, 0, 0],
|
||||
align: "right",
|
||||
},
|
||||
// position: 'left',
|
||||
|
@ -113,7 +113,7 @@ export default {
|
||||
textStyle: { //数值样式
|
||||
color: 'rgba(255,255,255,0.5)', // 坐标值得具体的颜色
|
||||
fontSize: 12,
|
||||
fontWeight: 'bolder'
|
||||
fontWeight: 'normal'
|
||||
}
|
||||
},
|
||||
}
|
||||
@ -133,7 +133,7 @@ export default {
|
||||
type: 'shadow' // 默认为直线,可选为:'line' | 'shadow'
|
||||
}
|
||||
},
|
||||
grid: { top: 90, right: 60, bottom: 20, left: 30, containLabel: true },
|
||||
grid: { top: 70, right: 40, bottom: 10, left: 40, containLabel: true },
|
||||
// legend: {
|
||||
// itemWidth: 10,
|
||||
// itemHeight: 10,
|
||||
@ -175,7 +175,7 @@ export default {
|
||||
name: '单位kwh',
|
||||
nameTextStyle: {
|
||||
color: 'rgba(255,255,255,0.5)', // 坐标值得具体的颜色
|
||||
fontSize: 10,
|
||||
fontSize: 12,
|
||||
align: 'right',
|
||||
},
|
||||
type: 'value',
|
||||
|
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-12-27 13:54:52
|
||||
* @LastEditTime: 2024-04-01 09:14:45
|
||||
* @LastEditTime: 2024-04-03 15:48:43
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
@ -114,6 +114,10 @@ export default {
|
||||
totalData.push(sum);
|
||||
}
|
||||
// }
|
||||
// rawData[1].map((d, did) =>
|
||||
// console.log((d / totalData[did]).toFixed(3))
|
||||
// // totalData[did] <= 0 ? 0 : d / totalData[did]
|
||||
// )
|
||||
console.log('total', totalData)
|
||||
const series = [
|
||||
'良品',
|
||||
@ -163,15 +167,15 @@ export default {
|
||||
let singleData = series.filter(function (item) {
|
||||
return item.name == name
|
||||
})
|
||||
return name + parseFloat((singleData[0].data * 100).toFixed(3)) + '%'
|
||||
return name + parseFloat((singleData[0].data * 100).toFixed(2)) + '%'
|
||||
},
|
||||
itemWidth: 12,
|
||||
itemHeight: 12,
|
||||
bottom: '20',
|
||||
left: '20',
|
||||
icon: 'rect',
|
||||
icon: 'roundRect',
|
||||
textStyle: {
|
||||
color: 'rgba(255,255,255,.6)',
|
||||
color: 'rgba(255,255,255,.9)',
|
||||
fontSize:12,
|
||||
}
|
||||
},
|
||||
@ -204,7 +208,7 @@ export default {
|
||||
splitNumber: 50,
|
||||
// boundaryGap: [20, 20],
|
||||
textStyle: {
|
||||
color: 'rgba(255,255,255,.6)',
|
||||
color: 'rgba(255,255,255,.9)',
|
||||
verticalAlign: 'bottom',
|
||||
fontSize: 16,
|
||||
align: 'left',
|
||||
@ -232,7 +236,7 @@ export default {
|
||||
splitNumber: 50,
|
||||
// boundaryGap: [20, 20],
|
||||
textStyle: {
|
||||
color: 'rgba(255,255,255,.6)',
|
||||
color: 'rgba(255,255,255,.9)',
|
||||
verticalAlign: 'bottom',
|
||||
fontSize: 16,
|
||||
align: 'right',
|
||||
|
@ -2,7 +2,7 @@
|
||||
* @Author: zwq
|
||||
* @Date: 2021-07-19 15:18:30
|
||||
* @LastEditors: zhp
|
||||
* @LastEditTime: 2024-04-02 09:46:46
|
||||
* @LastEditTime: 2024-04-03 15:59:25
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
@ -39,11 +39,11 @@
|
||||
<el-col :style="{ margin: 8 + 'px' + ' 0' }" :span="8" height="100%">
|
||||
<base-container :height="318" :size="'small'" :title="'工单监控'" :title-icon="'eqMonitoring'">
|
||||
<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: .5em">
|
||||
<!-- <el-col :span="12"> -->
|
||||
|
||||
<p class="now-secondary-title" style="font-size: 14px;opacity: calc(.6);">{{ op.name }}</p>
|
||||
<el-progress style="width: 610px;" text-color="rgba(255, 255, 255, .6)" :stroke-width="10"
|
||||
<el-progress style="width: 620px;" text-color="rgba(255, 255, 255, .6)" :stroke-width="10"
|
||||
define-back-color="rgba(32, 57, 96, 1)" :percentage="op.progressRate" class="custom-progress-bar" />
|
||||
</el-row>
|
||||
</div>
|
||||
@ -67,6 +67,13 @@
|
||||
<el-col :style="{ margin: 8 + 'px' + ' 0' }" :span="12">
|
||||
<base-container :show-time="true" :no-content-padding="true" :height="318 + 338 + 16" :size="'eqStatus'"
|
||||
:title="'产线产量及良品率'" :title-icon="'productLine'">
|
||||
<div class="myLegend">
|
||||
<div class=" barCircleLegend"></div>
|
||||
<div class=" barCircle"></div>
|
||||
<h4 class="barText">产线良品率</h4>
|
||||
<div class="barLegend"></div>
|
||||
<h4 class="barCircleText">产线产量</h4>
|
||||
</div>
|
||||
<double-y-chart ref="productLineChart" :id="'doubleYChart'" :height="390" :show-legend="true" />
|
||||
</base-container>
|
||||
</el-col>
|
||||
@ -373,6 +380,26 @@ export default {
|
||||
id: '4',
|
||||
name: '测试工单4',
|
||||
progressRate: 0.32323,
|
||||
},
|
||||
{
|
||||
id: '4',
|
||||
name: '测试工单4',
|
||||
progressRate: 0.32323,
|
||||
},
|
||||
{
|
||||
id: '4',
|
||||
name: '测试工单4',
|
||||
progressRate: 0.32323,
|
||||
},
|
||||
{
|
||||
id: '4',
|
||||
name: '测试工单4',
|
||||
progressRate: 0.32323,
|
||||
},
|
||||
{
|
||||
id: '4',
|
||||
name: '测试工单4',
|
||||
progressRate: 0.32323,
|
||||
},
|
||||
// {
|
||||
// id: '5',
|
||||
@ -389,7 +416,7 @@ export default {
|
||||
return {
|
||||
id: ele.id,
|
||||
name: ele.name,
|
||||
progressRate: parseFloat((ele.progressRate * 100).toFixed(3)),
|
||||
progressRate: parseFloat((ele.progressRate * 100).toFixed(2)),
|
||||
};
|
||||
}
|
||||
});
|
||||
@ -417,28 +444,61 @@ export default {
|
||||
`<span style="color:rgba(255,255,255,0.5)">${item.error || ''}</span>`,
|
||||
]);
|
||||
this.eqConfig.data = eqArr;
|
||||
let arr = ['D64', 'D62', 'D61', 'D63', 'D65']
|
||||
// let arr = [5, 6, 2, 4, 7, 9, 15];
|
||||
// 因为7个数,所以长度减去一次为最大循环次数
|
||||
for (let i = 0; i < arr.length - 1; i++) {
|
||||
let data = [
|
||||
{
|
||||
lineName: 'D62',
|
||||
outputNum: '11111',
|
||||
passRate: '0.9873'
|
||||
},
|
||||
{
|
||||
lineName: 'D63',
|
||||
outputNum: '23212',
|
||||
passRate: '0.9873'
|
||||
},
|
||||
{
|
||||
lineName: 'D61',
|
||||
outputNum: '423323',
|
||||
passRate: '0.9873'
|
||||
},
|
||||
{
|
||||
lineName: 'D64',
|
||||
outputNum: '43434',
|
||||
passRate: '0.9873'
|
||||
},
|
||||
]
|
||||
let nameList = [];
|
||||
let passRateList = [];
|
||||
let outputNumList = [];
|
||||
// let arr = ['D64', 'D62', 'D61', 'D63', 'D65']
|
||||
for (let i = 0; i < data.length - 1; i++) {
|
||||
// 二次循环,注意:再减去外层的循环次数,向后依次两两相互比较转换;
|
||||
for (let j = 0; j < arr.length - i - 1; j++) {
|
||||
for (let j = 0; j < data.length - i - 1; j++) {
|
||||
// 当前一个值大于后一个值
|
||||
if (arr[j].substr(arr[j].length - 1, 1) > arr[j + 1].substr(arr[j + 1].length - 1, 1)) {
|
||||
if (data[j].lineName.substr(data[j].lineName.length - 1, 1) > data[j + 1].lineName.substr(data[j + 1].lineName.length - 1, 1)) {
|
||||
// 定义变量,以赋值的形式前后交换,直到换到最小的在前面,左右再无比较,则循环结束形成排序结果
|
||||
let temp = arr[j];
|
||||
arr[j] = arr[j + 1];
|
||||
arr[j + 1] = temp;
|
||||
let temp = data[j];
|
||||
data[j] = data[j + 1];
|
||||
data[j + 1] = temp;
|
||||
}
|
||||
}
|
||||
}
|
||||
console.log(arr);
|
||||
this.$refs['eqScrollBoard'].updateRows(eqArr);
|
||||
data.forEach((ele) => {
|
||||
// if (item.id == ele.productionLineId) {
|
||||
// if (item.name.substr(0, 1) == "D") {
|
||||
// console.log(ele)
|
||||
nameList.push(ele.lineName);
|
||||
outputNumList.push(ele.outputNum);
|
||||
passRateList.push(ele.passRate);
|
||||
// }
|
||||
// }
|
||||
});
|
||||
this.$nextTick(() => {
|
||||
this.$refs.productLineChart.initChart(
|
||||
arr,
|
||||
[98, 97, 98.7, 98.5, 98.3],
|
||||
[3134, 2323, 3232, 3233, 2321]
|
||||
nameList,
|
||||
passRateList,
|
||||
outputNumList
|
||||
);
|
||||
})
|
||||
// this.getList()
|
||||
this.initWebSocket();
|
||||
this.SJGInitWebSocket();
|
||||
@ -630,7 +690,7 @@ export default {
|
||||
return {
|
||||
id: ele.id,
|
||||
name: ele.name,
|
||||
progressRate: parseFloat((ele.progressRate * 100).toFixed(3)),
|
||||
progressRate: parseFloat((ele.progressRate * 100).toFixed(2)),
|
||||
};
|
||||
}
|
||||
});
|
||||
@ -661,6 +721,19 @@ export default {
|
||||
let nameList = [];
|
||||
let passRateList = [];
|
||||
let outputNumList = [];
|
||||
// let arr = ['D64', 'D62', 'D61', 'D63', 'D65']
|
||||
for (let i = 0; i < this.SJGWsData.detData.length - 1; i++) {
|
||||
// 二次循环,注意:再减去外层的循环次数,向后依次两两相互比较转换;
|
||||
for (let j = 0; j < this.SJGWsData.detData.length - i - 1; j++) {
|
||||
// 当前一个值大于后一个值
|
||||
if (this.SJGWsData.detData[j].lineName.substr(this.SJGWsData.detData[j].lineName.length - 1, 1) > this.SJGWsData.detData[j + 1].lineName.substr(this.SJGWsData.detData[j + 1].lineName.length - 1, 1)) {
|
||||
// 定义变量,以赋值的形式前后交换,直到换到最小的在前面,左右再无比较,则循环结束形成排序结果
|
||||
let temp = this.SJGWsData.detData[j];
|
||||
this.SJGWsData.detData[j] = this.SJGWsData.detData[j + 1];
|
||||
this.SJGWsData.detData[j + 1] = temp;
|
||||
}
|
||||
}
|
||||
}
|
||||
this.SJGWsData.detData.forEach((ele) => {
|
||||
// if (item.id == ele.productionLineId) {
|
||||
// if (item.name.substr(0, 1) == "D") {
|
||||
@ -671,19 +744,6 @@ export default {
|
||||
// }
|
||||
// }
|
||||
});
|
||||
// let arr = ['D64', 'D62', 'D61', 'D63', 'D65']
|
||||
for (let i = 0; i < nameList.length - 1; i++) {
|
||||
// 二次循环,注意:再减去外层的循环次数,向后依次两两相互比较转换;
|
||||
for (let j = 0; j < nameList.length - i - 1; j++) {
|
||||
// 当前一个值大于后一个值
|
||||
if (nameList[j].substr(nameList[j].length - 1, 1) > nameList[j + 1].substr(nameList[j + 1].length - 1, 1)) {
|
||||
// 定义变量,以赋值的形式前后交换,直到换到最小的在前面,左右再无比较,则循环结束形成排序结果
|
||||
let temp = nameList[j];
|
||||
nameList[j] = nameList[j + 1];
|
||||
nameList[j + 1] = temp;
|
||||
}
|
||||
}
|
||||
}
|
||||
this.$nextTick(() => {
|
||||
this.$refs.productLineChart.initChart(
|
||||
nameList,
|
||||
@ -742,6 +802,51 @@ export default {
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.myLegend {
|
||||
position: absolute;
|
||||
top: -28px;
|
||||
right: 20px;
|
||||
font-size: 12px;
|
||||
color: rgba(255, 255, 255, .6);
|
||||
|
||||
.barLegend {
|
||||
// float: left;
|
||||
background: linear-gradient(#9DD5FF, #1295FF);
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
display: inline-block;
|
||||
margin-right: 5px;
|
||||
border-radius: 30%;
|
||||
}
|
||||
|
||||
.barText {
|
||||
// float: right;
|
||||
display: inline-block;
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
.barCircleLegend {
|
||||
width: 15px;
|
||||
height: 1px;
|
||||
background-color: rgba(255, 209, 96, 1);
|
||||
position: absolute;
|
||||
left: -4.1715px;
|
||||
top: 21.7px;
|
||||
}
|
||||
|
||||
.barCircle {
|
||||
width: 6px;
|
||||
height: 6px;
|
||||
border-radius: 50%;
|
||||
background-color: rgba(255, 209, 96, 1);
|
||||
display: inline-block;
|
||||
margin-right: 10px;
|
||||
margin-bottom: 1.7px;
|
||||
}
|
||||
.barCircleText {
|
||||
display: inline-block;
|
||||
}
|
||||
}
|
||||
.visual-container {
|
||||
width: 1920px;
|
||||
height: 1080px;
|
||||
@ -815,8 +920,9 @@ export default {
|
||||
background-image: linear-gradient(to right, #4573fe, #47f8dc);
|
||||
}
|
||||
::v-deep .el-progress__text {
|
||||
width: 50px;
|
||||
margin-top: -70px;
|
||||
margin-left: 490px;
|
||||
margin-left: 510px;
|
||||
// background-color: unset;
|
||||
// background-image: linear-gradient(to right, #4573fe, #47f8dc);
|
||||
}
|
||||
|
@ -7,32 +7,15 @@
|
||||
-->
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<search-bar
|
||||
:formConfigs="formConfig"
|
||||
ref="searchBarForm"
|
||||
@headBtnClick="buttonClick" />
|
||||
<base-table
|
||||
:table-props="tableProps"
|
||||
:page="listQuery.pageNo"
|
||||
:limit="listQuery.pageSize"
|
||||
<search-bar :formConfigs="formConfig" ref="searchBarForm" @headBtnClick="buttonClick" />
|
||||
<base-table :max-height="tableH" :table-props="tableProps" :page="listQuery.pageNo" :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" />
|
||||
</base-table>
|
||||
<pagination
|
||||
:limit.sync="listQuery.pageSize"
|
||||
:page.sync="listQuery.pageNo"
|
||||
:total="listQuery.total"
|
||||
<pagination :limit.sync="listQuery.pageSize" :page.sync="listQuery.pageNo" :total="listQuery.total"
|
||||
@pagination="getDataList" />
|
||||
<add-or-update
|
||||
v-if="addOrUpdateVisible"
|
||||
ref="addOrUpdate"
|
||||
@refreshDataList="getDataList" />
|
||||
<add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -41,6 +24,7 @@ import AddOrUpdate from './add-or-updata';
|
||||
// import unitDict from './unitDict';
|
||||
import basicPage from '../mixins/basic-page';
|
||||
import { parseTime } from '../mixins/code-filter';
|
||||
import tableHeightMixin from '@/mixins/lb/tableHeightMixin';
|
||||
import {
|
||||
getPackingModel,
|
||||
} from '@/api/base/printModel.js'
|
||||
@ -91,7 +75,7 @@ const tableProps = [
|
||||
];
|
||||
|
||||
export default {
|
||||
mixins: [basicPage],
|
||||
mixins: [basicPage, tableHeightMixin],
|
||||
data() {
|
||||
return {
|
||||
urlOptions: {
|
||||
@ -314,7 +298,7 @@ export default {
|
||||
switch (val.btnName) {
|
||||
case 'search':
|
||||
this.listQuery.pageNo = 1;
|
||||
this.listQuery.pageSize = 10;
|
||||
this.listQuery.pageSize = 20;
|
||||
this.listQuery.workOrderId = val.workOrderId;
|
||||
if (val.createTime && val.createTime.length != 0) {
|
||||
this.listQuery.createTime = val.createTime
|
||||
@ -329,7 +313,7 @@ export default {
|
||||
case 'reset':
|
||||
this.$refs.searchBarForm.resetForm();
|
||||
this.listQuery = {
|
||||
pageSize: 10,
|
||||
pageSize: 20,
|
||||
pageNo: 1,
|
||||
total: 1,
|
||||
};
|
||||
|
@ -2,13 +2,14 @@
|
||||
* @Author: zwq
|
||||
* @Date: 2023-08-01 14:55:51
|
||||
* @LastEditors: zhp
|
||||
* @LastEditTime: 2023-12-04 13:38:45
|
||||
* @LastEditTime: 2024-04-03 15:08:38
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<search-bar :formConfigs="formConfig" ref="searchBarForm" @headBtnClick="buttonClick" />
|
||||
<base-table :table-props="tableProps" :page="listQuery.pageNo" :limit="listQuery.pageSize" :table-data="tableData">
|
||||
<base-table :max-height="tableH" :table-props="tableProps" :page="listQuery.pageNo" :limit="listQuery.pageSize"
|
||||
:table-data="tableData">
|
||||
<method-btn v-if="tableBtn.length" slot="handleBtn" :width="120" label="操作" :method-list="tableBtn"
|
||||
@clickBtn="handleClick" />
|
||||
</base-table>
|
||||
@ -26,6 +27,8 @@ import basicPage from '../mixins/basic-page';
|
||||
import { parseTime } from '../mixins/code-filter';
|
||||
import printModelDesign from '../custom/index'
|
||||
import { updatePackingModel, } from '@/api/base/printModel.js';
|
||||
import tableHeightMixin from '@/mixins/lb/tableHeightMixin';
|
||||
|
||||
import {
|
||||
deletePackingModel,
|
||||
getPackingModelPage,
|
||||
@ -59,7 +62,7 @@ const tableProps = [
|
||||
];
|
||||
|
||||
export default {
|
||||
mixins: [basicPage],
|
||||
mixins: [basicPage, tableHeightMixin],
|
||||
data() {
|
||||
return {
|
||||
urlOptions: {
|
||||
@ -162,7 +165,7 @@ export default {
|
||||
switch (val.btnName) {
|
||||
case 'search':
|
||||
this.listQuery.pageNo = 1;
|
||||
this.listQuery.pageSize = 10;
|
||||
this.listQuery.pageSize = 20;
|
||||
this.listQuery.packagingCode = val.packagingCode;
|
||||
this.listQuery.createTime = val.createTime;
|
||||
this.getDataList();
|
||||
@ -170,7 +173,7 @@ export default {
|
||||
case 'reset':
|
||||
this.$refs.searchBarForm.resetForm();
|
||||
this.listQuery = {
|
||||
pageSize: 10,
|
||||
pageSize: 20,
|
||||
pageNo: 1,
|
||||
total: 1,
|
||||
};
|
||||
|
@ -2,37 +2,20 @@
|
||||
* @Author: zwq
|
||||
* @Date: 2023-08-01 14:55:51
|
||||
* @LastEditors: zhp
|
||||
* @LastEditTime: 2023-12-04 13:44:01
|
||||
* @LastEditTime: 2024-04-03 15:09:06
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<search-bar
|
||||
:formConfigs="formConfig"
|
||||
ref="searchBarForm"
|
||||
@headBtnClick="buttonClick" />
|
||||
<base-table
|
||||
:table-props="tableProps"
|
||||
:page="listQuery.pageNo"
|
||||
:limit="listQuery.pageSize"
|
||||
<search-bar :formConfigs="formConfig" ref="searchBarForm" @headBtnClick="buttonClick" />
|
||||
<base-table :max-height="tableH" :table-props="tableProps" :page="listQuery.pageNo" :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" />
|
||||
</base-table>
|
||||
<pagination
|
||||
:limit.sync="listQuery.pageSize"
|
||||
:page.sync="listQuery.pageNo"
|
||||
:total="listQuery.total"
|
||||
<pagination :limit.sync="listQuery.pageSize" :page.sync="listQuery.pageNo" :total="listQuery.total"
|
||||
@pagination="getDataList" />
|
||||
<add-or-update
|
||||
v-if="addOrUpdateVisible"
|
||||
ref="addOrUpdate"
|
||||
@refreshDataList="getDataList" />
|
||||
<add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -41,6 +24,7 @@ import AddOrUpdate from './add-or-updata';
|
||||
// import unitDict from './unitDict';
|
||||
import basicPage from '../mixins/basic-page';
|
||||
import { parseTime } from '../mixins/code-filter';
|
||||
import tableHeightMixin from '@/mixins/lb/tableHeightMixin';
|
||||
import {
|
||||
deletePackingType,
|
||||
getPackingTypePage,
|
||||
@ -64,7 +48,7 @@ const tableProps = [
|
||||
];
|
||||
|
||||
export default {
|
||||
mixins: [basicPage],
|
||||
mixins: [basicPage, tableHeightMixin],
|
||||
data() {
|
||||
return {
|
||||
urlOptions: {
|
||||
@ -154,7 +138,7 @@ export default {
|
||||
switch (val.btnName) {
|
||||
case 'search':
|
||||
this.listQuery.pageNo = 1;
|
||||
this.listQuery.pageSize = 10;
|
||||
this.listQuery.pageSize = 20;
|
||||
this.listQuery.packagingCode = val.packagingCode;
|
||||
this.listQuery.createTime = val.createTime;
|
||||
this.getDataList();
|
||||
@ -162,7 +146,7 @@ export default {
|
||||
case 'reset':
|
||||
this.$refs.searchBarForm.resetForm();
|
||||
this.listQuery = {
|
||||
pageSize: 10,
|
||||
pageSize: 20,
|
||||
pageNo: 1,
|
||||
total: 1,
|
||||
};
|
||||
|
@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<search-bar :formConfigs="formConfig" ref="searchBarForm" @headBtnClick="buttonClick" />
|
||||
<base-table v-loading="dataListLoading" :table-props="tableProps" :page="listQuery.pageNo"
|
||||
<base-table :max-height="tableH" v-loading="dataListLoading" :table-props="tableProps" :page="listQuery.pageNo"
|
||||
:limit="listQuery.pageSize" :table-data="tableData">
|
||||
<method-btn v-if="tableBtn.length" slot="handleBtn" :width="120" label="操作" :method-list="tableBtn"
|
||||
@clickBtn="handleClick" />
|
||||
@ -16,7 +16,7 @@
|
||||
<script>
|
||||
import AddOrUpdate from './add-or-updata';
|
||||
// import DetailOrUpdate from './detail-or-updata';
|
||||
|
||||
import tableHeightMixin from '@/mixins/lb/tableHeightMixin';
|
||||
import basicPage from '../../core/mixins/basic-page';
|
||||
import StatusBtn from './statusBtn.vue'
|
||||
import {
|
||||
@ -54,7 +54,7 @@ const tableProps = [
|
||||
];
|
||||
|
||||
export default {
|
||||
mixins: [basicPage],
|
||||
mixins: [basicPage, tableHeightMixin],
|
||||
data() {
|
||||
return {
|
||||
urlOptions: {
|
||||
|
@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<search-bar :formConfigs="formConfig" ref="searchBarForm" @headBtnClick="buttonClick" />
|
||||
<base-table v-loading="dataListLoading" :table-props="tableProps" :page="listQuery.pageNo"
|
||||
<base-table :max-height="tableH" v-loading="dataListLoading" :table-props="tableProps" :page="listQuery.pageNo"
|
||||
:limit="listQuery.pageSize" :table-data="tableData">
|
||||
<method-btn v-if="tableBtn.length" slot="handleBtn" :width="120" label="操作" :method-list="tableBtn"
|
||||
@clickBtn="handleClick" />
|
||||
@ -16,7 +16,7 @@
|
||||
<script>
|
||||
import AddOrUpdate from './add-or-updata';
|
||||
// import DetailOrUpdate from './detail-or-updata';
|
||||
|
||||
import tableHeightMixin from '@/mixins/lb/tableHeightMixin';
|
||||
import basicPage from '../../core/mixins/basic-page';
|
||||
import StatusBtn from './statusBtn.vue'
|
||||
import {
|
||||
@ -54,7 +54,7 @@ const tableProps = [
|
||||
];
|
||||
|
||||
export default {
|
||||
mixins: [basicPage],
|
||||
mixins: [basicPage, tableHeightMixin],
|
||||
data() {
|
||||
return {
|
||||
urlOptions: {
|
||||
|
@ -10,7 +10,7 @@
|
||||
<SearchBar :formConfigs="searchBarFormConfig" ref="search-bar" @headBtnClick="handleSearchBarBtnClick" />
|
||||
|
||||
<!-- 列表 -->
|
||||
<base-table :table-props="tableProps" :page="1" :limit="10" :table-data="list">
|
||||
<base-table :max-height="tableH" :table-props="tableProps" :page="1" :limit="20" :table-data="list">
|
||||
</base-table>
|
||||
</el-row>
|
||||
|
||||
@ -85,6 +85,7 @@ import {
|
||||
import moment from 'moment';
|
||||
// import DialogForm from './dialogForm.vue';
|
||||
import * as echarts from 'echarts';
|
||||
import tableHeightMixin from '@/mixins/lb/tableHeightMixin';
|
||||
|
||||
// import basicPageMixin from '@/mixins/lb/basicPageMixin';
|
||||
export default {
|
||||
@ -92,7 +93,7 @@ export default {
|
||||
// components: {
|
||||
// DialogForm,
|
||||
// },
|
||||
// mixins: [basicPageMixin],
|
||||
mixins: [tableHeightMixin],
|
||||
data() {
|
||||
return {
|
||||
list: [],
|
||||
|
@ -1,38 +1,16 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<search-bar
|
||||
:formConfigs="formConfig"
|
||||
ref="searchBarForm"
|
||||
@headBtnClick="buttonClick" />
|
||||
<base-table
|
||||
v-loading="dataListLoading"
|
||||
:table-props="tableProps"
|
||||
:page="listQuery.pageNo"
|
||||
:limit="listQuery.pageSize"
|
||||
:table-data="tableData">
|
||||
<method-btn
|
||||
v-if="tableBtn.length"
|
||||
slot="handleBtn"
|
||||
:width="120"
|
||||
label="操作"
|
||||
:method-list="tableBtn"
|
||||
<search-bar :formConfigs="formConfig" ref="searchBarForm" @headBtnClick="buttonClick" />
|
||||
<base-table :max-height="tableH" v-loading="dataListLoading" :table-props="tableProps" :page="listQuery.pageNo"
|
||||
:limit="listQuery.pageSize" :table-data="tableData">
|
||||
<method-btn v-if="tableBtn.length" slot="handleBtn" :width="120" label="操作" :method-list="tableBtn"
|
||||
@clickBtn="handleClick" />
|
||||
</base-table>
|
||||
<pagination
|
||||
:limit.sync="listQuery.pageSize"
|
||||
:page.sync="listQuery.pageNo"
|
||||
:total="listQuery.total"
|
||||
<pagination :limit.sync="listQuery.pageSize" :page.sync="listQuery.pageNo" :total="listQuery.total"
|
||||
@pagination="getDataList" />
|
||||
<base-dialog
|
||||
:dialogTitle="addOrEditTitle"
|
||||
:dialogVisible="addOrUpdateVisible"
|
||||
@cancel="handleCancel"
|
||||
@confirm="handleConfirm"
|
||||
:before-close="handleCancel"
|
||||
width="40%">
|
||||
<add-or-update
|
||||
ref="addOrUpdate"
|
||||
@refreshDataList="successSubmit"></add-or-update>
|
||||
<base-dialog :dialogTitle="addOrEditTitle" :dialogVisible="addOrUpdateVisible" @cancel="handleCancel"
|
||||
@confirm="handleConfirm" :before-close="handleCancel" width="40%">
|
||||
<add-or-update ref="addOrUpdate" @refreshDataList="successSubmit"></add-or-update>
|
||||
</base-dialog>
|
||||
</div>
|
||||
</template>
|
||||
@ -46,6 +24,7 @@ import {
|
||||
deleteQualityScrapDet,
|
||||
} from '@/api/base/qualityScrapDet';
|
||||
import { getList, } from "@/api/base/qualityScrapType";
|
||||
import tableHeightMixin from '@/mixins/lb/tableHeightMixin';
|
||||
const tableProps = [
|
||||
{
|
||||
prop: 'createTime',
|
||||
@ -71,7 +50,7 @@ const tableProps = [
|
||||
];
|
||||
|
||||
export default {
|
||||
mixins: [basicPage],
|
||||
mixins: [basicPage, tableHeightMixin],
|
||||
data() {
|
||||
return {
|
||||
urlOptions: {
|
||||
@ -177,7 +156,7 @@ export default {
|
||||
switch (val.btnName) {
|
||||
case 'search':
|
||||
this.listQuery.pageNo = 1;
|
||||
this.listQuery.pageSize = 10;
|
||||
this.listQuery.pageSize = 20;
|
||||
this.listQuery.content = val.content ? val.content : undefined;
|
||||
this.listQuery.typeId = val.typeId ? val.typeId : undefined;
|
||||
this.getDataList();
|
||||
@ -185,7 +164,7 @@ export default {
|
||||
case 'reset':
|
||||
this.$refs.searchBarForm.resetForm();
|
||||
this.listQuery = {
|
||||
pageSize: 10,
|
||||
pageSize: 20,
|
||||
pageNo: 1,
|
||||
total: 1,
|
||||
};
|
||||
|
@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<search-bar :formConfigs="formConfig" ref="searchBarForm" @headBtnClick="buttonClick" />
|
||||
<base-table v-loading="dataListLoading" :table-props="tableProps" :page="listQuery.pageNo"
|
||||
<base-table :max-height="tableH" v-loading="dataListLoading" :table-props="tableProps" :page="listQuery.pageNo"
|
||||
:limit="listQuery.pageSize" :table-data="tableData">
|
||||
<method-btn v-if="tableBtn.length" slot="handleBtn" :width="120" label="操作" :method-list="tableBtn"
|
||||
@clickBtn="handleClick" />
|
||||
@ -19,7 +19,7 @@
|
||||
<script>
|
||||
import AddOrUpdate from './add-or-updata';
|
||||
import DetailOrUpdate from './detail-or-updata';
|
||||
|
||||
import tableHeightMixin from '@/mixins/lb/tableHeightMixin';
|
||||
import basicPage from './basic-page';
|
||||
import { parseTime } from '../../../core/mixins/code-filter';
|
||||
import {
|
||||
@ -68,7 +68,7 @@ const tableProps = [
|
||||
];
|
||||
|
||||
export default {
|
||||
mixins: [basicPage],
|
||||
mixins: [basicPage, tableHeightMixin],
|
||||
data() {
|
||||
return {
|
||||
urlOptions: {
|
||||
@ -214,7 +214,7 @@ export default {
|
||||
switch (val.btnName) {
|
||||
case 'search':
|
||||
this.listQuery.pageNo = 1;
|
||||
this.listQuery.pageSize = 10;
|
||||
this.listQuery.pageSize = 20;
|
||||
this.listQuery.workOrderId = val.workOrderId ? val.workOrderId : undefined;
|
||||
// this.listQuery.teamId = val.teamId ? val.teamId : undefined;
|
||||
this.getDataList();
|
||||
@ -222,7 +222,7 @@ export default {
|
||||
case 'reset':
|
||||
this.$refs.searchBarForm.resetForm();
|
||||
this.listQuery = {
|
||||
pageSize: 10,
|
||||
pageSize: 20,
|
||||
pageNo: 1,
|
||||
total: 1,
|
||||
};
|
||||
|
@ -1,38 +1,16 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<search-bar
|
||||
:formConfigs="formConfig"
|
||||
ref="searchBarForm"
|
||||
@headBtnClick="buttonClick" />
|
||||
<base-table
|
||||
v-loading="dataListLoading"
|
||||
:table-props="tableProps"
|
||||
:page="listQuery.pageNo"
|
||||
:limit="listQuery.pageSize"
|
||||
:table-data="tableData">
|
||||
<method-btn
|
||||
v-if="tableBtn.length"
|
||||
slot="handleBtn"
|
||||
:width="120"
|
||||
label="操作"
|
||||
:method-list="tableBtn"
|
||||
<search-bar :formConfigs="formConfig" ref="searchBarForm" @headBtnClick="buttonClick" />
|
||||
<base-table :max-height="tableH" v-loading="dataListLoading" :table-props="tableProps" :page="listQuery.pageNo"
|
||||
:limit="listQuery.pageSize" :table-data="tableData">
|
||||
<method-btn v-if="tableBtn.length" slot="handleBtn" :width="120" label="操作" :method-list="tableBtn"
|
||||
@clickBtn="handleClick" />
|
||||
</base-table>
|
||||
<pagination
|
||||
:limit.sync="listQuery.pageSize"
|
||||
:page.sync="listQuery.pageNo"
|
||||
:total="listQuery.total"
|
||||
<pagination :limit.sync="listQuery.pageSize" :page.sync="listQuery.pageNo" :total="listQuery.total"
|
||||
@pagination="getDataList" />
|
||||
<base-dialog
|
||||
:dialogTitle="addOrEditTitle"
|
||||
:dialogVisible="addOrUpdateVisible"
|
||||
@cancel="handleCancel"
|
||||
@confirm="handleConfirm"
|
||||
:before-close="handleCancel"
|
||||
width="40%">
|
||||
<add-or-update
|
||||
ref="addOrUpdate"
|
||||
@refreshDataList="successSubmit"></add-or-update>
|
||||
<base-dialog :dialogTitle="addOrEditTitle" :dialogVisible="addOrUpdateVisible" @cancel="handleCancel"
|
||||
@confirm="handleConfirm" :before-close="handleCancel" width="40%">
|
||||
<add-or-update ref="addOrUpdate" @refreshDataList="successSubmit"></add-or-update>
|
||||
</base-dialog>
|
||||
</div>
|
||||
</template>
|
||||
@ -41,6 +19,7 @@
|
||||
import AddOrUpdate from './add-or-updata';
|
||||
import basicPage from '../../../core/mixins/basic-page';
|
||||
import { parseTime } from '../../../core/mixins/code-filter';
|
||||
import tableHeightMixin from '@/mixins/lb/tableHeightMixin';
|
||||
import {
|
||||
getQualityScrapTypePage,
|
||||
deleteQualityScrapType
|
||||
@ -71,7 +50,7 @@ const tableProps = [
|
||||
];
|
||||
|
||||
export default {
|
||||
mixins: [basicPage],
|
||||
mixins: [basicPage, tableHeightMixin],
|
||||
data() {
|
||||
return {
|
||||
urlOptions: {
|
||||
@ -159,14 +138,14 @@ export default {
|
||||
switch (val.btnName) {
|
||||
case 'search':
|
||||
this.listQuery.pageNo = 1;
|
||||
this.listQuery.pageSize = 10;
|
||||
this.listQuery.pageSize = 20;
|
||||
this.listQuery.name = val.name ? val.name : undefined;
|
||||
this.getDataList();
|
||||
break;
|
||||
case 'reset':
|
||||
this.$refs.searchBarForm.resetForm();
|
||||
this.listQuery = {
|
||||
pageSize: 10,
|
||||
pageSize: 20,
|
||||
pageNo: 1,
|
||||
total: 1,
|
||||
};
|
||||
|
@ -8,7 +8,8 @@
|
||||
<el-tab-pane :label="'\u2002表格数据\u2002'" name="table">
|
||||
<!-- 列表 -->
|
||||
<div class="blue-title">产品名:{{ productDetail.name }} 产品规格:{{ productDetail.specifications }}</div>
|
||||
<base-table class="base-table__margin" :table-props="productProps" :page="1" :limit="10" :table-data="list">
|
||||
<base-table :max-height="tableH" class="base-table__margin" :table-props="productProps" :page="1"
|
||||
:limit="10" :table-data="list">
|
||||
</base-table>
|
||||
<div v-for="(item,index) in downProps" :key="index">
|
||||
<div class="blue-title">工单名称:{{ list[index].workOrderName }}</div>
|
||||
@ -51,6 +52,7 @@ import {
|
||||
getProductList,
|
||||
getWorkOrderList
|
||||
} from '@/api/monitoring/statisticalData';
|
||||
import tableHeightMixin from '@/mixins/lb/tableHeightMixin';
|
||||
// import Editor from '@/components/Editor';
|
||||
import moment from 'moment';
|
||||
// import DialogForm from './dialogForm.vue';
|
||||
@ -61,7 +63,7 @@ export default {
|
||||
// components: {
|
||||
// DialogForm,
|
||||
// },
|
||||
// mixins: [basicPageMixin],
|
||||
mixins: [tableHeightMixin],
|
||||
data() {
|
||||
return {
|
||||
list: [],
|
||||
|
@ -1,43 +1,22 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<!-- 搜索工作栏 -->
|
||||
<SearchBar
|
||||
:formConfigs="searchBarFormConfig"
|
||||
ref="search-bar"
|
||||
<SearchBar :isFold="true" :formConfigs="searchBarFormConfig" ref="search-bar"
|
||||
@headBtnClick="handleSearchBarBtnClick" />
|
||||
|
||||
<!-- 列表 -->
|
||||
<base-table
|
||||
: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">
|
||||
<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" />
|
||||
</base-table>
|
||||
|
||||
<!-- 分页组件 -->
|
||||
<pagination
|
||||
v-show="total > 0"
|
||||
:total="total"
|
||||
:page.sync="queryParams.pageNo"
|
||||
:limit.sync="queryParams.pageSize"
|
||||
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNo" :limit.sync="queryParams.pageSize"
|
||||
@pagination="getList" />
|
||||
|
||||
<!-- 对话框(添加 / 修改) -->
|
||||
<base-dialog
|
||||
:dialogTitle="title"
|
||||
:dialogVisible="open"
|
||||
width="50%"
|
||||
@close="cancel"
|
||||
@cancel="cancel"
|
||||
<base-dialog :dialogTitle="title" :dialogVisible="open" width="50%" @close="cancel" @cancel="cancel"
|
||||
@confirm="submitForm">
|
||||
<DialogForm v-if="open" ref="form" v-model="form" />
|
||||
</base-dialog>
|
||||
|
@ -1,17 +1,11 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<!-- 搜索工作栏 -->
|
||||
<SearchBar
|
||||
:formConfigs="searchBarFormConfig"
|
||||
ref="search-bar"
|
||||
<SearchBar :formConfigs="searchBarFormConfig" ref="search-bar"
|
||||
@headBtnClick="handleSearchBarBtnClick" />
|
||||
|
||||
<!-- 列表 -->
|
||||
<base-table
|
||||
:table-props="tableProps"
|
||||
:page="1"
|
||||
:limit="10"
|
||||
:table-data="list">
|
||||
<base-table :max-height="tableH" :table-props="tableProps" :page="1" :limit="10" :table-data="list">
|
||||
<!-- <method-btn
|
||||
v-if="tableBtn.length"
|
||||
slot="handleBtn"
|
||||
@ -51,6 +45,7 @@ import {
|
||||
} from '@/api/monitoring/statisticalData';
|
||||
// import Editor from '@/components/Editor';
|
||||
import moment from 'moment';
|
||||
import tableHeightMixin from '@/mixins/lb/tableHeightMixin';
|
||||
// import DialogForm from './dialogForm.vue';
|
||||
|
||||
// import basicPageMixin from '@/mixins/lb/basicPageMixin';
|
||||
@ -59,7 +54,7 @@ export default {
|
||||
// components: {
|
||||
// DialogForm,
|
||||
// },
|
||||
// mixins: [basicPageMixin],
|
||||
mixins: [tableHeightMixin],
|
||||
data() {
|
||||
return {
|
||||
list: [],
|
||||
@ -111,6 +106,12 @@ export default {
|
||||
btnName: '查询',
|
||||
name: 'search',
|
||||
color: 'primary',
|
||||
},
|
||||
{
|
||||
type: 'button',
|
||||
btnName: '返回',
|
||||
name: 'back',
|
||||
color: 'primary',
|
||||
},
|
||||
// {
|
||||
// type: this.$auth.hasPermi(
|
||||
@ -373,8 +374,9 @@ export default {
|
||||
this.queryParams.productionId = val.productionId ? val.productionId : undefined
|
||||
this.queryParams.startTime = val.checkTime ? val.checkTime[0] : undefined
|
||||
this.queryParams.endTime = val.checkTime ? val.checkTime[1] : undefined
|
||||
|
||||
this.getList()
|
||||
} else if (val.btnName === 'back') {
|
||||
this.$router.go(-1)
|
||||
}
|
||||
// console.log(val);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user