业务需求:在所做的出入管理系统中,车牌号为主键;要求新增新的记录时,根据车牌号判断数据库中是否有记录,有就将当前操作改为【修改】,没有就是【新增】
/** 查询车辆信息管理列表 */
getList() {
this.loading = true;
listCar(this.queryParams).then(response => {
this.carList = response.rows;
this.total = response.total;
this.loading = false;
});
}
/**新建一个函数用于根据 cardId 查询数据*/
queryCarByCardId(cardId, callback) {
const queryParams = { cardId: cardId }; // 构建查询参数
listCar(queryParams).then(response => {
const carData = response.rows[0]; // 假设查询结果只取第一条数据
callback(carData); // 将查询结果传递给回调函数
});
}
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.cardId != null) {
// 调用新函数查询数据
this.queryCarByCardId(this.form.cardId, carData => {
if (carData) {
// 查询到数据,走 updateCar 分支
updateCar(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
// 没有查询到数据,走 addCar 分支
addCar(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
});
}
}
});
}
这样,根据cardId去查询,查询结果有数据就走updateCar分支,没有数据就走addCar分支