Browse Source

24-03-12 出库检验

master
zelian_wu 2 years ago
parent
commit
4bce63c45a
  1. 1
      src/api/production/generateReport.js
  2. 57
      src/views/modules/production/bagLabels.vue
  3. 28
      src/views/modules/production/scanForm.vue
  4. 15
      src/views/modules/production/shippingScan.vue

1
src/api/production/generateReport.js

@ -69,4 +69,5 @@ export const getPartValue = data=>createAPI('/board/getPartValue','get',data);
export const saveScanLabel = data=>createAPI('/board/saveScanLabel','post',data);
export const removeScanLabel = data=>createAPI('/board/removeScanLabel','post',data);
export const scanLabel = data=>createAPI('/board/scanLabel','post',data);
export const checkIsPacking = data=>createAPI('/board/checkIsPacking','get',data);

57
src/views/modules/production/bagLabels.vue

@ -1,12 +1,16 @@
<script >
import {getPackagePrintDataList, getSOScheduleRoutingData} from "../../../api/production/generateReport";
import {
checkIsPacking,
getPackagePrintDataList,
getSOScheduleRoutingData
} from "../../../api/production/generateReport";
import {printPackageLabel} from "../print/print_package_label";
export default {
data(){
return{
searchData:{
seqNo:undefined,
flag:undefined,
flag:'',
},
soScheduleRouting:{
@ -25,13 +29,7 @@ export default {
}
},
watch:{
seqNo:{
handler:function (){
if (!this.seqNo){
this.soScheduleRouting = {};
}
}
}
},
methods:{
selectBySeqNo(){
@ -53,9 +51,11 @@ export default {
if (data.total === 0){
this.$message.warning("派工单不存在")
}else if (data.total === 1){
this.soScheduleRouting = data.rows[0]
this.soScheduleRouting = data.rows[0];
this.checkIsPacking()
}else {
this.soScheduleRouting = data.rows.find((item)=>item.site===this.$store.state.user.site && item.seqNo === this.searchData.seqNo)
this.checkIsPacking()
}
}else {
this.$message.warning(data.msg)
@ -64,6 +64,31 @@ export default {
this.$message.error(error);
})
},
checkIsPacking(){
let params = {
site:this.soScheduleRouting.site,
workCenterNo:this.soScheduleRouting.sWorkCenterNo,
}
checkIsPacking(params).then(({data})=>{
if (data && data.code === 0){
}else {
this.$message.warning(data.msg)
this.searchData = {
seqNo: undefined,
flag: '',
}
this.soScheduleRouting={};
}
}).catch((error)=>{
this.$message.error(error)
this.searchData = {
seqNo: undefined,
flag: '',
}
this.soScheduleRouting={};
})
},
printLabel(){
if (!this.soScheduleRouting.site){
this.$message.warning("请先扫描派工单号")
@ -84,7 +109,7 @@ export default {
params.number = value;
this.printPackageLabel(params)
}).catch(() => {
this.searchData.flag = undefined;
this.searchData.flag = '';
});
return;
}
@ -99,7 +124,7 @@ export default {
getPackagePrintDataList(params).then(({data})=>{
if (data && data.code === 0){
printPackageLabel(data.rows);
this.searchData.flag = undefined;
this.searchData.flag = '';
}else {
this.$message.warning(data.msg)
}
@ -119,6 +144,7 @@ export default {
</el-form-item>
<el-form-item label=" ">
<el-select v-model="searchData.flag" clearable>
<el-option value="" label="标准代数"></el-option>
<el-option value="Y" label="零数袋"></el-option>
</el-select>
</el-form-item>
@ -130,6 +156,11 @@ export default {
<el-card style="height: 80vh;margin-top: 20px">
<el-form :model="soScheduleRouting" label-position="top">
<el-row :gutter="20">
<el-col :span="6">
<el-form-item label="派工单号">
<el-input v-model="soScheduleRouting.seqNo" readonly></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="工厂编码">
<el-input v-model="soScheduleRouting.site" readonly></el-input>
@ -140,7 +171,7 @@ export default {
<el-input v-model="soScheduleRouting.orderNo" readonly></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="6">
<el-form-item label=" ">
</el-form-item>

28
src/views/modules/production/scanForm.vue

@ -1,6 +1,7 @@
<script>
import {getPartValue, removeScanLabel, saveScanLabel, scanLabel} from "../../../api/production/generateReport";
import dayjs from "dayjs";
import {Decimal} from "decimal.js";
export default {
name:"scanForm",
@ -12,6 +13,10 @@ export default {
scanFlag:{
type: Boolean,
default:false,
},
allNum:{
type:Number,
default: 0,
}
},
computed:{
@ -22,12 +27,13 @@ export default {
set(val){
this.$emit("update:scanFlag",val)
}
}
},
},
data(){
return{
total:0,
model:{
flag:undefined,
flag:"",
label:'',
},
partValue:0,
@ -75,7 +81,11 @@ export default {
}
scanLabel(paramsScan).then(({data})=>{
if (data && data.code === 0){
this.scanLabelDetailList = data.rows
this.scanLabelDetailList = data.rows;
let total = this.scanLabelDetailList.reduce((pre,cur)=>{
return pre+new Decimal(cur.scanQty).toNumber()
},0)
this.total = total
}else {
this.$message.warning(data.msg)
}
@ -93,7 +103,7 @@ export default {
this.$message.warning(`扫描标签有误,标签site:${arr[0]}partNo:${arr[1]},site应为:${this.detail.site}partNo应为:${this.detail.partNo}`)
return;
}
if (this.partValue===0){
if (this.partValue===0 && this.model.flag !== 'Y'){
this.$message.warning(`工厂编码:${this.detail.site},partNo:${this.detail.partNo},每袋/每卷数量未维护;${this.partValue}`)
return;
}
@ -119,11 +129,11 @@ export default {
this.$message.warning(data.msg)
}
//
this.model.flag = undefined;
this.model.flag = "";
this.model.label = '';
}).catch((error)=>{
this.$message.warning(error)
this.model.flag = undefined;
this.model.flag = "";
this.model.label = '';
})
}
@ -142,19 +152,23 @@ export default {
@close="()=>{
this.model = {
label: '',
flag: undefined,
flag: '',
}
this.scanLabelDetailList = [];
}" @opened="openScanDialog">
<el-form :model="model" :inline="true" label-position="top">
<el-form-item label=" ">
<el-select v-model="model.flag" clearable>
<el-option value="" label="标准数量"></el-option>
<el-option value="Y" label="零数袋"></el-option>
</el-select>
</el-form-item>
<el-form-item label="标签" style="width: 200px">
<el-input ref="focusInput" v-model="model.label" @keyup.enter.native="scanLabelEnter"></el-input>
</el-form-item>
<el-form-item label="合计">
<el-input-number disabled :controls="false" style="margin-top: -5px;text-align: right" v-model="total"></el-input-number>
</el-form-item>
</el-form>
<el-table :data="scanLabelDetailList" stripe border height="400">
<el-table-column label="操作" align="center">

15
src/views/modules/production/shippingScan.vue

@ -14,7 +14,9 @@ export default {
},
data() {
return {
allNum:0,
height:200,
delNotifyHeaderTableLoading:false,
//
searchData:{
site:"",
@ -120,6 +122,7 @@ export default {
},
clickScan(row){
this.delNotifyDetail = JSON.parse(JSON.stringify(row))
this.allNum = this.delNotifyDetail.scanQty
this.scanFlag = true
},
},
@ -365,6 +368,16 @@ export default {
align="right"
width="120"
label="发货数量"/>
<el-table-column
prop="allNum"
header-align="center"
align="right"
width="120"
label="扫描数量">
<template slot-scope="{row}">
{{row.allNum?row.allNum:0}}
</template>
</el-table-column>
<el-table-column
prop="umid"
header-align="center"
@ -507,7 +520,7 @@ export default {
<el-button @click="updateDelNotifyDetailBtn('N')"> </el-button>
</span>
</el-dialog>
<scan-form :scan-flag.sync="scanFlag" :detail="delNotifyDetail"></scan-form>
<scan-form :scan-flag.sync="scanFlag" :all-num="allNum" :detail="delNotifyDetail"></scan-form>
</div>
</template>

Loading…
Cancel
Save