diff --git a/src/main/resources/static/js/evaluate/teamGroup/registerEdit.js b/src/main/resources/static/js/evaluate/teamGroup/registerEdit.js index 72d3390..a470c2e 100644 --- a/src/main/resources/static/js/evaluate/teamGroup/registerEdit.js +++ b/src/main/resources/static/js/evaluate/teamGroup/registerEdit.js @@ -365,6 +365,7 @@ function setParams(id,index){ console.log("暂存班组成员信息数据:", groupMemberList) const submitData = { + id:formData.id, teamGroupName: formData.teamGroupName || "", subContractor: formData.subContractor || "", infoFileUrl: infoFileUrl || "", @@ -598,21 +599,64 @@ function setParams(id,index){ initMemberInfo(); // 删除操作 - $("#memberInfo").on("click", ".deleteBtn", function (e) { + /*$("#memberInfo").on("click", ".deleteBtn", function (e) { e.preventDefault(); const index = $(this).attr("id").split("-")[1]; console.log("删除", index); memberInfoList.splice(index, 1); console.log("删除", memberInfoList); $(`#memberInfo-${index}`).remove(); + });*/ - // 重新渲染所有成员信息以更新索引 - $("#memberInfo").empty() - memberInfoList.forEach((item, newIndex) => { - constructMemberInfo(newIndex) - }) + // 删除操作 + $("#memberInfo").on("click", ".deleteBtn", function (e) { + e.preventDefault(); + // 确保至少保留一个成员 + if (memberInfoList.length <= 1) { + layer.msg("至少需要保留一个班组成员", { icon: 2, time: 2000 }); + return; + } + const index = parseInt($(this).attr("id").split("-")[1]); + console.log("删除", index); + + // 从数组中移除对应的成员 + memberInfoList.splice(index, 1); + console.log("删除后成员列表", memberInfoList); + + // 移除对应的DOM元素 + $(`#memberInfo-${index}`).remove(); + + // 重新构建所有成员信息的UI,以确保索引连续 + rebuildMemberInfoUI(); }); + + + // 重新构建成员信息UI的函数 + async function rebuildMemberInfoUI() { + // 清空容器 + $("#memberInfo").empty(); + + // 重新构建所有成员项 + for (let i = 0; i < memberInfoList.length; i++) { + await constructMemberInfo(i); + + // 填充数据 + const member = memberInfoList[i]; + $(`#name-${i}`).val(member.name || ""); + $(`#phone-${i}`).val(member.phone || ""); + $(`#idCard-${i}`).val(member.idCard || ""); + $(`#workType-${i}`).val(member.workType || ""); + $(`#sex-${i}`).val(member.sex || ""); + + if (member.faceUrl) { + $(`#fileInfo-${i}`).html("已上传文件"); + } + } + + // 重新渲染表单 + form.render(); + } }); diff --git a/src/main/resources/static/js/evaluate/teamGroup/registerForm.js b/src/main/resources/static/js/evaluate/teamGroup/registerForm.js index 57c912c..2b3624a 100644 --- a/src/main/resources/static/js/evaluate/teamGroup/registerForm.js +++ b/src/main/resources/static/js/evaluate/teamGroup/registerForm.js @@ -345,44 +345,23 @@ layui.use(["table", "form", "upload", "tree"], function () { }); console.log("班组成员信息数据:", groupMemberList); - const formDataWithFile = new FormData(); - - formDataWithFile.append("teamGroupName", field.teamGroupName); - formDataWithFile.append("subContractor", field.subContractor); - formDataWithFile.append("infoFileUrl", infoFileUrl); // 信息评审表url - formDataWithFile.append("teamType", field.teamType); - formDataWithFile.append("name", field.name); - formDataWithFile.append("tableSource", "pm_dept"); - formDataWithFile.append("level", 5); // 固定值 - formDataWithFile.append("phone", field.phone); - formDataWithFile.append("idCard", field.idCard); - formDataWithFile.append("workType", field.workType); - formDataWithFile.append("sex", field.sex); - formDataWithFile.append("auditStatus", 1); - formDataWithFile.append("isTeamLeader", 0); // 固定值 - formDataWithFile.append("faceUrl", file); // 人脸照片url - - const submitData = { teamGroupName: field.teamGroupName, subContractor: field.subContractor, infoFileUrl: infoFileUrl, teamType: field.teamType, - name: field.name, + name: $("#name").val(), tableSource:"pm_dept", level: 5, - phone: field.phone, - idCard: field.idCard, - workType: field.workType, - sex: field.sex, + phone: $("#phone").val(), + idCard: $("#idCard").val(), + workType: $("#workType").val(), + sex: $("#sex").val(), auditStatus: 1, isTeamLeader: 0, faceUrl: faceUrl, // 上传后返回的 URL teamPersons: groupMemberList }; - - //班组成员信息 - formDataWithFile.append("teamPersons", JSON.stringify(groupMemberList)); $.ajax({ url: ctxPath + "/organizational/registerTeamGroup", type: "POST", @@ -535,7 +514,7 @@ layui.use(["table", "form", "upload", "tree"], function () { initMemberInfo(); // 删除操作 - $("#memberInfo").on("click", ".deleteBtn", function (e) { +/* $("#memberInfo").on("click", ".deleteBtn", function (e) { e.preventDefault(); const index = $(this).attr("id").split("-")[1]; console.log("删除", index); @@ -549,5 +528,55 @@ layui.use(["table", "form", "upload", "tree"], function () { constructMemberInfo(newIndex) }) + });*/ + + // 删除操作 + $("#memberInfo").on("click", ".deleteBtn", function (e) { + e.preventDefault(); + + // 确保至少保留一个成员 + if (memberInfoList.length <= 1) { + layer.msg("至少需要保留一个班组成员", { icon: 2, time: 2000 }); + return; + } + const index = parseInt($(this).attr("id").split("-")[1]); + console.log("删除", index); + + // 从数组中移除对应的成员 + memberInfoList.splice(index, 1); + console.log("删除后成员列表", memberInfoList); + + // 移除对应的DOM元素 + $(`#memberInfo-${index}`).remove(); + + // 重新构建所有成员信息的UI,以确保索引连续 + rebuildMemberInfoUI(); }); + + + // 重新构建成员信息UI的函数 + async function rebuildMemberInfoUI() { + // 清空容器 + $("#memberInfo").empty(); + + // 重新构建所有成员项 + for (let i = 0; i < memberInfoList.length; i++) { + await constructMemberInfo(i); + + // 填充数据 + const member = memberInfoList[i]; + $(`#name-${i}`).val(member.name || ""); + $(`#phone-${i}`).val(member.phone || ""); + $(`#idCard-${i}`).val(member.idCard || ""); + $(`#workType-${i}`).val(member.workType || ""); + $(`#sex-${i}`).val(member.sex || ""); + + if (member.faceUrl) { + $(`#fileInfo-${i}`).html("已上传文件"); + } + } + + // 重新渲染表单 + form.render(); + } });