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,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('<span style="color: #f56c6c;margin-left: 4px;">*</span>');
}
@ -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(
'<div id="" class="file-iteme">' +
'<div class="handle"><p>x</p></div>' +
@ -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);
}
}
@ -371,17 +379,19 @@ function setSelectData(proList) {
layui.form.render('select');
}
// 同时绑定jQuery的change事件
$('#projectId').off('change').on('change', function() {
console.log("setSelectProData中的change事件触发");
// 同时绑定 jQuery change 事件,作为兜底
$('#projectId').off('change').on('change', function () {
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') || '';
// 如果data属性没有获取到从proListData中查找
if (!companyName && $(this).val()) {
var foundItem = proListData.find(function(item) {
return item.id == $(this).val();
// 如果 data 属性没有获取到,从 proListData 中查找
var value = $(self).val();
if (!companyName && value) {
var foundItem = proListData.find(function (item) {
return item.id == value;
});
if (foundItem) {
companyName = foundItem.companyName || foundItem.company || '';
@ -393,8 +403,9 @@ function setSelectData(proList) {
// 设置公司输入框的值
$('#company').val(companyName);
$('#companyName').val(companyName);
$('#remark').val(remark);
// 如果form对象存在更新表单数据
$('#remark').val(companyName);
// 如果 form 对象存在,更新表单数据
if (window.form && typeof window.form.val === 'function') {
window.form.val('formInfo', {
company: companyName,
@ -407,10 +418,10 @@ function setSelectData(proList) {
// 设置文件类型
function handleFileType(index, file, result) {
let html = '', img = '';
if(file.ext){
if (file.ext) {
file.ext = file.ext.toLowerCase();
}
if(file.name){
if (file.name) {
file.name = file.name.toLowerCase();
}
if (file.ext === 'doc' || file.ext === 'docx') {

View File

@ -62,7 +62,7 @@
</head>
<body>
<div id="main-box">
<div id="main-box">
<div id="basic-box">
<form class="layui-form layuimini-form" onclick="return false;">
<div class="layui-form-item">
@ -70,7 +70,7 @@
<label class="layui-form-label required" style="width: 100px !important;">退料工程</label>
<div class="layui-input-inline">
<select name="projectId" id="projectId" lay-verify="required" lay-search
class="layui-select">
lay-filter="projectId" class="layui-select">
</select>
</div>
</div>
@ -199,7 +199,7 @@
<button class="layui-btn layui-bg-green temp-save" onclick="saveData2(0)">暂存</button>
<button class="layui-btn layui-btn-primary cancel" onclick="closePage()">返回</button>
</div>
</div>
</div>
</body>
<script src="../../../lib/jquery-3.4.1/jquery-3.7.1.min.js" charset="utf-8"></script>
<script src="../../../js/public.js" charset="utf-8"></script>