目前使用在form表单提交的时候如果不加校验的情况下 可以取表单对象的的长度做判断 表单里面一共有6个值最好是大于六 但是我这都做了校验要不要这个判断无所谓了,所以就这样了 如果子组件里面有确定按钮这个是form提交的 然后外层是数据的提交,这个form表单下面是上传的组件,这个上传的组件没办法去做校验,所以父组件里面加了判断,如果有上传的文件,就提交没有就做提示需要上传组件,然后form表单里面没有拦截成果,只要你的form表单里面值都输入了,你这个新增接口数据已经提交数据库了,页面没什么问题,但是最后统计数据的时候新增这个接口会提交2次,有重复的数据,所以也需要在form表单做拦截,相当于最后外层的提交接口和form表单里面的接口,两个接口是必须都有值 并且是同时调取的,如果其中一个不满足条件就无法新增提交,所以最后下面的form提交也做一个if判断了 回访的时候这个form表单已存在回访的字段没值,当你点击回访页面的时候你输入值,没走到下面的if判断form输入值的时候点击确定这个表单值已经走新增接口的,还是不对所以在if判断之前在家一个判断,如果是回访的时候并且文件上传是false的时候把回访的字段置空 接口msg报错你让后端修改 这几个值未空的时候msg报错是你要的提示
const visitedViews = computed(() => store.state.operate.have);
form表单里面的确认提交:
const dataLen = Object.keys(form.value).length;
if (store.state.operate.have == false && data.value.type == "8") {
console.log("回访");
// disabled.value = true;
console.log("20");
form.value = {
peoplePg: form.value.peoplePg,
machinePg: form.value.machinePg,
goodsPg: form.value.goodsPg,
environmentPg: form.value.environmentPg,
managePg: form.value.managePg,
otherPg: form.value.otherPg,
areaId: form.value.areaId,
createBy: form.value.createBy,
createTime: form.value.createTime,
customerCategory: form.value.customerCategory,
customerCode: form.value.customerCode,
customerId: form.value.customerId,
customerName: form.value.customerName,
district: form.value.district,
hfCount: form.value.hfCount,
id: form.value.id,
params: form.value.params,
pgCount: form.value.pgCount,
projectId: form.value.projectId,
remark: form.value.remark,
searchValue: form.value.searchValue,
type: form.value.type,
updateBy: form.value.updateBy,
updateTime: form.value.updateTime,
peopleHf: null,
machineHf: null,
goodsHf: null,
environmentHf: null,
manageHf: null,
otherFx: null,
};
} else {
form.value = {
...form.value,
};
}
if (visitedViews.value && dataLen > 0) {
console.log("visitedViews", visitedViews.value);
addThreat({
...node.value,
...form.value,
customerId: props.data.customerId,
type: data.value.type == 7 ? "评估" : "回访",
}).then((res) => {
emit("handleSubmit");
});
} else {
ElMessage({
type: "error",
message: "上传文件不可为空",
});
}
外层父组件的最后提交:
//提交上传
function handleSubmit() {
if(visitedViews.value){
console.log('visitedViews.value',visitedViews.value);
proxy.$modal.confirm("提交后进入审批,非驳回不可上传,请确认后提交!")
.then(function () {
let params = {
...props.node,
isUpload: 1,
};
console.log('params',params);
flowSubmit(params).then((res) => {
const loading = ElLoading.service({
lock: true,
text: "数据提交中,请稍后...",
background: "rgba(0, 0, 0, 0.7)",
});
ctx.emit("updateData");
// proxy.$modal.msgSuccess("提交成功");
ctx.emit("closeDialog");
setTimeout(function () {
loading.close();
}, 2000); // 定时时间
});
});
}else{
ElMessage({
type: "error",
message: "上传文件不可为空",
});
}
}