From cf419e231ef624199edb96d1b76634b5e587d09d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=A9=AC=E4=B8=89=E7=82=AE?= <15856818120@163.com> Date: Tue, 27 Jan 2026 16:14:18 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A2=86=E6=96=99=EF=BC=8C=E9=80=80=E6=96=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../child/add_back_material.js | 93 +++++++++++++++++-- .../child/send_out_unplanned_form.js | 8 +- .../child/add_back_material.html | 2 + 3 files changed, 92 insertions(+), 11 deletions(-) diff --git a/js/aq_back_material/child/add_back_material.js b/js/aq_back_material/child/add_back_material.js index 00e8a07..ecf6887 100644 --- a/js/aq_back_material/child/add_back_material.js +++ b/js/aq_back_material/child/add_back_material.js @@ -6,6 +6,10 @@ let delIdArr = []; let isEditMode = false; // 是否为编辑模式 let editId = null; // 编辑的ID let submitStatus = 1; + +let proListData = []; // 存储工程列表数据 +let = []; +getProList(); function setParams(obj) { objParam = JSON.parse(obj); console.log('接收到的参数:', objParam); @@ -36,7 +40,35 @@ function setParams(obj) { submitApply(data); }); form.render(); - getProList(); + + // 绑定工程下拉选change事件 - 关键:在form.render()之前绑定 + form.on('select(projectId)', function(data) { + console.log("Layui select事件触发,值:", data.value); + + var selectedOption = $(data.elem).find('option:selected'); + var companyName = selectedOption.data('companyName') || ''; + + // 如果data属性没有获取到,尝试从proListData中查找 + if (!companyName && data.value) { + var foundItem = proListData.find(function(item) { + return item.id == data.value; + }); + if (foundItem) { + companyName = foundItem.companyName || ''; + } + } + console.log("获取到的公司名称:", companyName); + // 设置公司输入框的值 + $('#companyName').val(companyName); // 设置隐藏字段 + $('#remark').val(companyName); + + // 更新表单数据 + if (form && typeof form.val === 'function') { + form.val('formInfo', { + companyName: companyName + }); + } + }); // 只有在非编辑模式时才初始化上传组件 if (!isEditMode) { @@ -297,7 +329,7 @@ function deleteAttachment(fileId, element) { // 工程下拉选 function getProList() { - let url = dataUrl + 'backstage/pro/getProSelectList'; + let url = dataUrl + 'backstage/planApply/getProSelectAndCompanyName'; ajaxRequest(url, "POST", null, false, function () { }, function (result) { if (result.code === 200) { @@ -317,12 +349,59 @@ function getProList() { // 工程下拉选赋值 function setSelectData(proList) { - let html = ''; - $.each(proList, function (index, item) { - html += '' - }) + // 存储工程列表数据到全局变量 + proListData = proList || []; + + console.log("工程列表数据:", proListData); + + let html = ''; + $.each(proListData, function (index, item) { + // 确保有companyName字段 + var companyName = item.companyName || ''; + + // 将公司名称存储在data-company属性中 + html += ''; + }); + $('#projectId').empty().append(html); - layui.form.render(); + + // 重新渲染Layui表单 + if (layui && layui.form) { + layui.form.render('select'); + } + + // 同时绑定jQuery的change事件 + $('#projectId').off('change').on('change', function() { + console.log("setSelectProData中的change事件触发"); + + var selectedOption = $(this).find('option:selected'); + var companyName = selectedOption.data('company') || ''; + + // 如果data属性没有获取到,从proListData中查找 + if (!companyName && $(this).val()) { + var foundItem = proListData.find(function(item) { + return item.id == $(this).val(); + }); + if (foundItem) { + companyName = foundItem.companyName || foundItem.company || ''; + } + } + + console.log("设置公司名称:", companyName); + + // 设置公司输入框的值 + $('#company').val(companyName); + $('#companyName').val(companyName); + $('#remark').val(remark); + // 如果form对象存在,更新表单数据 + if (window.form && typeof window.form.val === 'function') { + window.form.val('formInfo', { + company: companyName, + companyName: companyName + }); + } + }); } // 设置文件类型 diff --git a/js/aq_demand_plan/child/send_out_unplanned_form.js b/js/aq_demand_plan/child/send_out_unplanned_form.js index 6397950..efe6604 100644 --- a/js/aq_demand_plan/child/send_out_unplanned_form.js +++ b/js/aq_demand_plan/child/send_out_unplanned_form.js @@ -58,7 +58,7 @@ function setParams(obj) { // 设置公司输入框的值 $('#company').val((companyName !== null && companyName !== '') ? companyName : '/'); $('#companyName').val(companyName); // 设置隐藏字段 - + $('#remark').val((companyName !== null && companyName !== '') ? companyName : '/'); // 触发input事件 $('#company').trigger('input'); @@ -159,7 +159,7 @@ function setParams(obj) { // 设置公司输入框的值 $('#company').val(companyName); $('#companyName').val(companyName); - + $('#remark').val(remark); // 触发input事件 $('#company').trigger('input'); @@ -359,7 +359,7 @@ function setSelectProData(proList) { // 设置公司输入框的值 $('#company').val(companyName); $('#companyName').val(companyName); - + $('#remark').val(remark); // 如果form对象存在,更新表单数据 if (window.form && typeof window.form.val === 'function') { window.form.val('formInfo', { @@ -643,4 +643,4 @@ function search() { // 重置搜索 function resetSearch() { // 重置搜索功能实现 -} \ No newline at end of file +} diff --git a/page/aq_back_material/child/add_back_material.html b/page/aq_back_material/child/add_back_material.html index d26d903..8c43760 100644 --- a/page/aq_back_material/child/add_back_material.html +++ b/page/aq_back_material/child/add_back_material.html @@ -108,6 +108,8 @@ class="layui-textarea" maxLength="255" lay-affix="clear"> + +