基础管理-线路工程管理

This commit is contained in:
lSun 2025-04-29 14:40:31 +08:00
parent d6f12f429c
commit 81702b5d5d
2 changed files with 102 additions and 86 deletions

View File

@ -1,6 +1,8 @@
let form, layer, util,laydate, idParam, phoneParam,proId; let form, layer, util,laydate, idParam, phoneParam,proId;
let arr = ['background', 'web', 'mobile', 'wx']; let arr = ['background', 'web', 'mobile', 'wx'];
let background, web, mobile, wx; let background, web, mobile, wx;
let selectedFile = null; // 用于存储选中的文件
function setParams(params) { function setParams(params) {
console.log(params) console.log(params)
idParam = JSON.parse(params).id; idParam = JSON.parse(params).id;
@ -41,105 +43,115 @@ function setParams(params) {
layer.msg('开始下载2000国家大地坐标系模板'); layer.msg('开始下载2000国家大地坐标系模板');
// 实际项目中替换为真实的下载链接 // 实际项目中替换为真实的下载链接
window.location.href = ctxPath +'/download/download?filename=杆塔管理-2000国家大地坐标系导入模版.xlsx'; window.location.href = ctxPath +'/download/download?filename=杆塔管理-2000国家大地坐标系导入模版.xlsx';
}); })
let WG = {
uploadType: '1',
proId:proId
}
console.log("WG",WG)
let paramsWG = {
encryptedData: encryptCBC(JSON.stringify(WG))
}
let WG2 = {
uploadType: '2',
proId:proId
}
console.log("WG2",WG2)
let paramsWG2 = {
encryptedData: encryptCBC(JSON.stringify(WG2))
}
// WGS-84坐标系文件上传 // WGS-84坐标系文件上传
upload.render({ upload.render({
elem: '#uploadFileWGS84', elem: '#uploadFileWGS84',
url: ctxPath + '/tbTower/tbTowerImport', // 上传接口 auto: false,
headers: {
"token": tokens
},
accept: 'file', accept: 'file',
exts: 'xls|xlsx', exts: 'xls|xlsx',
size: 10240, // 限制文件大小10MB size: 10240,
data: paramsWG, choose: function(obj) {
before: function(obj) { obj.preview(function(index, file, result) {
layer.load(); // 上传loading if(file.size > 10240 * 1024) {
}, layer.msg('文件大小不能超过10MB', {icon: 2});
done: function(res) { return;
layer.closeAll('loading'); }
if (res.code == 0) { selectedFile = {
layer.msg('WGS-84坐标系文件上传成功'); file: file,
} else { type: 'wgs84'
layer.msg('上传失败'); };
} // 显示文件名
}, $('#wgs84FileName').text(file.name);
error: function() { $('#wgs84FileBox').show();
layer.closeAll('loading'); layer.msg('文件已选择: ' + file.name);
layer.msg('上传出错'); });
} }
}); });
// 2000国家大地坐标系文件上传 // 2000国家大地坐标系文件上传
upload.render({ upload.render({
elem: '#uploadFile2000', elem: '#uploadFile2000',
url: ctxPath + '/tbTower/tbTowerImport', // 上传接口 auto: false,
headers: {
"token": tokens
},
accept: 'file', accept: 'file',
exts: 'xls|xlsx', exts: 'xls|xlsx',
size: 10240, // 限制文件大小10MB size: 10240,
data: paramsWG2, choose: function(obj) {
before: function(obj) { obj.preview(function(index, file, result) {
layer.load(); // 上传loading if(file.size > 10240 * 1024) {
}, layer.msg('文件大小不能超过10MB', {icon: 2});
done: function(res) { return;
layer.closeAll('loading'); }
if (res.code == 0) { selectedFile = {
layer.msg('2000国家大地坐标系文件上传成功'); file: file,
} else { type: '2000'
layer.msg('上传失败'); };
} // 显示文件名
}, $('#2000FileName').text(file.name);
error: function() { $('#2000FileBox').show();
layer.closeAll('loading'); layer.msg('文件已选择: ' + file.name);
layer.msg('上传出错'); });
} }
}); });
// 取消按钮 // 保存按钮点击事件
document.getElementById('cancelBtn').addEventListener('click', function() {
layer.confirm('确定要取消操作吗?', {
btn: ['确定', '取消']
}, function() {
// 确定取消
layer.msg('已取消');
// 实际项目中可能需要返回上一页或关闭弹窗
// window.history.back();
});
});
// 保存按钮
document.getElementById('saveBtn').addEventListener('click', function() { document.getElementById('saveBtn').addEventListener('click', function() {
if (!selectedFile) {
layer.msg('请先选择要上传的文件', {icon: 2});
return;
}
// 获取选中的坐标系 // 获取选中的坐标系
var selectedSystem = document.querySelector('.coordinate-option.active').getAttribute('data-system'); let selectedSystem = document.querySelector('.coordinate-option.active').getAttribute('data-system');
// 验证文件类型与选择的坐标系是否匹配
if (selectedSystem !== selectedFile.type) {
layer.msg('请选择与坐标系对应的文件', {icon: 2});
return;
}
// 检查是否已上传文件 let formData = new FormData();
// 实际项目中应该有更完善的验证 formData.append('file', selectedFile.file);
formData.append('params', JSON.stringify({
uploadType: selectedSystem === 'wgs84' ? '1' : '2',
proId: proId
}));
layer.msg('保存成功,选择的坐标系: ' + selectedSystem); let loadingMsg = layer.msg('数据上传中,请稍候...', {icon: 16, time: 0});
// 实际项目中这里应该提交表单或调用API
// 发送上传请求
$.ajax({
url: ctxPath + '/tbTower/tbTowerImport',
type: 'POST',
data: formData,
processData: false,
contentType: false,
headers: {
"token": tokens
},
success: function(res) {
layer.close(loadingMsg);
if (res.code === 200) {
layer.msg(res.data, {icon: 1});
closePage(1); // 关闭页面并刷新父页面
} else {
layer.msg(res.data || '上传失败', {icon: 2});
}
},
error: function() {
layer.close(loadingMsg);
layer.msg('上传出错', {icon: 2});
}
});
}); });
}); });
} }
function closePage(type) {
let index = parent.layer.getFrameIndex(window.name);
parent.layer.close(index);
if (type === 1) {
parent.reloadData()
}
}

