New file |
| | |
| | | <!DOCTYPE html> |
| | | <html lang="en"> |
| | | <head> |
| | | <meta charset="UTF-8"> |
| | | <title>Title</title> |
| | | </head> |
| | | <body background="../static/image/404.jpg" style="background-repeat:no-repeat; background-size:100% 100%; background-attachment:fixed;"> |
| | | </body> |
| | | </html> |
New file |
| | |
| | | <!DOCTYPE html> |
| | | <html lang="en"> |
| | | <head> |
| | | <meta charset="utf-8"> |
| | | <title></title> |
| | | <meta name="renderer" content="webkit"> |
| | | <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> |
| | | <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> |
| | | <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all"> |
| | | <link rel="stylesheet" href="../../static/css/cool.css" media="all"> |
| | | <link rel="stylesheet" href="../../static/css/common.css" media="all"> |
| | | </head> |
| | | <body> |
| | | |
| | | <!-- 搜索栏 --> |
| | | <div id="search-box" class="layui-form layui-card-header"> |
| | | <div class="layui-inline"> |
| | | <div class="layui-input-inline"> |
| | | <input class="layui-input" type="text" name="id" placeholder="编号" autocomplete="off"> |
| | | </div> |
| | | </div> |
| | | |
| | | <!-- 待添加 --> |
| | | <div id="data-search-btn" class="layui-btn-container layui-form-item"> |
| | | <button id="search" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="search">搜索</button> |
| | | <button id="reset" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="reset">重置</button> |
| | | </div> |
| | | </div> |
| | | |
| | | <!-- 表格 --> |
| | | <table class="layui-hide" id="api" lay-filter="api"></table> |
| | | <script type="text/html" id="toolbar"> |
| | | <div class="layui-btn-container"> |
| | | <button class="layui-btn layui-btn-sm" id="btn-add" lay-event="addData">新增</button> |
| | | <button class="layui-btn layui-btn-sm" id="btn-delete" lay-event="deleteData">删除</button> |
| | | <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData">导出</button> |
| | | </div> |
| | | </script> |
| | | |
| | | <script type="text/html" id="operate"> |
| | | <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="detail">详情</a> |
| | | <a class="layui-btn layui-btn-xs btn-edit" lay-event="edit">编辑</a> |
| | | </script> |
| | | |
| | | <script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script> |
| | | <script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script> |
| | | <script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script> |
| | | <script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script> |
| | | <script type="text/javascript" src="../../static/js/api/api.js" charset="utf-8"></script> |
| | | |
| | | |
| | | <iframe id="detail-iframe" scrolling="auto" style="display:none;"></iframe> |
| | | |
| | | </body> |
| | | </html> |
| | | |
New file |
| | |
| | | <!DOCTYPE html> |
| | | <html lang="en"> |
| | | <head> |
| | | <meta charset="utf-8"> |
| | | <title></title> |
| | | <meta name="renderer" content="webkit"> |
| | | <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> |
| | | <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> |
| | | <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all"> |
| | | <link rel="stylesheet" href="../../static/css/cool.css" media="all"> |
| | | <link rel="stylesheet" href="../../static/css/common.css" media="all"> |
| | | </head> |
| | | <body> |
| | | |
| | | <!-- 详情 --> |
| | | <div id="data-detail" class="layer_self_wrap"> |
| | | <form id="detail" class="layui-form"> |
| | | <div class="layui-inline" style="display: none"> |
| | | <label class="layui-form-label"><span class="not-null">*</span>编 号:</label> |
| | | <div class="layui-input-inline"> |
| | | <input id="id" class="layui-input" type="text" placeholder="编号"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline" style="width:31%;"> |
| | | <label class="layui-form-label"><span class="not-null">*</span>命名空间:</label> |
| | | <div class="layui-input-inline"> |
| | | <input id="namespace" class="layui-input" type="text" placeholder="命名空间" lay-verify="required" > |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline" style="width:31%;"> |
| | | <label class="layui-form-label"><span class="not-null">*</span>授 权:</label> |
| | | <div class="layui-input-inline"> |
| | | <select id="oauth" lay-verify="required"> |
| | | <option value="" style="display: none"></option> |
| | | <option value="0">无需授权</option> |
| | | <option value="1">需要授权</option> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline" style="width:31%;"> |
| | | <label class="layui-form-label">请求结构:</label> |
| | | <div class="layui-input-inline"> |
| | | <input id="request" class="layui-input" type="text" placeholder="请求结构"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline" style="width:31%;"> |
| | | <label class="layui-form-label">响应结构:</label> |
| | | <div class="layui-input-inline"> |
| | | <input id="response" class="layui-input" type="text" placeholder="响应结构"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline" style="width:31%;"> |
| | | <label class="layui-form-label"><span class="not-null">*</span>添加时间:</label> |
| | | <div class="layui-input-inline"> |
| | | <input id="createTime$" class="layui-input" type="text" placeholder="添加时间" lay-verify="required" autocomplete="off"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline" style="width:31%;"> |
| | | <label class="layui-form-label">修改时间:</label> |
| | | <div class="layui-input-inline"> |
| | | <input id="updateTime$" class="layui-input" type="text" placeholder="修改时间" autocomplete="off"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline" style="width:31%;"> |
| | | <label class="layui-form-label"><span class="not-null">*</span>状 态:</label> |
| | | <div class="layui-input-inline"> |
| | | <select id="status" lay-verify="required"> |
| | | <option value="" style="display: none"></option> |
| | | <option value="1">有效</option> |
| | | <option value="0">禁用</option> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | |
| | | |
| | | <hr class="layui-bg-gray"> |
| | | |
| | | <div id="data-detail-btn" class="layui-btn-container layui-form-item"> |
| | | <div id="data-detail-submit" type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="edit">保存</div> |
| | | <div id="data-detail-close" type="button" class="layui-btn" lay-submit lay-filter="close">关闭</div> |
| | | </div> |
| | | |
| | | <div id="prompt"> |
| | | 温馨提示:请仔细填写相关信息,<span class="extrude"><span class="not-null">*</span> 为必填选项。</span> |
| | | </div> |
| | | </form> |
| | | </div> |
| | | </body> |
| | | <script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script> |
| | | <script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script> |
| | | <script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script> |
| | | <script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script> |
| | | <script type="text/javascript" src="../../static/js/api/api.js" charset="utf-8"></script> |
| | | </html> |
| | | |
New file |
| | |
| | | <!DOCTYPE html> |
| | | <html lang="en"> |
| | | <head> |
| | | <meta charset="utf-8"> |
| | | <title></title> |
| | | <meta name="renderer" content="webkit"> |
| | | <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> |
| | | <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> |
| | | <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all"> |
| | | <link rel="stylesheet" href="../../static/css/cool.css" media="all"> |
| | | <link rel="stylesheet" href="../../static/css/common.css" media="all"> |
| | | </head> |
| | | <body> |
| | | |
| | | <!-- 搜索栏 --> |
| | | <div id="search-box" class="layui-form layui-card-header"> |
| | | <div class="layui-inline"> |
| | | <div class="layui-input-inline"> |
| | | <input class="layui-input" type="text" name="id" placeholder="编号" autocomplete="off"> |
| | | </div> |
| | | </div> |
| | | |
| | | <!-- 待添加 --> |
| | | <div id="data-search-btn" class="layui-btn-container layui-form-item"> |
| | | <button id="search" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="search">搜索</button> |
| | | <button id="reset" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="reset">重置</button> |
| | | </div> |
| | | </div> |
| | | |
| | | <!-- 表格 --> |
| | | <table class="layui-hide" id="config" lay-filter="config"></table> |
| | | <script type="text/html" id="toolbar"> |
| | | <div class="layui-btn-container"> |
| | | <button class="layui-btn layui-btn-sm" id="btn-add" lay-event="addData">新增</button> |
| | | <button class="layui-btn layui-btn-sm" id="btn-delete" lay-event="deleteData">删除</button> |
| | | <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData">导出</button> |
| | | </div> |
| | | </script> |
| | | |
| | | <script type="text/html" id="operate"> |
| | | <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="detail">详情</a> |
| | | <a class="layui-btn layui-btn-xs btn-edit" lay-event="edit">编辑</a> |
| | | </script> |
| | | |
| | | <script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script> |
| | | <script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script> |
| | | <script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script> |
| | | <script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script> |
| | | <script type="text/javascript" src="../../static/js/config/config.js" charset="utf-8"></script> |
| | | |
| | | <iframe id="detail-iframe" scrolling="auto" style="display:none;"></iframe> |
| | | |
| | | </body> |
| | | </html> |
| | | |
New file |
| | |
| | | <!DOCTYPE html> |
| | | <html lang="en"> |
| | | <head> |
| | | <meta charset="utf-8"> |
| | | <title></title> |
| | | <meta name="renderer" content="webkit"> |
| | | <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> |
| | | <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> |
| | | <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all"> |
| | | <link rel="stylesheet" href="../../static/css/cool.css" media="all"> |
| | | <link rel="stylesheet" href="../../static/css/common.css" media="all"> |
| | | </head> |
| | | <body> |
| | | |
| | | <!-- 详情 --> |
| | | <div id="data-detail" class="layer_self_wrap"> |
| | | <form id="detail" class="layui-form"> |
| | | <div class="layui-inline" style="display: none"> |
| | | <label class="layui-form-label"><span class="not-null">*</span>编 号:</label> |
| | | <div class="layui-input-inline"> |
| | | <input id="id" class="layui-input" type="text" placeholder="编号"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline" style="width:31%;"> |
| | | <label class="layui-form-label"><span class="not-null">*</span>名 称:</label> |
| | | <div class="layui-input-inline"> |
| | | <input id="name" class="layui-input" type="text" placeholder="名称" lay-verify="required" > |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline" style="width:31%;"> |
| | | <label class="layui-form-label"><span class="not-null">*</span>编 码:</label> |
| | | <div class="layui-input-inline"> |
| | | <input id="code" class="layui-input" type="text" placeholder="编码" lay-verify="required" > |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline" style="width:97%;"> |
| | | <label class="layui-form-label"><span class="not-null">*</span>对 应 值:</label> |
| | | <div class="layui-input-inline"> |
| | | <input id="value" class="layui-input" type="text" placeholder="对应值" lay-verify="required" > |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline" style="width:31%;"> |
| | | <label class="layui-form-label"><span class="not-null">*</span>类 型:</label> |
| | | <div class="layui-input-inline"> |
| | | <select id="type" lay-verify="required"> |
| | | <option value="" style="display: none"></option> |
| | | <option value="1">String</option> |
| | | <option value="2">JSON</option> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline" style="width:31%;"> |
| | | <label class="layui-form-label"><span class="not-null">*</span>状 态:</label> |
| | | <div class="layui-input-inline"> |
| | | <select id="status" lay-verify="required"> |
| | | <option value="" style="display: none"></option> |
| | | <option value="1">正常</option> |
| | | <option value="0">禁用</option> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | |
| | | |
| | | <hr class="layui-bg-gray"> |
| | | |
| | | <div id="data-detail-btn" class="layui-btn-container layui-form-item"> |
| | | <div id="data-detail-submit" type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="edit">保存</div> |
| | | <div id="data-detail-close" type="button" class="layui-btn" lay-submit lay-filter="close">关闭</div> |
| | | </div> |
| | | |
| | | <div id="prompt"> |
| | | 温馨提示:请仔细填写相关信息,<span class="extrude"><span class="not-null">*</span> 为必填选项。</span> |
| | | </div> |
| | | </form> |
| | | </div> |
| | | </body> |
| | | <script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script> |
| | | <script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script> |
| | | <script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script> |
| | | <script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script> |
| | | <script type="text/javascript" src="../../static/js/config/config.js" charset="utf-8"></script> |
| | | </html> |
| | | |
New file |
| | |
| | | <!DOCTYPE html> |
| | | <html lang="en"> |
| | | <head> |
| | | <meta charset="UTF-8"> |
| | | <title></title> |
| | | <meta name="renderer" content="webkit"> |
| | | <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> |
| | | <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> |
| | | <link rel="stylesheet" href="../static/layui/css/layui.css" media="all"> |
| | | <script type="text/javascript" src="../static/js/common.js"></script> |
| | | <style> |
| | | body { |
| | | background-color: #fff; |
| | | } |
| | | #container { |
| | | padding: 15px; |
| | | margin-top: 15px |
| | | } |
| | | .layui-card-body { |
| | | padding: 20px 15px 5px 15px; |
| | | } |
| | | .layui-form-item { |
| | | margin-bottom: 18px; |
| | | } |
| | | .layui-form-label { |
| | | color: #999!important;; |
| | | width: 60px; |
| | | } |
| | | .layui-input-block { |
| | | margin-left: 90px; |
| | | } |
| | | #update-password { |
| | | padding: 0 20px 0 15px; |
| | | } |
| | | .layui-btn .layui-icon { |
| | | margin-right: 0; |
| | | } |
| | | </style> |
| | | </head> |
| | | <body id="body"> |
| | | <div id="container"> |
| | | <fieldset class="layui-elem-field"> |
| | | <legend>设置我的资料</legend> |
| | | <div class="layui-card-body"> |
| | | <div id="person-detail" class="layui-form"> |
| | | <div class="layui-form-item" style="display: none"> |
| | | <label class="layui-form-label">编号</label> |
| | | <div class="layui-input-inline"> |
| | | <input id="id" class="layui-input" type="text" placeholder="请输入" autocomplete="off"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-form-item"> |
| | | <label class="layui-form-label">角色</label> |
| | | <div class="layui-input-inline"> |
| | | <input id="roleName" class="layui-input" type="text" placeholder="请输入" autocomplete="off" disabled="disabled"> |
| | | </div> |
| | | <div class="layui-form-mid layui-word-aux">当前角色不可更改为其它角色</div> |
| | | </div> |
| | | <div class="layui-form-item"> |
| | | <label class="layui-form-label">名称</label> |
| | | <div class="layui-input-inline"> |
| | | <input id="username" class="layui-input" type="text" placeholder="请输入" autocomplete="off"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-form-item"> |
| | | <label class="layui-form-label">账号</label> |
| | | <div class="layui-input-inline"> |
| | | <input id="mobile" class="layui-input" type="text" placeholder="请输入" autocomplete="off"> |
| | | </div> |
| | | <div class="layui-form-mid layui-word-aux">重要!一般用于后台登入</div> |
| | | </div> |
| | | <div class="layui-form-item"> |
| | | <label class="layui-form-label">密码</label> |
| | | <div class="layui-input-inline"> |
| | | <input id="password" class="layui-input" type="text" placeholder="请输入" autocomplete="off" style="display: none"> |
| | | <button id="update-password" class="layui-btn layui-btn-primary"> |
| | | <i class="layui-icon"></i> |
| | | 修改密码 |
| | | </button> |
| | | </div> |
| | | </div> |
| | | <div class="layui-form-item"> |
| | | <label class="layui-form-label">注册时间</label> |
| | | <div class="layui-input-inline"> |
| | | <input id="createTime$" class="layui-input" type="text" placeholder="请输入" autocomplete="off" disabled="disabled"> |
| | | </div> |
| | | <div class="layui-form-mid layui-word-aux">不可修改</div> |
| | | </div> |
| | | <div class="layui-form-item"> |
| | | <div class="layui-input-block"> |
| | | <button type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="save">确认修改</button> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </fieldset> |
| | | </div> |
| | | </body> |
| | | <script type="text/javascript" src="../static/js/jquery/jquery-3.3.1.min.js"></script> |
| | | <script src="../static/layui/layui.js"></script> |
| | | <script> |
| | | layui.use(['form'], function(){ |
| | | var form = layui.form, |
| | | layer = layui.layer, |
| | | $ = layui.jquery; |
| | | |
| | | // 初始化表单数据 |
| | | $.ajax({ |
| | | url: baseUrl+"/user/detail/auth", |
| | | headers: {'token': localStorage.getItem('token')}, |
| | | method: 'POST', |
| | | success: function (res) { |
| | | if (res.code === 200){ |
| | | var user = res.data; |
| | | for (var val in user) { |
| | | $('#person-detail').find(":input[id='" + val + "']").val(user[val]); |
| | | } |
| | | } else if (res.code === 403){ |
| | | top.location.href = baseUrl+"/"; |
| | | } else { |
| | | layer.msg(res.msg); |
| | | } |
| | | } |
| | | }); |
| | | |
| | | // 修改密码 |
| | | $(document).on('click','#update-password', function () { |
| | | layer.open({ |
| | | type: 2, |
| | | title: '修改密码', |
| | | maxmin: true, |
| | | area: ['350px', '310px'], |
| | | shadeClose: false, |
| | | content: 'password.html', |
| | | success: function(layero, index){ |
| | | layer.iframeAuto(index); |
| | | } |
| | | }) |
| | | }); |
| | | |
| | | |
| | | // 保存修改 |
| | | form.on('submit(save)', function (data) { |
| | | var user = { |
| | | id: $('#id').val(), |
| | | username: $('#username').val(), |
| | | mobile: $("#mobile").val(), |
| | | }; |
| | | layer.confirm('确定修改资料吗?', function(){ |
| | | $.ajax({ |
| | | url: baseUrl+"/user/update/auth", |
| | | headers: {'token': localStorage.getItem('token')}, |
| | | data: user, |
| | | method: 'POST', |
| | | success: function (res) { |
| | | if (res.code === 200){ |
| | | layer.msg(res.msg); |
| | | localStorage.setItem("username", user.username); |
| | | parent.$('#person-username').text(localStorage.getItem('username')); |
| | | } else if (res.code === 403){ |
| | | top.location.href = baseUrl+"/"; |
| | | } else { |
| | | layer.msg(res.msg); |
| | | } |
| | | } |
| | | }); |
| | | }); |
| | | return false; |
| | | }); |
| | | }); |
| | | </script> |
| | | </html> |
New file |
| | |
| | | <!DOCTYPE html> |
| | | <html lang="en"> |
| | | <head> |
| | | <meta charset="UTF-8"> |
| | | <title>首页</title> |
| | | <meta name="renderer" content="webkit"> |
| | | <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> |
| | | <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> |
| | | <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all"> |
| | | <script type="text/javascript" src="../../static/js/common.js"></script> |
| | | <script type="text/javascript" src="../../static/layui/layui.js"></script> |
| | | <script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script> |
| | | <script type="text/javascript" src="../../static/js/echarts/echarts.min.js"></script> |
| | | <script type="text/javascript" src="../../static/js/echarts/highcharts.js"></script> |
| | | <style> |
| | | body { |
| | | background-color: #f1f1f1; |
| | | } |
| | | .home-elem { |
| | | background-color: #fff; |
| | | height: 30%; |
| | | margin: 15px 15px 45px 15px; |
| | | border-radius: 5px; |
| | | box-shadow: 0 0 3px rgba(0,0,0,.3); |
| | | } |
| | | .home-elem:first-child{ |
| | | margin-bottom: 0; |
| | | } |
| | | .chart-elem { |
| | | box-sizing: border-box; |
| | | display: inline-block; |
| | | width: 49%; |
| | | } |
| | | .chart-elem div { |
| | | padding-top: 15px; |
| | | padding-bottom: 5px; |
| | | } |
| | | .chart-elem:first-child { |
| | | padding: 0 50px; |
| | | } |
| | | .chart-elem:last-child { |
| | | padding: 0 50px; |
| | | border-left: 1px solid rgba(0,0,0,.1); |
| | | } |
| | | /*表格工具栏*/ |
| | | .layui-table-tool { |
| | | display: none; |
| | | } |
| | | /*表格*/ |
| | | .layui-table thead th { |
| | | font-weight: bold; |
| | | text-align: center; |
| | | } |
| | | div .layui-table-tool .layui-table-tool-self .layui-inline[title='导出']{ |
| | | display: none; |
| | | } |
| | | .layui-form.layui-border-box.layui-table-view{ |
| | | margin: 15px 0 35px 0; |
| | | width: 100%; |
| | | border-width: 0; |
| | | } |
| | | .layui-table-box{ |
| | | padding-bottom: 10px; |
| | | } |
| | | .layui-table-body.layui-table-main{ |
| | | overflow: hidden; |
| | | } |
| | | .layui-table-page{ |
| | | border-width: 0; |
| | | } |
| | | .layui-table tbody tr:hover, .layui-table thead tr, .layui-table-click, .layui-table-header, .layui-table-hover, .layui-table-mend, .layui-table-patch, .layui-table-tool, .layui-table-total, .layui-table-total tr, .layui-table[lay-even] tr:nth-child(even) { |
| | | background-color: #f9f9f9; |
| | | } |
| | | .layui-table thead tr { |
| | | background-color: #fff; |
| | | } |
| | | #form-header { |
| | | font-size: 18px; |
| | | color: #377bb5; |
| | | font-weight: bold; |
| | | height: 30px; |
| | | box-sizing: border-box; |
| | | padding: 10px 0 10px 20px; |
| | | } |
| | | .layui-form.layui-border-box.layui-table-view { |
| | | border-top: 1px solid rgba(0,0,0,.1); |
| | | } |
| | | </style> |
| | | </head> |
| | | <body> |
| | | |
| | | <!--报表数据--> |
| | | <div class="home-elem charts-contain"> |
| | | <div class="chart-elem"> |
| | | <div id="pie"></div> |
| | | </div> |
| | | <div class="chart-elem"> |
| | | <div id="line"></div> |
| | | </div> |
| | | </div> |
| | | |
| | | <!--表格数据--> |
| | | <div class="home-elem loc-retention"> |
| | | <div class="layui-form"> |
| | | <div id="form-header">库存滞留时间统计表</div> |
| | | <table class="layui-hide" id="stayTime" lay-filter="stayTime"></table> |
| | | </div> |
| | | </div> |
| | | </body> |
| | | <script> |
| | | pieCharts(); |
| | | lineCharts(); |
| | | // 饼图 |
| | | function pieCharts(){ |
| | | $.ajax({ |
| | | url:baseUrl+'/console/loc/pie/charts', |
| | | headers: {'token': localStorage.getItem('token')}, |
| | | dataType: 'json', |
| | | contentType: 'application/json;charset=UTF-8', |
| | | crossDomain: true, |
| | | method: 'POST', |
| | | success:function(res){ |
| | | var data = res.data; |
| | | var dataPie=eval(data.rows); |
| | | var chart = { |
| | | plotBackgroundColor: null, |
| | | plotBorderWidth: null, |
| | | plotShadow: false |
| | | }; |
| | | var title = { |
| | | text: '库位使用比例', |
| | | margin:1, |
| | | style: {fontSize: '18px',color: '#777',fontWeight: 'bold'}, |
| | | y: 5 |
| | | }; |
| | | var tooltip = { |
| | | pointFormat: '{series.name}: <b>{point.percentage:.1f}%</b>' |
| | | }; |
| | | var plotOptions = { |
| | | pie: { |
| | | allowPointSelect: true, |
| | | cursor: 'pointer', |
| | | dataLabels: { |
| | | enabled: true, |
| | | format: '<b>{point.name}</b>: {point.percentage:.1f} %', |
| | | style: { |
| | | color: (Highcharts.theme && Highcharts.theme.contrastTextColor) || 'black' |
| | | } |
| | | } |
| | | } |
| | | }; |
| | | var series= [{ |
| | | type: 'pie', |
| | | name: '库位占比', |
| | | data: dataPie |
| | | }]; |
| | | var loading = { |
| | | hideDuration: 3, |
| | | showDuration: 3 |
| | | }; |
| | | var json = {}; |
| | | json.chart = chart; |
| | | json.title = title; |
| | | json.tooltip = tooltip; |
| | | json.series = series; |
| | | json.plotOptions = plotOptions; |
| | | json.loading = loading; |
| | | json.credits = {enabled: false}; |
| | | $('#pie').highcharts(json); |
| | | |
| | | }, |
| | | error:function(){ |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // 折线图 |
| | | function lineCharts() { |
| | | $.ajax({ |
| | | url: baseUrl+'/console/locIo/line/charts', |
| | | headers: {'token': localStorage.getItem('token')}, |
| | | dataType: 'json', |
| | | contentType: 'application/json;charset=UTF-8', |
| | | method: 'POST', |
| | | success: function (res) { |
| | | var data = res.data; |
| | | var dataPie = eval(data.rows); |
| | | var title = { |
| | | text: '日入出库数量', |
| | | margin: 1, |
| | | style: {fontSize: '18px',color: '#777',fontWeight: 'bold'}, |
| | | y: 5 |
| | | }; |
| | | var xAxis = { |
| | | categories: [getDate(-11), getDate(-10), getDate(-9), getDate(-8), getDate(-7), getDate(-6), |
| | | getDate(-5), getDate(-4), getDate(-3), getDate(-2), getDate(-1), getDate(-0)] |
| | | }; |
| | | var yAxis = { |
| | | title: { |
| | | text: '入/出库数量' |
| | | }, |
| | | plotLines: [{ |
| | | value: 0, |
| | | width: 1, |
| | | color: '#808080' |
| | | }] |
| | | }; |
| | | var tooltip = {}; |
| | | var legend = { |
| | | layout: 'vertical', |
| | | align: 'right', |
| | | verticalAlign: 'middle', |
| | | borderWidth: 0 |
| | | }; |
| | | var loading = { |
| | | hideDuration: 3, |
| | | showDuration: 3 |
| | | } |
| | | var series = dataPie; |
| | | var json = {}; |
| | | json.title = title; |
| | | json.xAxis = xAxis; |
| | | json.yAxis = yAxis; |
| | | json.tooltip = tooltip; |
| | | json.legend = legend; |
| | | json.loading = loading; |
| | | json.series = series; |
| | | json.credits = {enabled: false}; |
| | | $('#line').highcharts(json); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // 表格 |
| | | var pageCurr; |
| | | function getCol() { |
| | | var cols = [ |
| | | {field: 'appeTime$', title: '入库时间', align: 'center', width: 200} |
| | | ,{field: 'stay_time', align: 'center',title: '滞留天数'} |
| | | ,{field: 'loc_no', align: 'center',title: '库位号'} |
| | | ]; |
| | | cols.push.apply(cols, detlCols); |
| | | return cols; |
| | | } |
| | | layui.use(['table','laydate', 'form'], function() { |
| | | var table = layui.table; |
| | | var $ = layui.jquery; |
| | | var layer = layui.layer; |
| | | |
| | | // 数据渲染 |
| | | tableIns = table.render({ |
| | | elem: '#stayTime', |
| | | headers: {token: localStorage.getItem('token')}, |
| | | url: baseUrl+'/report/viewStayTimeList.action', |
| | | page: true, |
| | | limit: 10, |
| | | toolbar: '#toolbar', |
| | | even: true, |
| | | cellMinWidth: 50, |
| | | crossDomain: true, |
| | | cols: [getCol()], |
| | | request: { |
| | | pageName: 'curr', |
| | | pageSize: 'limit' |
| | | }, |
| | | parseData: function (res) { |
| | | return { |
| | | 'code': res.code, |
| | | 'msg': res.msg, |
| | | 'count': res.data.total, |
| | | 'data': res.data.records |
| | | } |
| | | }, |
| | | response: { |
| | | statusCode: 200 |
| | | }, |
| | | done: function(res, curr, count) { |
| | | if (res.code === 403) { |
| | | top.location.href = baseUrl+"/"; |
| | | } |
| | | pageCurr=curr; |
| | | } |
| | | }); |
| | | |
| | | // 监听排序事件 |
| | | table.on('sort(stayTime)', function (obj) { |
| | | var searchData = {}; |
| | | $.each($('#search-box [name]').serializeArray(), function() { |
| | | searchData[this.name] = this.value; |
| | | }); |
| | | searchData['orderByField'] = obj.field; |
| | | searchData['orderByType'] = obj.type; |
| | | tableIns.reload({ |
| | | where: searchData, |
| | | page: { |
| | | curr: 1 |
| | | }, |
| | | done: function (res, curr, count) { |
| | | if (res.code === 403) { |
| | | top.location.href = baseUrl+"/"; |
| | | } |
| | | pageCurr=curr; |
| | | } |
| | | }); |
| | | }); |
| | | }); |
| | | |
| | | |
| | | function getDate(value){ |
| | | var date = new Date();// 获取当前时间 |
| | | date.setDate(date.getDate() + value);// 设置天数 -1 天 |
| | | return date.Format("MM-dd"); |
| | | } |
| | | /** |
| | | * 日期格式化 |
| | | */ |
| | | Date.prototype.Format = function (fmt) { |
| | | var o = { |
| | | "M+": this.getMonth() + 1, //月份 |
| | | "d+": this.getDate(), //日 |
| | | "h+": this.getHours(), //小时 |
| | | "m+": this.getMinutes(), //分 |
| | | "s+": this.getSeconds(), //秒 |
| | | "q+": Math.floor((this.getMonth() + 3) / 3), //季度 |
| | | "S": this.getMilliseconds() //毫秒 |
| | | }; |
| | | if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length)); |
| | | for (var k in o) |
| | | if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length))); |
| | | return fmt; |
| | | } |
| | | </script> |
| | | </html> |
New file |
| | |
| | | <!DOCTYPE html> |
| | | <html lang="en"> |
| | | <head> |
| | | <meta charset="utf-8"> |
| | | <title>仓储管理系统</title> |
| | | <meta name="renderer" content="webkit"> |
| | | <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> |
| | | <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> |
| | | <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all"> |
| | | <link rel="stylesheet" href="../../static/css/road.css"> |
| | | |
| | | <style media="screen"> |
| | | *{ |
| | | -webkit-box-sizing: border-box; |
| | | -moz-box-sizing: border-box; |
| | | box-sizing: border-box; |
| | | margin: 0; |
| | | padding: 0; |
| | | font-family: 微软雅黑; |
| | | letter-spacing: 1px; |
| | | } |
| | | body{ |
| | | background: url(../../static/image/nav/bg_1.png); |
| | | background-size: cover; |
| | | } |
| | | .fn_1{ |
| | | width: 250px; height: 220px; |
| | | background: url(../../static/image/nav/fn_1.png); |
| | | background-size: cover; |
| | | } |
| | | .fn_1:hover{ |
| | | background: url(../../static/image/nav/fn_1_h.png); |
| | | background-size: cover; |
| | | } |
| | | |
| | | .fn_2{ |
| | | width: 250px; height: 220px; |
| | | background: url(../../static/image/nav/fn_2.png); |
| | | background-size: cover; |
| | | } |
| | | .fn_2:hover{ |
| | | background: url(../../static/image/nav/fn_2_h.png); |
| | | background-size: cover; |
| | | } |
| | | .fn_3{ |
| | | width: 250px; height: 220px; |
| | | background: url(../../static/image/nav/fn_3.png); |
| | | background-size: cover; |
| | | } |
| | | .fn_3:hover{ |
| | | background: url(../../static/image/nav/fn_3_h.png); |
| | | background-size: cover; |
| | | } |
| | | |
| | | .sci-wheel{ |
| | | position: absolute; |
| | | top: 0; |
| | | right: 0; |
| | | width: 100px; |
| | | } |
| | | |
| | | .header{ |
| | | width: 100%; height: 100px; line-height: 100px; |
| | | padding: 0 40px; |
| | | background:rgba(0,0,0,0.3); |
| | | } |
| | | .header img{ |
| | | float: left; |
| | | margin: 10px 10px; |
| | | width: 100px; |
| | | } |
| | | .header p{ |
| | | float: left; |
| | | font-size: 30px; color: white; |
| | | letter-spacing: 3px; |
| | | } |
| | | .header .home-btn { |
| | | float: left; |
| | | margin-top: 20px; |
| | | width: 74px; |
| | | height: 74px; |
| | | border: 1px solid #102262; |
| | | border-radius: 5px; |
| | | background: url(../../static/image/nav/icon.png) no-repeat center center; |
| | | background-size: 45% 45%; |
| | | cursor: pointer; |
| | | } |
| | | .center{ |
| | | position: absolute; |
| | | top: 0; bottom: 0; left: 0; right: 0; |
| | | margin: auto; |
| | | width: 930px; height: 250px; |
| | | /* bottom: 300px; */ |
| | | } |
| | | .center .list{ |
| | | display: block; |
| | | float: left; |
| | | margin: 0 30px; |
| | | cursor: pointer; |
| | | } |
| | | .center .list p{ |
| | | text-align: center; |
| | | color: #00BAF1; |
| | | font-size: 18px; |
| | | margin-top: 240px; |
| | | } |
| | | /* .center .list img{ |
| | | width: 250px; |
| | | margin: 0 30px; |
| | | } */ |
| | | </style> |
| | | |
| | | </head> |
| | | <body> |
| | | |
| | | <div class="header"> |
| | | <p style="margin-left:20px">请选择您要使用的模块</p> |
| | | </div> |
| | | |
| | | <div class="center"> |
| | | <a class="list fn_1 moveUpDownFla1" ew-href="order/order.html?resourceId=40517"> |
| | | <p>单据管理</p> |
| | | </a> |
| | | <a class="list fn_2 moveUpDownFla2" ew-href="wrkMast/wrkMast.html?resourceId=214"> |
| | | <p>运行任务</p> |
| | | </a> |
| | | <a class="list fn_3 moveUpDownFla1" ew-href="stoMan/stoQue.html?resourceId=10276"> |
| | | <p>库存明细</p> |
| | | </a> |
| | | </div> |
| | | |
| | | </body> |
| | | <script type="text/javascript" src="../../static/js/common.js"></script> |
| | | <script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script> |
| | | <script type="text/javascript" src="../../static/layui/layui.js"></script> |
| | | <script> |
| | | layui.config({ |
| | | base: baseUrl + "/static/layui/lay/modules/" |
| | | }).use(['layer', 'element', 'admin'], function () { |
| | | var element = layui.element; |
| | | var $ = layui.jquery; |
| | | var layer = layui.layer; |
| | | var admin = layui.admin; |
| | | }) |
| | | </script> |
| | | </html> |
New file |
| | |
| | | <!DOCTYPE html> |
| | | <html lang="en"> |
| | | <head> |
| | | <meta charset="utf-8"> |
| | | <title></title> |
| | | <meta name="renderer" content="webkit"> |
| | | <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> |
| | | <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> |
| | | <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all"> |
| | | <link rel="stylesheet" href="../../static/css/cool.css" media="all"> |
| | | <link rel="stylesheet" href="../../static/css/common.css" media="all"> |
| | | </head> |
| | | <body> |
| | | |
| | | <!-- 搜索栏 --> |
| | | <div id="search-box" class="layui-form layui-card-header"> |
| | | <div class="layui-inline"> |
| | | <div class="layui-input-inline"> |
| | | <input class="layui-input" type="text" name="id" placeholder="编号" autocomplete="off"> |
| | | </div> |
| | | </div> |
| | | |
| | | <!-- 待添加 --> |
| | | <div id="data-search-btn" class="layui-btn-container layui-form-item"> |
| | | <button id="search" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="search">搜索</button> |
| | | <button id="reset" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="reset">重置</button> |
| | | </div> |
| | | </div> |
| | | |
| | | <!-- 表格 --> |
| | | <table class="layui-hide" id="host" lay-filter="host"></table> |
| | | <script type="text/html" id="toolbar"> |
| | | <div class="layui-btn-container"> |
| | | <button class="layui-btn layui-btn-sm" id="btn-add" lay-event="addData">新增</button> |
| | | <button class="layui-btn layui-btn-sm" id="btn-delete" lay-event="deleteData">删除</button> |
| | | <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData">导出</button> |
| | | </div> |
| | | </script> |
| | | |
| | | <script type="text/html" id="operate"> |
| | | <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="detail">详情</a> |
| | | <a class="layui-btn layui-btn-xs btn-edit" lay-event="edit">编辑</a> |
| | | </script> |
| | | |
| | | <script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script> |
| | | <script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script> |
| | | <script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script> |
| | | <script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script> |
| | | <script type="text/javascript" src="../../static/js/host/host.js" charset="utf-8"></script> |
| | | |
| | | <iframe id="detail-iframe" scrolling="auto" style="display:none;"></iframe> |
| | | |
| | | </body> |
| | | </html> |
| | | |
New file |
| | |
| | | <!DOCTYPE html> |
| | | <html lang="en"> |
| | | <head> |
| | | <meta charset="utf-8"> |
| | | <title></title> |
| | | <meta name="renderer" content="webkit"> |
| | | <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> |
| | | <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> |
| | | <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all"> |
| | | <link rel="stylesheet" href="../../static/css/cool.css" media="all"> |
| | | <link rel="stylesheet" href="../../static/css/common.css" media="all"> |
| | | </head> |
| | | <body> |
| | | |
| | | <!-- 详情 --> |
| | | <div id="data-detail" class="layer_self_wrap"> |
| | | <form id="detail" class="layui-form"> |
| | | <div class="layui-inline" style="display: none"> |
| | | <label class="layui-form-label"><span class="not-null">*</span>编 号:</label> |
| | | <div class="layui-input-inline"> |
| | | <input id="id" class="layui-input" type="text" placeholder="编号"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline" style="width:31%;"> |
| | | <label class="layui-form-label"><span class="not-null">*</span>商户名称:</label> |
| | | <div class="layui-input-inline"> |
| | | <input id="name" class="layui-input" type="text" lay-verify="required" > |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline" style="width:31%;"> |
| | | <label class="layui-form-label"><span class="not-null">*</span>标 识:</label> |
| | | <div class="layui-input-inline"> |
| | | <input id="flag" class="layui-input" type="text" lay-verify="required" > |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline" style="width:31%;"> |
| | | <label class="layui-form-label"><span class="not-null">*</span>添加时间:</label> |
| | | <div class="layui-input-inline"> |
| | | <input id="createTime$" class="layui-input" type="text" lay-verify="required" autocomplete="off"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline" style="width:31%;"> |
| | | <label class="layui-form-label">修改时间:</label> |
| | | <div class="layui-input-inline"> |
| | | <input id="updateTime$" class="layui-input" type="text" autocomplete="off"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline" style="width:31%;"> |
| | | <label class="layui-form-label"><span class="not-null">*</span>状 态:</label> |
| | | <div class="layui-input-inline"> |
| | | <select id="status" lay-verify="required"> |
| | | <option value="" style="display: none"></option> |
| | | <option value="1">正常</option> |
| | | <option value="0">禁用</option> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | |
| | | |
| | | <hr class="layui-bg-gray"> |
| | | |
| | | <div id="data-detail-btn" class="layui-btn-container layui-form-item"> |
| | | <div id="data-detail-submit" type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="edit">保存</div> |
| | | <div id="data-detail-close" type="button" class="layui-btn" lay-submit lay-filter="close">关闭</div> |
| | | </div> |
| | | |
| | | <div id="prompt"> |
| | | 温馨提示:请仔细填写相关信息,<span class="extrude"><span class="not-null">*</span> 为必填选项。</span> |
| | | </div> |
| | | </form> |
| | | </div> |
| | | </body> |
| | | <script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script> |
| | | <script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script> |
| | | <script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script> |
| | | <script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script> |
| | | <script type="text/javascript" src="../../static/js/host/host.js" charset="utf-8"></script> |
| | | </html> |
| | | |
New file |
| | |
| | | <!DOCTYPE html> |
| | | <html lang="en"> |
| | | <head> |
| | | <meta charset="utf-8"> |
| | | <title>中扬 - 自动化立体仓库 - AS / RS</title> |
| | | <meta name="renderer" content="webkit"> |
| | | <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> |
| | | <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0"> |
| | | <link rel="icon" type="image/x-icon" href="../static/image/favicon.ico" /> |
| | | <link rel="stylesheet" href="../static/layui/css/layui.css" media="all"> |
| | | <link rel="stylesheet" href="../static/css/admin.css?v=318" media="all"> |
| | | <link rel="stylesheet" href="../static/css/loader.css" media="all"> |
| | | <style> |
| | | .layui-logo img { |
| | | width: 25px; |
| | | } |
| | | .layui-logo cite { |
| | | font-size: 18px; |
| | | font-weight: 400; |
| | | /*margin-left: 5px;*/ |
| | | } |
| | | </style> |
| | | </head> |
| | | <body class="layui-layout-body"> |
| | | <div class="layui-layout layui-layout-admin"> |
| | | <!-- 头部 --> |
| | | <div class="layui-header"> |
| | | <div class="layui-logo"> |
| | | <img src="../static/image/logo.png" style="display: inline-block; width: 60%;height: auto"> |
| | | <!-- <span style="margin-top: 0; letter-spacing: 10px">中扬立库</span>--> |
| | | <!-- <img src="../static/image/logo.svg"/>--> |
| | | <!-- <cite>中扬 - Zoneyung</cite>--> |
| | | </div> |
| | | |
| | | <ul class="layui-nav layui-layout-left"> |
| | | <li class="layui-nav-item" lay-unselect> |
| | | <a ew-event="flexible" title="侧边伸缩"><i class="layui-icon layui-icon-shrink-right"></i></a> |
| | | </li> |
| | | <li class="layui-nav-item" lay-unselect> |
| | | <a ew-event="refresh" title="刷新"><i class="layui-icon layui-icon-refresh-3"></i></a> |
| | | </li> |
| | | </ul> |
| | | <ul class="layui-nav layui-layout-right"> |
| | | <li class="layui-nav-item" lay-unselect> |
| | | <a ew-event="note" title="便签"><i class="layui-icon layui-icon-note"></i></a> |
| | | </li> |
| | | <li class="layui-nav-item layui-hide-xs" lay-unselect> |
| | | <a ew-event="fullScreen" title="全屏"><i class="layui-icon layui-icon-screen-full"></i></a> |
| | | </li> |
| | | <li class="layui-nav-item" lay-unselect> |
| | | <a> |
| | | <cite id="username" style="margin-right: 5px">管理员</cite> |
| | | </a> |
| | | <dl class="layui-nav-child"> |
| | | <dd lay-unselect><a ew-href="detail.html?resourceId=8">基本资料</a></dd> |
| | | <hr> |
| | | <dd lay-unselect><a id="logout">退出</a></dd> |
| | | </dl> |
| | | </li> |
| | | <li class="layui-nav-item" lay-unselect> |
| | | <a ew-event="theme" title="主题"><i class="layui-icon layui-icon-more-vertical"></i></a> |
| | | </li> |
| | | </ul> |
| | | </div> |
| | | |
| | | <!-- 侧边栏 --> |
| | | <div class="layui-side"> |
| | | <div class="layui-side-scroll"> |
| | | <ul id="menu-main" class="layui-nav layui-nav-tree arrow2" lay-filter="admin-side-nav" lay-shrink="_all"> |
| | | </ul> |
| | | </div> |
| | | </div> |
| | | |
| | | <!-- 主体部分 --> |
| | | <div class="layui-body"></div> |
| | | <!-- 底部 --> |
| | | <div class="layui-footer layui-text"> |
| | | copyright © 2022 <a href="http://www.zoneyung.com" target="_blank">浙江中扬立库技术有限公司</a> all rights reserved. |
| | | <span class="pull-right">Version 1.0.0</span> |
| | | </div> |
| | | |
| | | </div> |
| | | |
| | | <!--初始化加载层--> |
| | | <div class="layuimini-loader"> |
| | | <div class="layuimini-loader-inner"></div> |
| | | </div> |
| | | |
| | | <script type="text/javascript" src="../static/js/jquery/jquery-3.3.1.min.js"></script> |
| | | <script type="text/javascript" src="../static/layui/layui.js"></script> |
| | | <script type="text/javascript" src="../static/js/handlebars/handlebars-v4.5.3.js"></script> |
| | | <script type="text/javascript" src="../static/js/common.js"></script> |
| | | <script> |
| | | console.log('%c 中扬立库平台 %c 1.0.0','background-color:rgb(53,73,94);color: #fff;border-radius:2px 0 0 2px;padding:2px 4px;','background-color:rgb(25,190,107);color: #fff;border-radius:0 2px 2px 0;padding:2px 4px;font: 9pt "Apercu Regular", Georgia, "Times New Roman", Times, serif;'); |
| | | $(function () { |
| | | if ("" === localStorage.getItem('token')) { |
| | | top.location.href = baseUrl + "/login"; |
| | | } |
| | | }); |
| | | |
| | | layui.config({ |
| | | base: baseUrl + "/static/layui/lay/modules/" |
| | | }).extend({ |
| | | notice: 'notice/notice', |
| | | }).use(['index', 'element', 'layer', 'admin', 'notice'], function () { |
| | | var $ = layui.jquery; |
| | | var index = layui.index; |
| | | var element = layui.element; |
| | | var layer = layui.layer; |
| | | var admin = layui.admin; |
| | | var notice = layui.notice; |
| | | |
| | | var easywebIframeMsg = localStorage.getItem("easyweb-iframe"); |
| | | if (!isEmpty(easywebIframeMsg)) { |
| | | var easywebIframeObj = JSON.parse(easywebIframeMsg); |
| | | if (easywebIframeObj.defaultTheme === undefined) { |
| | | admin.changeTheme("theme-colorful"); |
| | | } |
| | | } |
| | | |
| | | $.ajax({ |
| | | url: baseUrl + "/menu/auth", |
| | | headers: {'token': localStorage.getItem('token')}, |
| | | method: 'POST', |
| | | // async: false, |
| | | success: function (res) { |
| | | // 关闭加载动画 |
| | | $('.layuimini-loader').fadeOut(); |
| | | if (res.code === 200) { |
| | | var tpl = $('#menuTpl').html(); |
| | | var template = Handlebars.compile(tpl); |
| | | var html = template(res); |
| | | $("#menu-main").html(html); |
| | | element.init(); |
| | | } else if (res.code === 403) { |
| | | top.location.href = baseUrl + "/login"; |
| | | } else { |
| | | layer.msg(res.msg, {icon: 2}); |
| | | } |
| | | } |
| | | }); |
| | | |
| | | // 默认加载主页 |
| | | index.loadHome({ |
| | | menuPath: baseUrl+'/views/home/navigation.html', |
| | | menuName: '<i class="layui-icon layui-icon-home"></i>' |
| | | }); |
| | | |
| | | $('#username').text(localStorage.getItem('username')); |
| | | |
| | | $(document).on('click','#logout', function () { |
| | | window.location.href = "login.html"; |
| | | localStorage.removeItem('token'); |
| | | localStorage.removeItem('username'); |
| | | admin.closeAllTabs(); |
| | | }); |
| | | |
| | | // 替换退出按钮变量 |
| | | var logout = document.getElementById('logout'); |
| | | var url = logout.getAttribute('href'); |
| | | logout.setAttribute('href', baseUrl + "/login"); |
| | | |
| | | }); |
| | | </script> |
| | | <script type="text/html" id="menuTpl"> |
| | | {{#each data}} |
| | | <li class="layui-nav-item"> |
| | | <a><i class="layui-icon {{this.menuIcon}}"></i> <cite>{{this.menu}}</cite></a> |
| | | <dl class="layui-nav-child"> |
| | | {{#each this.subMenu}} |
| | | <dd><a lay-href="{{this.code}}?resourceId={{this.id}}">{{this.name}}</a></dd> |
| | | {{/each}} |
| | | </dl> |
| | | </li> |
| | | {{/each}} |
| | | </script> |
| | | </body> |
| | | </html> |
| | | |
| | | |
New file |
| | |
| | | <!DOCTYPE html> |
| | | <html lang="en"> |
| | | <head> |
| | | <meta charset="utf-8"> |
| | | <meta http-equiv="X-UA-Compatible" content="IE=edge"> |
| | | <title>中扬 │ login of zoneyung wms</title> |
| | | <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,minimum-scale=1"> |
| | | <meta name="description" content="study of Instancing with three.js"> |
| | | <meta name="keywords" content="undefined, Yoichi Kobayashi, WebGL, three.js"> |
| | | <meta name="theme-color" content="#111111"> |
| | | <meta name="msapplication-TileImage" content="/sketch-threejs/img/common/ms_tileimage.png"> |
| | | <meta name="msapplication-TileColor" content="#111111"> |
| | | <link rel="icon" type="image/x-icon" href="../static/image/favicon.ico" /> |
| | | <link rel="stylesheet" href="../static/css/font/font-awesome-4.7.0/css/font-awesome.css"> |
| | | <link rel="stylesheet" href="../static/css/main.min.css"> |
| | | <link rel="stylesheet" href="../static/css/login.css"> |
| | | <style> |
| | | #sidebar{ |
| | | /*定位*/ |
| | | position: absolute; |
| | | top: 50%; |
| | | right: 1%; |
| | | transform: translateY(-50%); |
| | | width: 20%; |
| | | height: 95%; |
| | | /*特效*/ |
| | | background: rgba(255,255,255,0.6); |
| | | border-radius: 5px; |
| | | color: #ffffff; |
| | | z-index: 99; |
| | | box-shadow: 3px 3px 6px 3px rgba(0, 0, 0, .3); |
| | | } |
| | | |
| | | .login-contain { |
| | | position: relative; |
| | | width: 100%; |
| | | height: 100%; |
| | | } |
| | | .login-box { |
| | | position: absolute; |
| | | top: 50%; |
| | | left: 50%; |
| | | transform: translate(-50%, -50%); |
| | | width: 100%; |
| | | text-align: center; |
| | | } |
| | | |
| | | </style> |
| | | </head> |
| | | <body> |
| | | <div class="l-page l-page--white" data-id="instancing"> |
| | | <div style="position: fixed; |
| | | z-index: 100; |
| | | top: 22px; |
| | | left: 20px;"> |
| | | <img src="../static/image/logo.png" alt="" style="width: 20%"> |
| | | </div> |
| | | <div class="p-sketch-outline"> |
| | | <h2 class="p-sketch-outline__title">Automatic Storage and Retrieval System</h2> |
| | | <p class="p-sketch-outline__date">posted: 2018.01.01 / update: 2022.03.18 |
| | | </p> |
| | | <p class="p-sketch-outline__description">wms made with various simple objects.</p> |
| | | </div> |
| | | <canvas class="p-canvas-webgl" id="canvas-webgl"></canvas> |
| | | </div> |
| | | <!-- 侧边栏 --> |
| | | <div id="sidebar"> |
| | | <div class="login-contain"> |
| | | <div class="login-box"> |
| | | <img src="../static/image/logo.png" alt="" style="width: 80%"> |
| | | <span class="login100-form-title p-t-20 p-b-45">中扬立库</span> |
| | | <span class="login100-form-title p-t-20 p-b-45" style="margin: 15px 0;color: #868686;font-size: 24px">WMS</span> |
| | | <div class="wrap-input100 validate-input m-b-10" data-validate="请输入用户名"> |
| | | <input id="username" class="input100" type="text" name="username" placeholder="username" autocomplete="off"> |
| | | <span class="focus-input100"></span> |
| | | <span class="symbol-input100"> |
| | | <i class="fa fa-user"></i> |
| | | </span> |
| | | </div> |
| | | <div class="wrap-input100 validate-input m-b-10" data-validate="请输入密码"> |
| | | <input id="password" class="input100" type="password" name="pass" placeholder="password"> |
| | | <span class="focus-input100"></span> |
| | | <span class="symbol-input100"> |
| | | <i class="fa fa-lock"></i> |
| | | </span> |
| | | </div> |
| | | <div class="container-login100-form-btn p-t-10"> |
| | | <button class="login100-form-btn login-btn">Login</button> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | <script type="text/javascript" src="../static/js/tools/main.min.js"></script> |
| | | <script type="text/javascript" src="../static/js/jquery/jquery-3.3.1.min.js"></script> |
| | | <script type="text/javascript" src="../static/js/tools/md5.js"></script> |
| | | <script type="text/javascript" src="../static/layer/layer.js"></script> |
| | | <script type="text/javascript" src="../static/js/common.js"></script> |
| | | <script> |
| | | // remember pwd |
| | | $(function () { |
| | | var oldUserName = localStorage.getItem('oldUserName'); |
| | | var oldPass = localStorage.getItem('oldPass'); |
| | | if(oldUserName){ |
| | | $('#username').val(oldUserName); |
| | | } |
| | | if(oldPass){ |
| | | $('#password').val(oldPass); |
| | | } |
| | | }) |
| | | |
| | | window.onload = function(){document.getElementById("username").focus();} |
| | | |
| | | $(document).on('click','.login-btn', function () { |
| | | let username = $("#username").val(); |
| | | if (username === "") { |
| | | layer.tips('请输入登录账号', '#username', {tips: [4, '#ff0000']}); |
| | | return; |
| | | } |
| | | let password = $("#password").val(); |
| | | if (password === "") { |
| | | layer.tips('请输入密码', '#password', {tips: [4, '#ff0000']}); |
| | | return; |
| | | } |
| | | $.ajax({ |
| | | url: baseUrl+"/login.action", |
| | | data: { |
| | | username: username, |
| | | password: hex_md5(password) |
| | | }, |
| | | method: 'POST', |
| | | success: function (res) { |
| | | if (res.code === 200){ |
| | | localStorage.setItem("token", res.data.token); |
| | | localStorage.setItem("username", res.data.username); |
| | | window.location.href = "index.html"; |
| | | } else if (res.code === 10001) { |
| | | layer.tips(res.msg, '#username', {tips: [4, '#ff0000']}); |
| | | } else if (res.code === 10002) { |
| | | layer.tips(res.msg, '#username', {tips: [4, '#ff0000']}); |
| | | } else if (res.code === 10003) { |
| | | layer.tips(res.msg, '#password', {tips: [4, '#ff0000']}); |
| | | } else { |
| | | layer.tips(res.msg, '.login-btn', {tips: [3, '#ff0000']}); |
| | | } |
| | | } |
| | | }); |
| | | }); |
| | | |
| | | $('body').keydown(function () { |
| | | if (event.keyCode === 13) { |
| | | $(".login-btn").click(); |
| | | } |
| | | }); |
| | | </script> |
| | | </body> |
| | | </html> |
New file |
| | |
| | | <!DOCTYPE html> |
| | | <html lang="en"> |
| | | <head> |
| | | <meta charset="UTF-8"> |
| | | <title></title> |
| | | <meta name="renderer" content="webkit"> |
| | | <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> |
| | | <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> |
| | | <link rel="stylesheet" href="../static/layui/css/layui.css" media="all"> |
| | | <style> |
| | | #password-div { |
| | | padding: 20px 20px 20px 13px; |
| | | } |
| | | .layui-form-item { |
| | | margin-bottom: 8px; |
| | | } |
| | | .layui-form-item .layui-input-inline { |
| | | margin: 0 0 10px 100px |
| | | } |
| | | .layui-form-label { |
| | | color: #999!important;; |
| | | padding: 9px 0; |
| | | } |
| | | #password-btn { |
| | | padding-top: 5px; |
| | | margin-left: 40px; |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: center; |
| | | } |
| | | #password-btn.layui-btn-container .layui-btn{ |
| | | margin-right: 30px; |
| | | } |
| | | </style> |
| | | </head> |
| | | <body id="body"> |
| | | <div id="password-div"> |
| | | <div class="layui-form" lay-filter=""> |
| | | <div class="layui-form-item"> |
| | | <label class="layui-form-label">当前密码</label> |
| | | <div class="layui-input-inline"> |
| | | <input id="oldPassword" type="password" class="layui-input" lay-verify="checkPwd" lay-vertype="tips" autocomplete="off"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-form-item"> |
| | | <label class="layui-form-label">新密码</label> |
| | | <div class="layui-input-inline"> |
| | | <input type="password" class="layui-input" id="password" lay-verify="newPwd" lay-vertype="tips" autocomplete="off"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-form-item"> |
| | | <label class="layui-form-label">确认新密码</label> |
| | | <div class="layui-input-inline"> |
| | | <input type="password" class="layui-input" id="rePassword" lay-verify="rePwd" lay-vertype="tips" autocomplete="off"> |
| | | </div> |
| | | </div> |
| | | <hr class="layui-bg-gray"> |
| | | <div id="password-btn" class="layui-form-item layui-btn-container"> |
| | | <div id="password-submit" type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="savePwd">保存</div> |
| | | <div id="password-close" type="button" class="layui-btn" lay-submit lay-filter="close">关闭</div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </body> |
| | | <script type="text/javascript" src="../static/js/jquery/jquery-3.3.1.min.js"></script> |
| | | <script type="text/javascript" src="../static/js/tools/md5.js"></script> |
| | | <script type="text/javascript" src="../static/js/common.js" charset="utf-8"></script> |
| | | <script src="../static/layui/layui.js"></script> |
| | | <script> |
| | | layui.use(['form'], function() { |
| | | var form = layui.form, |
| | | layer = layui.layer, |
| | | $ = layui.jquery; |
| | | |
| | | form.verify({ |
| | | checkPwd: function(val) { |
| | | if (val === ""){ |
| | | // return "当前密码不能为空"; |
| | | } |
| | | if (parent.$('#password').val() !== hex_md5(val)) { |
| | | return "密码不匹配"; |
| | | } |
| | | }, |
| | | newPwd: function (val) { |
| | | if (val === ""){ |
| | | return "新密码不能为空"; |
| | | } |
| | | if (val.length < 4) { |
| | | return "不能少于4个字符"; |
| | | } |
| | | if (parent.$('#password').val() === hex_md5(val)) { |
| | | return "与旧密码不能相同"; |
| | | } |
| | | }, |
| | | rePwd: function (val) { |
| | | if ($('#password').val() !== val){ |
| | | return "密码不一致"; |
| | | } |
| | | } |
| | | }); |
| | | |
| | | form.on('submit(savePwd)', function (data) { |
| | | var user = { |
| | | id: parent.$('#id').val(), |
| | | password: hex_md5($('#password').val()), |
| | | }; |
| | | $.ajax({ |
| | | url: baseUrl+"/user/update/auth", |
| | | headers: {'token': localStorage.getItem('token')}, |
| | | data: user, |
| | | method: 'POST', |
| | | success: function (res) { |
| | | if (res.code === 200){ |
| | | parent.layer.close(); |
| | | layer.confirm('密码修改成功,请重新登录',{ |
| | | btn: ['确定'], |
| | | btn1: function(){ |
| | | localStorage.removeItem("token"); |
| | | top.location.href = baseUrl+"/"; |
| | | }, |
| | | cancel: function(){ |
| | | localStorage.removeItem("token"); |
| | | top.location.href = baseUrl+"/"; |
| | | }, |
| | | closeBtn: 0, |
| | | shadeClose: false, |
| | | }) |
| | | } else if (res.code === 403){ |
| | | top.location.href = baseUrl+"/"; |
| | | } else { |
| | | layer.msg(res.msg); |
| | | } |
| | | } |
| | | }); |
| | | return false; |
| | | }); |
| | | |
| | | |
| | | }); |
| | | |
| | | // 关闭动作 |
| | | $(document).on('click','#password-close', function () { |
| | | parent.layer.closeAll(); |
| | | }); |
| | | </script> |
| | | </html> |
New file |
| | |
| | | <!DOCTYPE html> |
| | | <html lang="en"> |
| | | <head> |
| | | <meta charset="utf-8"> |
| | | <title></title> |
| | | <meta name="renderer" content="webkit"> |
| | | <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> |
| | | <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> |
| | | <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all"> |
| | | <link rel="stylesheet" href="../../static/css/cool.css" media="all"> |
| | | <link rel="stylesheet" href="../../static/css/common.css" media="all"> |
| | | </head> |
| | | <body> |
| | | |
| | | <!-- 搜索栏 --> |
| | | <div id="search-box" class="layui-form layui-card-header"> |
| | | <div class="layui-inline"> |
| | | <div class="layui-input-inline"> |
| | | <input class="layui-input" type="text" name="id" placeholder="编号" autocomplete="off"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline"> |
| | | <div class="layui-input-inline cool-auto-complete"> |
| | | <input id="resourceId" class="layui-input" name="resource_id" type="text" placeholder="请输入" autocomplete="off" style="display: none"> |
| | | <input id="resourceName" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="所属菜单" onfocus=this.blur()> |
| | | <div class="cool-auto-complete-window"> |
| | | <input class="cool-auto-complete-window-input" data-key="resourceQuery" onkeyup="autoLoad(this.getAttribute('data-key'))"> |
| | | <select class="cool-auto-complete-window-select" data-key="resourceQuerySelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple"> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | <!-- 待添加 --> |
| | | <div id="data-search-btn" class="layui-btn-container layui-form-item"> |
| | | <button id="search" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="search">搜索</button> |
| | | <button id="reset" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="reset">重置</button> |
| | | </div> |
| | | </div> |
| | | |
| | | <!-- 表格 --> |
| | | <table class="layui-hide" id="permission" lay-filter="permission"></table> |
| | | <script type="text/html" id="toolbar"> |
| | | <div class="layui-btn-container"> |
| | | <button class="layui-btn layui-btn-sm" id="btn-add" lay-event="addData">新增</button> |
| | | <button class="layui-btn layui-btn-sm" id="btn-delete" lay-event="deleteData">删除</button> |
| | | <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData">导出</button> |
| | | </div> |
| | | </script> |
| | | |
| | | <script type="text/html" id="operate"> |
| | | <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="detail">详情</a> |
| | | <a class="layui-btn layui-btn-xs btn-edit" lay-event="edit">编辑</a> |
| | | </script> |
| | | |
| | | <script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script> |
| | | <script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script> |
| | | <script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script> |
| | | <script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script> |
| | | <script type="text/javascript" src="../../static/js/permission/permission.js" charset="utf-8"></script> |
| | | |
| | | <iframe id="detail-iframe" scrolling="auto" style="display:none;"></iframe> |
| | | |
| | | </body> |
| | | </html> |
| | | |
New file |
| | |
| | | <!DOCTYPE html> |
| | | <html lang="en"> |
| | | <head> |
| | | <meta charset="utf-8"> |
| | | <title></title> |
| | | <meta name="renderer" content="webkit"> |
| | | <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> |
| | | <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> |
| | | <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all"> |
| | | <link rel="stylesheet" href="../../static/css/cool.css" media="all"> |
| | | <link rel="stylesheet" href="../../static/css/common.css" media="all"> |
| | | </head> |
| | | <body> |
| | | |
| | | <!-- 详情 --> |
| | | <div id="data-detail" class="layer_self_wrap"> |
| | | <form id="detail" class="layui-form"> |
| | | <div class="layui-inline" style="display: none"> |
| | | <label class="layui-form-label"><span class="not-null">*</span>编 号:</label> |
| | | <div class="layui-input-inline"> |
| | | <input id="id" class="layui-input" type="text" placeholder="编号"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline" style="width:31%;"> |
| | | <label class="layui-form-label"><span class="not-null">*</span>权限名称:</label> |
| | | <div class="layui-input-inline"> |
| | | <input id="name" class="layui-input" type="text" placeholder="权限名称" lay-verify="required" > |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline" style="width:31%;"> |
| | | <label class="layui-form-label"><span class="not-null">*</span>接口地址:</label> |
| | | <div class="layui-input-inline"> |
| | | <input id="action" class="layui-input" type="text" placeholder="接口地址" lay-verify="required" > |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline" style="width:31%;"> |
| | | <label class="layui-form-label">所属菜单:</label> |
| | | <div class="layui-input-inline cool-auto-complete"> |
| | | <input id="resourceId" class="layui-input" type="text" placeholder="所属菜单" style="display: none"> |
| | | <input id="resourceName" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="所属菜单" onfocus=this.blur()> |
| | | <div class="cool-auto-complete-window"> |
| | | <input class="cool-auto-complete-window-input" data-key="resourceQuery" onkeyup="autoLoad(this.getAttribute('data-key'))"> |
| | | <select class="cool-auto-complete-window-select" data-key="resourceQuerySelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple"> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline" style="width:31%;"> |
| | | <label class="layui-form-label"><span class="not-null">*</span>状 态:</label> |
| | | <div class="layui-input-inline"> |
| | | <select id="status" lay-verify="required"> |
| | | <option value="" style="display: none"></option> |
| | | <option value="1">正常</option> |
| | | <option value="0">禁用</option> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | |
| | | |
| | | <hr class="layui-bg-gray"> |
| | | |
| | | <div id="data-detail-btn" class="layui-btn-container layui-form-item"> |
| | | <div id="data-detail-submit" type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="edit">保存</div> |
| | | <div id="data-detail-close" type="button" class="layui-btn" lay-submit lay-filter="close">关闭</div> |
| | | </div> |
| | | |
| | | <div id="prompt"> |
| | | 温馨提示:请仔细填写相关信息,<span class="extrude"><span class="not-null">*</span> 为必填选项。</span> |
| | | </div> |
| | | </form> |
| | | </div> |
| | | </body> |
| | | <script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script> |
| | | <script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script> |
| | | <script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script> |
| | | <script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script> |
| | | <script type="text/javascript" src="../../static/js/permission/permission.js" charset="utf-8"></script> |
| | | </html> |
| | | |
New file |
| | |
| | | <!DOCTYPE html> |
| | | <html lang="en"> |
| | | <head> |
| | | <meta charset="utf-8"> |
| | | <title></title> |
| | | <meta name="renderer" content="webkit"> |
| | | <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> |
| | | <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> |
| | | <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all"> |
| | | <link rel="stylesheet" href="../../static/css/admin.css?v=318" media="all"> |
| | | <link rel="stylesheet" href="../../static/css/cool.css" media="all"> |
| | | <link rel="stylesheet" href="../../static/css/common.css" media="all"> |
| | | <style> |
| | | #detail { |
| | | padding: 25px 30px 0 0; |
| | | } |
| | | .ew-tree-table-box { |
| | | height: 100%; |
| | | } |
| | | </style> |
| | | </head> |
| | | <body> |
| | | |
| | | |
| | | <!-- 正文开始 --> |
| | | <div class="layui-fluid"> |
| | | <div class="layui-card"> |
| | | <div class="layui-card-body"> |
| | | <!-- 数据表格 --> |
| | | <table id="resource"></table> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | <script type="text/html" id="operate"> |
| | | <a class="layui-btn layui-btn-primary layui-btn-xs btn-edit" lay-event="edit">修改</a> |
| | | <a class="layui-btn layui-btn-danger layui-btn-xs btn-del" lay-event="del">删除</a> |
| | | </script> |
| | | |
| | | <!-- 表单弹窗 --> |
| | | <script type="text/html" id="editDialog"> |
| | | <form id="detail" lay-filter="detail" class="layui-form" style="margin: 0"> |
| | | <input name="id" type="hidden"> |
| | | <input name="uuid" type="hidden"> |
| | | <input name="level" type="hidden"> |
| | | <div class="layui-row"> |
| | | |
| | | <div class="layui-col-md6"> |
| | | |
| | | <div class="layui-form-item"> |
| | | <label class="layui-form-label">上级菜单</label> |
| | | <div class="layui-input-block"> |
| | | <div id="resourceParentSel" class="ew-xmselect-tree"></div> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="layui-form-item"> |
| | | <label class="layui-form-label layui-form-required">菜单编码</label> |
| | | <div class="layui-input-block"> |
| | | <input name="code" placeholder="请输入菜单编码" class="layui-input" lay-vertype="tips" lay-verify="required" required=""> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="layui-form-item"> |
| | | <label class="layui-form-label layui-form-required">类型</label> |
| | | <div class="layui-input-block"> |
| | | <select name="level" lay-vertype="tips" lay-verify="required" required=""> |
| | | <option value="">请选择类型</option> |
| | | <option value="1">一级菜单</option> |
| | | <option value="2">二级菜单</option> |
| | | <option value="3">按钮</option> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | |
| | | <div class="layui-col-md6"> |
| | | |
| | | <div class="layui-form-item"> |
| | | <label class="layui-form-label layui-form-required">菜单名称</label> |
| | | <div class="layui-input-block"> |
| | | <input name="name" placeholder="请输入菜单名称" class="layui-input" lay-vertype="tips" lay-verify="required" required=""> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="layui-form-item"> |
| | | <label class="layui-form-label">排序</label> |
| | | <div class="layui-input-block"> |
| | | <input name="sort" placeholder="请输入排序" class="layui-input" lay-verify="number"> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="layui-form-item"> |
| | | <label class="layui-form-label layui-form-required">状态</label> |
| | | <div class="layui-input-block"> |
| | | <select name="status" lay-vertype="tips" lay-verify="required" required=""> |
| | | <option value="">请选择状态</option> |
| | | <option value="1">正常</option> |
| | | <option value="0">禁用</option> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | </div> |
| | | <hr class="layui-bg-gray"> |
| | | <div class="layui-form-item text-right"> |
| | | <button class="layui-btn" lay-filter="editSubmit" lay-submit="">保存</button> |
| | | <button class="layui-btn layui-btn-primary" type="button" ew-event="closeDialog">取消</button> |
| | | </div> |
| | | </form> |
| | | </script> |
| | | <script type="text/html" id="typeTpl"> |
| | | {{# if( d.level === 1 ){ }} |
| | | <span name="level" class="layui-badge layui-badge-green">菜单</span> |
| | | {{# } else if(d.level === 2){ }} |
| | | <span name="level" class="layui-badge layui-badge-green">菜单</span> |
| | | {{# } else if(d.level === 3){ }} |
| | | <span name="level" class="layui-badge layui-badge-gray">按钮</span> |
| | | {{# } }} |
| | | </script> |
| | | <script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script> |
| | | <script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script> |
| | | <script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script> |
| | | <script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script> |
| | | |
| | | <script> |
| | | layui.config({ |
| | | base: baseUrl + "/static/layui/lay/modules/" |
| | | }).use(['form','treeTable', 'admin', 'xmSelect'], function() { |
| | | var $ = layui.jquery; |
| | | var layer = layui.layer; |
| | | var form = layui.form; |
| | | var admin = layui.admin; |
| | | var treeTable = layui.treeTable; |
| | | var xmSelect = layui.xmSelect; |
| | | var tbDataList = []; |
| | | |
| | | var insTb = treeTable.render({ |
| | | elem: '#resource', |
| | | url: baseUrl+'/resource/tree/auth', |
| | | headers: {token: localStorage.getItem('token')}, |
| | | height: 'full-200', |
| | | toolbar: ['<p>', |
| | | '<button lay-event="add" class="layui-btn layui-btn-sm icon-btn"><i class="layui-icon"></i>添加</button> ', |
| | | '<button lay-event="del" class="layui-btn layui-btn-sm layui-btn-danger icon-btn"><i class="layui-icon"></i>删除</button>', |
| | | '</p>'].join(''), |
| | | tree: { |
| | | iconIndex: 2, // 折叠图标显示在第几列 |
| | | isPidData: true, // 是否是id、pid形式数据 |
| | | idName: 'id', // id字段名称 |
| | | pidName: 'resourceId' // pid字段名称 |
| | | }, |
| | | cols: [[ |
| | | {type: 'checkbox', fixed: 'left'} |
| | | ,{field: 'id', title: 'ID', sort: true,align: 'center', fixed: 'left', width: 80, hide: true} |
| | | ,{field: 'name', align: 'left',title: '菜单名称'} |
| | | ,{field: 'code', align: 'center',title: '菜单编码'} |
| | | // ,{field: 'resourceName', align: 'center',title: '父级菜单'} |
| | | // ,{field: 'level$', align: 'center',title: '菜单等级'} |
| | | ,{field: 'type', align: 'center',title: '类型', templet: '#typeTpl', width: 120} |
| | | ,{field: 'sort', align: 'center',title: '排序'} |
| | | |
| | | ,{fixed: 'right', title:'操作', align: 'center', toolbar: '#operate', width:150} |
| | | ]], |
| | | done: function (data) { |
| | | $('.ew-tree-table-box').css('height', '100%'); |
| | | // insTb.expandAll(); |
| | | tbDataList = data; |
| | | limit(); |
| | | } |
| | | }); |
| | | |
| | | /* 表格头工具栏点击事件 */ |
| | | treeTable.on('toolbar(resource)', function (obj) { |
| | | if (obj.event === 'add') { // 添加 |
| | | showEditModel(); |
| | | } else if (obj.event === 'del') { // 删除 |
| | | var checkRows = insTb.checkStatus(); |
| | | if (checkRows.length === 0) { |
| | | layer.msg('请选择要删除的数据', {icon: 2}); |
| | | return; |
| | | } |
| | | var ids = checkRows.map(function (d) { |
| | | if (!d.LAY_INDETERMINATE) { |
| | | return d.id; |
| | | } else { |
| | | return null; |
| | | } |
| | | }); |
| | | doDel({ids: ids}); |
| | | } |
| | | }); |
| | | |
| | | /* 表格操作列点击事件 */ |
| | | treeTable.on('tool(resource)', function (obj) { |
| | | if (obj.event === 'edit') { // 修改 |
| | | showEditModel(obj.data); |
| | | } else if (obj.event === 'del') { // 删除 |
| | | doDel(obj); |
| | | } |
| | | }); |
| | | |
| | | /* 显示表单弹窗 */ |
| | | function showEditModel(mData) { |
| | | admin.open({ |
| | | type: 1, |
| | | area: '600px', |
| | | title: (mData ? '修改' : '添加') + '权限', |
| | | content: $('#editDialog').html(), |
| | | success: function (layero, dIndex) { |
| | | // 回显表单数据 |
| | | form.val('detail', mData); |
| | | // 表单提交事件 |
| | | form.on('submit(editSubmit)', function (data) { |
| | | data.field.resourceId = insXmSel.getValue('valueStr'); |
| | | var loadIndex = layer.load(2); |
| | | $.ajax({ |
| | | url: baseUrl+"/resource/"+(mData?'update':'add')+"/auth", |
| | | headers: {'token': localStorage.getItem('token')}, |
| | | data: data.field, |
| | | method: 'POST', |
| | | success: function (res) { |
| | | layer.close(loadIndex); |
| | | if (res.code === 200){ |
| | | layer.close(dIndex); |
| | | layer.msg(res.msg, {icon: 1}); |
| | | insTb.refresh(); |
| | | setTimeout(function () { |
| | | insTb.expand(data.field.resourceId); |
| | | }, 200) |
| | | } else if (res.code === 403){ |
| | | top.location.href = baseUrl+"/"; |
| | | }else { |
| | | layer.msg(res.msg, {icon: 2}); |
| | | } |
| | | } |
| | | }) |
| | | return false; |
| | | }); |
| | | |
| | | // 渲染下拉树 |
| | | var insXmSel = xmSelect.render({ |
| | | el: '#resourceParentSel', |
| | | height: '250px', |
| | | data: insTb.options.data, |
| | | initValue: mData&&mData.resourceId!=null ? [mData.resourceId] : [], |
| | | model: {label: {type: 'text'}}, |
| | | prop: { |
| | | name: 'name', |
| | | value: 'id' |
| | | }, |
| | | radio: true, |
| | | clickClose: true, |
| | | tree: { |
| | | show: true, |
| | | indent: 15, |
| | | strict: false, |
| | | expandedKeys: false |
| | | } |
| | | }); |
| | | // 弹窗不出现滚动条 |
| | | $(layero).children('.layui-layer-content').css('overflow', 'visible'); |
| | | layui.form.render('select'); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | /* 删除 */ |
| | | function doDel(obj) { |
| | | layer.confirm('确定要删除选中数据吗?', { |
| | | skin: 'layui-layer-admin', |
| | | shade: .1 |
| | | }, function (i) { |
| | | layer.close(i); |
| | | var loadIndex = layer.load(2); |
| | | var ids; |
| | | if (obj.data) { |
| | | ids = []; |
| | | ids[0] = obj.data.id; |
| | | } else { |
| | | ids = obj.ids; |
| | | } |
| | | $.ajax({ |
| | | url: baseUrl+"/resource/delete/auth", |
| | | headers: {'token': localStorage.getItem('token')}, |
| | | data: {ids: ids}, |
| | | method: 'POST', |
| | | success: function (res) { |
| | | layer.close(loadIndex); |
| | | if (res.code === 200){ |
| | | layer.msg(res.msg, {icon: 1}); |
| | | insTb.refresh(); |
| | | } else if (res.code === 403){ |
| | | top.location.href = baseUrl+"/"; |
| | | } else { |
| | | layer.msg(res.msg, {icon: 2}); |
| | | } |
| | | } |
| | | }) |
| | | }); |
| | | } |
| | | |
| | | }); |
| | | </script> |
| | | </body> |
| | | </html> |
| | | |
New file |
| | |
| | | <!DOCTYPE html> |
| | | <html lang="en"> |
| | | <head> |
| | | <meta charset="utf-8"> |
| | | <title></title> |
| | | <meta name="renderer" content="webkit"> |
| | | <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> |
| | | <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> |
| | | <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all"> |
| | | <link rel="stylesheet" href="../../static/css/cool.css" media="all"> |
| | | <link rel="stylesheet" href="../../static/css/common.css" media="all"> |
| | | </head> |
| | | <body> |
| | | |
| | | <!-- 搜索栏 --> |
| | | <div id="search-box" class="layui-form layui-card-header"> |
| | | <div class="layui-inline" > |
| | | <div class="layui-input-inline cool-auto-complete"> |
| | | <input id="leader" name="leader" class="layui-input" type="text" style="display: none"> |
| | | <input id="leader$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="上级" onfocus=this.blur()> |
| | | <div class="cool-auto-complete-window"> |
| | | <input class="cool-auto-complete-window-input" data-key="roleQueryByleader" onkeyup="autoLoad(this.getAttribute('data-key'))"> |
| | | <select class="cool-auto-complete-window-select" data-key="roleQueryByleaderSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple"> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <!-- 待添加 --> |
| | | <div id="data-search-btn" class="layui-btn-container layui-form-item"> |
| | | <button id="search" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="search">搜索</button> |
| | | <button id="reset" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="reset">重置</button> |
| | | </div> |
| | | </div> |
| | | |
| | | <!-- 表格 --> |
| | | <table class="layui-hide" id="role" lay-filter="role"></table> |
| | | <script type="text/html" id="toolbar"> |
| | | <div class="layui-btn-container"> |
| | | <button class="layui-btn layui-btn-sm" id="btn-add" lay-event="addData">新增</button> |
| | | <button class="layui-btn layui-btn-sm" id="btn-delete" lay-event="deleteData">删除</button> |
| | | <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData">导出</button> |
| | | </div> |
| | | </script> |
| | | |
| | | <script type="text/html" id="operate"> |
| | | <a class="layui-btn layui-btn-xs layui-btn-warm" lay-event="power">权限</a> |
| | | <a class="layui-btn layui-btn-xs btn-edit" lay-event="edit">编辑</a> |
| | | </script> |
| | | |
| | | <script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script> |
| | | <script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script> |
| | | <script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script> |
| | | <script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script> |
| | | <script type="text/javascript" src="../../static/js/role/role.js" charset="utf-8"></script> |
| | | |
| | | <iframe id="detail-iframe" scrolling="auto" style="display:none;"></iframe> |
| | | |
| | | </body> |
| | | </html> |
| | | |
New file |
| | |
| | | <!DOCTYPE html> |
| | | <html lang="en"> |
| | | <head> |
| | | <meta charset="utf-8"> |
| | | <title></title> |
| | | <meta name="renderer" content="webkit"> |
| | | <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> |
| | | <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> |
| | | <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all"> |
| | | <link rel="stylesheet" href="../../static/css/cool.css" media="all"> |
| | | <link rel="stylesheet" href="../../static/css/common.css" media="all"> |
| | | </head> |
| | | <body> |
| | | |
| | | <!-- 详情 --> |
| | | <div id="data-detail" class="layer_self_wrap"> |
| | | <form id="detail" class="layui-form"> |
| | | <div class="layui-inline" style="display: none"> |
| | | <label class="layui-form-label"><span class="not-null">*</span>编 号:</label> |
| | | <div class="layui-input-inline"> |
| | | <input id="id" class="layui-input" type="text" placeholder="编号"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline" style="width:31%;"> |
| | | <label class="layui-form-label"><span class="not-null">*</span>编 码:</label> |
| | | <div class="layui-input-inline"> |
| | | <input id="code" class="layui-input" type="text" lay-verify="required" > |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline" style="width:31%;"> |
| | | <label class="layui-form-label"><span class="not-null">*</span>名 称:</label> |
| | | <div class="layui-input-inline"> |
| | | <input id="name" class="layui-input" type="text" lay-verify="required" > |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline" style="width:31%;"> |
| | | <label class="layui-form-label">上 级:</label> |
| | | <div class="layui-input-inline cool-auto-complete"> |
| | | <input id="leader" class="layui-input" type="text" style="display: none"> |
| | | <input id="leader$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="请输入..." onfocus=this.blur()> |
| | | <div class="cool-auto-complete-window"> |
| | | <input class="cool-auto-complete-window-input" data-key="roleQueryByleader" onkeyup="autoLoad(this.getAttribute('data-key'))"> |
| | | <select class="cool-auto-complete-window-select" data-key="roleQueryByleaderSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple"> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline" style="display: none; width:31%;"> |
| | | <label class="layui-form-label">角色等级:</label> |
| | | <div class="layui-input-inline"> |
| | | <select id="level"> |
| | | <option value="" style="display: none"></option> |
| | | <option value="1">一级</option> |
| | | <option value="2">二级</option> |
| | | <option value="3">三级</option> |
| | | <option value="4">四级</option> |
| | | <option value="5">五级</option> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | |
| | | |
| | | <hr class="layui-bg-gray"> |
| | | |
| | | <div id="data-detail-btn" class="layui-btn-container layui-form-item"> |
| | | <div id="data-detail-submit" type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="edit">保存</div> |
| | | <div id="data-detail-close" type="button" class="layui-btn" lay-submit lay-filter="close">关闭</div> |
| | | </div> |
| | | |
| | | <div id="prompt"> |
| | | 温馨提示:请仔细填写相关信息,<span class="extrude"><span class="not-null">*</span> 为必填选项。</span> |
| | | </div> |
| | | </form> |
| | | </div> |
| | | </body> |
| | | <script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script> |
| | | <script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script> |
| | | <script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script> |
| | | <script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script> |
| | | <script type="text/javascript" src="../../static/js/role/role.js" charset="utf-8"></script> |
| | | </html> |
| | | |
New file |
| | |
| | | <!DOCTYPE html> |
| | | <html lang="en"> |
| | | <head> |
| | | <meta charset="utf-8"> |
| | | <title>权限管理</title> |
| | | <meta name="renderer" content="webkit"> |
| | | <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> |
| | | <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> |
| | | <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all"> |
| | | <link rel="stylesheet" href="../../static/css/common.css" media="all"> |
| | | </head> |
| | | <style> |
| | | #power { |
| | | margin-left: 20px; |
| | | } |
| | | .layui-tree.layui-form.layui-tree-line { |
| | | margin-left: 30px |
| | | } |
| | | </style> |
| | | <body> |
| | | |
| | | <!-- 权限树形图 --> |
| | | <form id="power" class="layui-form"> |
| | | <div id="power-tree"></div> |
| | | <div id="data-detail-btn" class="layui-btn-container layui-form-item"> |
| | | <div id="data-detail-submit" type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="save">保存</div> |
| | | <div id="data-detail-close" type="button" class="layui-btn" lay-submit lay-filter="close">关闭</div> |
| | | </div> |
| | | </form> |
| | | </div> |
| | | </body> |
| | | <script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script> |
| | | <script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script> |
| | | <script type="text/javascript" src="../../static/js/common.js"></script> |
| | | <script type="text/javascript" src="../../static/js/role/rolePower.js" charset="utf-8"></script> |
| | | </html> |
| | | |
New file |
| | |
| | | <style> |
| | | pre { |
| | | font-family: 'DejaVu Sans Mono','Courier New',monospace; |
| | | padding: 15px 10px; |
| | | line-height: 17px; |
| | | margin: 5px; |
| | | word-wrap: break-word; |
| | | border: solid 1px #9e9e9e; |
| | | border-radius: 3px; |
| | | color: #729fcf; |
| | | } |
| | | .string { color: #4e9a06; } |
| | | .number { color: #ad7fa8; } |
| | | .boolean { color: #c4a000; } |
| | | .null { color: #babdb6; } |
| | | .key { color: #204a87; } |
| | | </style> |
| | | |
| | | <div style="padding: 25px 25px 15px 25px;" id="callbackDialog"> |
| | | <fieldset class="layui-elem-field layui-field-title"> |
| | | <legend>基础信息</legend> |
| | | </fieldset> |
| | | <div class="layui-text" style="margin-bottom: 5px;"> |
| | | 事件编号:{{d.request}}<br /> |
| | | 设备编号:{{d.response.sensorId$}}<br /> |
| | | 设备类型:{{d.response.sensorType$}}<br /> |
| | | </div> |
| | | <fieldset class="layui-elem-field layui-field-title" style="margin-top: 30px;"> |
| | | <legend>报警信息</legend> |
| | | </fieldset> |
| | | <div class="layui-text" style="margin-bottom: 5px;"> |
| | | 发送时间:{{d.response.createTime$}}<br /> |
| | | 故障描述:{{d.response.desc}}<br /> |
| | | </div> |
| | | <div class="text-center" style="padding-top: 15px;text-align: right"> |
| | | <button class="layui-btn layui-btn-normal" ew-event="closeDialog">关闭</button> |
| | | </div> |
| | | </div> |
| | | |
| | | <!-- js部分 --> |
| | | <script> |
| | | layui.config({ |
| | | base: baseUrl + "/static/layui/lay/modules/" |
| | | }).use(['layer', 'admin'], function () { |
| | | var $ = layui.jquery; |
| | | var layer = layui.layer; |
| | | var admin = layui.admin; |
| | | |
| | | var layerData = admin.getLayerData('#callbackDialog'); |
| | | }); |
| | | |
| | | </script> |
New file |
| | |
| | | <div class="layui-card-header">本地便签</div> |
| | | <div class="note-wrapper"></div> |
| | | <div class="note-empty"> |
| | | <i class="layui-icon layui-icon-face-surprised"></i> |
| | | <p>没有便签</p> |
| | | </div> |
| | | <div class="btn-circle" id="noteAddBtn" title="添加便签" style="position: absolute;"> |
| | | <i class="layui-icon layui-icon-add-1"></i> |
| | | </div> |
| | | |
| | | <script> |
| | | layui.use(['layer', 'form', 'util', 'admin'], function () { |
| | | var $ = layui.jquery; |
| | | var layer = layui.layer; |
| | | var util = layui.util; |
| | | var admin = layui.admin; |
| | | var dataList = []; // 便签列表 |
| | | var $noteWrapper = $('.note-wrapper'); |
| | | |
| | | /* 渲染列表 */ |
| | | function renderList() { |
| | | $noteWrapper.empty(); |
| | | dataList = layui.data(admin.setter.tableName).notes; |
| | | if (dataList === undefined) dataList = []; |
| | | for (var i = 0; i < dataList.length; i++) { |
| | | var item = dataList[i]; |
| | | $noteWrapper.prepend([ |
| | | '<div class="note-item" data-id="', item.id, '">', |
| | | ' <div class="note-item-content">', util.escape(item.content), '</div>', |
| | | ' <div class="note-item-time">', item.time, '</div>', |
| | | ' <i class="layui-icon layui-icon-close-fill note-item-del"></i>', |
| | | '</div>' |
| | | ].join('')); |
| | | } |
| | | $('.note-empty').css('display', dataList.length === 0 ? 'block' : 'none'); |
| | | // 点击修改 |
| | | $('.note-item').click(function () { |
| | | var index = parseInt($(this).attr('data-id')); |
| | | showNote(dataList[index]); |
| | | }); |
| | | // 点击删除 |
| | | $('.note-item-del').click(function (e) { |
| | | var id = parseInt($(this).parent().attr('data-id')); |
| | | layer.confirm('确认删除吗?', { |
| | | skin: 'layui-layer-admin', |
| | | shade: .1, |
| | | shadeClose: true |
| | | }, function (index) { |
| | | layer.close(index); |
| | | dataList.splice(id, 1); |
| | | for (var i = 0; i < dataList.length; i++) dataList[i].id = i; |
| | | putDataList(); |
| | | renderList(); |
| | | }); |
| | | e.stopPropagation(); |
| | | }); |
| | | } |
| | | |
| | | renderList(); |
| | | |
| | | /* 添加 */ |
| | | $('#noteAddBtn').click(function () { |
| | | showNote(); |
| | | }); |
| | | |
| | | // 显示编辑弹窗 |
| | | function showNote(data) { |
| | | var id = data ? data.id : undefined, content = data ? data.content : ''; |
| | | admin.open({ |
| | | id: 'layer-note-edit', |
| | | title: '便签', |
| | | type: 1, |
| | | area: 'auto', |
| | | offset: '50px', |
| | | shadeClose: true, |
| | | content: '<textarea id="noteEditText" placeholder="请输入内容" style="width: 280px;height: 150px;border: none;color: #666666;word-wrap: break-word;padding: 10px 20px;resize: vertical;">' + content + '</textarea>', |
| | | success: function () { |
| | | $('#noteEditText').change(function () { |
| | | content = $(this).val(); |
| | | }); |
| | | }, |
| | | end: function () { |
| | | if (id !== undefined) { |
| | | if (!content) { |
| | | dataList.splice(id, 1); |
| | | for (var i = 0; i < dataList.length; i++) dataList[i].id = i; |
| | | } else if (content !== dataList[id].content) { |
| | | dataList[id].content = content; |
| | | dataList[id].time = util.toDateString(new Date(), 'yyyy-MM-dd HH:mm'); |
| | | } |
| | | } else if (content) { |
| | | dataList.push({ |
| | | id: dataList.length, content: content, |
| | | time: util.toDateString(new Date(), 'yyyy-MM-dd HH:mm') |
| | | }); |
| | | } |
| | | putDataList(); |
| | | renderList(); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | /* 更新本地缓存 */ |
| | | function putDataList() { |
| | | layui.data(admin.setter.tableName, {key: 'notes', value: dataList}); |
| | | } |
| | | |
| | | }); |
| | | </script> |
| | | |
| | | <style> |
| | | .note-wrapper { |
| | | padding: 15px 0 15px 15px; |
| | | background-color: #fbfbfb; |
| | | position: absolute; |
| | | top: 43px; |
| | | left: 0; |
| | | right: 0; |
| | | bottom: 0; |
| | | overflow-y: auto; |
| | | -webkit-overflow-scrolling: touch; |
| | | } |
| | | |
| | | .note-wrapper .note-item { |
| | | display: inline-block; |
| | | width: 110px; |
| | | padding: 12px; |
| | | cursor: pointer; |
| | | position: relative; |
| | | border-radius: 8px; |
| | | margin: 0 15px 15px 0; |
| | | border: 1px solid #eeeeee; |
| | | background-color: #ffffff; |
| | | -webkit-user-select: none; |
| | | -moz-user-select: none; |
| | | -ms-user-select: none; |
| | | user-select: none; |
| | | -webkit-transition: all .3s ease; |
| | | -moz-transition: all .3s ease; |
| | | -ms-transition: all .3s ease; |
| | | -o-transition: all .3s ease; |
| | | transition: all .3s ease; |
| | | } |
| | | |
| | | .note-wrapper .note-item:hover { |
| | | box-shadow: 0 0 8px rgba(0, 0, 0, .05); |
| | | -webkit-transform: scale(1.02); |
| | | -moz-transform: scale(1.02); |
| | | -ms-transform: scale(1.02); |
| | | -o-transform: scale(1.02); |
| | | transform: scale(1.02); |
| | | } |
| | | |
| | | .note-wrapper .note-item .note-item-content { |
| | | color: #666; |
| | | height: 80px; |
| | | font-size: 14px; |
| | | overflow: hidden; |
| | | word-break: break-all; |
| | | } |
| | | |
| | | .note-wrapper .note-item .note-item-time { |
| | | color: #999; |
| | | font-size: 12px; |
| | | margin-top: 8px; |
| | | } |
| | | |
| | | .note-wrapper .note-item .note-item-del { |
| | | position: absolute; |
| | | top: 2px; |
| | | right: 2px; |
| | | color: #FF5722; |
| | | font-size: 24px; |
| | | height: 24px; |
| | | width: 24px; |
| | | background-color: #fff; |
| | | border-radius: 50%; |
| | | visibility: hidden; |
| | | -webkit-transition: all .3s ease; |
| | | -moz-transition: all .3s ease; |
| | | -ms-transition: all .3s ease; |
| | | -o-transition: all .3s ease; |
| | | transition: all .3s ease; |
| | | opacity: 0; |
| | | } |
| | | |
| | | .note-wrapper .note-item:hover .note-item-del { |
| | | visibility: visible; |
| | | opacity: 1; |
| | | } |
| | | |
| | | .note-empty { |
| | | color: #999; |
| | | padding: 80px 0; |
| | | text-align: center; |
| | | display: none; |
| | | position: relative; |
| | | z-index: 1 |
| | | } |
| | | |
| | | .note-empty .layui-icon { |
| | | font-size: 60px; |
| | | margin-bottom: 10px; |
| | | display: inline-block; |
| | | } |
| | | </style> |
New file |
| | |
| | | <div class="layui-card-header">主题设置</div> |
| | | <div class="more-theme-list"> |
| | | <div class="more-theme-item" data-theme="theme-normal"> |
| | | <img src="tpl/theme/img/theme-admin.png"/> |
| | | </div> |
| | | <div class="more-theme-item" data-theme="theme-cyan"> |
| | | <img src="tpl/theme/img/theme-cyan.png"/> |
| | | </div> |
| | | <div class="more-theme-item" data-theme="theme-white"> |
| | | <img src="tpl/theme/img/theme-white.png"/> |
| | | </div> |
| | | <div class="more-theme-item" data-theme="theme-pink"> |
| | | <img src="tpl/theme/img/theme-pink.png"/> |
| | | </div> |
| | | <div class="more-theme-item active" data-theme="theme-colorful"> |
| | | <img src="tpl/theme/img/theme-colorful.png"/> |
| | | </div> |
| | | <div class="more-theme-item" data-theme="theme-blue"> |
| | | <img src="tpl/theme/img/theme-blue.png"/> |
| | | </div> |
| | | <div class="more-theme-item" data-theme="theme-green"> |
| | | <img src="tpl/theme/img/theme-green.png"/> |
| | | </div> |
| | | <div class="more-theme-item" data-theme="theme-purple"> |
| | | <img src="tpl/theme/img/theme-purple.png"/> |
| | | </div> |
| | | <!-- <div class="more-theme-item" data-theme="theme-red">--> |
| | | <!-- <img src="tpl/theme/img/theme-red.png"/>--> |
| | | <!-- </div>--> |
| | | <div class="more-theme-item" data-theme="theme-my"> |
| | | <img src="tpl/theme/img/theme-my.png"/> |
| | | </div> |
| | | </div> |
| | | <!-- 导航 --> |
| | | <div class="more-menu-list"> |
| | | <!-- <a class="more-menu-item" href="https://easyweb.vip/doc/" target="_blank">--> |
| | | <!-- <i class="layui-icon layui-icon-read" style="font-size: 19px;"></i> 开发文档--> |
| | | <!-- </a>--> |
| | | <!-- <a class="more-menu-item" href="https://demo.easyweb.vip/spa" target="_blank">--> |
| | | <!-- <i class="layui-icon layui-icon-tabs" style="font-size: 16px;"></i> spa版本--> |
| | | <!-- </a>--> |
| | | <!-- <a class="more-menu-item" href="https://demo.easyweb.vip/theme" target="_blank">--> |
| | | <!-- <i class="layui-icon layui-icon-theme"></i> 主题生成器--> |
| | | <!-- </a>--> |
| | | </div> |
| | | <!-- 控制开关 --> |
| | | <div class="layui-form" style="margin: 25px 0;" lay-filter="more-set-form"> |
| | | <div class="layui-form-item"> |
| | | <label class="set-item-label">页 脚:</label> |
| | | <div class="set-item-ctrl"> |
| | | <input id="setFooter" lay-filter="setFooter" type="checkbox" lay-skin="switch" lay-text="开启|关闭"> |
| | | </div> |
| | | <label class="set-item-label"> Tab 记忆:</label> |
| | | <div class="set-item-ctrl"> |
| | | <input id="setTab" lay-filter="setTab" type="checkbox" lay-skin="switch" lay-text="开启|关闭"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-form-item"> |
| | | <label class="set-item-label">多标签:</label> |
| | | <div class="set-item-ctrl"> |
| | | <input id="setMoreTab" lay-filter="setMoreTab" type="checkbox" lay-skin="switch" lay-text="开启|关闭"> |
| | | </div> |
| | | <label class="set-item-label">切换刷新:</label> |
| | | <div class="set-item-ctrl"> |
| | | <input id="setRefresh" lay-filter="setRefresh" type="checkbox" lay-skin="switch" lay-text="开启|关闭"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-form-item"> |
| | | <label class="set-item-label">导航箭头:</label> |
| | | <div class="set-item-ctrl"> |
| | | <input lay-filter="navArrow" type="radio" value="" title="默认" name="navArrow"> |
| | | <input lay-filter="navArrow" type="radio" value="arrow2" title="箭头" name="navArrow"> |
| | | <input lay-filter="navArrow" type="radio" value="arrow3" title="加号" name="navArrow"> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | <script> |
| | | layui.use(['form', 'admin'], function () { |
| | | var $ = layui.jquery; |
| | | var form = layui.form; |
| | | var admin = layui.admin; |
| | | var setter = admin.setter; |
| | | var $body = $('body'); |
| | | |
| | | // 切换主题 |
| | | var $themItem = $('.more-theme-item'); |
| | | $themItem.click(function () { |
| | | $themItem.removeClass('active'); |
| | | $(this).addClass('active'); |
| | | admin.changeTheme($(this).data('theme')); |
| | | }); |
| | | var theme = $body.data('theme'); |
| | | if (theme) { |
| | | $themItem.removeClass('active'); |
| | | $themItem.filter('[data-theme="' + theme + '"]').addClass('active'); |
| | | } |
| | | |
| | | // 关闭/开启页脚 |
| | | form.on('switch(setFooter)', function (data) { |
| | | var checked = data.elem.checked; |
| | | admin.putSetting('closeFooter', !checked); |
| | | checked ? $body.removeClass('close-footer') : $body.addClass('close-footer'); |
| | | }); |
| | | $('#setFooter').prop('checked', !$body.hasClass('close-footer')); |
| | | |
| | | // 关闭/开启Tab记忆功能 |
| | | form.on('switch(setTab)', function (data) { |
| | | layui.index.setTabCache(data.elem.checked); |
| | | }); |
| | | $('#setTab').prop('checked', setter.cacheTab); |
| | | |
| | | // 关闭/开启多标签 |
| | | form.on('switch(setMoreTab)', function (data) { |
| | | var checked = data.elem.checked; |
| | | admin.putSetting('pageTabs', checked); |
| | | admin.putTempData('indexTabs', undefined); |
| | | location.reload(); |
| | | }); |
| | | $('#setMoreTab').prop('checked', setter.pageTabs); |
| | | |
| | | // 切换Tab自动刷新 |
| | | var $mainTab = $('.layui-body>.layui-tab[lay-filter="admin-pagetabs"]'); |
| | | form.on('switch(setRefresh)', function (data) { |
| | | var checked = data.elem.checked; |
| | | admin.putSetting('tabAutoRefresh', checked); |
| | | checked ? $mainTab.attr('lay-autoRefresh', 'true') : $mainTab.removeAttr('lay-autoRefresh'); |
| | | }); |
| | | $('#setRefresh').prop('checked', setter.tabAutoRefresh === true); |
| | | |
| | | // 导航小三角 |
| | | var $leftNav = $('.layui-layout-admin>.layui-side>.layui-side-scroll>.layui-nav'); |
| | | form.on('radio(navArrow)', function (data) { |
| | | $leftNav.removeClass('arrow2 arrow3'); |
| | | data.value && $leftNav.addClass(data.value); |
| | | admin.putSetting('navArrow', data.value); |
| | | }); |
| | | var navArrow = $leftNav.hasClass('arrow2') ? 'arrow2' : $leftNav.hasClass('arrow3') ? 'arrow3' : ''; |
| | | $('[name="navArrow"][value="' + navArrow + '"]').prop('checked', true); |
| | | |
| | | form.render('radio', 'more-set-form'); |
| | | form.render('checkbox', 'more-set-form'); |
| | | }); |
| | | </script> |
| | | |
| | | <style> |
| | | /* theme */ |
| | | .more-theme-list { |
| | | padding-left: 15px; |
| | | padding-top: 20px; |
| | | margin-bottom: 10px; |
| | | } |
| | | |
| | | .more-theme-item { |
| | | padding: 4px; |
| | | margin: 0 6px 15px 0; |
| | | display: inline-block; |
| | | border: 1px solid transparent; |
| | | } |
| | | |
| | | .more-theme-item img { |
| | | width: 80px; |
| | | height: 50px; |
| | | background: #f5f7f9; |
| | | box-sizing: border-box; |
| | | border: 1px solid #f5f7f9; |
| | | cursor: pointer; |
| | | } |
| | | |
| | | .more-theme-item:hover, .more-theme-item.active { |
| | | border-color: #5FB878; |
| | | } |
| | | |
| | | .more-menu-item { |
| | | color: #595959; |
| | | height: 50px; |
| | | line-height: 50px; |
| | | font-size: 16px; |
| | | padding: 0 25px; |
| | | border-bottom: 1px solid #e8e8e8; |
| | | font-style: normal; |
| | | display: block; |
| | | } |
| | | |
| | | /* menu */ |
| | | .more-menu-item:first-child { |
| | | border-top: 1px solid #e8e8e8; |
| | | } |
| | | |
| | | .more-menu-item:hover { |
| | | color: #595959; |
| | | background: #f6f6f6; |
| | | } |
| | | |
| | | .more-menu-item .layui-icon { |
| | | font-size: 18px; |
| | | padding-right: 10px; |
| | | } |
| | | |
| | | .more-menu-item:after { |
| | | color: #8c8c8c; |
| | | right: 16px; |
| | | content: "\e602"; |
| | | position: absolute; |
| | | font-family: layui-icon !important; |
| | | } |
| | | |
| | | .more-menu-item.no-icon:after { |
| | | display: none; |
| | | } |
| | | |
| | | /* setting from */ |
| | | .set-item-label { |
| | | height: 38px; |
| | | line-height: 38px; |
| | | padding-left: 20px; |
| | | display: inline-block; |
| | | } |
| | | |
| | | .set-item-ctrl { |
| | | height: 38px; |
| | | line-height: 38px; |
| | | display: inline-block; |
| | | } |
| | | |
| | | .set-item-ctrl > * { |
| | | margin: 0 !important; |
| | | } |
| | | </style> |
New file |
| | |
| | | <!DOCTYPE html> |
| | | <html lang="en"> |
| | | <head> |
| | | <meta charset="utf-8"> |
| | | <title></title> |
| | | <meta name="renderer" content="webkit"> |
| | | <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> |
| | | <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> |
| | | <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all"> |
| | | <link rel="stylesheet" href="../../static/css/admin.css?v=318" media="all"> |
| | | <link rel="stylesheet" href="../../static/css/cool.css" media="all"> |
| | | <link rel="stylesheet" href="../../static/css/originTable.css" media="all"> |
| | | <style> |
| | | body { |
| | | color: #595959; |
| | | background-color: #f5f7f9; |
| | | } |
| | | |
| | | .admin-form { |
| | | padding: 25px 30px 0 0 !important; |
| | | margin: 0 !important; |
| | | } |
| | | </style> |
| | | </head> |
| | | <body> |
| | | <!-- 正文开始 --> |
| | | <div class="layui-fluid" style="padding-bottom: 0;"> |
| | | <div class="layui-row layui-col-space15"> |
| | | <div class="layui-col-md12"> |
| | | <div class="layui-card"> |
| | | <div class="layui-card-body" style="padding: 10px;"> |
| | | <form class="layui-form toolbar"> |
| | | <div class="layui-form-item"> |
| | | <div class="layui-inline"> |
| | | <label class="layui-form-label">用户名:</label> |
| | | <div class="layui-input-inline"> |
| | | <input name="username" class="layui-input" placeholder="输入用户名"/> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline"> |
| | | <label class="layui-form-label">手机号:</label> |
| | | <div class="layui-input-inline"> |
| | | <input name="mobile" class="layui-input" placeholder="输入手机号"/> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline">  |
| | | <button class="layui-btn icon-btn" lay-filter="userTbSearch" lay-submit> |
| | | <i class="layui-icon"></i>搜索 |
| | | </button> |
| | | </div> |
| | | </div> |
| | | </form> |
| | | <table id="userTable" lay-filter="userTable"></table> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | <script type="text/html" id="hostTpl"> |
| | | <span name="hostName" class="layui-badge layui-badge-gray">{{d.hostName}}</span> |
| | | </script> |
| | | |
| | | <script type="text/html" id="statusTpl"> |
| | | <input type="checkbox" name="status" value="{{d.status}}" lay-skin="switch" lay-text="正常|禁用" lay-filter="statusSwitch" {{ d.status === 1 ? 'checked' : '' }}> |
| | | </script> |
| | | |
| | | <script type="text/html" id="operate"> |
| | | <a class="layui-btn layui-btn-xs btn-edit" lay-event="edit">编辑</a> |
| | | <a class="layui-btn layui-btn-xs btn-edit layui-btn-warm" lay-event="resetPwd">重置密码</a> |
| | | </script> |
| | | |
| | | <script type="text/html" id="userToolbar"> |
| | | <div class="layui-btn-container"> |
| | | <button class="layui-btn layui-btn-sm layui-btn-normal" id="btn-add" lay-event="add"><i class="layui-icon"></i>新增</button> |
| | | <button class="layui-btn layui-btn-sm layui-btn-danger" id="btn-delete" lay-event="del"><i class="layui-icon"></i>删除</button> |
| | | </div> |
| | | </script> |
| | | |
| | | <!-- 重置密码 --> |
| | | <script type="text/html" id="resetpwd-window"> |
| | | <form class="layui-form model-form"> |
| | | <input type="hidden" id="resetUserId" name="resetUserId"> |
| | | <div class="layui-form-item"> |
| | | <label class="layui-form-label layui-form-required">新密码:</label> |
| | | <div class="layui-input-block"> |
| | | <input id="resetPassword" name="resetPassword" placeholder="请输入新密码" class="layui-input" lay-verify="required" autocomplete="off"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-form-item text-right"> |
| | | <button class="layui-btn layui-btn-normal" id="savePwd" lay-filter="savePwd" lay-submit="">确定</button> |
| | | <button class="layui-btn layui-btn-primary" type="button" ew-event="closeDialog">取消</button> |
| | | </div> |
| | | </form> |
| | | </script> |
| | | |
| | | <!-- 表单弹窗 --> |
| | | <script type="text/html" id="editDialog"> |
| | | <form id="detail" lay-filter="detail" class="layui-form admin-form"> |
| | | <input name="id" type="hidden"> |
| | | <input name="status" type="hidden"> |
| | | <div class="layui-row"> |
| | | |
| | | <div class="layui-col-md6"> |
| | | <div class="layui-form-item"> |
| | | <label class="layui-form-label layui-form-required">登录账户</label> |
| | | <div class="layui-input-block"> |
| | | <input name="username" placeholder="请输入登录账户" class="layui-input" lay-vertype="tips" lay-verify="required" required=""> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="layui-form-item"> |
| | | <label class="layui-form-label">角色:</label> |
| | | <div class="layui-input-block cool-auto-complete"> |
| | | <input name="roleId" class="layui-input" style="display: none"> |
| | | <input id="roleName" name="roleName" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="请选择角色" onfocus=this.blur()> |
| | | <div class="cool-auto-complete-window"> |
| | | <input class="cool-auto-complete-window-input" data-key="roleQuery" onkeyup="autoLoad(this.getAttribute('data-key'))"> |
| | | <select class="cool-auto-complete-window-select" data-key="roleQuerySelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple"> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="layui-col-md6"> |
| | | <div class="layui-form-item"> |
| | | <label class="layui-form-label layui-form-required">手机号</label> |
| | | <div class="layui-input-block"> |
| | | <input name="mobile" placeholder="请输入手机号" class="layui-input" lay-vertype="tips" lay-verify="required" required=""> |
| | | </div> |
| | | </div> |
| | | <div class="layui-form-item"> |
| | | <label class="layui-form-label">邮箱</label> |
| | | <div class="layui-input-block"> |
| | | <input name="email" placeholder="请输入邮箱" class="layui-input"> |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | </div> |
| | | <hr class="layui-bg-gray"> |
| | | <div class="layui-form-item text-right"> |
| | | <button class="layui-btn" lay-filter="editSubmit" lay-submit="">保存</button> |
| | | <button class="layui-btn layui-btn-primary" type="button" ew-event="closeDialog">取消</button> |
| | | </div> |
| | | </form> |
| | | </script> |
| | | |
| | | <script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script> |
| | | <script type="text/javascript" src="../../static/js/handlebars/handlebars-v4.5.3.js"></script> |
| | | <script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script> |
| | | <script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script> |
| | | <script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script> |
| | | <script type="text/javascript" src="../../static/js/tools/md5.js"></script> |
| | | <script type="text/javascript" src="../../static/js/user/user.js" charset="utf-8"></script> |
| | | |
| | | <!-- 项目编辑窗口 --> |
| | | <script type="text/html" id="hostEditDialog"> |
| | | <form id="hostEditForm" lay-filter="hostEditForm" class="layui-form model-form"> |
| | | <input name="id" type="hidden"/> |
| | | <div class="layui-form-item"> |
| | | <label class="layui-form-label layui-form-required">项目名称:</label> |
| | | <div class="layui-input-block"> |
| | | <input name="name" placeholder="请输入类型名称" class="layui-input" |
| | | lay-verType="tips" lay-verify="required" required/> |
| | | </div> |
| | | </div> |
| | | <div class="layui-form-item text-right"> |
| | | <button class="layui-btn" lay-filter="hostEditSubmit" lay-submit>保存</button> |
| | | <button class="layui-btn layui-btn-primary" type="button" ew-event="closeDialog">取消</button> |
| | | </div> |
| | | </form> |
| | | </script> |
| | | </body> |
| | | </html> |
| | | |
New file |
| | |
| | | <!DOCTYPE html> |
| | | <html lang="en"> |
| | | <head> |
| | | <meta charset="utf-8"> |
| | | <title></title> |
| | | <meta name="renderer" content="webkit"> |
| | | <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> |
| | | <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> |
| | | <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all"> |
| | | <link rel="stylesheet" href="../../static/css/cool.css" media="all"> |
| | | <link rel="stylesheet" href="../../static/css/common.css" media="all"> |
| | | </head> |
| | | <body> |
| | | |
| | | <!-- 详情 --> |
| | | <div id="data-detail" class="layer_self_wrap"> |
| | | <form id="detail" class="layui-form" style="text-align: center"> |
| | | <div class="layui-inline" style="display: none"> |
| | | <label class="layui-form-label"><span class="not-null">*</span>编 号:</label> |
| | | <div class="layui-input-inline"> |
| | | <input id="id" class="layui-input" type="text" placeholder="编号"> |
| | | </div> |
| | | </div> |
| | | <!-- <div class="layui-inline" style="width:31%;display: none">--> |
| | | <!-- <label class="layui-form-label"><span class="not-null">*</span>授权商户:</label>--> |
| | | <!-- <div class="layui-input-inline cool-auto-complete">--> |
| | | <!-- <input id="hostId" class="layui-input" type="text" placeholder="授权商户" lay-verify="required" style="display: none">--> |
| | | <!-- <input id="hostName" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="授权商户" onfocus=this.blur()>--> |
| | | <!-- <div class="cool-auto-complete-window">--> |
| | | <!-- <input class="cool-auto-complete-window-input" data-key="hostQuery" onkeyup="autoLoad(this.getAttribute('data-key'))">--> |
| | | <!-- <select class="cool-auto-complete-window-select" data-key="hostQuerySelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">--> |
| | | <!-- </select>--> |
| | | <!-- </div>--> |
| | | <!-- </div>--> |
| | | <!-- </div>--> |
| | | <div class="layui-inline" style="width:80%;"> |
| | | <label class="layui-form-label"><span class="not-null">*</span>帐 号:</label> |
| | | <div class="layui-input-inline"> |
| | | <input id="mobile" class="layui-input" type="text" placeholder="账号" lay-verify="required" autocomplete="off"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline" style="width:80%;"> |
| | | <label class="layui-form-label"><span class="not-null">*</span>名 称:</label> |
| | | <div class="layui-input-inline"> |
| | | <input id="username" class="layui-input" type="text" placeholder="名称" lay-verify="required" autocomplete="off"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline" style="width:80%;"> |
| | | <label class="layui-form-label">密 码:</label> |
| | | <div class="layui-input-inline"> |
| | | <input id="password" class="layui-input" type="text" placeholder="密码" autocomplete="off"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline" style="width:80%;"> |
| | | <label class="layui-form-label"><span class="not-null">*</span>角 色:</label> |
| | | <div class="layui-input-inline cool-auto-complete"> |
| | | <input id="roleId" class="layui-input" type="text" placeholder="角色" lay-verify="required" style="display: none"> |
| | | <input id="roleName" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="角色" onfocus=this.blur()> |
| | | <div class="cool-auto-complete-window"> |
| | | <input class="cool-auto-complete-window-input" data-key="roleQuery" onkeyup="autoLoad(this.getAttribute('data-key'))"> |
| | | <select class="cool-auto-complete-window-select" data-key="roleQuerySelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple"> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | <hr class="layui-bg-gray"> |
| | | |
| | | <div id="data-detail-btn" class="layui-btn-container layui-form-item"> |
| | | <div id="data-detail-submit" type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="edit">保存</div> |
| | | <div id="data-detail-close" type="button" class="layui-btn" lay-submit lay-filter="close">关闭</div> |
| | | </div> |
| | | |
| | | <div id="prompt"> |
| | | 温馨提示:请仔细填写相关信息,<span class="extrude"><span class="not-null">*</span> 为必填选项。</span> |
| | | </div> |
| | | </form> |
| | | </div> |
| | | </body> |
| | | <script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script> |
| | | <script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script> |
| | | <script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script> |
| | | <script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script> |
| | | <script type="text/javascript" src="../../static/js/tools/md5.js"></script> |
| | | <script type="text/javascript" src="../../static/js/user/user.js" charset="utf-8"></script> |
| | | </html> |
| | | |
New file |
| | |
| | | <!DOCTYPE html> |
| | | <html lang="en"> |
| | | <head> |
| | | <meta charset="utf-8"> |
| | | <title></title> |
| | | <meta name="renderer" content="webkit"> |
| | | <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> |
| | | <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> |
| | | <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all"> |
| | | <link rel="stylesheet" href="../../static/css/cool.css" media="all"> |
| | | <link rel="stylesheet" href="../../static/css/common.css" media="all"> |
| | | </head> |
| | | <body> |
| | | |
| | | <!-- 搜索栏 --> |
| | | <div id="search-box" class="layui-form layui-card-header"> |
| | | <div class="layui-inline"> |
| | | <div class="layui-input-inline cool-auto-complete"> |
| | | <input id="userId" class="layui-input" name="user_id" type="text" placeholder="请输入" autocomplete="off" style="display: none"> |
| | | <input id="userUsername" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="用户" onfocus=this.blur()> |
| | | <div class="cool-auto-complete-window"> |
| | | <input class="cool-auto-complete-window-input" data-key="userQuery" onkeyup="autoLoad(this.getAttribute('data-key'))"> |
| | | <select class="cool-auto-complete-window-select" data-key="userQuerySelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple"> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | <!-- 待添加 --> |
| | | <div id="data-search-btn" class="layui-btn-container layui-form-item"> |
| | | <button id="search" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="search">搜索</button> |
| | | <button id="reset" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="reset">重置</button> |
| | | </div> |
| | | </div> |
| | | |
| | | <!-- 表格 --> |
| | | <table class="layui-hide" id="userLogin" lay-filter="userLogin"></table> |
| | | <script type="text/html" id="toolbar"> |
| | | <div class="layui-btn-container"> |
| | | <button class="layui-btn layui-btn-sm" id="btn-add" lay-event="addData">新增</button> |
| | | <button class="layui-btn layui-btn-sm" id="btn-delete" lay-event="deleteData">删除</button> |
| | | <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData">导出</button> |
| | | </div> |
| | | </script> |
| | | |
| | | <script type="text/html" id="operate"> |
| | | <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="detail">详情</a> |
| | | <a class="layui-btn layui-btn-xs btn-edit" lay-event="edit">编辑</a> |
| | | </script> |
| | | |
| | | <script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script> |
| | | <script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script> |
| | | <script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script> |
| | | <script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script> |
| | | <script type="text/javascript" src="../../static/js/userLogin/userLogin.js" charset="utf-8"></script> |
| | | |
| | | <iframe id="detail-iframe" scrolling="auto" style="display:none;"></iframe> |
| | | |
| | | </body> |
| | | </html> |
| | | |
New file |
| | |
| | | <!DOCTYPE html> |
| | | <html lang="en"> |
| | | <head> |
| | | <meta charset="utf-8"> |
| | | <title></title> |
| | | <meta name="renderer" content="webkit"> |
| | | <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> |
| | | <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> |
| | | <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all"> |
| | | <link rel="stylesheet" href="../../static/css/cool.css" media="all"> |
| | | <link rel="stylesheet" href="../../static/css/common.css" media="all"> |
| | | </head> |
| | | <body> |
| | | |
| | | <!-- 详情 --> |
| | | <div id="data-detail" class="layer_self_wrap"> |
| | | <form id="detail" class="layui-form"> |
| | | <div class="layui-inline" style="display: none"> |
| | | <label class="layui-form-label"><span class="not-null">*</span>编 号:</label> |
| | | <div class="layui-input-inline"> |
| | | <input id="id" class="layui-input" type="text" placeholder="编号"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline" style="width:31%;"> |
| | | <label class="layui-form-label"><span class="not-null">*</span>员 工:</label> |
| | | <div class="layui-input-inline cool-auto-complete"> |
| | | <input id="userId" class="layui-input" type="text" placeholder="员工" lay-verify="required" style="display: none"> |
| | | <input id="userUsername" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="员工" onfocus=this.blur()> |
| | | <div class="cool-auto-complete-window"> |
| | | <input class="cool-auto-complete-window-input" data-key="userQuery" onkeyup="autoLoad(this.getAttribute('data-key'))"> |
| | | <select class="cool-auto-complete-window-select" data-key="userQuerySelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple"> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline" style="width:31%;"> |
| | | <label class="layui-form-label"><span class="not-null">*</span>凭 证 值:</label> |
| | | <div class="layui-input-inline"> |
| | | <input id="token" class="layui-input" type="text" placeholder="凭证值" lay-verify="required" > |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline" style="width:31%;"> |
| | | <label class="layui-form-label"><span class="not-null">*</span>添加时间:</label> |
| | | <div class="layui-input-inline"> |
| | | <input id="createTime$" class="layui-input" type="text" placeholder="添加时间" lay-verify="required" > |
| | | </div> |
| | | </div> |
| | | |
| | | |
| | | <hr class="layui-bg-gray"> |
| | | |
| | | <div id="data-detail-btn" class="layui-btn-container layui-form-item"> |
| | | <div id="data-detail-submit" type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="edit">保存</div> |
| | | <div id="data-detail-close" type="button" class="layui-btn" lay-submit lay-filter="close">关闭</div> |
| | | </div> |
| | | |
| | | <div id="prompt"> |
| | | 温馨提示:请仔细填写相关信息,<span class="extrude"><span class="not-null">*</span> 为必填选项。</span> |
| | | </div> |
| | | </form> |
| | | </div> |
| | | </body> |
| | | <script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script> |
| | | <script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script> |
| | | <script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script> |
| | | <script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script> |
| | | <script type="text/javascript" src="../../static/js/userLogin/userLogin.js" charset="utf-8"></script> |
| | | </html> |
| | | |