漏洞修改

This commit is contained in:
jiang 2025-10-28 09:23:41 +08:00
parent 2b96bfad84
commit 6fdb30008c
9 changed files with 298 additions and 231 deletions

View File

@ -8,9 +8,8 @@
<meta name="description" <meta name="description"
content="layuimini基于layui的轻量级前端后台管理框架最简洁、易用的后台框架模板面向所有层次的前后端程序,只需提供一个接口就直接初始化整个框架,无需复杂操作。"> content="layuimini基于layui的轻量级前端后台管理框架最简洁、易用的后台框架模板面向所有层次的前后端程序,只需提供一个接口就直接初始化整个框架,无需复杂操作。">
<meta name="renderer" content="webkit"> <meta name="renderer" content="webkit">
<meta http-equiv="Content-Security-Policy" <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
content="default-src 'self'; script-src 'self' 'unsafe-inline'; style-src 'self' 'unsafe-inline' https://cdnjs.cloudflare.com; img-src 'self' data:; font-src 'self' https://cdnjs.cloudflare.com;"> <meta http-equiv="Access-Control-Allow-Origin" content="*">
<meta http-equiv="x-ua-compatible" content="SAMEORIGIN">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<meta name="apple-mobile-web-app-status-bar-style" content="black"> <meta name="apple-mobile-web-app-status-bar-style" content="black">
<meta name="apple-mobile-web-app-capable" content="yes"> <meta name="apple-mobile-web-app-capable" content="yes">
@ -25,7 +24,7 @@
</head> </head>
<body class="layui-layout-body layuimini-all"> <body class="layui-layout-body layuimini-all">
<div class="layui-layout layui-layout-admin"> <div class="layui-layout layui-layout-admin">
<div class="layui-header header"> <div class="layui-header header">
<div class="layui-logo layuimini-logo"></div> <div class="layui-logo layuimini-logo"></div>
@ -126,12 +125,12 @@
</div> </div>
</div> </div>
</div> </div>
<script src="lib/layui-v2.6.3/layui.js" charset="utf-8"></script> <script src="lib/layui-v2.6.3/layui.js" charset="utf-8"></script>
<script src="js/lay-config.js?v=2.0.0" charset="utf-8"></script> <script src="js/lay-config.js?v=2.0.0" charset="utf-8"></script>
<script src="lib/jquery-3.4.1/jquery-3.7.1.min.js" charset="utf-8"></script> <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> <script src="js/public.js" charset="utf-8"></script>
<script> <script>
layui.use(['jquery', 'layer', 'miniAdmin', 'miniTongji'], function () { layui.use(['jquery', 'layer', 'miniAdmin', 'miniTongji'], function () {
var $ = layui.jquery, var $ = layui.jquery,
layer = layui.layer, layer = layui.layer,
@ -240,7 +239,7 @@
errorFn(xhr, status, error) errorFn(xhr, status, error)
}, null); }, null);
} }
</script> </script>
</body> </body>
</html> </html>

View File

