数量维修提交按钮限制

This commit is contained in:
hayu 2025-10-21 16:04:38 +08:00
parent 80688f4022
commit 0b52f8f283
1 changed files with 133 additions and 80 deletions

View File

@ -35,9 +35,18 @@
</uni-row>
<uni-row :gutter="24">
<uni-col :span="24">
<view class="search" @click="saveNumAll">
提交
</view>
<!-- <view class="search" @click="saveNumAll">-->
<!-- 提交-->
<!-- </view>-->
<button
class="submit-btn"
@click="saveNumAll"
:disabled="loading"
:class="{ 'btn-disabled': loading }"
>
{{ loading ? '提交中...' : '提交' }}
</button>
</uni-col>
</uni-row>
</view>
@ -676,85 +685,113 @@ const deleteImage2 = (index) => {
//
const saveNumAll = async () => {
console.log(rowData.value)
if(repairPerson.value==""){
uni.showToast({ title: '请先选择维修人员!', icon: 'none' })
}else if((formLeft.value.repairNum + formMiddle.value.repairNum + formRight.value.scrapNum)==0){
uni.showToast({ title: '请选择维修类型并填写维修数量!', icon: 'none' })
}else if(formMiddle.value.repairNum>0&&(formMiddle.value.supplierId==undefined||formMiddle.value.supplierId=='')){
uni.showToast({ title: '返厂维修请选择厂家!', icon: 'none' })
}else if(formRight.value.scrapNum > 0 && !formRight.value.scrapReason && !formRight.value.scrapId) {
uni.showToast({ title: '维修报废请填写报废原因!', icon: 'none' })
}else if (
Number(formLeft.value.repairNum) +
Number(formMiddle.value.repairNum) +
Number(formRight.value.scrapNum) >
Number(queryParams.value.waitRepairNum)
) {
uni.showToast({ title: '总数量不可大于待修数量!', icon: 'none' })
}else {
if (loading.value) {
uni.showToast({ title: '请勿重复提交!', icon: 'none' })
return
}
loading.value = true
uni.showLoading({ title: '提交中...' })
//
rowData.value.repairDeviceList[0].repairList=[
{
repairer:repairPerson.value,
// remark:remark.value,
// fileList:bmFileInfos.value
}
]
rowData.value.repairDeviceList[0].numberInRepairPartList = []
rowData.value.repairDeviceList[0].numberOutRepairPartList = []
rowData.value.repairDeviceList[0].numberScrapRepairPartList = []
//
for (let i = 0; i < partItems.value.length; i++) {
rowData.value.repairDeviceList[0].numberInRepairPartList.push({
partType: partItems.value[i].partType,
partId: partItems.value[i].partId,
partNum: partItems.value[i].partNum,
storageNum: partItems.value[i].storageNum,
repairNum: formLeft.value.repairNum,
})
}
//
for (let i = 0; i < partItemsMiddle.value.length; i++) {
rowData.value.repairDeviceList[0].numberOutRepairPartList.push({
partType: partItemsMiddle.value[i].partType,
partPrice: partItemsMiddle.value[i].partPrice,
partNum: partItemsMiddle.value[i].partNum,
partName: partItemsMiddle.value[i].partName,
supplierId: formMiddle.value.supplierId,
repairNum: formMiddle.value.repairNum,
})
}
//
rowData.value.repairDeviceList[0].numberScrapRepairPartList.push(formRight.value)
rowData.value.repairDeviceList[0].repairType = 1
rowData.value.repairDeviceList[0].inRepairList = [{ remark: partRemark.value, fileList: partFileList.value }]
rowData.value.repairDeviceList[0].outRepairList = [{ remark: returnRemark.value, fileList: returnFileList.value }]
console.log(rowData.value.repairDeviceList)
saveRepairRow(rowData.value.repairDeviceList).then(async (response) => {
loading.value = false
uni.hideLoading()
if (response.code == 200) {
uni.showToast({ title: '保存成功', icon: 'none' })
uni.navigateBack({
delta: 1, //
})
}
}).catch(() => {
loading.value = false
uni.hideLoading()
})
}
//
if (loading.value) {
uni.showToast({ title: '请勿重复提交!', icon: 'none' })
return
}
//
loading.value = true
try {
// ======= =======
if (repairPerson.value == "") {
uni.showToast({ title: '请先选择维修人员!', icon: 'none' })
loading.value = false
return
}
if ((formLeft.value.repairNum + formMiddle.value.repairNum + formRight.value.scrapNum) == 0) {
uni.showToast({ title: '请选择维修类型并填写维修数量!', icon: 'none' })
loading.value = false
return
}
if (formMiddle.value.repairNum > 0 && (!formMiddle.value.supplierId)) {
uni.showToast({ title: '返厂维修请选择厂家!', icon: 'none' })
loading.value = false
return
}
if (formRight.value.scrapNum > 0 && !formRight.value.scrapReason && !formRight.value.scrapId) {
uni.showToast({ title: '维修报废请填写报废原因!', icon: 'none' })
loading.value = false
return
}
if (
Number(formLeft.value.repairNum) +
Number(formMiddle.value.repairNum) +
Number(formRight.value.scrapNum) >
Number(queryParams.value.waitRepairNum)
) {
uni.showToast({ title: '总数量不可大于待修数量!', icon: 'none' })
loading.value = false
return
}
// ======= =======
rowData.value.repairDeviceList[0].repairList = [
{ repairer: repairPerson.value }
]
rowData.value.repairDeviceList[0].numberInRepairPartList = []
rowData.value.repairDeviceList[0].numberOutRepairPartList = []
rowData.value.repairDeviceList[0].numberScrapRepairPartList = []
//
for (let i = 0; i < partItems.value.length; i++) {
rowData.value.repairDeviceList[0].numberInRepairPartList.push({
partType: partItems.value[i].partType,
partId: partItems.value[i].partId,
partNum: partItems.value[i].partNum,
storageNum: partItems.value[i].storageNum,
repairNum: formLeft.value.repairNum,
})
}
//
for (let i = 0; i < partItemsMiddle.value.length; i++) {
rowData.value.repairDeviceList[0].numberOutRepairPartList.push({
partType: partItemsMiddle.value[i].partType,
partPrice: partItemsMiddle.value[i].partPrice,
partNum: partItemsMiddle.value[i].partNum,
partName: partItemsMiddle.value[i].partName,
supplierId: formMiddle.value.supplierId,
repairNum: formMiddle.value.repairNum,
})
}
//
rowData.value.repairDeviceList[0].numberScrapRepairPartList.push(formRight.value)
rowData.value.repairDeviceList[0].repairType = 1
rowData.value.repairDeviceList[0].inRepairList = [{ remark: partRemark.value, fileList: partFileList.value }]
rowData.value.repairDeviceList[0].outRepairList = [{ remark: returnRemark.value, fileList: returnFileList.value }]
// ======= =======
uni.showLoading({ title: '提交中...' })
const response = await saveRepairRow(rowData.value.repairDeviceList)
if (response.code === 200) {
uni.showToast({ title: '保存成功', icon: 'none' })
//
setTimeout(() => {
uni.navigateBack({ delta: 1 })
}, 800)
} else {
uni.showToast({ title: response.msg || '保存失败', icon: 'none' })
loading.value = false
}
} catch (error) {
console.error('提交异常:', error)
uni.showToast({ title: '提交异常,请稍后重试', icon: 'none' })
loading.value = false
} finally {
uni.hideLoading()
}
}
// change
const repairCheckNum1 = (e) => {
setTimeout(() => {
@ -1206,4 +1243,20 @@ const costCheckNum = (item) => {
border: #F5F5F5 1px solid;
width: 169px;
}
.submit-btn {
width: 100%;
background-color: #4aa4ea;
color: #fff;
padding: 10px 0;
border-radius: 8px;
font-size: 16px;
border: none;
transition: 0.2s;
}
.submit-btn.btn-disabled {
background-color: #ccc;
color: #666;
}
</style>