This commit is contained in:
BianLzhaoMin 2026-01-27 16:24:43 +08:00
parent cf419e231e
commit ae2b6ffa0c
2 changed files with 169 additions and 158 deletions

View File

@ -41,12 +41,13 @@ function setParams(obj) {
}); });
form.render(); form.render();
// 绑定工程下拉选change事件 - 关键在form.render()之前绑定 // 绑定工程下拉选事件Layui 事件)
form.on('select(projectId)', function (data) { form.on('select(projectId)', function (data) {
console.log("Layui select事件触发,值:", data.value); console.log("Layui select(projectId) 事件触发,值:", data.value);
var selectedOption = $(data.elem).find('option:selected'); 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) { if (!companyName && data.value) {
@ -54,17 +55,20 @@ function setParams(obj) {
return item.id == data.value; return item.id == data.value;
}); });
if (foundItem) { if (foundItem) {
companyName = foundItem.companyName || ''; companyName = foundItem.companyName || foundItem.company || '';
} }
} }
console.log("获取到的公司名称:", companyName); console.log("获取到的公司名称:", companyName);
// 设置公司输入框的值 // 设置公司输入框的值
$('#companyName').val(companyName); // 设置隐藏字段 $('#company').val(companyName);
$('#companyName').val(companyName);
$('#remark').val(companyName); $('#remark').val(companyName);
// 更新表单数据 // 更新表单数据
if (form && typeof form.val === 'function') { if (form && typeof form.val === 'function') {
form.val('formInfo', { form.val('formInfo', {
company: companyName,
companyName: companyName companyName: companyName
}); });
} }
@ -211,6 +215,8 @@ function fillFormData(data) {
$('#phone').val(data.phone); $('#phone').val(data.phone);
$('#remark').val(data.remark); $('#remark').val(data.remark);
layui.form.render(); layui.form.render();
// 主动触发一次 change确保事件逻辑在回显时也执行
$('#projectId').trigger('change');
// 设置只读显示的文本(可选) // 设置只读显示的文本(可选)
if (isEditMode) { if (isEditMode) {
@ -339,6 +345,8 @@ function getProList() {
setTimeout(() => { setTimeout(() => {
$('#projectId').val(objParam.projectId); $('#projectId').val(objParam.projectId);
layui.form.render(); layui.form.render();
// 主动触发一次 change确保事件逻辑在回显时也执行
$('#projectId').trigger('change');
}, 100); }, 100);
} }
} }
@ -371,17 +379,19 @@ function setSelectData(proList) {
layui.form.render('select'); layui.form.render('select');
} }
// 同时绑定jQuery的change事件 // 同时绑定 jQuery change 事件,作为兜底
$('#projectId').off('change').on('change', function () { $('#projectId').off('change').on('change', function () {
console.log("setSelectProData中的change事件触发"); console.log("setSelectData 中的 change 事件触发,值:", $(this).val());
var selectedOption = $(this).find('option:selected'); var self = this;
var selectedOption = $(self).find('option:selected');
var companyName = selectedOption.data('company') || ''; var companyName = selectedOption.data('company') || '';
// 如果 data 属性没有获取到,从 proListData 中查找 // 如果 data 属性没有获取到,从 proListData 中查找
if (!companyName && $(this).val()) { var value = $(self).val();
if (!companyName && value) {
var foundItem = proListData.find(function (item) { var foundItem = proListData.find(function (item) {
return item.id == $(this).val(); return item.id == value;
}); });
if (foundItem) { if (foundItem) {
companyName = foundItem.companyName || foundItem.company || ''; companyName = foundItem.companyName || foundItem.company || '';
@ -393,7 +403,8 @@ function setSelectData(proList) {
// 设置公司输入框的值 // 设置公司输入框的值
$('#company').val(companyName); $('#company').val(companyName);
$('#companyName').val(companyName); $('#companyName').val(companyName);
$('#remark').val(remark); $('#remark').val(companyName);
// 如果 form 对象存在,更新表单数据 // 如果 form 对象存在,更新表单数据
if (window.form && typeof window.form.val === 'function') { if (window.form && typeof window.form.val === 'function') {
window.form.val('formInfo', { window.form.val('formInfo', {

View File

@ -70,7 +70,7 @@
<label class="layui-form-label required" style="width: 100px !important;">退料工程</label> <label class="layui-form-label required" style="width: 100px !important;">退料工程</label>
<div class="layui-input-inline"> <div class="layui-input-inline">
<select name="projectId" id="projectId" lay-verify="required" lay-search <select name="projectId" id="projectId" lay-verify="required" lay-search
class="layui-select"> lay-filter="projectId" class="layui-select">
</select> </select>
</div> </div>
</div> </div>