View File

@ -197,11 +197,13 @@
<div class="upload-title"> <div class="upload-title">
上传填好的信息表 上传填好的信息表
</div> </div>
<div class="upload-desc">文件后缀名必须为xls 或 <div class="upload-desc">文件后缀名必须为xls 或 xlsx即Excel格式文件大小不得超过10M</div>
xlsx即Excel格式文件大小不得超过10M最多支持导入3000条数据 <button type="button" class="layui-btn layui-btn-primary layui-btn-sm" id="uploadFileWGS84">上传文件</button>
<!-- 添加文件名显示区域 -->
<div id="wgs84FileBox" style="display: none; margin-top: 10px;">
<span>已选择文件:</span>
<span id="wgs84FileName" style="color: #1E9FFF;"></span>
</div> </div>
<button type="button" class="layui-btn layui-btn-primary layui-btn-sm" id="uploadFileWGS84">上传文件
</button>
</div> </div>
</div> </div>
</div> </div>
@ -218,11 +220,13 @@
<div class="upload-title"> <div class="upload-title">
上传填好的信息表 上传填好的信息表
</div> </div>
<div class="upload-desc">文件后缀名必须为xls 或 <div class="upload-desc">文件后缀名必须为xls 或 xlsx即Excel格式文件大小不得超过10M</div>
xlsx即Excel格式文件大小不得超过10M最多支持导入3000条数据 <button type="button" class="layui-btn layui-btn-primary layui-btn-sm" id="uploadFile2000">上传文件</button>
<!-- 添加文件名显示区域 -->
<div id="2000FileBox" style="display: none; margin-top: 10px;">
<span>已选择文件:</span>
<span id="2000FileName" style="color: #1E9FFF;"></span>
</div> </div>
<button type="button" class="layui-btn layui-btn-primary layui-btn-sm" id="uploadFile2000">上传文件
</button>
</div> </div>
</div> </div>
</div> </div>
@ -238,7 +242,7 @@
</div> </div>
<div class="btn-group"> <div class="btn-group">
<button type="button" class="layui-btn layui-btn-primary" id="cancelBtn">取消</button> <button type="button" class="layui-btn layui-btn-primary" onclick="closePage()">取消</button>
<button type="button" class="layui-btn" id="saveBtn">保存</button> <button type="button" class="layui-btn" id="saveBtn">保存</button>
</div> </div>
</div> </div>