This commit is contained in:
parent
cf419e231e
commit
ae2b6ffa0c
|
|
@ -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('<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);
|
||||
}
|
||||
}
|
||||
|
|
@ -357,7 +365,7 @@ function setSelectData(proList) {
|
|||
let html = '<option value="">请选择工程</option>';
|
||||
$.each(proListData, function (index, item) {
|
||||
// 确保有companyName字段
|
||||
var companyName = item.companyName || '';
|
||||
var companyName = item.companyName || '';
|
||||
|
||||
// 将公司名称存储在data-company属性中
|
||||
html += '<option value="' + item.id + '" data-company="' + companyName + '">' +
|
||||
|
|
@ -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') {
|
||||
|
|
@ -788,7 +799,7 @@ function goOnAddData() {
|
|||
let id = $(this).attr('id');
|
||||
if (parseInt(id) === parseInt(item.id)) {
|
||||
let num = $(this).find('td').eq(6).find('input[name="num"]').val(),
|
||||
remark = $(this).find('td').eq(7).find('input[name="remark"]').val();
|
||||
remark = $(this).find('td').eq(7).find('input[name="remark"]').val();
|
||||
if (!item.num || parseInt(item.num) === 0) {
|
||||
item.num = num;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -62,144 +62,144 @@
|
|||
</head>
|
||||
|
||||
<body>
|
||||
<div id="main-box">
|
||||
<div id="basic-box">
|
||||
<form class="layui-form layuimini-form" onclick="return false;">
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-inline">
|
||||
<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">
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label required" style="width: 110px !important;">退料日期</label>
|
||||
<div class="layui-input-inline layui-input-wrap">
|
||||
<div class="layui-input-prefix">
|
||||
<i class="layui-icon layui-icon-date"></i>
|
||||
<div id="main-box">
|
||||
<div id="basic-box">
|
||||
<form class="layui-form layuimini-form" onclick="return false;">
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-inline">
|
||||
<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
|
||||
lay-filter="projectId" class="layui-select">
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label required" style="width: 110px !important;">退料日期</label>
|
||||
<div class="layui-input-inline layui-input-wrap">
|
||||
<div class="layui-input-prefix">
|
||||
<i class="layui-icon layui-icon-date"></i>
|
||||
</div>
|
||||
<input class="layui-input" id="backTime" autocomplete="off" name="backTime"
|
||||
lay-verify="required" readonly style="cursor: pointer;">
|
||||
</div>
|
||||
<input class="layui-input" id="backTime" autocomplete="off" name="backTime"
|
||||
lay-verify="required" readonly style="cursor: pointer;">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label required" style="width: 100px !important;">经办人</label>
|
||||
<div class="layui-input-inline">
|
||||
<input class="layui-input" name="manager" id="manager" autocomplete="off"
|
||||
lay-verify="required" maxlength="30" lay-affix="clear">
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label required" style="width: 100px !important;">经办人</label>
|
||||
<div class="layui-input-inline">
|
||||
<input class="layui-input" name="manager" id="manager" autocomplete="off"
|
||||
lay-verify="required" maxlength="30" lay-affix="clear">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label required" style="width: 100px !important;">经办人电话</label>
|
||||
<div class="layui-input-inline">
|
||||
<input class="layui-input" name="phone" id="phone" autocomplete="off" maxlength="11"
|
||||
lay-verify="required" maxlength="30" lay-affix="clear" onblur="checkPhone(event)">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label required" style="width: 100px !important;">经办人电话</label>
|
||||
<div class="layui-input-inline">
|
||||
<input class="layui-input" name="phone" id="phone" autocomplete="off" maxlength="11"
|
||||
lay-verify="required" maxlength="30" lay-affix="clear" onblur="checkPhone(event)">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label required" style="width: 100px !important;">备注</label>
|
||||
<div class="layui-input-inline" style="width: 764px;">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label required" style="width: 100px !important;">备注</label>
|
||||
<div class="layui-input-inline" style="width: 764px;">
|
||||
<textarea placeholder="请输入备注" lay-verify="required" id="remark" name="remark"
|
||||
class="layui-textarea" maxLength="255" lay-affix="clear"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 添加隐藏字段存储公司名称 -->
|
||||
<input type="hidden" id="companyName" name="companyName">
|
||||
<button type="submit" id="formSubmit" class="layui-btn" lay-submit="" lay-filter="formData"
|
||||
style="display: none;"></button>
|
||||
</form>
|
||||
<div class="layui-upload" style="padding: 0 39px;">
|
||||
<blockquote class="layui-elem-quote layui-quote-nm" style="margin-top: 10px;width: auto;border: none;">
|
||||
<p>附件证明</p>
|
||||
<div class="layui-upload-list uploader-list" style="overflow: auto;" id="uploader-list"></div>
|
||||
<div id="test2" style="margin-left: 10px;">
|
||||
<img src="../../../images/add.png">
|
||||
</div>
|
||||
<div class="layout" style="flex-direction: column;margin-left: 2px;">
|
||||
<p style="color: red;">提示:最多上传5个附件</p>
|
||||
<p style="color: red;">支持格式:jpg、png、jpeg</p>
|
||||
<p style="color: red;">doc、docx、pdf、xlsx、xls</p>
|
||||
</div>
|
||||
</blockquote>
|
||||
</div>
|
||||
<div class="title layout">
|
||||
<span style="font-weight:700;text-decoration:none;color:#409EFF;">▋</span>
|
||||
<p>退料明细</p>
|
||||
</div>
|
||||
<!-- 无数据时-展示 -->
|
||||
<div id="no_data_title" class="layout">
|
||||
<img src="../../../images/no_data_icon.png" alt="无数据">
|
||||
<p style="font-size: 16px;font-weight: bold;">您还没选择退料安全工器具类型</p>
|
||||
<p style="color: #999999;">需要添加类型后才能执行退料清点操作</p>
|
||||
<p style="color: #999999;">清点完成后,物品自动处于"待检验"状态,请尽快完成检验是否合格,进行入库或报废</p>
|
||||
<button class="layui-btn layui-bg-blue" onclick="chooseFitType()">选择类型</button>
|
||||
</div>
|
||||
<fieldset class="table-search-fieldset" id="search-info" style="display: none;">
|
||||
<legend>搜索信息</legend>
|
||||
<div style="margin: 10px 10px 10px 10px">
|
||||
<form class="layui-form layui-form-pane" action="#" onsubmit="return false;">
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-inline">
|
||||
<div class="layui-input-inline" style="width: 200px;">
|
||||
<input type="text" name="type" id="type" autocomplete="off" class="layui-input"
|
||||
lay-affix="clear" placeholder="输入类型" maxlength="30">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<div class="layui-input-inline" style="width: 200px;">
|
||||
<input type="text" name="name" id="name" autocomplete="off" class="layui-input"
|
||||
lay-affix="clear" placeholder="输入名称" maxlength="30">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<div class="layui-input-inline" style="width: 200px;">
|
||||
<input type="text" name="model" id="model" autocomplete="off" class="layui-input"
|
||||
lay-affix="clear" placeholder="输入规格型号" maxlength="30">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<button class="layui-btn layui-bg-blue" onclick="search()"><i class="layui-icon"></i> 搜
|
||||
索</button>
|
||||
<button class="layui-btn layui-btn-primary" onclick="resetSearch()"><i
|
||||
class="layui-icon layui-icon-refresh"></i> 重 置</button>
|
||||
<button class="layui-btn layui-bg-blue" onclick="chooseFitType()">选择退回类型</button>
|
||||
<button class="layui-btn layui-bg-red" onclick="delFitType()">删除选中</button>
|
||||
</div>
|
||||
class="layui-textarea" maxLength="255" lay-affix="clear"></textarea>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<!-- 添加隐藏字段存储公司名称 -->
|
||||
<input type="hidden" id="companyName" name="companyName">
|
||||
<button type="submit" id="formSubmit" class="layui-btn" lay-submit="" lay-filter="formData"
|
||||
style="display: none;"></button>
|
||||
</form>
|
||||
<div class="layui-upload" style="padding: 0 39px;">
|
||||
<blockquote class="layui-elem-quote layui-quote-nm" style="margin-top: 10px;width: auto;border: none;">
|
||||
<p>附件证明</p>
|
||||
<div class="layui-upload-list uploader-list" style="overflow: auto;" id="uploader-list"></div>
|
||||
<div id="test2" style="margin-left: 10px;">
|
||||
<img src="../../../images/add.png">
|
||||
</div>
|
||||
<div class="layout" style="flex-direction: column;margin-left: 2px;">
|
||||
<p style="color: red;">提示:最多上传5个附件</p>
|
||||
<p style="color: red;">支持格式:jpg、png、jpeg</p>
|
||||
<p style="color: red;">doc、docx、pdf、xlsx、xls</p>
|
||||
</div>
|
||||
</blockquote>
|
||||
</div>
|
||||
</fieldset>
|
||||
<div class="table-box" table-responsive style="display: none;" id="table-box">
|
||||
<table id="baseTable" class="classTable table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="width: 5%" class="center">
|
||||
<input id="allCheck" onclick="selectAll(this.checked)" type="checkbox">
|
||||
</th>
|
||||
<th style="width: 5%" class="center">序号</th>
|
||||
<th style="width: 8%" class="center">类型</th>
|
||||
<th style="width: 8%" class="center">名称</th>
|
||||
<th style="width: 8%" class="center">规格型号</th>
|
||||
<th style="width: 8%" class="center">单位</th>
|
||||
<th style="width: 10%" class="center"><span style="color: red;">*</span> 本次退回</th>
|
||||
<th style="width: 14%" class="center">备注</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody></tbody>
|
||||
</table>
|
||||
<div class="title layout">
|
||||
<span style="font-weight:700;text-decoration:none;color:#409EFF;">▋</span>
|
||||
<p>退料明细</p>
|
||||
</div>
|
||||
<!-- 无数据时-展示 -->
|
||||
<div id="no_data_title" class="layout">
|
||||
<img src="../../../images/no_data_icon.png" alt="无数据">
|
||||
<p style="font-size: 16px;font-weight: bold;">您还没选择退料安全工器具类型</p>
|
||||
<p style="color: #999999;">需要添加类型后才能执行退料清点操作</p>
|
||||
<p style="color: #999999;">清点完成后,物品自动处于"待检验"状态,请尽快完成检验是否合格,进行入库或报废</p>
|
||||
<button class="layui-btn layui-bg-blue" onclick="chooseFitType()">选择类型</button>
|
||||
</div>
|
||||
<fieldset class="table-search-fieldset" id="search-info" style="display: none;">
|
||||
<legend>搜索信息</legend>
|
||||
<div style="margin: 10px 10px 10px 10px">
|
||||
<form class="layui-form layui-form-pane" action="#" onsubmit="return false;">
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-inline">
|
||||
<div class="layui-input-inline" style="width: 200px;">
|
||||
<input type="text" name="type" id="type" autocomplete="off" class="layui-input"
|
||||
lay-affix="clear" placeholder="输入类型" maxlength="30">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<div class="layui-input-inline" style="width: 200px;">
|
||||
<input type="text" name="name" id="name" autocomplete="off" class="layui-input"
|
||||
lay-affix="clear" placeholder="输入名称" maxlength="30">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<div class="layui-input-inline" style="width: 200px;">
|
||||
<input type="text" name="model" id="model" autocomplete="off" class="layui-input"
|
||||
lay-affix="clear" placeholder="输入规格型号" maxlength="30">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<button class="layui-btn layui-bg-blue" onclick="search()"><i class="layui-icon"></i> 搜
|
||||
索</button>
|
||||
<button class="layui-btn layui-btn-primary" onclick="resetSearch()"><i
|
||||
class="layui-icon layui-icon-refresh"></i> 重 置</button>
|
||||
<button class="layui-btn layui-bg-blue" onclick="chooseFitType()">选择退回类型</button>
|
||||
<button class="layui-btn layui-bg-red" onclick="delFitType()">删除选中</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</fieldset>
|
||||
<div class="table-box" table-responsive style="display: none;" id="table-box">
|
||||
<table id="baseTable" class="classTable table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="width: 5%" class="center">
|
||||
<input id="allCheck" onclick="selectAll(this.checked)" type="checkbox">
|
||||
</th>
|
||||
<th style="width: 5%" class="center">序号</th>
|
||||
<th style="width: 8%" class="center">类型</th>
|
||||
<th style="width: 8%" class="center">名称</th>
|
||||
<th style="width: 8%" class="center">规格型号</th>
|
||||
<th style="width: 8%" class="center">单位</th>
|
||||
<th style="width: 10%" class="center"><span style="color: red;">*</span> 本次退回</th>
|
||||
<th style="width: 14%" class="center">备注</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody></tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="btn-box">
|
||||
<button class="layui-btn layui-bg-blue save" onclick="saveData2(1)">确定完成</button>
|
||||
<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 class="btn-box">
|
||||
<button class="layui-btn layui-bg-blue save" onclick="saveData2(1)">确定完成</button>
|
||||
<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>
|
||||
</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>
|
||||
|
|
@ -207,4 +207,4 @@
|
|||
<script src="../../../js/aq_back_material/child/add_back_material.js" charset="utf-8"></script>
|
||||
<script src="../../../js/openIframe.js" charset="utf-8"></script>
|
||||
|
||||
</html>
|
||||
</html>
|
||||
Loading…
Reference in New Issue