@ -14,7 +14,7 @@ layui.use(["form", "table", 'laydate'], function () {
}); });
// 监听复选框选择 // 监听复选框选择
table.on('checkbox(currentTableId2)', function(obj){ table.on('checkbox(currentTableId2)', function (obj) {
let checkStatus = table.checkStatus('currentTableId'); let checkStatus = table.checkStatus('currentTableId');
selectedData = checkStatus.data; selectedData = checkStatus.data;
@ -58,6 +58,7 @@ function reloadData() {
function reloadTable(pageNum) { function reloadTable(pageNum) {
selectedData = []; // 清空选中数据 selectedData = []; // 清空选中数据
$('#batchAuditBtn').hide(); // 隐藏批量审核按钮 $('#batchAuditBtn').hide(); // 隐藏批量审核按钮
$('#batchOutBoundBtn').hide();
table.reload("currentTableId", { table.reload("currentTableId", {
page: { page: {
curr: pageNum ? pageNum : 1, curr: pageNum ? pageNum : 1,
@ -281,6 +282,14 @@ function updateBatchAuditButton() {
} else { } else {
$('#batchAuditBtn').hide(); $('#batchAuditBtn').hide();
} }
let batchOutBoundBtn = selectedData.filter(item => item.status === '2'); // 只有待审核状态的才能批量审核
if (batchOutBoundBtn.length > 0) {
$('#batchOutBoundBtn').show();
} else {
$('#batchOutBoundBtn').hide();
}
} }
// 批量审核 // 批量审核
@ -297,12 +306,11 @@ function batchAudit() {
area: ['500px', '300px'], area: ['500px', '300px'],
content: getBatchAuditFormHtml(), content: getBatchAuditFormHtml(),
btn: ['确定', '取消'], btn: ['确定', '取消'],
success: function(layero) { success: function (layero) {
// 重新渲染表单 // 重新渲染表单
form.render(); form.render();
// 监听审核结果变化 // 监听审核结果变化
form.on('radio(batchAuditResult)', function(data) { form.on('radio(batchAuditResult)', function (data) {
if (data.value === '2') { // 通过 if (data.value === '2') { // 通过
$('textarea[name="batchAuditRemarks"]').val('批量审核通过'); $('textarea[name="batchAuditRemarks"]').val('批量审核通过');
} else if (data.value === '3') { // 不通过 } else if (data.value === '3') { // 不通过
@ -310,12 +318,32 @@ function batchAudit() {
} }
}); });
}, },
yes: function(index) { yes: function (index) {
submitBatchAudit(pendingAuditData, index); submitBatchAudit(pendingAuditData, index);
} }
}); });
} }
// 批量审核
function batchOutBound() {
let pendingAuditData = selectedData.filter(item => item.status === '2');
if (pendingAuditData.length === 0) {
return layer.msg('请选择待审核状态的数据', {icon: 2});
}
layer.open({
type: 1,
title: '批量出库 (' + pendingAuditData.length + '条)',
btn: ['确定', '取消'],
yes: function (index) {
partOutInByIds(pendingAuditData, index);
}
});
}
// 获取批量审核表单HTML // 获取批量审核表单HTML
function getBatchAuditFormHtml() { function getBatchAuditFormHtml() {
return ` return `
@ -364,10 +392,10 @@ function submitBatchAudit(dataList, layerIndex) {
}; };
ajaxRequest(dataUrl + "backstage/partApply/batchAudit", "POST", params, true, ajaxRequest(dataUrl + "backstage/partApply/batchAudit", "POST", params, true,
function() { function () {
// 请求前处理 // 请求前处理
}, },
function(result) { function (result) {
layer.close(loadingMsg); layer.close(loadingMsg);
if (result.code === 200) { if (result.code === 200) {
layer.close(layerIndex); layer.close(layerIndex);
@ -379,7 +407,47 @@ function submitBatchAudit(dataList, layerIndex) {
layer.msg(result.msg || '批量审核失败', {icon: 2}); layer.msg(result.msg || '批量审核失败', {icon: 2});
} }
}, },
function(xhr, status, error) { function (xhr, status, error) {
layer.close(loadingMsg);
layer.msg('服务异常,请稍后重试', {icon: 2});
errorFn(xhr, status, error);
}
);
}
// 提交批量审核
function partOutInByIds(dataList, layerIndex) {
let loadingMsg = layer.msg('正在批量出库,请稍等...', {
icon: 16,
shade: 0.3,
time: 0
});
let idList = dataList.map(item => item.id);
let params = {
encryptedData: JSON.stringify({
idList: idList,
})
};
ajaxRequest(dataUrl + "backstage/partApply/partOutInByIds", "POST", params, true,
function () {
// 请求前处理
},
function (result) {
layer.close(loadingMsg);
if (result.code === 200) {
layer.close(layerIndex);
layer.msg('批量出库成功', {icon: 1});
selectedData = [];
$('#batchOutBoundBtn').hide();
reloadData();
} else {
layer.msg(result.msg || '批量出库失败', {icon: 2});
}
},
function (xhr, status, error) {
layer.close(loadingMsg); layer.close(loadingMsg);
layer.msg('服务异常,请稍后重试', {icon: 2}); layer.msg('服务异常,请稍后重试', {icon: 2});
errorFn(xhr, status, error); errorFn(xhr, status, error);

View File

@ -426,7 +426,7 @@ function exportExcel() {
} }
// 打印 // 打印
function print() { /*function print() {
Print('#table-box', { Print('#table-box', {
onStart: function () { onStart: function () {
console.log('onStart', new Date()) console.log('onStart', new Date())
@ -435,7 +435,7 @@ function print() {
console.log('onEnd', new Date()) console.log('onEnd', new Date())
} }
}) })
} }*/
// 查看概述 // 查看概述
function viewGs(obj) { function viewGs(obj) {

File diff suppressed because one or more lines are too long

View File

@ -60,6 +60,8 @@
class="layui-icon layui-icon-download-circle"></i> 导 出</button> class="layui-icon layui-icon-download-circle"></i> 导 出</button>
<button class="layui-btn layui-bg-orange" id="batchAuditBtn" onclick="batchAudit()" style="display: none;"><i <button class="layui-btn layui-bg-orange" id="batchAuditBtn" onclick="batchAudit()" style="display: none;"><i
class="layui-icon layui-icon-ok"></i> 批量审核</button> class="layui-icon layui-icon-ok"></i> 批量审核</button>
<button class="layui-btn layui-bg-blue" id="batchOutBoundBtn" onclick="batchOutBound()" style="display: none;"><i
class="layui-icon layui-icon-ok"></i> 批量出库</button>
</div> </div>
</div> </div>
</form> </form>

View File

@ -109,7 +109,7 @@
</table> </table>
</div> </div>
</div> </div>
<div id="file-box"> <div id="file-box" class="no-print">
<div class="title layout"> <div class="title layout">
<span style="font-weight:700;text-decoration:none;color:#409EFF;"></span> <span style="font-weight:700;text-decoration:none;color:#409EFF;"></span>
<p>附件文档</p> <p>附件文档</p>

View File

@ -54,7 +54,7 @@
</div> </div>
</div> </div>
</div> </div>
<script src="../../../lib/jquery-3.4.1/jquery-3.4.1.min.js" charset="utf-8"></script> <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> <script src="../../../js/public.js" charset="utf-8"></script>
<script src="../../../lib/layui-v2.9.18/layui/layui.js" charset="utf-8"></script> <script src="../../../lib/layui-v2.9.18/layui/layui.js" charset="utf-8"></script>
<script src="../../../js/accessory/child/part_detail.js"></script> <script src="../../../js/accessory/child/part_detail.js"></script>

View File

@ -41,7 +41,7 @@
</div> </div>
</div> </div>
</div> </div>
<script src="../../../lib/jquery-3.4.1/jquery-3.4.1.min.js" charset="utf-8"></script> <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> <script src="../../../js/public.js" charset="utf-8"></script>
<script src="../../../lib/layui-v2.9.18/layui/layui.js" charset="utf-8"></script> <script src="../../../lib/layui-v2.9.18/layui/layui.js" charset="utf-8"></script>
<script src="../../../js/accessory/child/pro_part_detail.js"></script> <script src="../../../js/accessory/child/pro_part_detail.js"></script>

View File

@ -41,7 +41,7 @@
</div> </div>
</div> </div>
</div> </div>
<script src="../../lib/jquery-3.4.1/jquery-3.4.1.min.js" charset="utf-8"></script> <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> <script src="../../js/public.js" charset="utf-8"></script>
<script src="../../lib/layui-v2.9.18/layui/layui.js" charset="utf-8"></script> <script src="../../lib/layui-v2.9.18/layui/layui.js" charset="utf-8"></script>
<script src="../../js/accessory/device_pro_list.js" charset="utf-8"></script> <script src="../../js/accessory/device_pro_list.js" charset="utf-8"></script>