SmartStorage/pages/numReceive/numReceive.vue

213 lines
6.6 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<view>
<view class="form-area">
<view>
<h4>类型名称</h4>
<span>{{ upperInfo.typeName }}</span>
</view>
<view>
<h4>规格型号</h4>
<span>{{ upperInfo.typeCode }}</span>
</view>
<view>
<h4>待入库数量</h4>
<span>{{ upperInfo.num }}</span>
</view>
<view>
<h4>合格数量</h4>
<uni-easyinput
type="number"
v-model="lowerIpt.passedNum"
placeholder="请输入数量"></uni-easyinput>
</view>
<view>
<h4>待修数量</h4>
<uni-easyinput
type="number"
v-model="lowerIpt.waitRepairNum"
placeholder="请输入数量"></uni-easyinput>
</view>
<view>
<h4>待报废数量</h4>
<uni-easyinput
type="number"
v-model="lowerIpt.waitCrashNum"
placeholder="请输入数量"></uni-easyinput>
</view>
</view>
<view class="sub-btn" @click="subForm"> 确认 </view>
</view>
</template>
<script>
export default {
data() {
return {
upperInfo: {
parentId: "",
typeName: "",
typeCode: "",
num: "",
},
lowerIpt: {
passedNum: "",
waitRepairNum: "",
waitCrashNum: "",
},
totalNum: 0,
};
},
methods: {
subForm() {
//三个数量之和小于等于10 才可提交
// "taskId": "294",
// {
// "parentId": 34,
// "typeId": "5",
// "backNum": "1",
// "backStatus": "3",//合格为 1 待修2 待报废2
// "manageType": "1",
// "createBy": "1"
// }
let that = this;
if (
!this.lowerIpt.passedNum &&
!this.lowerIpt.waitRepairNum &&
!this.lowerIpt.waitCrashNum
) {
uni.showToast({
icon: "none",
title: "退料数量不能为空!",
});
return;
}
that.totalNum =
Number(that.lowerIpt.passedNum) +
Number(that.lowerIpt.waitRepairNum) +
Number(that.lowerIpt.waitCrashNum);
console.log('that.totalNum',that.totalNum);
if (that.totalNum > that.upperInfo.num) {
uni.showToast({
icon: "none",
title: "接收总量不能大于退库数量!",
});
} else if (that.totalNum == 0) {
uni.showToast({
icon: "none",
title: "请确保退料总量不为0",
});
} else {
console.log(this.handleSubmitData());
that.$api.backMaterialReceive
.backMaterialSetNumBack({
taskId: this.upperInfo.taskId,
arr: this.handleSubmitData(),
})
.then((res) => {
console.log("res===", res);
uni.showToast({
icon: "none",
title: "接收成功",
});
setTimeout(() => {
uni.navigateBack();
}, 300);
});
}
},
handleSubmitData() {
let list = [];
const baseInfo = {
parentId: this.upperInfo.id,
typeId: this.upperInfo.modelId,
manageType: this.upperInfo.manageType,
createBy: this.upperInfo.userId,
};
let passInfo = {
backStatus: 1,
backNum: this.lowerIpt.passedNum,
};
let repairInfo = {
backStatus: 2,
backNum: this.lowerIpt.waitRepairNum,
};
let crashInfo = {
backStatus: 3,
backNum: this.lowerIpt.waitCrashNum,
};
if (this.lowerIpt.passedNum) {
let info = {
...baseInfo,
...passInfo,
};
list.push(info);
}
if (this.lowerIpt.waitRepairNum) {
let info = {
...baseInfo,
...repairInfo,
};
list.push(info);
}
if (this.lowerIpt.waitCrashNum) {
let info = {
...baseInfo,
...crashInfo,
};
list.push(info);
}
return list;
},
},
onLoad(params) {
console.log("ev", params);
this.upperInfo = params;
},
};
</script>
<style lang="scss">
.form-area {
width: 90%;
margin: 40rpx auto;
display: flex;
flex-direction: column;
view {
width: 100%;
display: flex;
align-items: center;
margin-bottom: 25rpx;
h4 {
width: 35%;
font-weight: normal;
font-size: 28rpx;
}
span {
font-size: 28rpx;
}
}
view:last-child {
margin-bottom: 0;
}
}
.sub-btn {
width: 80%;
margin: 20vh auto;
box-sizing: border-box;
padding: 15rpx 0;
background-color: #3788ff;
color: #fff;
border-radius: 40rpx;
font-size: 28rpx;
display: flex;
justify-content: center;
align-items: center;
}
</style>