领料单升级

master
zhaoxiaolin 6 months ago
parent 8fd7b12cc8
commit 4bc9da31c8

@ -1,12 +1,19 @@
import request from '@/utils/request'
// 打印
export function printPrepareByCode(workorderCode) {
export function printPrepareByCode(workorderCode,recoil) {
return request({
url: '/mes/prepareDetail/printPrepareByCode/' + workorderCode,
url: '/mes/prepareDetail/printPrepareByCode/' + workorderCode+'/'+recoil,
method: 'get'
});
}
export function printPrepareXByCode(productDate) {
return request({
url: '/mes/prepareDetail/printPrepareXByCode/' + productDate,
method: 'get'
});
}
// 查询mes备料单明细列表
export function listPrepareDetail(query) {

@ -344,3 +344,11 @@ export function getWarehouseList(query) {
params: query
});
}
// 删除报工报表
export function deleteReportNow(reportCode) {
return request({
url: '/mes/reportWork/deleteReportNow/' + reportCode,
method: 'delete'
});
}

@ -112,17 +112,27 @@
v-hasPermi="['mes:prepare:export']"
>导出</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
:disabled="single"
icon="el-icon-download"
size="mini"
@click="showPrint"
v-hasPermi="['mes:prepare:export']"
>打印预览</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
:disabled="single"
icon="el-icon-download"
size="mini"
@click="showPrint"
v-hasPermi="['mes:prepare:export']"
>打印生产物料</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-download"
size="mini"
@click="showPrintX"
v-hasPermi="['mes:prepare:export']"
>打印反冲物料</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
@ -212,7 +222,7 @@
</div>
</el-dialog>
<!-- 打印预览弹出层 -->
<!-- 打印预览弹出层(生产物料) -->
<el-dialog
title="备料信息"
:visible.sync="printDialogVisible"
@ -220,72 +230,35 @@
>
<div id="printFrom" class="my-print-box">
<el-form :ref="formRef" :model="form" :rules="validateRules">
<el-form :model="form">
<!-- 表头-工单信息 -->
<el-row class="my-print-head">
<el-col :offset="10" :span="5">生产订单备料单(订单物料)</el-col>
<el-col :offset="10" :span="5">生产订单备料单({{printData.printTitle}})</el-col>
</el-row>
<!-- 导航栏 -->
<el-row class="my-print-nav">
<el-col :span="4">工厂:{{printData.factory}}</el-col>
<el-col :span="4">工作中心:{{printData.workCenter}}</el-col>
<el-col :span="4" v-if="printData.prodLineCode!=null">线:{{printData.prodLineCode}}</el-col>
<el-col :span="4">生产日期:{{printData.productDate}}</el-col>
<el-col :span="4">打印日期:{{printData.printDate}}</el-col>
<el-col :span="4">页次: 1/ 1</el-col>
</el-row>
<!-- 主数据 -->
<el-table
v-if="refreshNewWorkerTable"
v-loading="newWorkerLoading"
class="my-print-table"
:data="printData.workTable"
border
style="width: 100%">
<el-table-column
type="index"
label="序号"
width="50">
</el-table-column>
<el-table-column
prop="materialCode"
label="料号"
width="130" :formatter="productCodeFormate">
</el-table-column>
<el-table-column
prop="materialName"
label="物料描述"
width="320">
</el-table-column>
<el-table-column
prop="unit"
width="50"
label="单位">
</el-table-column>
<el-table-column
prop="workorderCode"
width="100"
label="生产订单" :formatter="orderCodeFormate">
</el-table-column>
<el-table-column
prop="quantity"
label="请领数量">
</el-table-column>
<el-table-column
prop="fundQuanlity"
label="欠领数量">
</el-table-column>
<el-table-column
prop="routeCode"
width="80"
label="实发数量">
</el-table-column>
<el-table-column
prop="recoil"
label="反冲物料">
</el-table-column>
v-if="refreshNewWorkerTable" v-loading="newWorkerLoading"class="my-print-table":data="printData.workTable"
border style="width: 100%">
<el-table-column type="index" label="序号" width="50"></el-table-column>
<el-table-column prop="materialCode" label="料号" width="130" :formatter="productCodeFormate"></el-table-column>
<el-table-column prop="materialName" label="物料描述" width="320"></el-table-column>
<el-table-column prop="unit" width="50" label="单位"></el-table-column>
<el-table-column v-if="showWorkorderCode" prop="workorderCode" width="100" label="生产订单" :formatter="orderCodeFormate"></el-table-column>
<el-table-column prop="quantity" label="请领数量"></el-table-column>
<el-table-column prop="fundQuanlity" label="欠领数量"></el-table-column>
<el-table-column prop="routeCode" width="80" label="实发数量"></el-table-column>
<el-table-column prop="recoil" label="反冲物料"></el-table-column>
</el-table>
<br/>
<!-- 底部 -->
<el-row class="my-print-foot">
@ -299,22 +272,18 @@
<el-col :offset="1" :span="3">SAP-No:{{printData.SAPNo}}</el-col>
<el-col :offset="1" :span="3">Z-PM-F-030-A.2</el-col>
</el-row>
</el-form>
</div>
<span slot="footer" class="dialog-footer">
<el-button type="primary" @click="handlePrint(printData)"> </el-button>
</span>
</el-dialog>
</div>
</template>
<script>
import { listPrepare, getPrepare, delPrepare, addPrepare, updatePrepare } from "@/api/mes/prepare";
import {printPrepareByCode} from "@/api/mes/prepareDetail";
import {printPrepareByCode,printPrepareXByCode} from "@/api/mes/prepareDetail";
import moment from "moment/moment";
// import { listPrepareDetail, getPrepareDetail, delPrepareDetail, addPrepareDetail, updatePrepareDetail } from "@/api/mes/prepareDetail";
// import Detail from "./prepareDetail.vue";
@ -325,11 +294,10 @@ export default {
return {
newWorkerLoading: false,
refreshNewWorkerTable:true,
showWorkorderCode:true,
//
selectPrepare:[],
//
formRef: 'form',
validateRules: [],
printData: {
printable: 'printFrom',
ignore: ['no-print'],
@ -443,7 +411,7 @@ export default {
properties: params.properties || null
})
},
//
// ()
showPrint() {
//
this.printData.workCenter = "暂无数据";
@ -451,24 +419,53 @@ export default {
this.printData.workTable = [];
this.printData.factory = null;
this.printData.productDate = null;
this.printData.prodLineCode = null;
//
this.printDialogVisible = true;
this.newWorkerLoading = true // true
this.refreshNewWorkerTable = false // refreshProTablefalse
printPrepareByCode(this.selectPrepare[0].workorderCode).then(response => {
console.log(response.data)
printPrepareByCode(this.selectPrepare[0].workorderCode,'0').then(response => {
this.showWorkorderCode = true;
this.printData.printTitle = '订单物料';
this.printData.factory = response.data.mesPrepareDetailList[0].factoryCode
this.printData.productDate = response.data.mesPrepareDetailList[0].productDate
this.printData.printDate = moment(new Date()).format('YYYY-MM-DD')
this.printData.workTable = response.data.mesPrepareDetailList
this.printData.prodLineCode = response.data.mesPrepare.prodLineCode
this.refreshNewWorkerTable = true // refreshProTabletrue
this.newWorkerLoading = false // false
})
},
// ()
showPrintX() {
if(this.queryParams.productDate == null){
this.$modal.msgError("请选择工单生产日期");
return;
}
//
this.printData.workCenter = "暂无数据";
this.printData.printDate = null;
this.printData.workTable = [];
this.printData.factory = null;
this.printData.productDate = null;
this.printData.prodLineCode = null;
//
this.printDialogVisible = true;
this.newWorkerLoading = true // true
this.refreshNewWorkerTable = false // refreshProTablefalse
printPrepareXByCode(moment(this.queryParams.productDate).format('YYYY-MM-DD'),'X').then(response => {
this.showWorkorderCode = false;
this.printData.printTitle = '反冲物料';
this.printData.factory = response.data.mesPrepareDetailList[0].factoryCode
this.printData.productDate = moment(this.queryParams.productDate).format('YYYY-MM-DD')
this.printData.printDate = moment(new Date()).format('YYYY-MM-DD')
this.printData.workTable = response.data.mesPrepareDetailList
this.refreshNewWorkerTable = true // refreshProTabletrue
this.newWorkerLoading = false // false
})
},
//
// handlePrepareDetail(){
// this.$refs.detail.showFlag = true;
// },
//
indexMethod(index){
return index+1 ;

@ -351,21 +351,21 @@
<el-table-column label="id" align="center" prop="id" v-if="false" />
<el-table-column label="工单编码" width="130" align="left" prop="workorderCode"
:show-overflow-tooltip="true" />
<el-table-column label="订单编码" width="110" align="left" prop="workorderCodeSap"
<el-table-column label="订单编码" width="105" align="left" prop="workorderCodeSap"
:show-overflow-tooltip="true" :formatter="orderCodeFormate" />
<el-table-column label="报工单号" width="110" align="left" prop="reportCode"
<el-table-column label="报工单号" width="115" align="left" prop="reportCode"
:show-overflow-tooltip="true" />
<el-table-column label="批次" width="250" align="left" prop="batch"
:show-overflow-tooltip="true" />
<el-table-column label="单位" align="center" prop="unit" />
<el-table-column label="报工数量" width="100" align="left" prop="quantityFeedback"
<el-table-column label="报工数量" width="120" align="left" prop="quantityFeedback"
:show-overflow-tooltip="true">
<template slot-scope="scope">
<el-input type="number" size="small" v-model="scope.row.quantityFeedback"
@change="handleEdit(scope.$index, scope.row)"></el-input>
</template>
</el-table-column>
<el-table-column label="工时数" align="center" prop="workTime">
<el-table-column label="工时数" align="center" prop="workTime" width="120">
<template slot-scope="scope">
<el-input type="number" size="small" v-model="scope.row.workTime"
@change="handleEdit(scope.$index, scope.row)"></el-input>
@ -379,6 +379,13 @@
</el-table-column>
<el-table-column label="报工单编号" align="center" prop="reportCode" width="120" />
<el-table-column label="创建时间" align="center" prop="createTime" width="150" />
<el-table-column fixed="right" label="操作" width="90">
<template slot-scope="scope">
<el-button @click.native.prevent="deleteReportRow(scope.$index, item.libList)" size="small" type="danger" plain
v-if="item.libId == 'order1'">
删除</el-button>
</template>
</el-table-column>
</el-table>
<div class="demo-input-suffix">
@ -624,7 +631,7 @@
import {
listReportWork,
getReportWork,
delReportWork,
delReportWork,deleteReportNow,
addReportWork,
getWorkcenterList,
getWarehouseList,
@ -900,6 +907,7 @@ export default {
this.queryParams.feedbackTimeEnd = null;
}
this.loading = true;
listReportWork(this.queryParams).then((response) => {
this.reportWorkList = response.rows;
this.total = response.total;
@ -1021,6 +1029,7 @@ export default {
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.queryParams.machineCode = "";
this.getList();
},
/** 重置按钮操作 */
@ -1203,6 +1212,7 @@ export default {
//
getAllLevelReportList(this.queryParams).then((response) => {
this.queryParams.workorderCode = "";
this.queryParams.machineCode = "";
this.openReport = true;
this.titleReport = "工单报工详情";
this.libTabs = response;
@ -1511,6 +1521,30 @@ export default {
this.newWorkerLoading = false; // false
});
},
//--
deleteReportRow(index, rows) {
this.$modal.confirm('是否确认删除?确认后,不需要点击下方确定,立即生效!').then(function() {
return deleteReportNow(rows[index].reportCode);
}).then(() => {
var sr = rows[index];
this.queryParams.workorderCode = sr.workorderCode;
this.queryParams.machineCode = sr.machineCode;
//
getAllLevelReportList(this.queryParams).then((response) => {
this.queryParams.workorderCode = "";
this.queryParams.machineCode = "";
this.openReport = true;
this.titleReport = "工单报工详情";
this.libTabs = response;
});
rows.splice(index, 1);
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
//--
deleteBomRow(index, rows) {
this.$modal

@ -875,7 +875,7 @@ export default {
var statusesArray = this.statuses;
for (var i = 0; i < statusesArray.length; i++) {
if (statusesArray[i] != 'w0') {//
this.$modal.msgError("已经下达的订单不允许操作");
this.$modal.msgError("工单只有未派发和已派发才可变更!");
return
}
}
@ -1197,7 +1197,7 @@ export default {
if (sum >= this.productData[0].atrr1) {
this.$message({
message: '请填写完批次信息',
message: '数量已经拆分完',
type: 'warning'
})
return
@ -1331,7 +1331,7 @@ export default {
var statusesArray = this.statuses;
for (var i = 0; i < statusesArray.length; i++) {
if (statusesArray[i] == 'w1') {//
this.$modal.msgError("已经下达的订单不允许操作");
this.$modal.msgError("工单只有未派发和已派发才可变更!");
return
}
}

@ -71,7 +71,7 @@
:disabled="single"
@click="handleUpdateAttached"
v-hasPermi="['wms:attached:edit']"
>新增/修改附属属性</el-button
>附属属性</el-button
>
</el-col>
<el-col :span="1.5">

Loading…
Cancel
Save