更新
This commit is contained in:
@@ -0,0 +1,350 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-card>
|
||||
<span>工位号:</span>
|
||||
<el-select v-model="MachineValue" filterable size="small" style="width:160px;margin-bottom:10px" placeholder="工位号">
|
||||
<el-option
|
||||
v-for="item in Machine"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value">
|
||||
<div style="float: left">{{ item.label }}</div>
|
||||
<div style="float: right; color: #8492a6; font-size: 13px">{{ item.value2 }}</div>
|
||||
</el-option>
|
||||
</el-select>
|
||||
<span>日期:</span>
|
||||
<el-date-picker
|
||||
v-model="Time"
|
||||
value-format="yyyy-MM-dd"
|
||||
size="small"
|
||||
style="width: 160px"
|
||||
type="date"
|
||||
placeholder="选择日期"/>
|
||||
<el-button type="success" size="small" icon="el-icon-search" style="margin-left: 15px" @click="pageSize=10; pageCurrent= 1;searchData()">查询</el-button>
|
||||
</el-card>
|
||||
<el-card>
|
||||
<el-table
|
||||
:data="tableDataA"
|
||||
border
|
||||
style="width: 100%;max-height: 450px;margin-top: 10px"
|
||||
height="450px"
|
||||
highlight-current-row
|
||||
size="small">
|
||||
<el-table-column
|
||||
type="index"
|
||||
label="序号"
|
||||
align="center"
|
||||
width="50"/>
|
||||
<el-table-column label="工位号" align="center">
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.工位号 }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="状态" align="center">
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.状态 }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="电流" align="center">
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.电流 }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="开始时间" align="center">
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.开始时间 }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="结束时间" align="center">
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.结束时间 }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="持续时间" align="center">
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.持续时间 }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="日期" align="center">
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.日期.split(' ')[0] }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="block">
|
||||
<el-pagination
|
||||
:current-page="pageCurrent"
|
||||
:page-sizes="[10, 20, 30, 40]"
|
||||
:page-size="pageSize"
|
||||
:total="total"
|
||||
layout="total, sizes, prev, pager, next, jumper"
|
||||
@size-change="handleSizeChange"
|
||||
@current-change="handleCurrentChange"/>
|
||||
</div>
|
||||
</el-card>
|
||||
<el-card style="width: 49.8%; float: left;margin-right: 5px">
|
||||
<div id="myChart1" style="width: 1000px; height: 570px; margin: auto"/>
|
||||
</el-card>
|
||||
<el-card style="width: 49.8%">
|
||||
<div id="myChart2" style="width: 1000px; height: 570px; margin: auto"/>
|
||||
</el-card>
|
||||
<el-card>
|
||||
<span>工位号:</span>
|
||||
<el-select v-model="MachineValue1" filterable size="small" style="width:160px;margin-bottom:10px" placeholder="工位号">
|
||||
<el-option
|
||||
v-for="item in Machine"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value">
|
||||
<div style="float: left">{{ item.label }}</div>
|
||||
<div style="float: right; color: #8492a6; font-size: 13px">{{ item.value2 }}</div>
|
||||
</el-option>
|
||||
</el-select>
|
||||
<span style="margin-left: 10px">时间段:</span>
|
||||
<el-date-picker
|
||||
v-model="date1"
|
||||
style="width:160px;margin:10px;"
|
||||
size="small"
|
||||
type="date"
|
||||
value-format="yyyy-MM-dd"
|
||||
format="yyyy-MM-dd"
|
||||
placeholder="选择日期"/>
|
||||
<span>~</span>
|
||||
<el-date-picker
|
||||
v-model="date2"
|
||||
style="width:160px;margin:10px;"
|
||||
size="small"
|
||||
type="date"
|
||||
value-format="yyyy-MM-dd"
|
||||
format="yyyy-MM-dd"
|
||||
placeholder="选择日期"/>
|
||||
<el-button type="success" size="small" icon="el-icon-search" style="margin-left: 15px" @click="searchData1()">查询</el-button>
|
||||
</el-card>
|
||||
<el-card>
|
||||
<div id="myChart" style="width: 1000px; height: 570px; margin: auto"/>
|
||||
</el-card>
|
||||
<el-card>
|
||||
<div id="myChart3" style="width: 100%; height: 520px; margin: auto"/>
|
||||
</el-card>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>import { getData, getData1, getData2, getMachine } from '@/api/ManufacturingCenter/EquipmentConditionAnalysis'
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
tableDataA: [],
|
||||
MachineValue: '',
|
||||
MachineValue1: '',
|
||||
Machine: [],
|
||||
Time: '',
|
||||
date1: '',
|
||||
date2: '',
|
||||
time1: '',
|
||||
time2: '',
|
||||
time3: '',
|
||||
time11: '',
|
||||
time22: '',
|
||||
time33: '',
|
||||
pageCurrent: 1,
|
||||
pageSize: 10,
|
||||
total: 0,
|
||||
table: []
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.drawLine()
|
||||
},
|
||||
created() {
|
||||
this.fetchData()
|
||||
},
|
||||
methods: {
|
||||
fetchData() {
|
||||
this.MachineValue = ''
|
||||
this.Machine = []
|
||||
getMachine().then(response => {
|
||||
for (let i = 0; i < response.data.length; i++) {
|
||||
this.Machine.push({
|
||||
label: response.data[i].终端编号,
|
||||
value: response.data[i].终端编号,
|
||||
value2: response.data[i].姓名
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
searchData() {
|
||||
getData(this.MachineValue, this.Time, this.pageCurrent, this.pageSize).then(response => {
|
||||
this.tableDataA = response.data.rows
|
||||
this.total = response.data.total
|
||||
this.time1 = response.data.rows[0].运行持续时间
|
||||
this.time2 = response.data.rows[0].等待持续时间
|
||||
this.time3 = response.data.rows[0].停机持续时间
|
||||
}).then(() => {
|
||||
this.drawLine1()
|
||||
})
|
||||
getData1(this.Time).then(response => {
|
||||
this.time11 = response.data[0].运行持续时间
|
||||
this.time22 = response.data[0].等待持续时间
|
||||
this.time33 = response.data[0].停机持续时间
|
||||
}).then(() => {
|
||||
this.drawLine2()
|
||||
})
|
||||
},
|
||||
searchData1() {
|
||||
getData2(this.MachineValue1, this.date1, this.date2).then(response => {
|
||||
this.table = response.data
|
||||
console.log(this.table)
|
||||
}).then(() => {
|
||||
this.drawLine()
|
||||
})
|
||||
},
|
||||
// 绘制图形
|
||||
drawLine() {
|
||||
const myChart = this.$echarts.init(document.getElementById('myChart'))
|
||||
const xData = []
|
||||
const lineData = []
|
||||
for (let i = 0; i < this.table.length; i++) {
|
||||
xData.push(this.table[i].日期.split(' ')[0])
|
||||
lineData.push(this.table[i].利用率.toFixed(2))
|
||||
}
|
||||
myChart.clear()
|
||||
myChart.setOption({
|
||||
tooltip: {
|
||||
trigger: 'axis',
|
||||
axisPointer: {
|
||||
type: 'cross',
|
||||
crossStyle: {
|
||||
color: '#999'
|
||||
}
|
||||
}
|
||||
},
|
||||
legend: {
|
||||
data: ['利用率']
|
||||
},
|
||||
xAxis: [
|
||||
{
|
||||
type: 'category',
|
||||
name: '日期',
|
||||
data: xData,
|
||||
axisPointer: {
|
||||
type: 'shadow'
|
||||
}
|
||||
}
|
||||
],
|
||||
yAxis: [
|
||||
{
|
||||
type: 'value',
|
||||
name: '利用率'
|
||||
}
|
||||
],
|
||||
series: [
|
||||
{
|
||||
name: '利用率',
|
||||
type: 'line',
|
||||
label: {
|
||||
normal: {
|
||||
show: true,
|
||||
position: 'top'
|
||||
}
|
||||
},
|
||||
data: lineData
|
||||
}
|
||||
]
|
||||
})
|
||||
},
|
||||
drawLine1() {
|
||||
const myChart = this.$echarts.init(document.getElementById('myChart1'))
|
||||
const xData = ['运行', '等待', '停机']
|
||||
const lineData = [{ name: '运行', value: this.time1 }, { name: '等待', value: this.time2 }, { name: '停机', value: this.time3 }]
|
||||
myChart.clear()
|
||||
myChart.setOption({
|
||||
title: {
|
||||
text: '单台设备状态',
|
||||
x: 350
|
||||
},
|
||||
tooltip: {
|
||||
trigger: 'item',
|
||||
formatter: '{a} <br/>{b} : {c} ({d}%)'
|
||||
},
|
||||
legend: {
|
||||
type: 'scroll',
|
||||
orient: 'vertical',
|
||||
left: 10,
|
||||
top: 20,
|
||||
bottom: 20,
|
||||
data: xData
|
||||
},
|
||||
series: [
|
||||
{
|
||||
name: '状态',
|
||||
type: 'pie',
|
||||
radius: '55%',
|
||||
center: ['40%', '50%'],
|
||||
data: lineData,
|
||||
itemStyle: {
|
||||
emphasis: {
|
||||
shadowBlur: 10,
|
||||
shadowOffsetX: 0,
|
||||
shadowColor: 'rgba(0, 0, 0, 0.5)'
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
})
|
||||
},
|
||||
drawLine2() {
|
||||
const myChart = this.$echarts.init(document.getElementById('myChart2'))
|
||||
const xData = ['运行', '等待', '停机']
|
||||
const lineData = [{ name: '运行', value: this.time11 }, { name: '等待', value: this.time22 }, { name: '停机', value: this.time33 }]
|
||||
myChart.clear()
|
||||
myChart.setOption({
|
||||
title: {
|
||||
text: '全员设备状态',
|
||||
x: 350
|
||||
},
|
||||
tooltip: {
|
||||
trigger: 'item',
|
||||
formatter: '{a} <br/>{b} : {c} ({d}%)'
|
||||
},
|
||||
legend: {
|
||||
type: 'scroll',
|
||||
orient: 'vertical',
|
||||
left: 10,
|
||||
top: 20,
|
||||
bottom: 20,
|
||||
data: xData
|
||||
},
|
||||
series: [
|
||||
{
|
||||
name: '状态',
|
||||
type: 'pie',
|
||||
radius: '55%',
|
||||
center: ['40%', '50%'],
|
||||
data: lineData,
|
||||
itemStyle: {
|
||||
emphasis: {
|
||||
shadowBlur: 10,
|
||||
shadowOffsetX: 0,
|
||||
shadowColor: 'rgba(0, 0, 0, 0.5)'
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
})
|
||||
},
|
||||
handleSizeChange(val) {
|
||||
this.pageCurrent = 1
|
||||
this.pageSize = val
|
||||
this.searchData()
|
||||
},
|
||||
handleCurrentChange(val) {
|
||||
this.pageCurrent = val
|
||||
this.searchData()
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
</style>
|
||||
@@ -186,6 +186,7 @@
|
||||
@size-change="handleSizeChange"
|
||||
@current-change="handleCurrentChange"/>
|
||||
<!--<el-checkbox v-model="checked_baitu" style="margin-top:0px">是否白图</el-checkbox>-->
|
||||
<el-button :loading="listLoading3" type="primary" size="small" style="float:right;margin-left: 10px" @click="back">打回</el-button>
|
||||
<el-button :loading="listLoading3" type="primary" size="small" style="float:right;" @click="production">投产</el-button>
|
||||
<el-checkbox v-model="checked_hebing" style="float:right;margin-top:10px;margin-right:10px">合并生产</el-checkbox>
|
||||
</div>
|
||||
@@ -332,7 +333,7 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { getEntryNameValue, getToolNum, getNum, getTable, production, getTable1, revisionBatch, editList, dele, production2 } from '@/api/ManufacturingCenter/InitialProduction'
|
||||
import { getEntryNameValue, getToolNum, getNum, getTable, production, getTable1, revisionBatch, editList, dele, production2, edit } from '@/api/ManufacturingCenter/InitialProduction'
|
||||
import { mapGetters } from 'vuex'
|
||||
|
||||
export default {
|
||||
@@ -574,6 +575,7 @@ export default {
|
||||
},
|
||||
handleSelectionChange(val) {
|
||||
this.multipleSelection = val
|
||||
console.log(this.multipleSelection, 1111)
|
||||
},
|
||||
// 打开分批投产
|
||||
handleEdit(index, row, formName) {
|
||||
@@ -904,6 +906,30 @@ export default {
|
||||
}
|
||||
}
|
||||
},
|
||||
back() {
|
||||
if (this.multipleSelection.length === 0) {
|
||||
this.$message.error('请至少选择一个零件')
|
||||
} else {
|
||||
this.a = 0
|
||||
for (let i = 0; i < this.multipleSelection.length; i++) {
|
||||
edit(this.multipleSelection[i].组件零件基本件流水号).then(response => {
|
||||
this.a += parseInt(response.data[0].result)
|
||||
if (this.a === this.multipleSelection.length) {
|
||||
this.$message.success('打回成功')
|
||||
this.total = 0
|
||||
this.pageList = 1
|
||||
this.getTable()
|
||||
this.checked_baitu = false
|
||||
this.checked_gaonandu = false
|
||||
this.tableData1 = []
|
||||
this.listLoading3 = false
|
||||
} else {
|
||||
this.$message.error('打回失败')
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
},
|
||||
// 打回档案
|
||||
handleDele(index, row, formName) {
|
||||
this.count2 = this.count2 + 1
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
<el-input v-model="partName" placeholder="零件图号" size="small" clearable style="width:200px"/>
|
||||
<el-button size="small" icon="el-icon-search" type="success" style="margin-left: 10px" @click="pageSize=10; pageCurrent=1;searchTable()">查询</el-button>
|
||||
<el-button size="small" icon="el-icon-success" type="primary" style="margin-left: 10px" @click="edit2()">自家备料确认</el-button>
|
||||
<el-button size="small" icon="el-icon-success" type="primary" style="margin-left: 10px" @click="back()">打回</el-button>
|
||||
</el-card>
|
||||
<el-card>
|
||||
<el-table v-loading="loading" :data="tableData" height="580" style="width: 100%;" border element-loading-text="拼命加载中" @selection-change="handleSelectionChange2">
|
||||
@@ -90,7 +91,7 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { searchtable, searchtable2, searchtable3, change2, change3 } from '@/api/ManufacturingCenter/MaterialArrivalManagement'
|
||||
import { searchtable, searchtable2, searchtable3, change2, change3, edit } from '@/api/ManufacturingCenter/MaterialArrivalManagement'
|
||||
import { mapGetters } from 'vuex'
|
||||
export default {
|
||||
data() {
|
||||
@@ -99,6 +100,7 @@ export default {
|
||||
editTime: '',
|
||||
bianliang1: [],
|
||||
bianliang2: [],
|
||||
bianliang3: [],
|
||||
num: 0,
|
||||
arrest: [],
|
||||
all: false,
|
||||
@@ -183,6 +185,24 @@ export default {
|
||||
}
|
||||
})
|
||||
},
|
||||
back() {
|
||||
if (this.arrest2.length === 0) {
|
||||
this.$message.warning('请选择零件')
|
||||
} else {
|
||||
this.a = 0
|
||||
for (let i = 0; i < this.arrest2.length; i++) {
|
||||
edit(this.arrest2[i].工艺计划流水号).then(response => {
|
||||
this.a += parseInt(response.data[0].result)
|
||||
if (this.a === this.arrest2.length) {
|
||||
this.$message.success('打回成功')
|
||||
this.searchTable()
|
||||
} else {
|
||||
this.$message.error('打回失败')
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
},
|
||||
zeroFill(i) {
|
||||
if (i >= 0 && i <= 9) {
|
||||
return '0' + i
|
||||
|
||||
@@ -589,7 +589,7 @@ export default {
|
||||
RequisitionList: '',
|
||||
form: {
|
||||
请购单编号: '',
|
||||
请购车间: '',
|
||||
请购车间: '制造部',
|
||||
请购时间: ''
|
||||
},
|
||||
rules: {
|
||||
|
||||
Reference in New Issue
Block a user