From ae2b6ffa0cf1bf4b612b1dfa2c61dfbfc7f3f5d7 Mon Sep 17 00:00:00 2001 From: BianLzhaoMin <11485688+bianliangzhaomin123@user.noreply.gitee.com> Date: Tue, 27 Jan 2026 16:24:43 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../child/add_back_material.js | 69 +++-- .../child/add_back_material.html | 258 +++++++++--------- 2 files changed, 169 insertions(+), 158 deletions(-) diff --git a/js/aq_back_material/child/add_back_material.js b/js/aq_back_material/child/add_back_material.js index ecf6887..7903645 100644 --- a/js/aq_back_material/child/add_back_material.js +++ b/js/aq_back_material/child/add_back_material.js @@ -8,7 +8,7 @@ let editId = null; // 编辑的ID let submitStatus = 1; let proListData = []; // 存储工程列表数据 -let = []; +let = []; getProList(); function setParams(obj) { objParam = JSON.parse(obj); @@ -41,30 +41,34 @@ function setParams(obj) { }); form.render(); - // 绑定工程下拉选change事件 - 关键:在form.render()之前绑定 - form.on('select(projectId)', function(data) { - console.log("Layui select事件触发,值:", data.value); + // 绑定工程下拉选事件(Layui 事件) + form.on('select(projectId)', function (data) { + console.log("Layui select(projectId) 事件触发,值:", data.value); var selectedOption = $(data.elem).find('option:selected'); - var companyName = selectedOption.data('companyName') || ''; + // 与 option 上的 data-company 保持一致 + var companyName = selectedOption.data('company') || ''; - // 如果data属性没有获取到,尝试从proListData中查找 + // 如果 data 属性没有获取到,尝试从 proListData 中查找 if (!companyName && data.value) { - var foundItem = proListData.find(function(item) { + var foundItem = proListData.find(function (item) { return item.id == data.value; }); if (foundItem) { - companyName = foundItem.companyName || ''; + companyName = foundItem.companyName || foundItem.company || ''; } } console.log("获取到的公司名称:", companyName); + // 设置公司输入框的值 - $('#companyName').val(companyName); // 设置隐藏字段 + $('#company').val(companyName); + $('#companyName').val(companyName); $('#remark').val(companyName); // 更新表单数据 if (form && typeof form.val === 'function') { form.val('formInfo', { + company: companyName, companyName: companyName }); } @@ -76,7 +80,7 @@ function setParams(obj) { } else { // 编辑模式下隐藏上传按钮 $('#test2').hide(); - $('.layout p').each(function() { + $('.layout p').each(function () { if ($(this).text().includes('提示:最多上传5个附件')) { // $(this).text('提示:编辑模式下不可新增附件,可删除原有附件'); } @@ -113,7 +117,7 @@ function disableBasicFields() { $('.layui-upload').addClass('disabled-upload'); // 隐藏必填标记 - $('.required').each(function() { + $('.required').each(function () { if ($(this).find('span').length === 0) { $(this).append('*'); } @@ -152,8 +156,8 @@ function initUpload() { uploadObj.config.elem.next()[0].value = ''; let num = 0; obj.preview(function (index, file, result) { - num ++; - if(num <= (5-length)){ + num++; + if (num <= (5 - length)) { $('#uploader-list').append( '
' + '

x

' + @@ -211,6 +215,8 @@ function fillFormData(data) { $('#phone').val(data.phone); $('#remark').val(data.remark); layui.form.render(); + // 主动触发一次 change,确保事件逻辑在回显时也执行 + $('#projectId').trigger('change'); // 设置只读显示的文本(可选) if (isEditMode) { @@ -230,7 +236,7 @@ function loadAttachments(fileList) { if (fileList && fileList.length > 0) { // 这里需要根据实际情况处理附件的显示 // 假设附件有预览地址 - $.each(fileList, function(index, file) { + $.each(fileList, function (index, file) { let html = ''; // 这里简化处理,实际需要根据文件类型显示不同的图标 $('#uploader-list').append( @@ -301,7 +307,7 @@ function deleteAttachment(fileId, element) { } // 编辑模式下的删除逻辑 - layer.confirm('确定要删除这个附件吗?', function(index) { + layer.confirm('确定要删除这个附件吗?', function (index) { let url = dataUrl + 'backstage/backApply/deleteAttachment'; let params = { encryptedData: JSON.stringify({ @@ -339,6 +345,8 @@ function getProList() { setTimeout(() => { $('#projectId').val(objParam.projectId); layui.form.render(); + // 主动触发一次 change,确保事件逻辑在回显时也执行 + $('#projectId').trigger('change'); }, 100); } } @@ -357,7 +365,7 @@ function setSelectData(proList) { let html = ''; $.each(proListData, function (index, item) { // 确保有companyName字段 - var companyName = item.companyName || ''; + var companyName = item.companyName || ''; // 将公司名称存储在data-company属性中 html += '