SmartStorage/pages/numReceive/numReceive.vue

218 lines
4.6 KiB
Vue
Raw Permalink 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" :disabled="btnDisabled">
确认
</view>
<u-loading-page :loading="showLoading" color="#000" loading-text="表单提交中,请稍后..."></u-loading-page>
</view>
</template>
<script>
export default {
data() {
return {
upperInfo: {
parentId: '',
typeName: '',
typeCode: '',
num: ''
},
lowerIpt: {
passedNum: '',
waitRepairNum: '',
waitCrashNum: ''
},
totalNum: 0,
showLoading: false,
btnDisabled: false
}
},
methods: {
subForm() {
//三个数量之和小于等于10 才可提交
// "taskId": "294",
// {
// "parentId": 34,
// "typeId": "5",
// "backNum": "1",
// "backStatus": "3",//合格为 1 待修2 待报废2
// "manageType": "1",
// "createBy": "1"
// }
let that = this
that.showLoading = true
that.btnDisabled = true
if (!this.lowerIpt.passedNum && !this.lowerIpt.waitRepairNum && !this.lowerIpt.waitCrashNum) {
that.showLoading = false
that.btnDisabled = false
uni.showToast({
icon: 'none',
title: '请至少填写一个数据!'
})
return
}
that.totalNum = Number(that.lowerIpt.passedNum) + Number(that.lowerIpt.waitRepairNum) + Number(that
.lowerIpt.waitCrashNum)
console.log(that.totalNum);
if (that.totalNum > that.upperInfo.num) {
that.showLoading = false
that.btnDisabled = false
uni.showToast({
icon: 'none',
title: '接收总量不能大于退库数量!'
})
} else if (that.totalNum == 0) {
that.showLoading = false
that.btnDisabled = false
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)
that.showLoading = false
that.btnDisabled = false
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>