数量维修提交按钮限制
This commit is contained in:
parent
80688f4022
commit
0b52f8f283
|
|
@ -35,9 +35,18 @@
|
||||||
</uni-row>
|
</uni-row>
|
||||||
<uni-row :gutter="24">
|
<uni-row :gutter="24">
|
||||||
<uni-col :span="24">
|
<uni-col :span="24">
|
||||||
<view class="search" @click="saveNumAll">
|
<!-- <view class="search" @click="saveNumAll">-->
|
||||||
提交
|
<!-- 提交-->
|
||||||
</view>
|
<!-- </view>-->
|
||||||
|
<button
|
||||||
|
class="submit-btn"
|
||||||
|
@click="saveNumAll"
|
||||||
|
:disabled="loading"
|
||||||
|
:class="{ 'btn-disabled': loading }"
|
||||||
|
>
|
||||||
|
{{ loading ? '提交中...' : '提交' }}
|
||||||
|
</button>
|
||||||
|
|
||||||
</uni-col>
|
</uni-col>
|
||||||
</uni-row>
|
</uni-row>
|
||||||
</view>
|
</view>
|
||||||
|
|
@ -676,41 +685,61 @@ const deleteImage2 = (index) => {
|
||||||
|
|
||||||
//数量维修保存
|
//数量维修保存
|
||||||
const saveNumAll = async () => {
|
const saveNumAll = async () => {
|
||||||
console.log(rowData.value)
|
// 如果已经在提交中则直接拦截
|
||||||
|
if (loading.value) {
|
||||||
|
uni.showToast({ title: '请勿重复提交!', icon: 'none' })
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// 一点击就锁按钮
|
||||||
|
loading.value = true
|
||||||
|
|
||||||
|
try {
|
||||||
|
// ======= 校验逻辑 =======
|
||||||
if (repairPerson.value == "") {
|
if (repairPerson.value == "") {
|
||||||
uni.showToast({ title: '请先选择维修人员!', icon: 'none' })
|
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' })
|
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' })
|
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' })
|
uni.showToast({ title: '维修报废请填写报废原因!', icon: 'none' })
|
||||||
}else if (
|
loading.value = false
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
if (
|
||||||
Number(formLeft.value.repairNum) +
|
Number(formLeft.value.repairNum) +
|
||||||
Number(formMiddle.value.repairNum) +
|
Number(formMiddle.value.repairNum) +
|
||||||
Number(formRight.value.scrapNum) >
|
Number(formRight.value.scrapNum) >
|
||||||
Number(queryParams.value.waitRepairNum)
|
Number(queryParams.value.waitRepairNum)
|
||||||
) {
|
) {
|
||||||
uni.showToast({ title: '总数量不可大于待修数量!', icon: 'none' })
|
uni.showToast({ title: '总数量不可大于待修数量!', icon: 'none' })
|
||||||
}else {
|
loading.value = false
|
||||||
if (loading.value) {
|
|
||||||
uni.showToast({ title: '请勿重复提交!', icon: 'none' })
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
loading.value = true
|
|
||||||
uni.showLoading({ title: '提交中...' })
|
// ======= 数据组装 =======
|
||||||
//维修人员
|
|
||||||
rowData.value.repairDeviceList[0].repairList = [
|
rowData.value.repairDeviceList[0].repairList = [
|
||||||
{
|
{ repairer: repairPerson.value }
|
||||||
repairer:repairPerson.value,
|
|
||||||
// remark:remark.value,
|
|
||||||
// fileList:bmFileInfos.value
|
|
||||||
}
|
|
||||||
]
|
]
|
||||||
rowData.value.repairDeviceList[0].numberInRepairPartList = []
|
rowData.value.repairDeviceList[0].numberInRepairPartList = []
|
||||||
rowData.value.repairDeviceList[0].numberOutRepairPartList = []
|
rowData.value.repairDeviceList[0].numberOutRepairPartList = []
|
||||||
rowData.value.repairDeviceList[0].numberScrapRepairPartList = []
|
rowData.value.repairDeviceList[0].numberScrapRepairPartList = []
|
||||||
//内部
|
|
||||||
|
// 内部维修
|
||||||
for (let i = 0; i < partItems.value.length; i++) {
|
for (let i = 0; i < partItems.value.length; i++) {
|
||||||
rowData.value.repairDeviceList[0].numberInRepairPartList.push({
|
rowData.value.repairDeviceList[0].numberInRepairPartList.push({
|
||||||
partType: partItems.value[i].partType,
|
partType: partItems.value[i].partType,
|
||||||
|
|
@ -720,7 +749,8 @@ const saveNumAll = async () => {
|
||||||
repairNum: formLeft.value.repairNum,
|
repairNum: formLeft.value.repairNum,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
// 返厂
|
|
||||||
|
// 返厂维修
|
||||||
for (let i = 0; i < partItemsMiddle.value.length; i++) {
|
for (let i = 0; i < partItemsMiddle.value.length; i++) {
|
||||||
rowData.value.repairDeviceList[0].numberOutRepairPartList.push({
|
rowData.value.repairDeviceList[0].numberOutRepairPartList.push({
|
||||||
partType: partItemsMiddle.value[i].partType,
|
partType: partItemsMiddle.value[i].partType,
|
||||||
|
|
@ -731,30 +761,37 @@ const saveNumAll = async () => {
|
||||||
repairNum: formMiddle.value.repairNum,
|
repairNum: formMiddle.value.repairNum,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
// 报废
|
// 报废
|
||||||
rowData.value.repairDeviceList[0].numberScrapRepairPartList.push(formRight.value)
|
rowData.value.repairDeviceList[0].numberScrapRepairPartList.push(formRight.value)
|
||||||
rowData.value.repairDeviceList[0].repairType = 1
|
rowData.value.repairDeviceList[0].repairType = 1
|
||||||
rowData.value.repairDeviceList[0].inRepairList = [{ remark: partRemark.value, fileList: partFileList.value }]
|
rowData.value.repairDeviceList[0].inRepairList = [{ remark: partRemark.value, fileList: partFileList.value }]
|
||||||
rowData.value.repairDeviceList[0].outRepairList = [{ remark: returnRemark.value, fileList: returnFileList.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.showLoading({ title: '提交中...' })
|
||||||
uni.hideLoading()
|
const response = await saveRepairRow(rowData.value.repairDeviceList)
|
||||||
if (response.code == 200) {
|
|
||||||
|
if (response.code === 200) {
|
||||||
uni.showToast({ title: '保存成功', icon: 'none' })
|
uni.showToast({ title: '保存成功', icon: 'none' })
|
||||||
uni.navigateBack({
|
// 成功后不再解锁按钮,防止用户多点
|
||||||
delta: 1, // 返回到已存在的页面
|
setTimeout(() => {
|
||||||
})
|
uni.navigateBack({ delta: 1 })
|
||||||
}
|
}, 800)
|
||||||
|
} else {
|
||||||
|
uni.showToast({ title: response.msg || '保存失败', icon: 'none' })
|
||||||
}).catch(() => {
|
|
||||||
loading.value = false
|
loading.value = false
|
||||||
|
}
|
||||||
|
} catch (error) {
|
||||||
|
console.error('提交异常:', error)
|
||||||
|
uni.showToast({ title: '提交异常,请稍后重试', icon: 'none' })
|
||||||
|
loading.value = false
|
||||||
|
} finally {
|
||||||
uni.hideLoading()
|
uni.hideLoading()
|
||||||
})
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// 数量框change事件
|
// 数量框change事件
|
||||||
const repairCheckNum1 = (e) => {
|
const repairCheckNum1 = (e) => {
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
|
|
@ -1206,4 +1243,20 @@ const costCheckNum = (item) => {
|
||||||
border: #F5F5F5 1px solid;
|
border: #F5F5F5 1px solid;
|
||||||
width: 169px;
|
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>
|
</style>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue