if(this.formEntity.ExamType==0){ this.checktypetask(this.formEntity.ExamType, this.formEntity.DrillOrgIDarr, item.value[0].ID) }else{ this.checktypetask(this.formEntity.ExamType, this.formEntity.ByCheckOrgIDs, item.value[0].ID) } async checktypetask(type,orgIDs,postsID){ if((orgIDs.length==0&&type==1)||(orgIDs.length==0&&type==0)){ uni.showToast({ title: `请先选择${type == 0 ? '检查' : '自检'}机构`, icon: 'none', }) return false }else{ const res: any = await CheckPersonExist({ postID:postsID, orgids:orgIDs, }) if(!res.Result){ let passvalue:any=[]; (res.ReturnObject as any)?.map((item:any)=>{ passvalue.push(item) }) uni.showToast({ title:`${passvalue.join(',')}机构对应岗位下没有人员`, icon: 'none', }) return } console.log(this.formEntity.ByCheckOrgIDs, 'ss') } },我用这个方法,他不会阻止选人,应该怎么阻止他继续下一步操作
时间: 2024-02-10 19:17:10 浏览: 117
Vue 解决通过this.$refs来获取DOM或者组件报错问题
根据你提供的代码,我可以看出这是一个 Vue.js 代码段,主要涉及到异步请求 CheckPersonExist。如果该请求的结果返回 false,那么会弹出一个提示框,但是并没有阻止选人的操作。
如果你想要在 CheckPersonExist 返回 false 的情况下阻止选人的操作,可以在 checktypetask 函数中添加一个返回值,用于指示是否可以继续选人的操作。例如,你可以将该函数的返回值修改为布尔类型,如果返回 false,则说明不能继续选人,否则可以继续选人。在调用 checktypetask 函数的地方,你可以根据该函数的返回值来决定是否继续下一步操作。修改后的代码如下:
```
if (this.formEntity.ExamType == 0) {
this.checktypetask(this.formEntity.ExamType, this.formEntity.DrillOrgIDarr, item.value[0].ID)
} else {
this.checktypetask(this.formEntity.ExamType, this.formEntity.ByCheckOrgIDs, item.value[0].ID)
}
async checktypetask(type, orgIDs, postsID) {
if ((orgIDs.length == 0 && type == 1) || (orgIDs.length == 0 && type == 0)) {
uni.showToast({
title: `请先选择${type == 0 ? '检查' : '自检'}机构`,
icon: 'none',
})
return false
} else {
const res: any = await CheckPersonExist({
postID: postsID,
orgids: orgIDs,
})
if (!res.Result) {
let passvalue: any[] = [];
(res.ReturnObject as any)?.map((item: any) => {
passvalue.push(item)
})
uni.showToast({
title: `${passvalue.join(',')}机构对应岗位下没有人员`,
icon: 'none',
})
return false;
} else {
console.log(this.formEntity.ByCheckOrgIDs, 'ss')
return true;
}
}
},
```
希望这可以帮助你解决问题。
阅读全文