625 lines
21 KiB
Vue
625 lines
21 KiB
Vue
<template>
|
||
<view>
|
||
<uni-collapse>
|
||
<uni-forms ref="form" :modelValue="formData" :rules="rules">
|
||
<!-- <uni-collapse-item title="采购质检单" :open="true"> -->
|
||
<uni-forms-item label="收货单" :labelWidth='90' name="purchaseReceiveCode">
|
||
<uni-easyinput suffixIcon="scan" @iconClick="scanBar" @confirm="scanBarCode"
|
||
v-model="formData.purchaseReceiveCode" type="text" />
|
||
</uni-forms-item>
|
||
<uni-forms-item label="质检单" :labelWidth='90' name="purchaseQualityCode"
|
||
v-show="formData.purchaseQualityCode">
|
||
<uni-easyinput v-model="formData.purchaseQualityCode" type="text" disabled />
|
||
</uni-forms-item>
|
||
<uni-forms-item label="附件" :labelWidth='90' name="enclosure">
|
||
<u-upload :fileList="fileList1" @afterRead="afterRead" @delete="deletePic" name="1" multiple
|
||
:maxCount="10" :previewFullImage="true"></u-upload>
|
||
</uni-forms-item>
|
||
<uni-forms-item label="质检方式" :labelWidth='90'>
|
||
<u-radio-group v-model="value" iconPlacement="left">
|
||
<u-radio label="正常" name="正常"></u-radio>
|
||
<u-radio label="扫物料标签" name="扫物料标签" style="margin-left: 10px;"></u-radio>
|
||
</u-radio-group>
|
||
</uni-forms-item>
|
||
<button size="mini" v-if="value=='扫物料标签' &&formData.wmsPurchaseQualityDetailList.length == 0"
|
||
type="primary" style="text-align: center;margin-left: 30%;font-size: 18px;"
|
||
@click="show=!show">添加物料标签</button>
|
||
<u-modal :show="show" title="扫描物料标签编码" showCancelButton closeOnClickOverlay
|
||
@cancel="cancelMaterialLabel" @close="cancelMaterialLabel" :showConfirmButton="false">
|
||
<uni-easyinput suffixIcon="scan" @iconClick="scanBarMaterialLabel" v-model="materialLabel"
|
||
type="text" @confirm="confirmMaterialLabel" maxlength="-1" :focus="true" />
|
||
</u-modal>
|
||
<!-- </uni-collapse-item> -->
|
||
<uni-collapse-item title="采购质检单明细" :open="true">
|
||
<uni-swipe-action>
|
||
<uni-swipe-action-item :rightOptions="rightOptions" :key="index"
|
||
v-for="(item, index) in formData.wmsPurchaseQualityDetailList"
|
||
@click="(data) => clickDetail(index,data)">
|
||
<uni-badge :text="index+1" type="primary"></uni-badge>
|
||
<uni-forms-item label="物料编码" :labelWidth='90'
|
||
:name="'wmsPurchaseQualityDetailList.'+ index +'.materialCode'">
|
||
<uni-easyinput type="text" disabled v-model="item.materialCode"></uni-easyinput>
|
||
</uni-forms-item>
|
||
<uni-forms-item label="物料名称" :labelWidth='90'
|
||
:name="'wmsPurchaseQualityDetailList.'+ index +'.materialName'">
|
||
<uni-easyinput type="text" disabled v-model="item.materialName"></uni-easyinput>
|
||
</uni-forms-item>
|
||
<uni-forms-item label="物料批号" :labelWidth='90'
|
||
name="'wmsPurchaseQualityDetailList.'+ index +'.materialBatchNo'">
|
||
<uni-easyinput disabled type="text" v-model="item.materialBatchNo" />
|
||
</uni-forms-item>
|
||
<uni-forms-item label="实收数量" :labelWidth='90'
|
||
name="'wmsPurchaseQualityDetailList.'+ index +'.secondActualNumber'">
|
||
<uni-easyinput disabled type="number" v-model="item.secondActualNumber" />
|
||
</uni-forms-item>
|
||
<uni-forms-item label="质检数量" :labelWidth='90'
|
||
name="'wmsPurchaseQualityDetailList.'+ index +'secondNumber'">
|
||
<second-number-change-to-convert :materialCode="item.materialCode"
|
||
:secondNumber.sync="item.secondNumber" :secondUnitId="item.secondUnitId"
|
||
:number.sync="item.number" :unitId="item.unitId"
|
||
@input="(data) => inputNUmber(index,data)"
|
||
></second-number-change-to-convert>
|
||
<!-- <u-number-box inputWidth="120" button-size="36" v-model="item.number" min="0"
|
||
@change="getBackNumber(index)"></u-number-box> -->
|
||
<!-- <uni-easyinput type="number" v-model="item.number"
|
||
@change="(data) => getBackNumber(index,data)" /> -->
|
||
</uni-forms-item>
|
||
<uni-forms-item label="合格数量" :labelWidth='90'
|
||
name="'wmsPurchaseQualityDetailList'+ index +'.secondPassNumber'">
|
||
<second-number-change-to-convert-new :materialCode="item.materialCode"
|
||
:key="item.passNumber"
|
||
:secondNumber.sync="item.secondPassNumber" :secondUnitId="item.secondUnitId"
|
||
:number.sync="item.passNumber"
|
||
:unitId="item.unitId"
|
||
@change="(data) => getCompare(item,data)"></second-number-change-to-convert-new>
|
||
<!-- <u-number-box inputWidth="120" button-size="36" v-model="item.passNumber" min="0"
|
||
@change="getBackNumber(index)"></u-number-box> -->
|
||
</uni-forms-item>
|
||
<uni-forms-item label="应入数量" :labelWidth='90'
|
||
name="'wmsPurchaseQualityDetailList.'+ index +'.secondInNumber'">
|
||
<!-- 之前代码 -->
|
||
<!-- <second-number-change-to-convert :materialCode="item.materialCode"
|
||
:secondNumber.sync="item.secondInNumber" :secondUnitId="item.secondUnitId"
|
||
:number.sync="item.inNumber" :unitId="item.unitId"
|
||
@change="(data) => getBackNumber('secondInNumber',item,data)"></second-number-change-to-convert> -->
|
||
<uni-easyinput type="number" v-model="item.secondInNumber" @input="(data) => getBackNumber('secondInNumber',item,data)"/>
|
||
<!-- <u-number-box inputWidth="120" button-size="36" v-model="item.secondInNumber" min="0"
|
||
@change="(data) => getBackNumber(index,data)"
|
||
:max="item.actualNumber"></u-number-box> -->
|
||
<!-- <uni-row style="margin-top: 10px;">
|
||
<uni-col :span="12">
|
||
<button size="mini" type="primary" style="font-size: 16px;"
|
||
@click="item.inNumber = item.actualNumber">全部入库</button>
|
||
</uni-col>
|
||
<uni-col :span="12">
|
||
<button size="mini" type="primary" style="font-size: 16px;"
|
||
@click="item.inNumber = 0">全部退回</button>
|
||
</uni-col>
|
||
</uni-row> -->
|
||
</uni-forms-item>
|
||
<uni-forms-item label="退回数量" :labelWidth='90'
|
||
name="'wmsPurchaseQualityDetailList.'+ index +'.backNumber'">
|
||
<uni-easyinput type="number" v-model="item.backNumber" @input="(data) => getBackNumber('backNumber',item,data)"/>
|
||
</uni-forms-item>
|
||
<uni-forms-item label="不良原因" :labelWidth='90'
|
||
name="'wmsPurchaseQualityDetailList.'+ index +'.failReason'">
|
||
<uni-easyinput type="textarea" v-model="item.failReason" />
|
||
</uni-forms-item>
|
||
</uni-swipe-action-item>
|
||
</uni-swipe-action>
|
||
</uni-collapse-item>
|
||
</uni-forms>
|
||
</uni-collapse>
|
||
<u-button type="primary" @click="submit">提交</u-button>
|
||
</view>
|
||
</template>
|
||
|
||
<script>
|
||
import {
|
||
uploadImage,
|
||
getStandardList,
|
||
addQualityHistoryList,
|
||
listQualityHistory,
|
||
updateQualityHistory
|
||
} from "@/api/qc/qc.js";
|
||
import {
|
||
addReceive,
|
||
listReceive,
|
||
listQuality,
|
||
getReceive,
|
||
addQuality,
|
||
updateQuality,
|
||
getReceiveDetail,
|
||
getQualityDetail,
|
||
getQualityReceiveDetail,
|
||
getDetailListsBySRM
|
||
} from "@/api/wms/purchase.js";
|
||
import {
|
||
listMaterial
|
||
} from "@/api/wms/request.js";
|
||
|
||
import {
|
||
getConfigKey,
|
||
} from "@/api/wms/materRequisitiontask";
|
||
import SecondNumberChangeToConvert from "@/components/SecondNumberChangeToConvert/index.vue";
|
||
import SecondNumberChangeToConvertNew from "@/components/SecondNumberChangeToConvert/index-.vue";
|
||
import {
|
||
toast,
|
||
} from '@/utils/common'
|
||
export default {
|
||
mounted() {
|
||
getConfigKey('wms.app').then(res => {
|
||
if(getKey('purchaseQualityT',res.msg) === 'Y'){
|
||
this.value='扫物料标签'
|
||
}
|
||
/**
|
||
* 获取wms.app的值
|
||
* @param {Object} name 要获取的字段
|
||
* @param {Object} json 要转换的数据,默认res.msg
|
||
*/
|
||
function getKey(name,json){
|
||
return JSON.parse(json)[name]
|
||
}
|
||
});
|
||
},
|
||
data() {
|
||
return {
|
||
isSupplierCode: false,
|
||
isQualited: false,
|
||
value: '正常',
|
||
show: false,
|
||
materialLabel: null,
|
||
fileList1: [],
|
||
formData: {
|
||
purchaseReceiveCode: null,
|
||
purchaseQualityCode: null,
|
||
enclosure: null,
|
||
wmsPurchaseQualityDetailList: []
|
||
},
|
||
rightOptions: [{
|
||
text: '删除',
|
||
style: {
|
||
backgroundColor: '#ff2a17'
|
||
}
|
||
}, ],
|
||
rules: {
|
||
passNumber: {
|
||
rules: [{
|
||
required: true,
|
||
errorMessage: '请输入质检数量!'
|
||
}]
|
||
},
|
||
purchaseReceiveCode: {
|
||
rules: [{
|
||
required: true,
|
||
errorMessage: '请输入采购收货单!'
|
||
}]
|
||
},
|
||
},
|
||
listStyles: {
|
||
// 是否显示边框
|
||
border: true,
|
||
// 是否显示分隔线
|
||
dividline: true,
|
||
// 线条样式
|
||
borderStyle: {
|
||
width: 1,
|
||
color: 'blue',
|
||
style: 'dashed',
|
||
radius: 2
|
||
}
|
||
},
|
||
}
|
||
},
|
||
components: {
|
||
SecondNumberChangeToConvert,
|
||
SecondNumberChangeToConvertNew,
|
||
},
|
||
methods: {
|
||
// getCompare1(e){
|
||
// console.log('质检数量改变');
|
||
// // console.log('111');
|
||
// },
|
||
getCompare(item,data){
|
||
if(data>item.secondNumber){
|
||
uni.showToast({
|
||
title: '合格数量不能大于质检数量',
|
||
icon: 'none',
|
||
duration: 2000
|
||
})
|
||
// this.$set(item, "secondPassNumber", item.secondNumber)
|
||
// this.$forceUpdate()
|
||
item.secondPassNumber=item.secondNumber
|
||
// console.log("1414",item.secondPassNumber);
|
||
}
|
||
},
|
||
//获取退回数量
|
||
getBackNumber(name,item,e) {
|
||
//输入的应收数量
|
||
if(name === 'secondInNumber'){
|
||
if (e > item.secondActualNumber) {
|
||
toast("应入数量不能大于实收数量");
|
||
return false
|
||
}
|
||
|
||
item.backNumber = item.secondActualNumber - e
|
||
}
|
||
if(name === 'backNumber'){
|
||
if (e > item.secondActualNumber) {
|
||
toast("退回数量不能大于实收数量");
|
||
return false
|
||
}
|
||
item.secondInNumber = item.secondActualNumber - e
|
||
}
|
||
this.formData = Object.assign({},this.formData)
|
||
},
|
||
// getBackNumber(index, data) {
|
||
// if (data) {
|
||
// this.formData.wmsPurchaseQualityDetailList[index].backNumber = this.formData
|
||
// .wmsPurchaseQualityDetailList[
|
||
// index]
|
||
// .actualNumber - data.value
|
||
|
||
// } else {
|
||
// this.formData.wmsPurchaseQualityDetailList[index].backNumber = this.formData
|
||
// .wmsPurchaseQualityDetailList[
|
||
// index]
|
||
// .actualNumber - this.formData
|
||
// .wmsPurchaseQualityDetailList[
|
||
// index]
|
||
// .inNumber
|
||
// }
|
||
|
||
// },
|
||
deleteDetail(index) {
|
||
this.formData.wmsPurchaseQualityDetailList.splice(index, 1);
|
||
},
|
||
clickDetail(itemIndex, {
|
||
position,
|
||
index
|
||
}) {
|
||
if (index == 0) {
|
||
this.deleteDetail(itemIndex);
|
||
}
|
||
},
|
||
addMaterialLabel() {
|
||
this.show = true;
|
||
},
|
||
cancelMaterialLabel() {
|
||
this.materialLabel = null;
|
||
this.show = false;
|
||
},
|
||
confirmMaterialLabel(data) {
|
||
//判断是否供应商扫码
|
||
if (data.includes('@')) {
|
||
this.isSupplierCode = true;
|
||
let array = data.split('@');
|
||
let new_supplierCode = array[0];
|
||
let new_u9SourceBillCode = array[3].split('|')[0];
|
||
let new_erpDocCode1 = array[4].split('|')[0];
|
||
let new_erpDocLineKey1 = array[4].split('|')[1];
|
||
getDetailListsBySRM({
|
||
u9SourceBillCode: new_u9SourceBillCode,
|
||
erpDocCode1: new_erpDocCode1,
|
||
erpDocLineKey1: new_erpDocLineKey1
|
||
}).then(res => {
|
||
//判断有没有质检(先查质检-再查收货)
|
||
if (res.qualityList.length == 0) {
|
||
//没有质检
|
||
//判断有没有收货
|
||
// if (res.receiveDetailList.length == 0) {
|
||
// this.$modal.msg("该条物料还未收货!")
|
||
// } else {
|
||
// //判断有没有完成收货
|
||
// if (res.receiveDetailList[0].theoryNumber == res.receiveDetailList[0]
|
||
// .actualNumber) {
|
||
// getQualityReceiveDetail({
|
||
// purchaseReceiveCode: res.receiveDetailList[0].purchaseReceiveCode,
|
||
// status: '1'
|
||
// }).then((res) => {
|
||
// console.log(res);
|
||
// this.formData = res.qualityBill;
|
||
// this.formData.purchaseQualityDetailList = res.qualityBill
|
||
// .wmsPurchaseQualityDetailList;
|
||
// });
|
||
// } else {
|
||
this.$modal.msg("该条物料还未完成收货!")
|
||
// }
|
||
// }
|
||
} else {
|
||
this.isQualited = true;
|
||
//判断检验有无完成
|
||
if (res.qualityList[0].status == 3) {
|
||
this.$modal.msg("该条物料已完成检验!")
|
||
} else {
|
||
this.formData = res.qualityList[0];
|
||
this.formData.wmsPurchaseQualityDetailList = res.qualityList[0]
|
||
.purchaseQualityDetailList
|
||
}
|
||
}
|
||
})
|
||
this.materialLabel = null;
|
||
this.show = false;
|
||
} else {
|
||
data = JSON.parse(data)
|
||
if (data) {
|
||
getQualityDetail({
|
||
purchaseReceiveDetailId: data.id
|
||
}).then(res => {
|
||
//判断有没有质检
|
||
if (res.data.length > 0) {
|
||
this.formData.purchaseReceiveCode = res.data[0].purchaseReceiveCode;
|
||
this.formData.purchaseQualityCode = res.data[0].purchaseQualityCode;
|
||
this.formData.supplierCode = res.data[0].supplierCode;
|
||
this.formData.supplierName = res.data[0].supplierName;
|
||
//代入主表id
|
||
this.formData.id = res.data[0].purchaseQualityId;
|
||
const data = res.data[0];
|
||
data.inNumber = data.secondInNumber;
|
||
data.backNumber = 0
|
||
this.formData.wmsPurchaseQualityDetailList.push(data);
|
||
this.materialLabel = null;
|
||
this.show = false;
|
||
// this.$modal.msg("该条物料已质检!");
|
||
} else {
|
||
getReceiveDetail(data.id).then(res => {
|
||
//判断有没有收货
|
||
if (res.data.actualNumber != null) {
|
||
let obj = {
|
||
materialCode: res.data.materialCode,
|
||
materialName: res.data.materialName,
|
||
materialBatchNo: res.data.materialBatchNo,
|
||
actualNumber: res.data.actualNumber,
|
||
number: res.data.number,
|
||
purchaseReceiveDetailId: data.id,
|
||
passNumber: 0,
|
||
unitId: res.data.unitId,
|
||
inNumber: res.data.secondInNumber,
|
||
secondNumber: res.data.secondActualNumber,
|
||
secondUnitId: res.data.secondActualUnitId,
|
||
secondInNumber: res.data.secondInNumber,
|
||
}
|
||
this.formData.supplierCode = res.data.supplierCode;
|
||
this.formData.supplierName = res.data.supplierName;
|
||
this.formData.purchaseReceiveCode = res.data.purchaseReceiveCode;
|
||
this.formData.wmsPurchaseQualityDetailList.push(obj);
|
||
this.materialLabel = null;
|
||
this.show = false;
|
||
} else {
|
||
this.$modal.msg("该条物料还没有收货,无法质检!");
|
||
}
|
||
})
|
||
}
|
||
|
||
|
||
})
|
||
};
|
||
}
|
||
},
|
||
scanBarMaterialLabel() {
|
||
const _this = this;
|
||
uni.scanCode({
|
||
scanType: ['barCode', 'qrCode'],
|
||
success: function(res) {
|
||
_this.materialLabel = res.result;
|
||
// console.log(materialLabel)
|
||
_this.confirmMaterialLabel(_this.materialLabel);
|
||
}
|
||
});
|
||
},
|
||
// 删除图片
|
||
deletePic(event) {
|
||
this[`fileList${event.name}`].splice(event.index, 1)
|
||
},
|
||
// 新增图片
|
||
async afterRead(event) {
|
||
// 当设置 multiple 为 true 时, file 为数组格式,否则为对象格式
|
||
let lists = [].concat(event.file)
|
||
let fileListLen = this[`fileList${event.name}`].length
|
||
lists.map((item) => {
|
||
this[`fileList${event.name}`].push({
|
||
...item,
|
||
status: 'uploading',
|
||
message: '上传中'
|
||
})
|
||
})
|
||
for (let i = 0; i < lists.length; i++) {
|
||
const result = await this.uploadFilePromise(lists[i].url)
|
||
let item = this[`fileList${event.name}`][fileListLen]
|
||
// console.log(item)
|
||
this[`fileList${event.name}`].splice(fileListLen, 1, Object.assign(item, {
|
||
status: 'success',
|
||
message: '',
|
||
url: result
|
||
}))
|
||
fileListLen++
|
||
}
|
||
},
|
||
uploadFilePromise(url) {
|
||
return new Promise((resolve, reject) => {
|
||
let a = uploadImage({
|
||
filePath: url
|
||
}).then(response => {
|
||
uni.showToast({
|
||
title: "上传成功",
|
||
icon: 'success'
|
||
});
|
||
this.formData.enclosure = response.fileName
|
||
resolve(response.url)
|
||
});
|
||
})
|
||
},
|
||
|
||
reset(code) {
|
||
this.formData = {
|
||
purchaseReceiveCode: code,
|
||
wmsPurchaseQualityDetailList: [],
|
||
};
|
||
},
|
||
scanBarCode(code) {
|
||
// if (code){
|
||
// this.reset(code);
|
||
// }
|
||
if (code) {
|
||
let q = {
|
||
purchaseReceiveCode: code
|
||
}
|
||
listReceive(q).then(async res => {
|
||
if (res.rows != null && res.rows.length > 0) {
|
||
let did = res.rows[0].id
|
||
getReceive(did).then(async res => {
|
||
for (let i in res.data
|
||
.wmsPurchaseReceiveDetailList) {
|
||
let obj = {};
|
||
obj.materialBatchNo = res.data
|
||
.wmsPurchaseReceiveDetailList[i]
|
||
.materialBatchNo;
|
||
obj.materialCode = res.data
|
||
.wmsPurchaseReceiveDetailList[i]
|
||
.materialCode;
|
||
obj.materialName = res.data
|
||
.wmsPurchaseReceiveDetailList[i]
|
||
.materialName;
|
||
obj.actualNumber = res.data
|
||
.wmsPurchaseReceiveDetailList[i]
|
||
.actualNumber;
|
||
obj.number = res.data
|
||
.wmsPurchaseReceiveDetailList[i]
|
||
.actualNumber;
|
||
obj.secondActualNumber = res.data
|
||
.wmsPurchaseReceiveDetailList[i]
|
||
.secondActualNumber;
|
||
this.formData.wmsPurchaseQualityDetailList.push(
|
||
obj);
|
||
|
||
}
|
||
});
|
||
} else {
|
||
this.$modal.msg("未检索到收货明细!");
|
||
}
|
||
|
||
});
|
||
}
|
||
},
|
||
//采购任务单
|
||
scanBar() {
|
||
const _this = this;
|
||
uni.scanCode({
|
||
scanType: ['barCode', 'qrCode'],
|
||
success: function(res) {
|
||
_this.formData.purchaseReceiveCode = res.result;
|
||
_this.scanBarCode(_this.formData.purchaseReceiveCode);
|
||
}
|
||
});
|
||
},
|
||
submit() {
|
||
const _this = this;
|
||
if(!getNumber(_this.formData.wmsPurchaseQualityDetailList,'secondActualNumber','secondInNumber','backNumber','materialCode')) return
|
||
_this.$refs.form.validate().then(res => {
|
||
uni.showModal({
|
||
title: '提示',
|
||
content: '您确定完成该质检吗?',
|
||
success: function(res) {
|
||
if (res.confirm) {
|
||
if (_this.formData.id != null) {
|
||
_this.$modal.loading('提交中')
|
||
for(let i in _this.formData.wmsPurchaseQualityDetailList){
|
||
_this.formData.wmsPurchaseQualityDetailList[i].inNumber = _this.formData.wmsPurchaseQualityDetailList[i].secondInNumber
|
||
}
|
||
updateQuality(_this.formData).then(res => {
|
||
_this.$modal.msgSuccess("质检成功!");
|
||
setTimeout(() => {
|
||
_this.$modal.closeLoading();
|
||
_this.$tab.switchTab(
|
||
"/pages/work/index");
|
||
}, 500);
|
||
})
|
||
} else {
|
||
let wmsPurchaseQualityDetailList = [];
|
||
for (let i in _this.formData
|
||
.wmsPurchaseQualityDetailList) {
|
||
let obj = {};
|
||
obj.materialCode = _this.formData
|
||
.wmsPurchaseQualityDetailList[i]
|
||
.materialCode;
|
||
obj.materialName = _this.formData
|
||
.wmsPurchaseQualityDetailList[i]
|
||
.materialName;
|
||
obj.materialBatchNo = _this.formData
|
||
.wmsPurchaseQualityDetailList[i]
|
||
.materialBatchNo;
|
||
obj.number = _this.formData
|
||
.wmsPurchaseQualityDetailList[i].number;
|
||
obj.passNumber = Number(_this.formData
|
||
.wmsPurchaseQualityDetailList[i]
|
||
.passNumber);
|
||
obj.failReason = _this.formData
|
||
.wmsPurchaseQualityDetailList[i]
|
||
.failReason;
|
||
wmsPurchaseQualityDetailList.push(obj);
|
||
}
|
||
let enclosure = null;
|
||
if (_this.fileList1.length > 0) {
|
||
enclosure = _this.fileList1.map(obj => obj.url)
|
||
.join(', ');
|
||
}
|
||
for(let i in _this.formData.wmsPurchaseQualityDetailList){
|
||
_this.formData.wmsPurchaseQualityDetailList[i].inNumber = _this.formData.wmsPurchaseQualityDetailList[i].secondInNumber
|
||
}
|
||
let data = {
|
||
purchaseReceiveCode: _this.formData
|
||
.purchaseReceiveCode,
|
||
status: '1',
|
||
wmsPurchaseQualityDetailList: _this.formData
|
||
.wmsPurchaseQualityDetailList,
|
||
enclosure: enclosure
|
||
}
|
||
_this.$modal.loading('提交中')
|
||
addQuality(data).then(response => {
|
||
_this.$modal.msgSuccess("质检成功!");
|
||
setTimeout(() => {
|
||
_this.$modal.closeLoading();
|
||
_this.$tab.switchTab(
|
||
"/pages/work/index");
|
||
}, 500);
|
||
});
|
||
}
|
||
|
||
} else if (res.cancel) {
|
||
}
|
||
}
|
||
});
|
||
});
|
||
/**
|
||
* 判断应入和退回和是否等于实收
|
||
* @param {Object} list 要比较的数据
|
||
* @param {Object} key1 secondActualNumber
|
||
* @param {Object} key2 secondInNumber
|
||
* @param {Object} key3 backNumber
|
||
* @param {Object} key4 materialCode
|
||
*/
|
||
function getNumber(list,key1,key2,key3,key4){
|
||
for(let i in list){
|
||
if(list[i][key1] != parseInt(list[i][key2]) +parseInt(list[i][key3])){
|
||
_this.$modal.msg("物料编码为 :" + list[i][key4] + "的单子应入和退回不等于实收");
|
||
return false
|
||
}
|
||
}
|
||
return true
|
||
}
|
||
},
|
||
/**
|
||
* 修改质检数量,合格数量跟随改变
|
||
* @param {Object} index 当前修改数据的下标
|
||
* @param {Object} data 当前修改的数据
|
||
*/
|
||
inputNUmber(index,data){
|
||
const arr = this.formData.wmsPurchaseQualityDetailList
|
||
arr[index].passNumber =arr[index].secondPassNumber = parseInt(data)
|
||
}
|
||
}
|
||
}
|
||
</script>
|
||
|
||
<style>
|
||
</style> |