Files
50-XiAn204-MacroinfManage_MES/src/views/SearchData/JPHTrendChart/index.vue
2022-08-25 16:43:34 +08:00

279 lines
7.8 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!--物料ANDON统计-->
<template>
<div class="app-container">
<el-card class="topCard">
<div class="topDiv">
<span style="margin-left: 10px">时间</span>
<el-date-picker
v-model="dateTime"
size="small"
type="daterange"
align="center"
style="width: 240px;"
value-format="yyyy-MM-dd"
format="yyyy-MM-dd"
range-separator=""
start-placeholder="开始日期"
end-placeholder="结束日期"/>
<el-button type="primary" plain size="small" icon="el-icon-search" style="margin-left: 5px" @click="pageSize=12;pageCurrent=1;searchOrder();searchOrder1()">查询</el-button>
<!-- <el-button type="info" size="small" icon="el-icon-download" @click="exportExcel()">Excel</el-button>-->
</div>
<div style="border: 1px solid #EBEEF5;width: 100%;height: 400px;">
<div id="myChart" style="width: 100%;height: 380px;float: right;"/>
</div>
<el-table
v-loading="loading"
ref="multipleTable"
:data="tableData"
:header-cell-style="{background:'#eef1f6',color:'#606266'}"
:cell-class-name="tableRowClassName"
element-loading-text="数据加载中"
element-loading-spinner="el-icon-loading"
element-loading-background="rgba(0, 0, 0, 0.2)"
class="main"
tooltip-effect="dark"
height="450px"
style="width: 100%;"
border
size="mini">
<el-table-column align="center" width="60px" type="index" label="序号"/>
<el-table-column align="center" label="日期">
<template slot-scope="scope">
{{ scope.row.StaticTime }}
</template>
</el-table-column>
<el-table-column align="center" label="时间">
<template slot-scope="scope">
{{ scope.row.TimeSlot }}
</template>
</el-table-column>
<el-table-column align="center" label="数量">
<template slot-scope="scope">
{{ scope.row.JPHValue }}
</template>
</el-table-column>
</el-table>
<div class="block" style="margin-top: 10px;">
<el-pagination
v-if="!loading"
:current-page="pageCurrent"
:page-sizes="[15, 30, 40]"
:page-size="pageSize"
:total="total"
layout="total, sizes, prev, pager, next, jumper"
@size-change="handleSizeChange"
@current-change="handleCurrentChange"/>
</div>
</el-card>
</div>
</template>
<!--<script src="../../../utils/setMethods.js"></script>-->
<script>
export default {
data() {
return {
number: [],
tableData: [], // 总数据数组
tableData1: [], // 总数据数组
xData: [], // echars x轴
yData: [], // echars y轴
// engineTypeValue: '', // 产品型号
// engineType: [], // 产品型号数组
// orderNumber: [], // 订单号
// orderNumberValue: '', // 订单号
stationNumberValue: '', // 工位号
stationNumber: [], // 工位号
statePlan: [], // 计划状态数组
statePlanValue: '', // 计划状态
importTime: '', // 计划状态
releaseTime: '', // 计划状态
dateTime: '',
total: 0, // 总条数
pageList: 15, // 每页显示条数
pageSize: 15, // 每页显示条数
pageCurrent: 1, // 后台获取页
mid: [], // id
loading: false,
timer_1: null,
MIDGroup: []
}
},
created() {
var year, month, day, audiTime
this.date = new Date() // 修改数据date
year = new Date().getFullYear()
month = new Date().getMonth() + 1 < 10 ? '0' + (new Date().getMonth() + 1) : new Date().getMonth() + 1
day = new Date().getDate() < 10 ? '0' + new Date().getDate() : new Date().getDate()
audiTime = year + '-' + month + '-' + day
console.log(audiTime, 'audiTime')
this.dateTime = [audiTime, audiTime]
},
mounted() {
},
methods: {
// 表格颜色变化
tableRowClassName({ row, rowIndex }) {
// console.log(row, rowIndex)
if (rowIndex % 2 === 0) {
return 'black'
} else {
return 'red'
}
},
// 实时扭矩曲线
drawLine() {
// 基于准备好的dom初始化echarts实例
const myChart = this.$echarts.init(document.getElementById('myChart'))
myChart.clear()
myChart.setOption({
title: {
left: 'center',
text: 'FTT趋势图'
},
toolbox: {// echart保存为图片
show: true,
feature: {
mark: {
show: true
},
saveAsImage: {
show: true,
pixelRatio: 1,
title: '保存为图片',
type: 'png',
lang: ['点击保存']
}
}
},
xAxis: {
type: 'category',
data: this.xData,
axisTick: {
alignWithLabel: true
},
axisLabel: {
interval: 0,
rotate: 30
}
},
yAxis: {
type: 'value'
},
series: [
{
name: 'NO',
data: this.yData,
type: 'line',
showBackground: true,
backgroundStyle: {
color: 'rgba(180, 180, 180, 0.2)'
},
itemStyle: { // 上方显示数值
normal: {
label: {
show: true, // 开启显示
position: 'top', // 在上方显示
textStyle: { // 数值样式
color: 'black',
fontSize: 16
}
}
}
}
}
]
})
},
// 查询订单
searchOrder() {
this.tableData = []
var param = []
param[0] = ['Startdate', this.dateTime[0]]
param[1] = ['PageCurrent', this.pageCurrent]
param[2] = ['PageSize', this.pageSize]
param[3] = ['PageCount', '1111', 'int', '1']
param[4] = ['ItemCount', '1111', 'int', '1']
param[5] = ['Enddate', this.dateTime[1]]
var Data = this.CreateData('11', 'Data_WorkStationJPH_Statistic_Form', param)
this.ExecDatabase(Data).then(response => {
console.log(response, 66)
if (response.data.result.length !== 0) {
this.tableData = response.data.result
}
this.total = parseInt(response.data.output[0].ItemCount)
this.loading = false
})
},
// 查询订单
searchOrder1() {
this.yData = []
this.xData = []
this.tableData1 = []
var param = []
param[0] = ['StartDatetime', this.dateTime[0]]
var Data = this.CreateData('11', 'Data_WorkStationJPH_Statistic_Add', param)
this.ExecDatabase(Data).then(response => {
if (response.data.length !== 0) {
console.log(response.data)
for (let i = 0; i < response.data.length; i++) {
this.xData.push(response.data[i].TimeSlot)
this.yData.push(response.data[i].JPHValue)
}
console.log(this.xData, 'this.xData')
}
}).then(() => {
this.drawLine()
})
},
// 分页
handleSizeChange(val) {
this.pageCurrent = 1
this.pageSize = val
this.searchOrder()
},
handleCurrentChange(val) {
this.pageCurrent = val
this.searchOrder()
}
}
}
</script>
<style scoped>
.topCard{
margin: 5px;
}
.topDiv{
margin-bottom: 10px;
}
.el-select{
width:200px
}
.el-input{
width:200px
}
.text {
font-size: 14px;
}
.item {
padding: 18px 0;
}
.box-card {
position: absolute;
right: 6px;
top: 80px;
width: 300px;
}
.el-table .warning-row {
background: oldlace;
}
.el-table .success-row {
background: #f0f9eb;
}
</style>