<template>
|
<div>
|
<!-- 查询开始 -->
|
<el-form :model="sourceRequest" :inline="true" class="demo-form-inline" :rules="rules">
|
<el-form-item label="开始时间" prop="startTime">
|
<el-date-picker
|
v-model="sourceRequest.startTime"
|
value-format="yyyy-MM-dd"
|
type="date"
|
placeholder="开始时间">
|
</el-date-picker>
|
</el-form-item>
|
<el-form-item label="结束时间" prop="endTime">
|
<el-date-picker
|
v-model="sourceRequest.endTime"
|
value-format="yyyy-MM-dd"
|
type="date"
|
placeholder="结束时间">
|
</el-date-picker>
|
</el-form-item>
|
<el-form-item label="车间">
|
<el-input type="text" v-model="sourceRequest.mdsWorkcenterId" show-word-limit width="200" placeholder="请输入车间" clearable></el-input>
|
</el-form-item>
|
<el-form-item label="设备编号">
|
<el-input type="text" v-model="sourceRequest.mdsEquipmentId" show-word-limit width="200" placeholder="请输入设备编号" clearable></el-input>
|
</el-form-item>
|
<el-form-item label="零件号">
|
<el-input type="text" v-model="sourceRequest.mdsItemCode" show-word-limit width="200" placeholder="请输入零件号" clearable></el-input>
|
</el-form-item>
|
<el-form-item label="工艺规程编码">
|
<el-input type="text" v-model="sourceRequest.routeId" show-word-limit width="200" placeholder="请输入工艺规程编码" clearable></el-input>
|
</el-form-item>
|
<el-form-item>
|
<el-button type="primary" @click="assignSearch" size="small" icon="el-icon-search">查询</el-button>
|
</el-form-item>
|
<el-form-item>
|
<el-button type="primary" @click="reSearch" icon="el-icon-search" size="small">重置</el-button>
|
</el-form-item>
|
</el-form>
|
|
|
<el-table :data="doneTaskList" class="show_table" ref="workDoneTaskTable"
|
highlight-current-row v-loading="listLoading" :style="conheight" :height="conheight.height"
|
style=" width: 100%" @sort-change="sortTableFun">
|
<el-table-column type="expand">
|
<template slot-scope="props">
|
<el-form label-position="left" inline class="demo-table-expand">
|
<el-form-item label="车间编号">
|
<span>{{ props.row.mdsWorkcenterId }}</span>
|
</el-form-item>
|
<el-form-item label="设备编号">
|
<span>{{props.row.mdsEquipmentId}}</span>
|
</el-form-item>
|
<el-form-item label="版本号">
|
<span>{{ props.row.revisionNo }}</span>
|
</el-form-item>
|
<el-form-item label="机加/装配">
|
<span>{{ busTypeFormat(null, null,props.row.busType)}}</span>
|
</el-form-item>
|
<el-form-item label="1314码">
|
<span>{{ props.row.code1314 }}</span>
|
</el-form-item>
|
<el-form-item label="发动机号">
|
<span>{{ props.row.engineNo }}</span>
|
</el-form-item>
|
<el-form-item label="空海军标识">
|
<span>{{ props.row.erpWbs }}</span>
|
</el-form-item>
|
<el-form-item label="发动机类型">
|
<span>{{ props.row.engineType }}</span>
|
</el-form-item>
|
<el-form-item label="是否首件">
|
<span>{{ fristFlagFormat(null, null,props.row.fristFlag)}}</span>
|
</el-form-item>
|
<el-form-item label="零件ID">
|
<span>{{ props.row.mdsItemId }}</span>
|
</el-form-item>
|
<el-form-item label="零件号">
|
<span>{{ props.row.mdsItemCode }}</span>
|
</el-form-item>
|
<el-form-item label="流卡号">
|
<span>{{ props.row.ewoNo }}</span>
|
</el-form-item>
|
<el-form-item label="批次号">
|
<span>{{ props.row.batchNo }}</span>
|
</el-form-item>
|
<el-form-item label="批次数量">
|
<span>{{ props.row.batchNum }}</span>
|
</el-form-item>
|
<el-form-item label="工序ID">
|
<span>{{ props.row.opreationSeqNoId }}</span>
|
</el-form-item>
|
<el-form-item label="顺序号">
|
<span>{{ props.row.mdsItemSeq }}</span>
|
</el-form-item>
|
<el-form-item label="工序号">
|
<span>{{ props.row.opreationSeqNo }}</span>
|
</el-form-item>
|
<el-form-item label="工序类型">
|
<span>{{ props.row.opreationSeqType }}</span>
|
</el-form-item>
|
<el-form-item label="工步ID">
|
<span>{{ props.row.mesOpreationSeqStepId }}</span>
|
</el-form-item>
|
<el-form-item label="工步号">
|
<span>{{ props.row.mesOpreationSeqStepNo }}</span>
|
</el-form-item>
|
<el-form-item label="校验类型">
|
<span>{{ checkTypeFormat(null, null,props.row.checkType)}}</span>
|
</el-form-item>
|
<el-form-item label="派工日期">
|
<span>{{ props.row.dispatchDate }}</span>
|
</el-form-item>
|
<!--<el-form-item label="bomID">-->
|
<!--<span>{{ props.row.rmdsBomId }}</span>-->
|
<!--</el-form-item>-->
|
<el-form-item label="工艺规程编码">
|
<span>{{ props.row.routeId }}</span>
|
</el-form-item>
|
<!--<el-form-item label="设备ID">-->
|
<!--<span>{{ props.row.equipmentId }}</span>-->
|
<!--</el-form-item>-->
|
<el-form-item label="是否下发">
|
<span>{{ ncIssuedFormat(null, null,props.row.ncIssued)}}</span>
|
</el-form-item>
|
<el-form-item label="任务类型">
|
<span>{{ taskTypeFormat(null, null,props.row.taskType)}}</span>
|
</el-form-item>
|
</el-form>
|
</template>
|
</el-table-column>
|
<el-table-column prop="mdsWorkcenterId" label="车间" align="center">
|
</el-table-column>
|
<el-table-column prop="mdsEquipmentId" label="设备编号" align="center">
|
</el-table-column>
|
<el-table-column prop="revisionNo" label="版本号" align="center">
|
</el-table-column>
|
<el-table-column prop="mdsItemCode" label="零件号" align="center">
|
</el-table-column>
|
<el-table-column prop="routeId" label="工艺规程编码" align="center">
|
</el-table-column>
|
<!-- <el-table-column prop="batchNum" label="批次数量" align="center">
|
</el-table-column>-->
|
<el-table-column prop="opreationSeqNo" label="工序号" align="center">
|
</el-table-column>
|
<el-table-column prop="dispatchDate" label="派工日期" align="center" :formatter="dataFormat" sortable="custom">
|
</el-table-column>
|
<el-table-column prop="ncIssued" label="是否下发成功" align="center">
|
<template slot-scope = "scope">
|
<span v-if="scope.row.ncIssued != 2 || scope.row.ncIssued == null">失败</span>
|
<span v-if="scope.row.ncIssued == 2">成功</span>
|
</template>
|
</el-table-column>
|
<el-table-column prop="remarks" label="原因" align="center">
|
|
</el-table-column>
|
<el-table-column label="操作" align="center">
|
<template slot-scope="scope">
|
<el-button v-if="scope.row.ncIssued != 2 ||scope.row.ncIssued == null " size="mini" @click.native="editFormShow(scope.$index, scope.row)" type="primary"
|
>NC发送
|
</el-button>
|
</template>
|
</el-table-column>
|
</el-table>
|
<el-pagination
|
@size-change="handleSizeChange"
|
@current-change="handleCurrentChange"
|
:current-page="pageData.page"
|
:page-sizes="pageData.pageSizeArr"
|
:page-size="pageData.size"
|
layout="total, sizes, prev, pager, next, jumper"
|
:total="pageData.total">
|
</el-pagination>
|
</div>
|
</template>
|
|
<script>
|
import * as mesDispatch from '../api/tableMessage'
|
export default {
|
name: "dispatch_task_distribution",
|
data() {
|
// 开始时间校验
|
var validTimeStart = (rule, value, callback) => {
|
var start = new Date(this.sourceRequest.startTime);
|
var end = new Date(this.sourceRequest.endTime);
|
if (start.getTime() > end.getTime()) {
|
callback(new Error("开始时间不能大于结束时间"));
|
}
|
callback();
|
};
|
// 结束时间校验
|
var vaildTimeEnd = (rule, value, callback) => {
|
var start = new Date(this.sourceRequest.startTime);
|
var end = new Date(this.sourceRequest.endTime);
|
if (end.getTime() < start.getTime()) {
|
callback(this.$message.error('结束日期必须大于等于开始日期,请重新选择!'));
|
}
|
callback();
|
};
|
return {
|
rules:{
|
startTime: [
|
{validator: validTimeStart,trigger: "blur"}],
|
endTime: [
|
{validator: vaildTimeEnd,trigger: "blur"}],
|
},
|
sourceRequest:{
|
startTime: "",
|
endTime:"",
|
mdsItemCode:"",
|
routeId:"",
|
mdsEquipmentId:"",
|
mdsWorkcenterId:"",
|
createTime:""
|
},
|
doneTaskList:[],
|
pageData:{
|
page:1,
|
size:20,
|
total:0,
|
pageSizeArr:[20, 50, 100]
|
},
|
listLoading:false,
|
conheight:{
|
height:'',
|
overflow: 'auto'
|
},
|
}
|
},
|
methods:{
|
|
//时间转化
|
dataFormat(row,column){
|
if(row.dispatchDate != null){
|
var data = row.dispatchDate;
|
return this.$moment(data).format('YYYY-MM-DD HH:mm:ss')
|
}
|
},
|
fristFlagFormat(row, col, cellVal) {
|
if(cellVal == 1){
|
return cellVal = '非首件'
|
}else if(cellVal == 2){
|
return cellVal = '首件'
|
}
|
},
|
checkTypeFormat(row, col, cellVal) {
|
if(cellVal == 1){
|
return cellVal = '自检'
|
}else if(cellVal == 2){
|
return cellVal = '互检'
|
}else if(cellVal == 3){
|
return cellVal = '专检'
|
}
|
},
|
busTypeFormat(row, col, cellVal) {
|
if(cellVal == 1){
|
return cellVal = '机加'
|
}else if(cellVal == 2){
|
return cellVal = '装配'
|
}else if(cellVal == 3){
|
return cellVal = '专检'
|
}
|
},
|
ncIssuedFormat(row, col, cellVal) {
|
if(cellVal == 1){
|
return cellVal = '未下发'
|
}else if(cellVal == 2){
|
return cellVal = '下发'
|
}
|
},
|
taskTypeFormat(row, col, cellVal) {
|
if(cellVal == 1){
|
return cellVal = '正常'
|
}else if(cellVal == 2){
|
return cellVal = '取消'
|
}else if(cellVal == 3){
|
return cellVal = '删除'
|
}
|
},
|
|
// 设置默认时间
|
GetDateStr(AddDayCount) {
|
|
var dd = new Date();
|
|
dd.setDate(dd.getDate()+AddDayCount);//获取AddDayCount天后的日期
|
|
var y = dd.getFullYear();
|
|
var m = (dd.getMonth()+1)<10?"0"+(dd.getMonth()+1):(dd.getMonth()+1);//获取当前月份的日期,不足10补0
|
|
var d = dd.getDate()<10?"0"+dd.getDate():dd.getDate();//获取当前几号,不足10补0
|
var timrsss = y+"-"+m+"-"+d;
|
this.sourceRequest.startTime = timrsss;
|
// return timrsss
|
|
},
|
dateInitEnd() {
|
let date = new Date();
|
let y = date.getFullYear();
|
let m = date.getMonth() + 1;
|
m = m < 10 ? "0" + m : m;
|
let d = date.getDate();
|
d = d < 10 ? "0" + d : d;
|
const time = y + "-" + m + "-" + d;
|
this.sourceRequest.endTime = time;
|
},
|
handleSizeChange(val) {
|
this.pageData.size = val;
|
this.queryMesDispatch();
|
},
|
handleCurrentChange(val) {
|
this.pageData.page = val;
|
this.queryMesDispatch();
|
},
|
assignSearch(){
|
this.pageData.page = 1;
|
this.queryMesDispatch();
|
},
|
reSearch(){
|
this.sourceRequest = {};
|
this.queryMesDispatch();
|
},
|
sortTableFun(column){
|
this.column = column.prop; //该方法获取到当前列绑定的prop字段名赋值给一个变量,之后这个变量做为入参传给后端
|
if (column.prop) { //该列有绑定prop字段走这个分支
|
if (column.order == 'ascending') {//当用户点击的是升序按钮,即ascending时
|
this.sourceRequest.createTime = 'asc'; //将order这个变量赋值为后端接口文档定义的升序的字段名,之后作为入参传给后端
|
} else if (column.order == 'descending') {
|
//当用户点击的是升序按钮,即descending时
|
this.sourceRequest.createTime = 'desc';//将order这个变量赋值为后端接口文档定义的降序的字段名,之后作为入参传给后端
|
}
|
this.queryMesDispatchFun()//且发起后端请求的接口
|
}
|
},
|
queryMesDispatchFun() {
|
this.listLoading = true;
|
// console.log(this.sourceRequest.dispatchDate);
|
mesDispatch.dispatch_list(this.pageData.page,this.pageData.size,this.sourceRequest).then((res)=>{
|
this.listLoading = false;
|
this.pageData.total = res.page.total;
|
this.doneTaskList = res.page.records;
|
}).catch((error) => {
|
this.listLoading = false;
|
})
|
},
|
queryMesDispatch() {
|
this.listLoading = true;
|
// console.log(this.sourceRequest.dispatchDate);
|
mesDispatch.dispatch_list(this.pageData.page,this.pageData.size,this.sourceRequest).then((res)=>{
|
this.listLoading = false;
|
this.pageData.total = res.page.total;
|
this.doneTaskList = res.page.records;
|
}).catch((error) => {
|
this.listLoading = false;
|
})
|
},
|
editFormShow(index, row) {
|
// console.log(row.id);
|
this.$confirm('确认下发吗?', '提示', {}).then(() => {
|
mesDispatch.ncSending_id(row.id).then((res) => {
|
if (res.success) {
|
this.queryMesDispatch();
|
this.$message({
|
message: res.message,
|
type: 'success'
|
});
|
} else if (res.message) {
|
this.$message({
|
message: res.message,
|
type: 'error'
|
});
|
}
|
});
|
});
|
},
|
getHeight(){
|
this.conheight.height=window.innerHeight-200+'px';
|
},
|
},
|
created() {
|
this.GetDateStr(0);
|
this.dateInitEnd();
|
window.addEventListener('resize', this.getHeight);
|
this.getHeight();
|
},
|
mounted() {
|
this.queryMesDispatch();
|
}
|
}
|
</script>
|
|
<style>
|
.demo-table-expand {
|
font-size: 0;
|
}
|
.demo-table-expand label {
|
width: 90px;
|
color: #99a9bf;
|
}
|
.el-table__expanded-cell .el-form-item{
|
width: 50%;
|
}
|
|
.demo-table-expand .el-form-item {
|
margin-right: 0;
|
margin-bottom: 0;
|
width: 50%;
|
}
|
.transfer-footer {
|
margin-left: 20px;
|
padding: 6px 5px;
|
}
|
</style>
|