漏洞修改
This commit is contained in:
parent
2b96bfad84
commit
6fdb30008c
405
index.html
405
index.html
|
|
@ -6,11 +6,10 @@
|
||||||
<title>贵州机具配件管理系统</title>
|
<title>贵州机具配件管理系统</title>
|
||||||
<meta name="keywords" content="layuimini,layui,layui模板,layui后台,后台模板,admin,admin模板,layui mini">
|
<meta name="keywords" content="layuimini,layui,layui模板,layui后台,后台模板,admin,admin模板,layui mini">
|
||||||
<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,222 +24,222 @@
|
||||||
</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>
|
||||||
|
|
||||||
<div class="layuimini-header-content">
|
<div class="layuimini-header-content">
|
||||||
<a>
|
<a>
|
||||||
<div class="layuimini-tool"><i title="展开" class="fa fa-outdent" data-side-fold="1"></i></div>
|
<div class="layuimini-tool"><i title="展开" class="fa fa-outdent" data-side-fold="1"></i></div>
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
<!--电脑端头部菜单-->
|
<!--电脑端头部菜单-->
|
||||||
<!-- <ul class="layui-nav layui-layout-left layuimini-header-menu layuimini-menu-header-pc layuimini-pc-show">
|
<!-- <ul class="layui-nav layui-layout-left layuimini-header-menu layuimini-menu-header-pc layuimini-pc-show">
|
||||||
</ul> -->
|
</ul> -->
|
||||||
|
|
||||||
<!--手机端头部菜单-->
|
<!--手机端头部菜单-->
|
||||||
<!-- <ul class="layui-nav layui-layout-left layuimini-header-menu layuimini-mobile-show">
|
<!-- <ul class="layui-nav layui-layout-left layuimini-header-menu layuimini-mobile-show">
|
||||||
<li class="layui-nav-item">
|
<li class="layui-nav-item">
|
||||||
<a href="javascript:;"><i class="fa fa-list-ul"></i> 选择模块</a>
|
<a href="javascript:;"><i class="fa fa-list-ul"></i> 选择模块</a>
|
||||||
<dl class="layui-nav-child layuimini-menu-header-mobile">
|
<dl class="layui-nav-child layuimini-menu-header-mobile">
|
||||||
</dl>
|
</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>
|
</li>
|
||||||
</ul> -->
|
<li class="layui-nav-item" lay-unselect>
|
||||||
|
<a href="javascript:;" data-clear="清理" class="layuimini-clear"><i class="fa fa-trash-o"></i></a>
|
||||||
<ul class="layui-nav layui-layout-right">
|
</li>
|
||||||
|
<li class="layui-nav-item mobile layui-hide-xs" lay-unselect>
|
||||||
<li class="layui-nav-item" lay-unselect>
|
<a href="javascript:;" data-check-screen="full"><i class="fa fa-arrows-alt"></i></a>
|
||||||
<a href="javascript:;" data-refresh="刷新"><i class="fa fa-refresh"></i></a>
|
</li>
|
||||||
</li>
|
<!-- <li class="layui-nav-item layuimini-setting">
|
||||||
<li class="layui-nav-item" lay-unselect>
|
<a href="javascript:;">admin</a>
|
||||||
<a href="javascript:;" data-clear="清理" class="layuimini-clear"><i class="fa fa-trash-o"></i></a>
|
<dl class="layui-nav-child">
|
||||||
</li>
|
<dd>
|
||||||
<li class="layui-nav-item mobile layui-hide-xs" lay-unselect>
|
<a href="javascript:;" layuimini-content-href="page/user-setting.html" data-title="基本资料" data-icon="fa fa-gears">基本资料<span class="layui-badge-dot"></span></a>
|
||||||
<a href="javascript:;" data-check-screen="full"><i class="fa fa-arrows-alt"></i></a>
|
</dd>
|
||||||
</li>
|
<dd>
|
||||||
<!-- <li class="layui-nav-item layuimini-setting">
|
<a href="javascript:;" layuimini-content-href="page/user-password.html" data-title="修改密码" data-icon="fa fa-gears">修改密码</a>
|
||||||
<a href="javascript:;">admin</a>
|
</dd>
|
||||||
<dl class="layui-nav-child">
|
<dd>
|
||||||
<dd>
|
<hr>
|
||||||
<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>
|
<dd>
|
||||||
<dd>
|
<a href="javascript:;" class="login-out">退出登录</a>
|
||||||
<a href="javascript:;" layuimini-content-href="page/user-password.html" data-title="修改密码" data-icon="fa fa-gears">修改密码</a>
|
</dd>
|
||||||
</dd>
|
</dl>
|
||||||
<dd>
|
</li> -->
|
||||||
<hr>
|
<li class="layui-nav-item layuimini-select-bgcolor" lay-unselect>
|
||||||
</dd>
|
<a href="javascript:;" data-bgcolor="配色方案"><i class="fa fa-ellipsis-v"></i></a>
|
||||||
<dd>
|
</li>
|
||||||
<a href="javascript:;" class="login-out">退出登录</a>
|
</ul>
|
||||||
</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>
|
|
||||||
|
|
||||||
</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>
|
<div class="layui-side layui-bg-black layuimini-menu-left">
|
||||||
<script src="js/public.js" charset="utf-8"></script>
|
</div>
|
||||||
<script>
|
|
||||||
layui.use(['jquery', 'layer', 'miniAdmin', 'miniTongji'], function () {
|
<!--初始化加载层-->
|
||||||
var $ = layui.jquery,
|
<div class="layuimini-loader">
|
||||||
layer = layui.layer,
|
<div class="layuimini-loader-inner"></div>
|
||||||
miniAdmin = layui.miniAdmin,
|
</div>
|
||||||
miniTongji = layui.miniTongji;
|
|
||||||
let token = getUrlParam('token');
|
<!--手机端遮罩层-->
|
||||||
if (!token) {
|
<div class="layuimini-make"></div>
|
||||||
let gz_token = sessionStorage.getItem("gz-token");
|
|
||||||
if (gz_token) {
|
<!-- 移动导航 -->
|
||||||
token = gz_token;
|
<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);
|
|
||||||
}
|
}
|
||||||
|
console.log('当前登录的token:' + token);
|
||||||
function login(miniAdmin) {
|
if (token) {
|
||||||
// 登录获取token
|
console.log('走的跳转登录');
|
||||||
let login_url = dataUrl + 'login/userLogin'
|
sessionStorage.setItem('gz-token', token);
|
||||||
const params = {
|
// 校验传过来的token是否合法
|
||||||
"username": 'sa',
|
let url = dataUrl + 'backstage/health/isHealth'
|
||||||
"password": 'ebbd6ea34bbab2b0813afcf59c8c9556',
|
ajaxRequest(url, "GET", null, false, function () {
|
||||||
// "password": '3NBzZK7qxhMhrmvi63FnuQ==',
|
|
||||||
}
|
|
||||||
ajaxRequest(login_url, "POST", params, true, function () {
|
|
||||||
}, function (result) {
|
}, function (result) {
|
||||||
console.log(result);
|
console.log(result);
|
||||||
if (result.code === 200) {
|
if (result.code === 200) {
|
||||||
sessionStorage.setItem('gz-token', result.token);
|
var url = window.location.href; //获取当前页面的url
|
||||||
sessionStorage.setItem('us', JSON.stringify(result.user));
|
if (url.indexOf("?") != -1) { //判断是否存在参数
|
||||||
|
url = url.replace(/(\?|#)[^'"]*/, ''); //去除参数
|
||||||
|
window.history.pushState({}, 0, url);
|
||||||
|
}
|
||||||
initPage(miniAdmin);
|
initPage(miniAdmin);
|
||||||
} else if (result.code === 500) {
|
sessionStorage.setItem('us', JSON.stringify(result.data));
|
||||||
// layer.msg(result.msg, { icon: 2 });
|
} else if (result.code === 401) {
|
||||||
|
closeWindowOpen();
|
||||||
}
|
}
|
||||||
}, function (xhr, status, error) {
|
}, function (xhr, status, error) {
|
||||||
errorFn(xhr, status, error)
|
errorFn(xhr, status, error)
|
||||||
}, null);
|
}, 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>
|
</body>
|
||||||
|
|
||||||
</html>
|
</html>
|
||||||
|
|
@ -12,16 +12,16 @@ layui.use(["form", "table", 'laydate'], function () {
|
||||||
range: ['#startDay', '#endDay'],
|
range: ['#startDay', '#endDay'],
|
||||||
rangeLinked: true
|
rangeLinked: true
|
||||||
});
|
});
|
||||||
|
|
||||||
// 监听复选框选择
|
// 监听复选框选择
|
||||||
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;
|
||||||
|
|
||||||
// 根据选中状态显示/隐藏批量审核按钮
|
// 根据选中状态显示/隐藏批量审核按钮
|
||||||
updateBatchAuditButton();
|
updateBatchAuditButton();
|
||||||
});
|
});
|
||||||
|
|
||||||
initTable();
|
initTable();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
@ -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,28 +282,35 @@ 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();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 批量审核
|
// 批量审核
|
||||||
function batchAudit() {
|
function batchAudit() {
|
||||||
let pendingAuditData = selectedData.filter(item => item.status === '1');
|
let pendingAuditData = selectedData.filter(item => item.status === '1');
|
||||||
|
|
||||||
if (pendingAuditData.length === 0) {
|
if (pendingAuditData.length === 0) {
|
||||||
return layer.msg('请选择待审核状态的数据', {icon: 2});
|
return layer.msg('请选择待审核状态的数据', {icon: 2});
|
||||||
}
|
}
|
||||||
|
|
||||||
layer.open({
|
layer.open({
|
||||||
type: 1,
|
type: 1,
|
||||||
title: '批量审核 (' + pendingAuditData.length + '条)',
|
title: '批量审核 (' + pendingAuditData.length + '条)',
|
||||||
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 `
|
||||||
|
|
@ -343,17 +371,17 @@ function getBatchAuditFormHtml() {
|
||||||
function submitBatchAudit(dataList, layerIndex) {
|
function submitBatchAudit(dataList, layerIndex) {
|
||||||
let auditStatus = $('input[name="batchAuditStatus"]:checked').val();
|
let auditStatus = $('input[name="batchAuditStatus"]:checked').val();
|
||||||
let auditRemarks = $('textarea[name="batchAuditRemarks"]').val();
|
let auditRemarks = $('textarea[name="batchAuditRemarks"]').val();
|
||||||
|
|
||||||
if (auditStatus === '3' && (!auditRemarks || auditRemarks.trim() === '')) {
|
if (auditStatus === '3' && (!auditRemarks || auditRemarks.trim() === '')) {
|
||||||
return layer.msg('驳回时必须填写审核意见', {icon: 2});
|
return layer.msg('驳回时必须填写审核意见', {icon: 2});
|
||||||
}
|
}
|
||||||
|
|
||||||
let loadingMsg = layer.msg('正在批量审核,请稍等...', {
|
let loadingMsg = layer.msg('正在批量审核,请稍等...', {
|
||||||
icon: 16,
|
icon: 16,
|
||||||
shade: 0.3,
|
shade: 0.3,
|
||||||
time: 0
|
time: 0
|
||||||
});
|
});
|
||||||
|
|
||||||
let idList = dataList.map(item => item.id);
|
let idList = dataList.map(item => item.id);
|
||||||
let params = {
|
let params = {
|
||||||
encryptedData: JSON.stringify({
|
encryptedData: JSON.stringify({
|
||||||
|
|
@ -362,12 +390,12 @@ function submitBatchAudit(dataList, layerIndex) {
|
||||||
remark: auditRemarks.trim()
|
remark: auditRemarks.trim()
|
||||||
})
|
})
|
||||||
};
|
};
|
||||||
|
|
||||||
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);
|
||||||
|
|
@ -378,8 +406,48 @@ function submitBatchAudit(dataList, layerIndex) {
|
||||||
} else {
|
} else {
|
||||||
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);
|
||||||
|
|
|
||||||
|
|
@ -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
|
|
@ -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>
|
||||||
|
|
|
||||||
|
|
@ -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>
|
||||||
|
|
|
||||||
|
|
@ -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>
|
||||||
|
|
|
||||||
|
|
@ -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>
|
||||||
|
|
|
||||||
|
|
@ -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>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue