漏洞修改
This commit is contained in:
parent
2b96bfad84
commit
6fdb30008c
405
index.html
405
index.html
|
|
@ -6,11 +6,10 @@
|
|||
<title>贵州机具配件管理系统</title>
|
||||
<meta name="keywords" content="layuimini,layui,layui模板,layui后台,后台模板,admin,admin模板,layui mini">
|
||||
<meta name="description"
|
||||
content="layuimini基于layui的轻量级前端后台管理框架,最简洁、易用的后台框架模板,面向所有层次的前后端程序,只需提供一个接口就直接初始化整个框架,无需复杂操作。">
|
||||
content="layuimini基于layui的轻量级前端后台管理框架,最简洁、易用的后台框架模板,面向所有层次的前后端程序,只需提供一个接口就直接初始化整个框架,无需复杂操作。">
|
||||
<meta name="renderer" content="webkit">
|
||||
<meta http-equiv="Content-Security-Policy"
|
||||
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="x-ua-compatible" content="SAMEORIGIN">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||
<meta http-equiv="Access-Control-Allow-Origin" content="*">
|
||||
<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-capable" content="yes">
|
||||
|
|
@ -25,222 +24,222 @@
|
|||
</head>
|
||||
|
||||
<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-logo layuimini-logo"></div>
|
||||
<div class="layui-header header">
|
||||
<div class="layui-logo layuimini-logo"></div>
|
||||
|
||||
<div class="layuimini-header-content">
|
||||
<a>
|
||||
<div class="layuimini-tool"><i title="展开" class="fa fa-outdent" data-side-fold="1"></i></div>
|
||||
</a>
|
||||
<div class="layuimini-header-content">
|
||||
<a>
|
||||
<div class="layuimini-tool"><i title="展开" class="fa fa-outdent" data-side-fold="1"></i></div>
|
||||
</a>
|
||||
|
||||
<!--电脑端头部菜单-->
|
||||
<!-- <ul class="layui-nav layui-layout-left layuimini-header-menu layuimini-menu-header-pc layuimini-pc-show">
|
||||
</ul> -->
|
||||
<!--电脑端头部菜单-->
|
||||
<!-- <ul class="layui-nav layui-layout-left layuimini-header-menu layuimini-menu-header-pc layuimini-pc-show">
|
||||
</ul> -->
|
||||
|
||||
<!--手机端头部菜单-->
|
||||
<!-- <ul class="layui-nav layui-layout-left layuimini-header-menu layuimini-mobile-show">
|
||||
<li class="layui-nav-item">
|
||||
<a href="javascript:;"><i class="fa fa-list-ul"></i> 选择模块</a>
|
||||
<dl class="layui-nav-child layuimini-menu-header-mobile">
|
||||
</dl>
|
||||
<!--手机端头部菜单-->
|
||||
<!-- <ul class="layui-nav layui-layout-left layuimini-header-menu layuimini-mobile-show">
|
||||
<li class="layui-nav-item">
|
||||
<a href="javascript:;"><i class="fa fa-list-ul"></i> 选择模块</a>
|
||||
<dl class="layui-nav-child layuimini-menu-header-mobile">
|
||||
</dl>
|
||||
</li>
|
||||
</ul> -->
|
||||
|
||||
<ul class="layui-nav layui-layout-right">
|
||||
|
||||
<li class="layui-nav-item" lay-unselect>
|
||||
<a href="javascript:;" data-refresh="刷新"><i class="fa fa-refresh"></i></a>
|
||||
</li>
|
||||
</ul> -->
|
||||
|
||||
<ul class="layui-nav layui-layout-right">
|
||||
|
||||
<li class="layui-nav-item" lay-unselect>
|
||||
<a href="javascript:;" data-refresh="刷新"><i class="fa fa-refresh"></i></a>
|
||||
</li>
|
||||
<li class="layui-nav-item" lay-unselect>
|
||||
<a href="javascript:;" data-clear="清理" class="layuimini-clear"><i class="fa fa-trash-o"></i></a>
|
||||
</li>
|
||||
<li class="layui-nav-item mobile layui-hide-xs" lay-unselect>
|
||||
<a href="javascript:;" data-check-screen="full"><i class="fa fa-arrows-alt"></i></a>
|
||||
</li>
|
||||
<!-- <li class="layui-nav-item layuimini-setting">
|
||||
<a href="javascript:;">admin</a>
|
||||
<dl class="layui-nav-child">
|
||||
<dd>
|
||||
<a href="javascript:;" layuimini-content-href="page/user-setting.html" data-title="基本资料" data-icon="fa fa-gears">基本资料<span class="layui-badge-dot"></span></a>
|
||||
</dd>
|
||||
<dd>
|
||||
<a href="javascript:;" layuimini-content-href="page/user-password.html" data-title="修改密码" data-icon="fa fa-gears">修改密码</a>
|
||||
</dd>
|
||||
<dd>
|
||||
<hr>
|
||||
</dd>
|
||||
<dd>
|
||||
<a href="javascript:;" class="login-out">退出登录</a>
|
||||
</dd>
|
||||
</dl>
|
||||
</li> -->
|
||||
<li class="layui-nav-item layuimini-select-bgcolor" lay-unselect>
|
||||
<a href="javascript:;" data-bgcolor="配色方案"><i class="fa fa-ellipsis-v"></i></a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!--无限极左侧菜单-->
|
||||
<div class="layui-side layui-bg-black layuimini-menu-left">
|
||||
</div>
|
||||
|
||||
<!--初始化加载层-->
|
||||
<div class="layuimini-loader">
|
||||
<div class="layuimini-loader-inner"></div>
|
||||
</div>
|
||||
|
||||
<!--手机端遮罩层-->
|
||||
<div class="layuimini-make"></div>
|
||||
|
||||
<!-- 移动导航 -->
|
||||
<div class="layuimini-site-mobile"><i class="layui-icon"></i></div>
|
||||
|
||||
<div class="layui-body">
|
||||
|
||||
<div class="layuimini-tab layui-tab-rollTool layui-tab" lay-filter="layuiminiTab" lay-allowclose="true">
|
||||
<ul class="layui-tab-title">
|
||||
<li class="layui-this" id="layuiminiHomeTabId" lay-id=""></li>
|
||||
</ul>
|
||||
<div class="layui-tab-control">
|
||||
<li class="layuimini-tab-roll-left layui-icon layui-icon-left"></li>
|
||||
<li class="layuimini-tab-roll-right layui-icon layui-icon-right"></li>
|
||||
<li class="layui-tab-tool layui-icon layui-icon-down">
|
||||
<ul class="layui-nav close-box">
|
||||
<li class="layui-nav-item">
|
||||
<a href="javascript:;"><span class="layui-nav-more"></span></a>
|
||||
<dl class="layui-nav-child">
|
||||
<dd><a href="javascript:;" layuimini-tab-close="current">关 闭 当 前</a></dd>
|
||||
<dd><a href="javascript:;" layuimini-tab-close="other">关 闭 其 他</a></dd>
|
||||
<dd><a href="javascript:;" layuimini-tab-close="all">关 闭 全 部</a></dd>
|
||||
</dl>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</div>
|
||||
<div class="layui-tab-content">
|
||||
<div id="layuiminiHomeTabIframe" class="layui-tab-item layui-show"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<li class="layui-nav-item" lay-unselect>
|
||||
<a href="javascript:;" data-clear="清理" class="layuimini-clear"><i class="fa fa-trash-o"></i></a>
|
||||
</li>
|
||||
<li class="layui-nav-item mobile layui-hide-xs" lay-unselect>
|
||||
<a href="javascript:;" data-check-screen="full"><i class="fa fa-arrows-alt"></i></a>
|
||||
</li>
|
||||
<!-- <li class="layui-nav-item layuimini-setting">
|
||||
<a href="javascript:;">admin</a>
|
||||
<dl class="layui-nav-child">
|
||||
<dd>
|
||||
<a href="javascript:;" layuimini-content-href="page/user-setting.html" data-title="基本资料" data-icon="fa fa-gears">基本资料<span class="layui-badge-dot"></span></a>
|
||||
</dd>
|
||||
<dd>
|
||||
<a href="javascript:;" layuimini-content-href="page/user-password.html" data-title="修改密码" data-icon="fa fa-gears">修改密码</a>
|
||||
</dd>
|
||||
<dd>
|
||||
<hr>
|
||||
</dd>
|
||||
<dd>
|
||||
<a href="javascript:;" class="login-out">退出登录</a>
|
||||
</dd>
|
||||
</dl>
|
||||
</li> -->
|
||||
<li class="layui-nav-item layuimini-select-bgcolor" lay-unselect>
|
||||
<a href="javascript:;" data-bgcolor="配色方案"><i class="fa fa-ellipsis-v"></i></a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<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="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>
|
||||
layui.use(['jquery', 'layer', 'miniAdmin', 'miniTongji'], function () {
|
||||
var $ = layui.jquery,
|
||||
layer = layui.layer,
|
||||
miniAdmin = layui.miniAdmin,
|
||||
miniTongji = layui.miniTongji;
|
||||
let token = getUrlParam('token');
|
||||
if (!token) {
|
||||
let gz_token = sessionStorage.getItem("gz-token");
|
||||
if (gz_token) {
|
||||
token = gz_token;
|
||||
}
|
||||
|
||||
<!--无限极左侧菜单-->
|
||||
<div class="layui-side layui-bg-black layuimini-menu-left">
|
||||
</div>
|
||||
|
||||
<!--初始化加载层-->
|
||||
<div class="layuimini-loader">
|
||||
<div class="layuimini-loader-inner"></div>
|
||||
</div>
|
||||
|
||||
<!--手机端遮罩层-->
|
||||
<div class="layuimini-make"></div>
|
||||
|
||||
<!-- 移动导航 -->
|
||||
<div class="layuimini-site-mobile"><i class="layui-icon"></i></div>
|
||||
|
||||
<div class="layui-body">
|
||||
|
||||
<div class="layuimini-tab layui-tab-rollTool layui-tab" lay-filter="layuiminiTab" lay-allowclose="true">
|
||||
<ul class="layui-tab-title">
|
||||
<li class="layui-this" id="layuiminiHomeTabId" lay-id=""></li>
|
||||
</ul>
|
||||
<div class="layui-tab-control">
|
||||
<li class="layuimini-tab-roll-left layui-icon layui-icon-left"></li>
|
||||
<li class="layuimini-tab-roll-right layui-icon layui-icon-right"></li>
|
||||
<li class="layui-tab-tool layui-icon layui-icon-down">
|
||||
<ul class="layui-nav close-box">
|
||||
<li class="layui-nav-item">
|
||||
<a href="javascript:;"><span class="layui-nav-more"></span></a>
|
||||
<dl class="layui-nav-child">
|
||||
<dd><a href="javascript:;" layuimini-tab-close="current">关 闭 当 前</a></dd>
|
||||
<dd><a href="javascript:;" layuimini-tab-close="other">关 闭 其 他</a></dd>
|
||||
<dd><a href="javascript:;" layuimini-tab-close="all">关 闭 全 部</a></dd>
|
||||
</dl>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</div>
|
||||
<div class="layui-tab-content">
|
||||
<div id="layuiminiHomeTabIframe" class="layui-tab-item layui-show"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<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="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>
|
||||
layui.use(['jquery', 'layer', 'miniAdmin', 'miniTongji'], function () {
|
||||
var $ = layui.jquery,
|
||||
layer = layui.layer,
|
||||
miniAdmin = layui.miniAdmin,
|
||||
miniTongji = layui.miniTongji;
|
||||
let token = getUrlParam('token');
|
||||
if (!token) {
|
||||
let gz_token = sessionStorage.getItem("gz-token");
|
||||
if (gz_token) {
|
||||
token = gz_token;
|
||||
}
|
||||
console.log('当前登录的token:' + token);
|
||||
if (token) {
|
||||
console.log('走的跳转登录');
|
||||
sessionStorage.setItem('gz-token', token);
|
||||
// 校验传过来的token是否合法
|
||||
let url = dataUrl + 'backstage/health/isHealth'
|
||||
ajaxRequest(url, "GET", null, false, function () {
|
||||
}, function (result) {
|
||||
console.log(result);
|
||||
if (result.code === 200) {
|
||||
var url = window.location.href; //获取当前页面的url
|
||||
if (url.indexOf("?") != -1) { //判断是否存在参数
|
||||
url = url.replace(/(\?|#)[^'"]*/, ''); //去除参数
|
||||
window.history.pushState({}, 0, url);
|
||||
}
|
||||
initPage(miniAdmin);
|
||||
sessionStorage.setItem('us', JSON.stringify(result.data));
|
||||
} else if (result.code === 401) {
|
||||
closeWindowOpen();
|
||||
}
|
||||
}, function (xhr, status, error) {
|
||||
errorFn(xhr, status, error)
|
||||
}, null);
|
||||
} else {
|
||||
console.log('走的自己登录');
|
||||
login(miniAdmin);
|
||||
//window.location = 'page/401.html';
|
||||
}
|
||||
/* var options = {
|
||||
iniUrl: "api/init.json", // 初始化接口
|
||||
clearUrl: "api/clear.json", // 缓存清理接口
|
||||
urlHashLocation: true, // 是否打开hash定位
|
||||
bgColorDefault: false, // 主题默认配置
|
||||
multiModule: true, // 是否开启多模块
|
||||
menuChildOpen: false, // 是否默认展开菜单
|
||||
loadingTime: 0, // 初始化加载时间
|
||||
pageAnim: true, // iframe窗口动画
|
||||
maxTabNum: 20, // 最大的tab打开数量
|
||||
};
|
||||
miniAdmin.render(options); */
|
||||
|
||||
// 百度统计代码,只统计指定域名
|
||||
miniTongji.render({
|
||||
specific: true,
|
||||
domains: [
|
||||
'99php.cn',
|
||||
'layuimini.99php.cn',
|
||||
'layuimini-onepage.99php.cn',
|
||||
],
|
||||
});
|
||||
|
||||
$('.login-out').on("click", function () {
|
||||
layer.msg('退出登录成功', function () {
|
||||
window.location = 'page/login-3.html';
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
// 初始化页面
|
||||
function initPage(miniAdmin){
|
||||
var options = {
|
||||
iniUrl: "api/init.json", // 初始化接口
|
||||
clearUrl: "api/clear.json", // 缓存清理接口
|
||||
urlHashLocation: true, // 是否打开hash定位
|
||||
bgColorDefault: false, // 主题默认配置
|
||||
multiModule: true, // 是否开启多模块
|
||||
menuChildOpen: false, // 是否默认展开菜单
|
||||
loadingTime: 0, // 初始化加载时间
|
||||
pageAnim: true, // iframe窗口动画
|
||||
maxTabNum: 20, // 最大的tab打开数量
|
||||
};
|
||||
miniAdmin.render(options);
|
||||
}
|
||||
|
||||
function login(miniAdmin) {
|
||||
// 登录获取token
|
||||
let login_url = dataUrl + 'login/userLogin'
|
||||
const params = {
|
||||
"username": 'sa',
|
||||
"password": 'ebbd6ea34bbab2b0813afcf59c8c9556',
|
||||
// "password": '3NBzZK7qxhMhrmvi63FnuQ==',
|
||||
}
|
||||
ajaxRequest(login_url, "POST", params, true, function () {
|
||||
console.log('当前登录的token:' + token);
|
||||
if (token) {
|
||||
console.log('走的跳转登录');
|
||||
sessionStorage.setItem('gz-token', token);
|
||||
// 校验传过来的token是否合法
|
||||
let url = dataUrl + 'backstage/health/isHealth'
|
||||
ajaxRequest(url, "GET", null, false, function () {
|
||||
}, function (result) {
|
||||
console.log(result);
|
||||
if (result.code === 200) {
|
||||
sessionStorage.setItem('gz-token', result.token);
|
||||
sessionStorage.setItem('us', JSON.stringify(result.user));
|
||||
var url = window.location.href; //获取当前页面的url
|
||||
if (url.indexOf("?") != -1) { //判断是否存在参数
|
||||
url = url.replace(/(\?|#)[^'"]*/, ''); //去除参数
|
||||
window.history.pushState({}, 0, url);
|
||||
}
|
||||
initPage(miniAdmin);
|
||||
} else if (result.code === 500) {
|
||||
// layer.msg(result.msg, { icon: 2 });
|
||||
sessionStorage.setItem('us', JSON.stringify(result.data));
|
||||
} else if (result.code === 401) {
|
||||
closeWindowOpen();
|
||||
}
|
||||
}, function (xhr, status, error) {
|
||||
errorFn(xhr, status, error)
|
||||
}, null);
|
||||
} else {
|
||||
console.log('走的自己登录');
|
||||
login(miniAdmin);
|
||||
//window.location = 'page/401.html';
|
||||
}
|
||||
</script>
|
||||
/* var options = {
|
||||
iniUrl: "api/init.json", // 初始化接口
|
||||
clearUrl: "api/clear.json", // 缓存清理接口
|
||||
urlHashLocation: true, // 是否打开hash定位
|
||||
bgColorDefault: false, // 主题默认配置
|
||||
multiModule: true, // 是否开启多模块
|
||||
menuChildOpen: false, // 是否默认展开菜单
|
||||
loadingTime: 0, // 初始化加载时间
|
||||
pageAnim: true, // iframe窗口动画
|
||||
maxTabNum: 20, // 最大的tab打开数量
|
||||
};
|
||||
miniAdmin.render(options); */
|
||||
|
||||
// 百度统计代码,只统计指定域名
|
||||
miniTongji.render({
|
||||
specific: true,
|
||||
domains: [
|
||||
'99php.cn',
|
||||
'layuimini.99php.cn',
|
||||
'layuimini-onepage.99php.cn',
|
||||
],
|
||||
});
|
||||
|
||||
$('.login-out').on("click", function () {
|
||||
layer.msg('退出登录成功', function () {
|
||||
window.location = 'page/login-3.html';
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
// 初始化页面
|
||||
function initPage(miniAdmin){
|
||||
var options = {
|
||||
iniUrl: "api/init.json", // 初始化接口
|
||||
clearUrl: "api/clear.json", // 缓存清理接口
|
||||
urlHashLocation: true, // 是否打开hash定位
|
||||
bgColorDefault: false, // 主题默认配置
|
||||
multiModule: true, // 是否开启多模块
|
||||
menuChildOpen: false, // 是否默认展开菜单
|
||||
loadingTime: 0, // 初始化加载时间
|
||||
pageAnim: true, // iframe窗口动画
|
||||
maxTabNum: 20, // 最大的tab打开数量
|
||||
};
|
||||
miniAdmin.render(options);
|
||||
}
|
||||
|
||||
function login(miniAdmin) {
|
||||
// 登录获取token
|
||||
let login_url = dataUrl + 'login/userLogin'
|
||||
const params = {
|
||||
"username": 'sa',
|
||||
"password": 'ebbd6ea34bbab2b0813afcf59c8c9556',
|
||||
// "password": '3NBzZK7qxhMhrmvi63FnuQ==',
|
||||
}
|
||||
ajaxRequest(login_url, "POST", params, true, function () {
|
||||
}, function (result) {
|
||||
console.log(result);
|
||||
if (result.code === 200) {
|
||||
sessionStorage.setItem('gz-token', result.token);
|
||||
sessionStorage.setItem('us', JSON.stringify(result.user));
|
||||
initPage(miniAdmin);
|
||||
} else if (result.code === 500) {
|
||||
// layer.msg(result.msg, { icon: 2 });
|
||||
}
|
||||
}, function (xhr, status, error) {
|
||||
errorFn(xhr, status, error)
|
||||
}, null);
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
</html>
|
||||
|
|
@ -12,16 +12,16 @@ layui.use(["form", "table", 'laydate'], function () {
|
|||
range: ['#startDay', '#endDay'],
|
||||
rangeLinked: true
|
||||
});
|
||||
|
||||
|
||||
// 监听复选框选择
|
||||
table.on('checkbox(currentTableId2)', function(obj){
|
||||
table.on('checkbox(currentTableId2)', function (obj) {
|
||||
let checkStatus = table.checkStatus('currentTableId');
|
||||
selectedData = checkStatus.data;
|
||||
|
||||
|
||||
// 根据选中状态显示/隐藏批量审核按钮
|
||||
updateBatchAuditButton();
|
||||
});
|
||||
|
||||
|
||||
initTable();
|
||||
});
|
||||
|
||||
|
|
@ -58,6 +58,7 @@ function reloadData() {
|
|||
function reloadTable(pageNum) {
|
||||
selectedData = []; // 清空选中数据
|
||||
$('#batchAuditBtn').hide(); // 隐藏批量审核按钮
|
||||
$('#batchOutBoundBtn').hide();
|
||||
table.reload("currentTableId", {
|
||||
page: {
|
||||
curr: pageNum ? pageNum : 1,
|
||||
|
|
@ -281,28 +282,35 @@ function updateBatchAuditButton() {
|
|||
} else {
|
||||
$('#batchAuditBtn').hide();
|
||||
}
|
||||
|
||||
let batchOutBoundBtn = selectedData.filter(item => item.status === '2'); // 只有待审核状态的才能批量审核
|
||||
|
||||
if (batchOutBoundBtn.length > 0) {
|
||||
$('#batchOutBoundBtn').show();
|
||||
} else {
|
||||
$('#batchOutBoundBtn').hide();
|
||||
}
|
||||
}
|
||||
|
||||
// 批量审核
|
||||
function batchAudit() {
|
||||
let pendingAuditData = selectedData.filter(item => item.status === '1');
|
||||
|
||||
|
||||
if (pendingAuditData.length === 0) {
|
||||
return layer.msg('请选择待审核状态的数据', {icon: 2});
|
||||
}
|
||||
|
||||
|
||||
layer.open({
|
||||
type: 1,
|
||||
title: '批量审核 (' + pendingAuditData.length + '条)',
|
||||
area: ['500px', '300px'],
|
||||
content: getBatchAuditFormHtml(),
|
||||
btn: ['确定', '取消'],
|
||||
success: function(layero) {
|
||||
success: function (layero) {
|
||||
// 重新渲染表单
|
||||
form.render();
|
||||
|
||||
// 监听审核结果变化
|
||||
form.on('radio(batchAuditResult)', function(data) {
|
||||
form.on('radio(batchAuditResult)', function (data) {
|
||||
if (data.value === '2') { // 通过
|
||||
$('textarea[name="batchAuditRemarks"]').val('批量审核通过');
|
||||
} else if (data.value === '3') { // 不通过
|
||||
|
|
@ -310,12 +318,32 @@ function batchAudit() {
|
|||
}
|
||||
});
|
||||
},
|
||||
yes: function(index) {
|
||||
yes: function (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
|
||||
function getBatchAuditFormHtml() {
|
||||
return `
|
||||
|
|
@ -343,17 +371,17 @@ function getBatchAuditFormHtml() {
|
|||
function submitBatchAudit(dataList, layerIndex) {
|
||||
let auditStatus = $('input[name="batchAuditStatus"]:checked').val();
|
||||
let auditRemarks = $('textarea[name="batchAuditRemarks"]').val();
|
||||
|
||||
|
||||
if (auditStatus === '3' && (!auditRemarks || auditRemarks.trim() === '')) {
|
||||
return layer.msg('驳回时必须填写审核意见', {icon: 2});
|
||||
}
|
||||
|
||||
|
||||
let loadingMsg = layer.msg('正在批量审核,请稍等...', {
|
||||
icon: 16,
|
||||
shade: 0.3,
|
||||
time: 0
|
||||
});
|
||||
|
||||
|
||||
let idList = dataList.map(item => item.id);
|
||||
let params = {
|
||||
encryptedData: JSON.stringify({
|
||||
|
|
@ -362,12 +390,12 @@ function submitBatchAudit(dataList, layerIndex) {
|
|||
remark: auditRemarks.trim()
|
||||
})
|
||||
};
|
||||
|
||||
ajaxRequest(dataUrl + "backstage/partApply/batchAudit", "POST", params, true,
|
||||
function() {
|
||||
|
||||
ajaxRequest(dataUrl + "backstage/partApply/batchAudit", "POST", params, true,
|
||||
function () {
|
||||
// 请求前处理
|
||||
},
|
||||
function(result) {
|
||||
},
|
||||
function (result) {
|
||||
layer.close(loadingMsg);
|
||||
if (result.code === 200) {
|
||||
layer.close(layerIndex);
|
||||
|
|
@ -378,8 +406,48 @@ function submitBatchAudit(dataList, layerIndex) {
|
|||
} else {
|
||||
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.msg('服务异常,请稍后重试', {icon: 2});
|
||||
errorFn(xhr, status, error);
|
||||
|
|
|
|||
|
|
@ -426,7 +426,7 @@ function exportExcel() {
|
|||
}
|
||||
|
||||
// 打印
|
||||
function print() {
|
||||
/*function print() {
|
||||
Print('#table-box', {
|
||||
onStart: function () {
|
||||
console.log('onStart', new Date())
|
||||
|
|
@ -435,7 +435,7 @@ function print() {
|
|||
console.log('onEnd', new Date())
|
||||
}
|
||||
})
|
||||
}
|
||||
}*/
|
||||
|
||||
// 查看概述
|
||||
function viewGs(obj) {
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -60,6 +60,8 @@
|
|||
class="layui-icon layui-icon-download-circle"></i> 导 出</button>
|
||||
<button class="layui-btn layui-bg-orange" id="batchAuditBtn" onclick="batchAudit()" style="display: none;"><i
|
||||
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>
|
||||
</form>
|
||||
|
|
|
|||
|
|
@ -109,7 +109,7 @@
|
|||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div id="file-box">
|
||||
<div id="file-box" class="no-print">
|
||||
<div class="title layout">
|
||||
<span style="font-weight:700;text-decoration:none;color:#409EFF;">▋</span>
|
||||
<p>附件文档</p>
|
||||
|
|
|
|||
|
|
@ -54,7 +54,7 @@
|
|||
</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="../../../lib/layui-v2.9.18/layui/layui.js" charset="utf-8"></script>
|
||||
<script src="../../../js/accessory/child/part_detail.js"></script>
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@
|
|||
</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="../../../lib/layui-v2.9.18/layui/layui.js" charset="utf-8"></script>
|
||||
<script src="../../../js/accessory/child/pro_part_detail.js"></script>
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@
|
|||
</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="../../lib/layui-v2.9.18/layui/layui.js" charset="utf-8"></script>
|
||||
<script src="../../js/accessory/device_pro_list.js" charset="utf-8"></script>
|
||||
|
|
|
|||
Loading…
Reference in New Issue