数量维修提交按钮限制
This commit is contained in:
parent
80688f4022
commit
0b52f8f283
|
|
@ -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,41 +685,61 @@ const deleteImage2 = (index) => {
|
|||
|
||||
//数量维修保存
|
||||
const saveNumAll = async () => {
|
||||
console.log(rowData.value)
|
||||
if(repairPerson.value==""){
|
||||
// 如果已经在提交中则直接拦截
|
||||
if (loading.value) {
|
||||
uni.showToast({ title: '请勿重复提交!', icon: 'none' })
|
||||
return
|
||||
}
|
||||
|
||||
// 一点击就锁按钮
|
||||
loading.value = true
|
||||
|
||||
try {
|
||||
// ======= 校验逻辑 =======
|
||||
if (repairPerson.value == "") {
|
||||
uni.showToast({ title: '请先选择维修人员!', icon: 'none' })
|
||||
}else if((formLeft.value.repairNum + formMiddle.value.repairNum + formRight.value.scrapNum)==0){
|
||||
loading.value = false
|
||||
return
|
||||
}
|
||||
|
||||
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=='')){
|
||||
loading.value = false
|
||||
return
|
||||
}
|
||||
|
||||
if (formMiddle.value.repairNum > 0 && (!formMiddle.value.supplierId)) {
|
||||
uni.showToast({ title: '返厂维修请选择厂家!', icon: 'none' })
|
||||
}else if(formRight.value.scrapNum > 0 && !formRight.value.scrapReason && !formRight.value.scrapId) {
|
||||
loading.value = false
|
||||
return
|
||||
}
|
||||
|
||||
if (formRight.value.scrapNum > 0 && !formRight.value.scrapReason && !formRight.value.scrapId) {
|
||||
uni.showToast({ title: '维修报废请填写报废原因!', icon: 'none' })
|
||||
}else if (
|
||||
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' })
|
||||
}else {
|
||||
if (loading.value) {
|
||||
uni.showToast({ title: '请勿重复提交!', icon: 'none' })
|
||||
loading.value = false
|
||||
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].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,
|
||||
|
|
@ -720,7 +749,8 @@ const saveNumAll = async () => {
|
|||
repairNum: formLeft.value.repairNum,
|
||||
})
|
||||
}
|
||||
// 返厂
|
||||
|
||||
// 返厂维修
|
||||
for (let i = 0; i < partItemsMiddle.value.length; i++) {
|
||||
rowData.value.repairDeviceList[0].numberOutRepairPartList.push({
|
||||
partType: partItemsMiddle.value[i].partType,
|
||||
|
|
@ -731,30 +761,37 @@ const saveNumAll = async () => {
|
|||
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.showLoading({ title: '提交中...' })
|
||||
const response = await saveRepairRow(rowData.value.repairDeviceList)
|
||||
|
||||
if (response.code === 200) {
|
||||
uni.showToast({ title: '保存成功', icon: 'none' })
|
||||
uni.navigateBack({
|
||||
delta: 1, // 返回到已存在的页面
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
}).catch(() => {
|
||||
// 成功后不再解锁按钮,防止用户多点
|
||||
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>
|
||||
|
|
|
|||
Loading…
Reference in New Issue