完成登录页和首页的功能,部分前端框架东西进行修改
|
@ -3,7 +3,7 @@ html {
|
|||
}
|
||||
body.signin {
|
||||
height:auto;
|
||||
background:url(../img/login-background.jpg) no-repeat center fixed;
|
||||
background:url(../img/index.jpg) no-repeat center fixed;
|
||||
-webkit-background-size:cover;
|
||||
-moz-background-size:cover;
|
||||
-o-background-size:cover;
|
||||
|
|
|
@ -1 +1 @@
|
|||
html{height:100%}body.signin{height:auto;background:url(../img/login-background.jpg) no-repeat center fixed;-webkit-background-size:cover;-moz-background-size:cover;-o-background-size:cover;background-size:cover}.signinpanel{width:750px;margin:10% auto 0;color:rgba(255,255,255,.95)}.signinpanel .logopanel{float:none;width:auto;padding:0;background:0}.signinpanel .signin-info ul{list-style:none;padding:0;margin:20px 0}.signinpanel .form-control{display:block;margin-top:15px}.signinpanel .uname{background:#fff url(../img/user.png) no-repeat 95% center;color:#333}.signinpanel .pword{background:#fff url(../img/locked.png) no-repeat 95% center;color:#333}.signinpanel .code{background:#fff no-repeat 95% center;color:#333;margin:0 0 15px 0}.signinpanel .btn{margin-top:15px}.signinpanel form{background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.3);-moz-box-shadow:0 3px 0 rgba(12,12,12,.03);-webkit-box-shadow:0 3px 0 rgba(12,12,12,.03);box-shadow:0 3px 0 rgba(12,12,12,.03);-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;padding:30px}.signup-footer{border-top:solid 1px rgba(255,255,255,.3);margin:20px 0;padding-top:15px}@media screen and (max-width:768px){.signinpanel,.signuppanel{margin:0 auto;width:380px!important;padding:20px}.signinpanel form{margin-top:20px}.signup-footer,.signuppanel .form-control{margin-bottom:10px}.signup-footer .pull-left,.signup-footer .pull-right{float:none!important;text-align:center}.signinpanel .signin-info ul{display:none}}@media screen and (max-width:320px){.signinpanel,.signuppanel{margin:0 20px;width:auto}}.checkbox-custom{position:relative;padding:0 15px 0 25px;margin-bottom:7px;display:inline-block}.checkbox-custom input[type="checkbox"]{opacity:0;position:absolute;cursor:pointer;z-index:2;margin:-6px 0 0 0;top:50%;left:3px}.checkbox-custom label:before{content:'';position:absolute;top:50%;left:0;margin-top:-9px;width:18px;height:17px;display:inline-block;border-radius:2px;border:1px solid #bbb;background:#fff}.checkbox-custom input[type="checkbox"]:checked+label:after{position:absolute;display:inline-block;font-family:'Glyphicons Halflings';content:"\e013";top:42%;left:3px;margin-top:-5px;font-size:11px;line-height:1;width:16px;height:16px;color:#333}.checkbox-custom label{cursor:pointer;line-height:1.2;font-weight:normal;margin-bottom:0;text-align:left}.form-control,.form-control:focus,.has-error .form-control:focus,.has-success .form-control:focus,.has-warning .form-control:focus,.navbar-collapse,.navbar-form,.navbar-form-custom .form-control:focus,.navbar-form-custom .form-control:hover,.open .btn.dropdown-toggle,.panel,.popover,.progress,.progress-bar{box-shadow:none}.form-control{border-radius:1px!important;padding:6px 12px!important;height:34px!important}.form-control:focus{border-color:#1ab394!important}
|
||||
html{height:100%}body.signin{height:auto;background:url(../img/index.jpg) no-repeat center fixed;-webkit-background-size:cover;-moz-background-size:cover;-o-background-size:cover;background-size:cover}.signinpanel{margin:10% auto 0;color:rgba(255,255,255,.95)}.signinpanel .logopanel{float:none;width:auto;padding:0;background:0}.signinpanel .signin-info ul{list-style:none;padding:0;margin:20px 0}.signinpanel .form-control{display:block;margin-top:15px}.signinpanel .uname{background:#fff url(../img/user.png) no-repeat 95% center;color:#333}.signinpanel .pword{background:#fff url(../img/locked.png) no-repeat 95% center;color:#333}.signinpanel .code{background:#fff no-repeat 95% center;color:#333;margin:0 0 15px 0}.signinpanel .btn{margin-top:15px}.signinpanel form{background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.3);-moz-box-shadow:0 3px 0 rgba(12,12,12,.03);-webkit-box-shadow:0 3px 0 rgba(12,12,12,.03);box-shadow:0 3px 0 rgba(12,12,12,.03);-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;padding:30px}.signup-footer{width:100%;text-align:center;position: fixed;bottom:0;box-sizing: border-box;border-top:solid 1px rgba(255,255,255,.3);color: #ffffff;padding:15px}@media screen and (max-width:768px){.signinpanel,.signuppanel{margin:0 auto;width:380px!important;padding:20px}.signinpanel form{margin-top:20px}.signup-footer,.signuppanel .form-control{margin-bottom:10px}.signup-footer .pull-left,.signup-footer .pull-right{float:none!important;text-align:center}.signinpanel .signin-info ul{display:none}}@media screen and (max-width:320px){.signinpanel,.signuppanel{margin:0 20px;width:auto}}.checkbox-custom{position:relative;padding:0 15px 0 25px;margin-bottom:7px;display:inline-block}.checkbox-custom input[type="checkbox"]{opacity:0;position:absolute;cursor:pointer;z-index:2;margin:-6px 0 0 0;top:50%;left:3px}.checkbox-custom label:before{content:'';position:absolute;top:50%;left:0;margin-top:-9px;width:18px;height:17px;display:inline-block;border-radius:2px;border:1px solid #bbb;background:#fff}.checkbox-custom input[type="checkbox"]:checked+label:after{position:absolute;display:inline-block;font-family:'Glyphicons Halflings';content:"\e013";top:42%;left:3px;margin-top:-5px;font-size:11px;line-height:1;width:16px;height:16px;color:#333}.checkbox-custom label{cursor:pointer;line-height:1.2;font-weight:normal;margin-bottom:0;text-align:left}.form-control,.form-control:focus,.has-error .form-control:focus,.has-success .form-control:focus,.has-warning .form-control:focus,.navbar-collapse,.navbar-form,.navbar-form-custom .form-control:focus,.navbar-form-custom .form-control:hover,.open .btn.dropdown-toggle,.panel,.popover,.progress,.progress-bar{box-shadow:none}.form-control{border-radius:1px!important;padding:6px 12px!important;height:34px!important}.form-control:focus{border-color:#1ab394!important}
|
After Width: | Height: | Size: 681 KiB |
After Width: | Height: | Size: 38 KiB |
After Width: | Height: | Size: 64 KiB |
After Width: | Height: | Size: 72 KiB |
After Width: | Height: | Size: 74 KiB |
After Width: | Height: | Size: 23 KiB |
After Width: | Height: | Size: 108 KiB |
After Width: | Height: | Size: 21 KiB |
After Width: | Height: | Size: 11 KiB |
After Width: | Height: | Size: 5.7 KiB |
After Width: | Height: | Size: 8.9 KiB |
After Width: | Height: | Size: 6.4 KiB |
After Width: | Height: | Size: 6.6 KiB |
After Width: | Height: | Size: 5.5 KiB |
|
@ -0,0 +1,329 @@
|
|||
function initContentMenu() {
|
||||
// 基于准备好的dom,初始化echarts实例
|
||||
var myChart = echarts.init(document.getElementById('main_center_echarts'));
|
||||
let color = ['#ffffff', '#ffe93a', '#36fff6', '#67f95f'];
|
||||
let oneArr = [{
|
||||
name: '',
|
||||
type: 0,
|
||||
//logo图片
|
||||
symbol: 'image://../img/main_center/center_icon.png',
|
||||
symbolSize: 100,
|
||||
itemStyle: {
|
||||
color: {
|
||||
type: 'linear',
|
||||
x: 0,
|
||||
x2: 0,
|
||||
y2: 1,
|
||||
colorStops: [{
|
||||
offset: 0,
|
||||
color: '#ffe93a' // 0% 处的颜色
|
||||
}, {
|
||||
offset: 1,
|
||||
color: '#36fff6' // 100% 处的颜色
|
||||
}],
|
||||
global: false // 缺省为 false
|
||||
}
|
||||
}
|
||||
}];
|
||||
let erArr = [{
|
||||
name: '部门年度考核完成情况',
|
||||
type: 2,
|
||||
symbol:'image://../img/main_center/icon2.png'
|
||||
}, {
|
||||
name: '党风廉政建设',
|
||||
type: 2,
|
||||
symbol:'image://../img/main_center/icon4.png'
|
||||
}, {
|
||||
name: '党务及意识形态',
|
||||
type: 2,
|
||||
symbol:'image://../img/main_center/icon3.png'
|
||||
}, {
|
||||
name: '部门日常考核完成情况',
|
||||
type: 2,
|
||||
symbol:'image://../img/main_center/icon1.png'
|
||||
}];
|
||||
let allArr = [...oneArr, ...erArr],
|
||||
dataArr = [];
|
||||
// 点
|
||||
allArr.forEach((el, ind) => {
|
||||
if (el.type > 0) {
|
||||
el.symbolSize = 50
|
||||
// el.symbol = "image://././images/index/dc1.png";
|
||||
el.itemStyle = {
|
||||
color: color[el.type],
|
||||
};
|
||||
}
|
||||
if(ind === 1 || ind === 2){
|
||||
el.label = {
|
||||
show: true,
|
||||
position: "right",
|
||||
distance: 10,
|
||||
color: color[el.type],
|
||||
};
|
||||
}else{
|
||||
el.label = {
|
||||
show: true,
|
||||
position: "left",
|
||||
distance: 10,
|
||||
color: color[el.type],
|
||||
};
|
||||
}
|
||||
let _str = `\n\n目前考核分:100分\n\n当前分数:65分\n\n当前进度:25%`;
|
||||
if(el.name){
|
||||
el.name = el.name+_str;
|
||||
}
|
||||
});
|
||||
|
||||
// 圆形分区
|
||||
function group(arr, r) {
|
||||
const newArray = [];
|
||||
const {
|
||||
length: arLen
|
||||
} = arr;
|
||||
arr.forEach((e, ind) => {
|
||||
// 按角度均匀分布 本来为90°分割,现在多加45°
|
||||
const ang = 90 - (360 / arLen).toFixed(2) * (ind + 1)+45;
|
||||
const x = (Math.cos(ang * Math.PI / 180)).toFixed(2) * r;
|
||||
const y = (Math.sin(ang * Math.PI / 180)).toFixed(2) * r;
|
||||
const x1 = (Math.cos(ang * Math.PI / 180)).toFixed(2) * (r - 5);
|
||||
const y1 = (Math.sin(ang * Math.PI / 180)).toFixed(2) * (r - 5);
|
||||
const x0 = (Math.cos(ang * Math.PI / 180)).toFixed(2) * (r - 30);
|
||||
const y0 = (Math.sin(ang * Math.PI / 180)).toFixed(2) * (r - 30);
|
||||
e.value = [x.toFixed(2), y.toFixed(2)]
|
||||
e.twoPoint = [
|
||||
[x1.toFixed(2), y1.toFixed(2)],
|
||||
[x0.toFixed(2), y0.toFixed(2)]
|
||||
];
|
||||
newArray.push(e);
|
||||
});
|
||||
return newArray;
|
||||
}
|
||||
|
||||
// 线配置
|
||||
function linesConfig(arr) {
|
||||
const [dataArr, targetCoord] = [
|
||||
[],
|
||||
[0, 0]
|
||||
];
|
||||
arr.forEach((el) => {
|
||||
function getFormatItem(start, end) {
|
||||
let item = [{
|
||||
coord: el.twoPoint[start]
|
||||
}, // 起点
|
||||
{
|
||||
coord: el.twoPoint[end],
|
||||
lineStyle: {
|
||||
color: color[el.type],
|
||||
curveness: el.type === 1 ? 0.4 : 0,
|
||||
},
|
||||
effect: {
|
||||
color: color[el.type]
|
||||
}
|
||||
}, // 终点
|
||||
]
|
||||
return item
|
||||
}
|
||||
switch (el.type) {
|
||||
case 0:
|
||||
break;
|
||||
case 1:
|
||||
dataArr.push(getFormatItem(0, 1));
|
||||
break;
|
||||
case 2:
|
||||
dataArr.push(getFormatItem(1, 0));
|
||||
break;
|
||||
case 3:
|
||||
dataArr.push(getFormatItem(0, 1));
|
||||
break;
|
||||
case 4:
|
||||
dataArr.push(getFormatItem(1, 0));
|
||||
break;
|
||||
}
|
||||
});
|
||||
return dataArr;
|
||||
}
|
||||
|
||||
// 点分布
|
||||
oneArr = group(oneArr, 0);
|
||||
erArr = group(erArr, 40);
|
||||
|
||||
allArr = [...oneArr, ...erArr];
|
||||
// 线坐标和配置
|
||||
dataArr = linesConfig(allArr);
|
||||
|
||||
function generateData(totalNum, bigvalue, smallvalue, color) {
|
||||
let dataArr = [];
|
||||
for (var i = 0; i < totalNum; i++) {
|
||||
if (i % 2 === 0) {
|
||||
dataArr.push({
|
||||
name: (i + 1).toString(),
|
||||
value: bigvalue,
|
||||
itemStyle: {
|
||||
color: color,
|
||||
borderWidth: 0,
|
||||
}
|
||||
});
|
||||
} else {
|
||||
dataArr.push({
|
||||
name: (i + 1).toString(),
|
||||
value: smallvalue,
|
||||
itemStyle: {
|
||||
color: "rgba(0,0,0,0)",
|
||||
borderWidth: 0,
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
return dataArr;
|
||||
}
|
||||
|
||||
let dolitData = generateData(100, 25, 20, 'rgb(126,190,255)');
|
||||
let threeData = generateData(6, 40, 10, '#2dc0c9');
|
||||
|
||||
function getOption(startAngle, radius) {
|
||||
let option = {
|
||||
// backgroundColor: '#081c47',
|
||||
title: {
|
||||
text: '',
|
||||
left: 'center',
|
||||
textStyle: {
|
||||
color: '#fff'
|
||||
}
|
||||
},
|
||||
xAxis: {
|
||||
show: false,
|
||||
type: "value",
|
||||
max: 50,
|
||||
min: -51,
|
||||
},
|
||||
grid: {
|
||||
top: 10,
|
||||
bottom: 10,
|
||||
left: 10,
|
||||
right: 10,
|
||||
},
|
||||
yAxis: {
|
||||
show: false,
|
||||
type: "value",
|
||||
max: 50,
|
||||
min: -50,
|
||||
},
|
||||
series: [{
|
||||
name: "节点",
|
||||
type: "graph",
|
||||
silent: false, //图形是否不响应和触发鼠标事件,默认为 false,即响应和触发鼠标事件。
|
||||
hoverAnimation: true, // 鼠标悬浮高亮
|
||||
animation:true,
|
||||
cursor: 'point',
|
||||
coordinateSystem: "cartesian2d",
|
||||
z: 3,
|
||||
itemStyle: {
|
||||
shadowColor: "none",
|
||||
},
|
||||
emphasis: {
|
||||
scale: false
|
||||
},
|
||||
data: allArr,
|
||||
},
|
||||
{
|
||||
name: "线图",
|
||||
type: "lines",
|
||||
hoverAnimation: false,
|
||||
silent: true,
|
||||
cursor: 'default',
|
||||
coordinateSystem: "cartesian2d",
|
||||
polyline: false, // 多线段
|
||||
z: 1,
|
||||
lineStyle: {
|
||||
width: 2,
|
||||
type: 'dashed',
|
||||
curveness: 0,
|
||||
},
|
||||
effect: {
|
||||
show: true,
|
||||
period: 8, //箭头指向速度,值越小速度越快
|
||||
trailLength: 0, //特效尾迹长度[0,1]值越大,尾迹越长重
|
||||
symbol: 'arrow', //箭头图标
|
||||
symbolSize: 6
|
||||
},
|
||||
emphasis: {
|
||||
lineStyle: {
|
||||
type: 'dashed',
|
||||
}
|
||||
},
|
||||
data: dataArr,
|
||||
},
|
||||
{
|
||||
name: '不动外圆',
|
||||
type: 'pie',
|
||||
zlevel: 4,
|
||||
silent: true,
|
||||
hoverAnimation: false,
|
||||
radius: ['60%', '59%'],
|
||||
label: {
|
||||
show: false,
|
||||
},
|
||||
labelLine: {
|
||||
show: false,
|
||||
},
|
||||
data: dolitData
|
||||
},
|
||||
{
|
||||
type: 'pie',
|
||||
name: '旋转圆',
|
||||
zlevel: 20,
|
||||
silent: true,
|
||||
hoverAnimation: false,
|
||||
radius: ['50%', '49%'],
|
||||
startAngle: startAngle,
|
||||
data: threeData,
|
||||
label: {
|
||||
show: false,
|
||||
},
|
||||
labelLine: {
|
||||
show: false,
|
||||
},
|
||||
},
|
||||
{
|
||||
name: '缩放圆',
|
||||
type: 'pie',
|
||||
zlevel: 4,
|
||||
silent: true,
|
||||
hoverAnimation: false,
|
||||
radius: [(radius + 1) + '%', radius + '%'],
|
||||
label: {
|
||||
show: false,
|
||||
},
|
||||
labelLine: {
|
||||
show: false,
|
||||
},
|
||||
data: dolitData
|
||||
},
|
||||
],
|
||||
};
|
||||
return option;
|
||||
}
|
||||
|
||||
let startAngle = 50; // 初始旋转角度
|
||||
let [minradius, radius, maxradius] = [24, 24, 28] // 初始缩放尺寸
|
||||
let isBig = true // 缩放动画 标识
|
||||
|
||||
function draw() {
|
||||
startAngle = startAngle - 5
|
||||
if (isBig) {
|
||||
radius = radius + 0.5
|
||||
if (radius > maxradius) {
|
||||
isBig = false
|
||||
}
|
||||
} else {
|
||||
radius = radius - 0.5
|
||||
if (radius < minradius) {
|
||||
isBig = true
|
||||
}
|
||||
}
|
||||
let option = getOption(startAngle, radius)
|
||||
myChart.setOption(option, true);
|
||||
}
|
||||
setInterval(draw, 500);
|
||||
}
|
|
@ -2,21 +2,22 @@
|
|||
<html lang="zh" xmlns:th="http://www.thymeleaf.org">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="renderer" content="webkit">
|
||||
<meta content="width=device-width, initial-scale=1.0" name="viewport">
|
||||
<meta content="webkit" name="renderer">
|
||||
<title>若依系统首页</title>
|
||||
<!-- 避免IE使用兼容模式 -->
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<link th:href="@{favicon.ico}" rel="shortcut icon"/>
|
||||
<link th:href="@{/css/bootstrap.min.css}" rel="stylesheet"/>
|
||||
<link th:href="@{/css/jquery.contextMenu.min.css}" rel="stylesheet"/>
|
||||
<link th:href="@{/css/font-awesome.min.css}" rel="stylesheet"/>
|
||||
<link th:href="@{/css/animate.min.css}" rel="stylesheet"/>
|
||||
<link th:href="@{/css/style.min.css}" rel="stylesheet"/>
|
||||
<link th:href="@{/css/skins.css}" rel="stylesheet"/>
|
||||
<link th:href="@{/ruoyi/css/ry-ui.css?v=4.7.7}" rel="stylesheet"/>
|
||||
<meta content="IE=edge" http-equiv="X-UA-Compatible">
|
||||
<link rel="shortcut icon" th:href="@{favicon.ico}"/>
|
||||
<link rel="stylesheet" th:href="@{/css/bootstrap.min.css}"/>
|
||||
<link rel="stylesheet" th:href="@{/css/jquery.contextMenu.min.css}"/>
|
||||
<link rel="stylesheet" th:href="@{/css/font-awesome.min.css}"/>
|
||||
<link rel="stylesheet" th:href="@{/css/animate.min.css}"/>
|
||||
<link rel="stylesheet" th:href="@{/css/style.min.css}"/>
|
||||
<link rel="stylesheet" th:href="@{/css/skins.css}"/>
|
||||
<link rel="stylesheet" th:href="@{/ruoyi/css/ry-ui.css?v=4.7.7}"/>
|
||||
</head>
|
||||
<body class="fixed-sidebar full-height-layout gray-bg" th:classappend="${isMobile} ? 'canvas-menu'" style="overflow: hidden">
|
||||
<body class="fixed-sidebar full-height-layout gray-bg" style="overflow: hidden"
|
||||
th:classappend="${isMobile} ? 'canvas-menu'">
|
||||
<div id="wrapper">
|
||||
|
||||
<!--左侧导航开始-->
|
||||
|
@ -26,45 +27,62 @@
|
|||
</div>
|
||||
<a th:href="@{/index}">
|
||||
<li class="logo hidden-xs">
|
||||
<span class="logo-lg">RuoYi</span>
|
||||
<span class="logo-lg" style="font-size: 18px">业务绩效考核系统</span>
|
||||
</li>
|
||||
</a>
|
||||
<div class="sidebar-collapse">
|
||||
<ul class="nav" id="side-menu">
|
||||
<li>
|
||||
<div class="user-panel">
|
||||
<a class="menuItem noactive" title="个人中心" th:href="@{/system/user/profile}">
|
||||
<a class="menuItem noactive" th:href="@{/system/user/profile}" title="个人中心">
|
||||
<div class="hide" th:text="个人中心"></div>
|
||||
<div class="pull-left image">
|
||||
<img th:src="(${#strings.isEmpty(user.avatar)}) ? @{/img/profile.jpg} : @{${user.avatar}}" th:onerror="this.src='img/profile.jpg'" class="img-circle" alt="User Image">
|
||||
<img class="user-image"
|
||||
th:src="'../img/userAdmin.png'">
|
||||
</div>
|
||||
</a>
|
||||
<div class="pull-left info">
|
||||
<p>[[${user.loginName}]]</p>
|
||||
<a href="#"><i class="fa fa-circle text-success"></i> 在线</a>
|
||||
<a th:href="@{logout}" style="padding-left:5px;"><i class="fa fa-sign-out text-danger"></i> 注销</a>
|
||||
<a style="padding-left:5px;" th:href="@{logout}"><i class="fa fa-sign-out text-danger"></i>
|
||||
注销</a>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<a class="menuItem" th:href="@{/system/main}"><i class="fa fa-home"></i> <span class="nav-label">首页</span> </a>
|
||||
<a class="menuItem" th:href="@{/system/main}"><i class="fa fa-home"></i> <span
|
||||
class="nav-label">首页</span> </a>
|
||||
</li>
|
||||
<li th:each="menu : ${menus}">
|
||||
<a th:class="@{${!#strings.isEmpty(menu.url) && menu.url != '#'} ? ${menu.target}}" th:href="@{${#strings.isEmpty(menu.url)} ? |#| : ${menu.url}}" th:data-refresh="${menu.isRefresh == '0'}">
|
||||
<a th:class="@{${!#strings.isEmpty(menu.url) && menu.url != '#'} ? ${menu.target}}"
|
||||
th:data-refresh="${menu.isRefresh == '0'}"
|
||||
th:href="@{${#strings.isEmpty(menu.url)} ? |#| : ${menu.url}}">
|
||||
<i class="fa fa-bar-chart-o" th:class="${menu.icon}"></i>
|
||||
<span class="nav-label" th:text="${menu.menuName}">一级菜单</span>
|
||||
<span th:class="${#strings.isEmpty(menu.url) || menu.url == '#'} ? |fa arrow|"></span>
|
||||
</a>
|
||||
<ul class="nav nav-second-level collapse">
|
||||
<li th:each="cmenu : ${menu.children}">
|
||||
<a th:if="${#lists.isEmpty(cmenu.children)}" th:class="${#strings.isEmpty(cmenu.target)} ? |menuItem| : ${cmenu.target}" th:utext="${cmenu.menuName}" th:href="@{${cmenu.url}}" th:data-refresh="${cmenu.isRefresh == '0'}">二级菜单</a>
|
||||
<a th:if="${not #lists.isEmpty(cmenu.children)}" href="#">[[${cmenu.menuName}]]<span class="fa arrow"></span></a>
|
||||
<ul th:if="${not #lists.isEmpty(cmenu.children)}" class="nav nav-third-level">
|
||||
<a th:class="${#strings.isEmpty(cmenu.target)} ? |menuItem| : ${cmenu.target}"
|
||||
th:data-refresh="${cmenu.isRefresh == '0'}"
|
||||
th:href="@{${cmenu.url}}" th:if="${#lists.isEmpty(cmenu.children)}"
|
||||
th:utext="${cmenu.menuName}">二级菜单</a>
|
||||
<a href="#" th:if="${not #lists.isEmpty(cmenu.children)}">[[${cmenu.menuName}]]<span
|
||||
class="fa arrow"></span></a>
|
||||
<ul class="nav nav-third-level" th:if="${not #lists.isEmpty(cmenu.children)}">
|
||||
<li th:each="emenu : ${cmenu.children}">
|
||||
<a th:if="${#lists.isEmpty(emenu.children)}" th:class="${#strings.isEmpty(emenu.target)} ? |menuItem| : ${emenu.target}" th:text="${emenu.menuName}" th:href="@{${emenu.url}}" th:data-refresh="${emenu.isRefresh == '0'}">三级菜单</a>
|
||||
<a th:if="${not #lists.isEmpty(emenu.children)}" href="#">[[${emenu.menuName}]]<span class="fa arrow"></span></a>
|
||||
<ul th:if="${not #lists.isEmpty(emenu.children)}" class="nav nav-four-level">
|
||||
<li th:each="fmenu : ${emenu.children}"><a th:if="${#lists.isEmpty(fmenu.children)}" th:class="${#strings.isEmpty(fmenu.target)} ? |menuItem| : ${fmenu.target}" th:text="${fmenu.menuName}" th:href="@{${fmenu.url}}" th:data-refresh="${fmenu.isRefresh == '0'}">四级菜单</a></li>
|
||||
<a th:class="${#strings.isEmpty(emenu.target)} ? |menuItem| : ${emenu.target}"
|
||||
th:data-refresh="${emenu.isRefresh == '0'}"
|
||||
th:href="@{${emenu.url}}" th:if="${#lists.isEmpty(emenu.children)}"
|
||||
th:text="${emenu.menuName}">三级菜单</a>
|
||||
<a href="#" th:if="${not #lists.isEmpty(emenu.children)}">[[${emenu.menuName}]]<span
|
||||
class="fa arrow"></span></a>
|
||||
<ul class="nav nav-four-level" th:if="${not #lists.isEmpty(emenu.children)}">
|
||||
<li th:each="fmenu : ${emenu.children}"><a
|
||||
th:class="${#strings.isEmpty(fmenu.target)} ? |menuItem| : ${fmenu.target}"
|
||||
th:data-refresh="${fmenu.isRefresh == '0'}"
|
||||
th:href="@{${fmenu.url}}" th:if="${#lists.isEmpty(fmenu.children)}"
|
||||
th:text="${fmenu.menuName}">四级菜单</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
|
@ -72,9 +90,10 @@
|
|||
</ul>
|
||||
</li>
|
||||
<li th:if="${demoEnabled}">
|
||||
<a href="#"><i class="fa fa-desktop"></i><span class="nav-label">实例演示</span><span class="fa arrow"></span></a>
|
||||
<a href="#"><i class="fa fa-desktop"></i><span class="nav-label">实例演示</span><span
|
||||
class="fa arrow"></span></a>
|
||||
<ul class="nav nav-second-level collapse">
|
||||
<li> <a>表单<span class="fa arrow"></span></a>
|
||||
<li><a>表单<span class="fa arrow"></span></a>
|
||||
<ul class="nav nav-third-level">
|
||||
<li><a class="menuItem" th:href="@{/demo/form/button}">按钮</a></li>
|
||||
<li><a class="menuItem" th:href="@{/demo/form/grid}">栅格</a></li>
|
||||
|
@ -99,7 +118,7 @@
|
|||
<li><a class="menuItem" th:href="@{/demo/form/localrefresh}">Ajax局部刷新</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li> <a>表格<span class="fa arrow"></span></a>
|
||||
<li><a>表格<span class="fa arrow"></span></a>
|
||||
<ul class="nav nav-third-level">
|
||||
<li><a class="menuItem" th:href="@{/demo/table/search}">查询条件</a></li>
|
||||
<li><a class="menuItem" th:href="@{/demo/table/footer}">数据汇总</a></li>
|
||||
|
@ -132,20 +151,20 @@
|
|||
<li><a class="menuItem" th:href="@{/demo/table/other}">表格其他操作</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li> <a>弹框<span class="fa arrow"></span></a>
|
||||
<li><a>弹框<span class="fa arrow"></span></a>
|
||||
<ul class="nav nav-third-level">
|
||||
<li><a class="menuItem" th:href="@{/demo/modal/dialog}">模态窗口</a></li>
|
||||
<li><a class="menuItem" th:href="@{/demo/modal/layer}">弹层组件</a></li>
|
||||
<li><a class="menuItem" th:href="@{/demo/modal/table}">弹层表格</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li> <a>操作<span class="fa arrow"></span></a>
|
||||
<li><a>操作<span class="fa arrow"></span></a>
|
||||
<ul class="nav nav-third-level">
|
||||
<li><a class="menuItem" th:href="@{/demo/operate/table}">表格</a></li>
|
||||
<li><a class="menuItem" th:href="@{/demo/operate/other}">其他</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li> <a>报表<span class="fa arrow"></span></a>
|
||||
<li><a>报表<span class="fa arrow"></span></a>
|
||||
<ul class="nav nav-third-level">
|
||||
<li><a class="menuItem" th:href="@{/demo/report/echarts}">百度ECharts</a></li>
|
||||
<li><a class="menuItem" th:href="@{/demo/report/peity}">peity</a></li>
|
||||
|
@ -153,7 +172,7 @@
|
|||
<li><a class="menuItem" th:href="@{/demo/report/metrics}">图表组合</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li> <a>图标<span class="fa arrow"></span></a>
|
||||
<li><a>图标<span class="fa arrow"></span></a>
|
||||
<ul class="nav nav-third-level">
|
||||
<li><a class="menuItem" th:href="@{/demo/icon/fontawesome}">Font Awesome</a></li>
|
||||
<li><a class="menuItem" th:href="@{/demo/icon/glyphicons}">Glyphicons</a></li>
|
||||
|
@ -184,40 +203,48 @@
|
|||
<!--左侧导航结束-->
|
||||
|
||||
<!--右侧部分开始-->
|
||||
<div id="page-wrapper" class="gray-bg dashbard-1">
|
||||
<div class="gray-bg dashbard-1" id="page-wrapper">
|
||||
<div class="row border-bottom">
|
||||
<nav class="navbar navbar-static-top" role="navigation" style="margin-bottom: 0">
|
||||
<div class="navbar-header">
|
||||
<a class="navbar-minimalize minimalize-styl-2" style="color:#FFF;" href="#" title="收起菜单">
|
||||
<nav class="navbar navbar-static-top" role="navigation"
|
||||
style="margin-bottom: 0;display: flex;flex-direction: row;align-items: center;">
|
||||
<div class="navbar-header" style="flex: 1">
|
||||
<a class="navbar-minimalize minimalize-styl-2" href="#" style="color:#FFF;" title="收起菜单">
|
||||
<i class="fa fa-bars"></i>
|
||||
</a>
|
||||
<div style="width: 100px;display: flex;flex-direction:column;align-items: center;">
|
||||
<img src="../img/logo.png" width="80"/>
|
||||
<div style="color: #ffffff;font-size: 10px">创新服务-阳光交易</div>
|
||||
</div>
|
||||
<ul class="nav navbar-top-links navbar-right welcome-message">
|
||||
<li><a data-toggle="tooltip" data-trigger="hover" data-placement="bottom" title="开发文档" href="http://doc.ruoyi.vip/ruoyi" target="_blank"><i class="fa fa-question-circle"></i> 文档</a></li>
|
||||
<li><a data-toggle="tooltip" data-trigger="hover" data-placement="bottom" title="锁定屏幕" href="#" id="lockScreen"><i class="fa fa-lock"></i> 锁屏</a></li>
|
||||
<li><a data-toggle="tooltip" data-trigger="hover" data-placement="bottom" title="全屏显示" href="#" id="fullScreen"><i class="fa fa-arrows-alt"></i> 全屏</a></li>
|
||||
</div>
|
||||
<div style="flex: 1;color: #ffffff;font-size: 20px">鄂尔多斯市公共资源交易中心达拉特旗分中心绩效考核系统</div>
|
||||
<ul class="nav navbar-top-links navbar-right welcome-message" style="flex: 1;text-align: right">
|
||||
<!-- <li><a data-placement="bottom" data-toggle="tooltip" data-trigger="hover" href="#" id="lockScreen"-->
|
||||
<!-- title="锁定屏幕"><i class="fa fa-lock"></i> 锁屏</a></li>-->
|
||||
<!-- <li><a data-placement="bottom" data-toggle="tooltip" data-trigger="hover" href="#" id="fullScreen"-->
|
||||
<!-- title="全屏显示"><i class="fa fa-arrows-alt"></i> 全屏</a></li>-->
|
||||
<li class="dropdown user-menu">
|
||||
<a href="javascript:void(0)" class="dropdown-toggle" data-hover="dropdown">
|
||||
<img th:src="(${#strings.isEmpty(user.avatar)}) ? @{/img/profile.jpg} : @{${user.avatar}}" th:onerror="this.src='img/profile.jpg'" class="user-image">
|
||||
<a class="dropdown-toggle" data-hover="dropdown" href="javascript:void(0)">
|
||||
<img class="user-image"
|
||||
th:src="'../img/userAdmin.png'">
|
||||
<span class="hidden-xs">[[${#strings.defaultString(user.userName, '-')}]]</span>
|
||||
</a>
|
||||
<ul class="dropdown-menu">
|
||||
<li class="mt5">
|
||||
<a th:href="@{/system/user/profile}" class="menuItem noactive">
|
||||
<a class="menuItem noactive" th:href="@{/system/user/profile}">
|
||||
<i class="fa fa-user"></i> 个人中心</a>
|
||||
</li>
|
||||
<li>
|
||||
<a onclick="resetPwd()">
|
||||
<i class="fa fa-key"></i> 修改密码</a>
|
||||
</li>
|
||||
<li>
|
||||
<a onclick="switchSkin()">
|
||||
<i class="fa fa-dashboard"></i> 切换主题</a>
|
||||
</li>
|
||||
<li>
|
||||
<a onclick="toggleMenu()">
|
||||
<i class="fa fa-toggle-off"></i> 横向菜单</a>
|
||||
</li>
|
||||
<!-- <li>-->
|
||||
<!-- <a onclick="switchSkin()">-->
|
||||
<!-- <i class="fa fa-dashboard"></i> 切换主题</a>-->
|
||||
<!-- </li>-->
|
||||
<!-- <li>-->
|
||||
<!-- <a onclick="toggleMenu()">-->
|
||||
<!-- <i class="fa fa-toggle-off"></i> 横向菜单</a>-->
|
||||
<!-- </li>-->
|
||||
<li class="divider"></li>
|
||||
<li>
|
||||
<a th:href="@{logout}">
|
||||
|
@ -234,24 +261,21 @@
|
|||
</button>
|
||||
<nav class="page-tabs menuTabs">
|
||||
<div class="page-tabs-content">
|
||||
<a href="javascript:;" class="active menuTab" th:data-id="@{/system/main}">首页</a>
|
||||
<a class="active menuTab" href="javascript:;" th:data-id="@{/system/main}">首页</a>
|
||||
</div>
|
||||
</nav>
|
||||
<button class="roll-nav roll-right tabRight">
|
||||
<i class="fa fa-forward"></i>
|
||||
</button>
|
||||
<a href="javascript:void(0);" class="roll-nav roll-right tabReload"><i class="fa fa-refresh"></i> 刷新</a>
|
||||
<a class="roll-nav roll-right tabReload" href="javascript:void(0);"><i class="fa fa-refresh"></i> 刷新</a>
|
||||
</div>
|
||||
|
||||
<a id="ax_close_max" class="ax_close_max" href="#" title="关闭全屏"> <i class="fa fa-times-circle-o"></i> </a>
|
||||
|
||||
<a class="ax_close_max" href="#" id="ax_close_max" title="关闭全屏"> <i class="fa fa-times-circle-o"></i> </a>
|
||||
<div class="row mainContent" id="content-main" th:classappend="${mainClass}">
|
||||
<iframe class="RuoYi_iframe" name="iframe0" width="100%" height="100%" th:data-id="@{/system/main}"
|
||||
th:src="@{/system/main}" frameborder="0" seamless></iframe>
|
||||
<iframe class="RuoYi_iframe" frameborder="0" height="100%" name="iframe0" seamless
|
||||
th:data-id="@{/system/main}" th:src="@{/system/main}" width="100%"></iframe>
|
||||
</div>
|
||||
|
||||
<div th:if="${footer}" class="footer">
|
||||
<div class="pull-right">© [[${copyrightYear}]] RuoYi Copyright </div>
|
||||
<div class="footer" th:if="${footer}">
|
||||
<div class="pull-right">© [[${copyrightYear}]] RuoYi Copyright</div>
|
||||
</div>
|
||||
</div>
|
||||
<!--右侧部分结束-->
|
||||
|
@ -269,70 +293,72 @@
|
|||
<script th:src="@{/ruoyi/index.js?v=20201208}"></script>
|
||||
<script th:src="@{/ajax/libs/fullscreen/jquery.fullscreen.js}"></script>
|
||||
<script th:inline="javascript">
|
||||
window.history.forward(1);
|
||||
var ctx = [[@{/}]];
|
||||
var lockscreen = [[${session.lockscreen}]];
|
||||
if(lockscreen){window.top.location=ctx+"lockscreen";}
|
||||
// 皮肤缓存
|
||||
var skin = storage.get("skin");
|
||||
// history(表示去掉地址的#)否则地址以"#"形式展示
|
||||
var mode = "history";
|
||||
// 历史访问路径缓存
|
||||
var historyPath = storage.get("historyPath");
|
||||
// 是否页签与菜单联动
|
||||
var isLinkage = true;
|
||||
window.history.forward(1);
|
||||
var ctx = [[@{/}]];
|
||||
var lockscreen = [[${session.lockscreen}]];
|
||||
if (lockscreen) {
|
||||
window.top.location = ctx + "lockscreen";
|
||||
}
|
||||
// 皮肤缓存
|
||||
var skin = storage.get("skin");
|
||||
// history(表示去掉地址的#)否则地址以"#"形式展示
|
||||
var mode = "history";
|
||||
// 历史访问路径缓存
|
||||
var historyPath = storage.get("historyPath");
|
||||
// 是否页签与菜单联动
|
||||
var isLinkage = true;
|
||||
|
||||
// 本地主题优先,未设置取系统配置
|
||||
if($.common.isNotEmpty(skin)){
|
||||
// 本地主题优先,未设置取系统配置
|
||||
if ($.common.isNotEmpty(skin)) {
|
||||
$("body").addClass(skin.split('|')[0]);
|
||||
$("body").addClass(skin.split('|')[1]);
|
||||
} else {
|
||||
} else {
|
||||
$("body").addClass([[${sideTheme}]]);
|
||||
$("body").addClass([[${skinName}]]);
|
||||
}
|
||||
}
|
||||
|
||||
/* 用户管理-重置密码 */
|
||||
function resetPwd() {
|
||||
/* 用户管理-重置密码 */
|
||||
function resetPwd() {
|
||||
var url = ctx + 'system/user/profile/resetPwd';
|
||||
$.modal.open("重置密码", url, '770', '380');
|
||||
}
|
||||
}
|
||||
|
||||
/* 切换主题 */
|
||||
function switchSkin() {
|
||||
/* 切换主题 */
|
||||
function switchSkin() {
|
||||
layer.open({
|
||||
type : 2,
|
||||
shadeClose : true,
|
||||
title : "切换主题",
|
||||
area : ["530px", "386px"],
|
||||
content : [ctx + "system/switchSkin", 'no']
|
||||
type: 2,
|
||||
shadeClose: true,
|
||||
title: "切换主题",
|
||||
area: ["530px", "386px"],
|
||||
content: [ctx + "system/switchSkin", 'no']
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
/* 切换菜单 */
|
||||
function toggleMenu() {
|
||||
$.modal.confirm("确认要切换成横向菜单吗?", function() {
|
||||
$.get(ctx + 'system/menuStyle/topnav', function(result) {
|
||||
/* 切换菜单 */
|
||||
function toggleMenu() {
|
||||
$.modal.confirm("确认要切换成横向菜单吗?", function () {
|
||||
$.get(ctx + 'system/menuStyle/topnav', function (result) {
|
||||
window.location.reload();
|
||||
});
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
/** 刷新时访问路径页签 */
|
||||
function applyPath(url) {
|
||||
/** 刷新时访问路径页签 */
|
||||
function applyPath(url) {
|
||||
$('a[href$="' + decodeURI(url) + '"]').click();
|
||||
if (!$('a[href$="' + url + '"]').hasClass("noactive")) {
|
||||
$('a[href$="' + url + '"]').parent("li").addClass("selected").parents("li").addClass("active").end().parents("ul").addClass("in");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$(function() {
|
||||
$(function () {
|
||||
var lockPath = storage.get('lockPath');
|
||||
if($.common.equals("history", mode) && window.performance.navigation.type == 1) {
|
||||
if ($.common.equals("history", mode) && window.performance.navigation.type == 1) {
|
||||
var url = storage.get('publicPath');
|
||||
if ($.common.isNotEmpty(url)) {
|
||||
applyPath(url);
|
||||
}
|
||||
} else if($.common.isNotEmpty(lockPath)) {
|
||||
} else if ($.common.isNotEmpty(lockPath)) {
|
||||
applyPath(lockPath);
|
||||
storage.remove('lockPath');
|
||||
} else {
|
||||
|
@ -341,18 +367,18 @@ $(function() {
|
|||
var url = hash.substring(1, hash.length);
|
||||
applyPath(url);
|
||||
} else {
|
||||
if($.common.equals("history", mode)) {
|
||||
if ($.common.equals("history", mode)) {
|
||||
storage.set('publicPath', "");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* 初始密码提示 */
|
||||
if([[${isDefaultModifyPwd}]]) {
|
||||
if ([[${isDefaultModifyPwd}]]) {
|
||||
layer.confirm("您的密码还是初始密码,请修改密码!", {
|
||||
icon: 0,
|
||||
title: "安全提示",
|
||||
btn: ['确认' , '取消'],
|
||||
btn: ['确认', '取消'],
|
||||
offset: ['30%']
|
||||
}, function (index) {
|
||||
resetPwd();
|
||||
|
@ -361,11 +387,11 @@ $(function() {
|
|||
}
|
||||
|
||||
/* 过期密码提示 */
|
||||
if([[${isPasswordExpired}]]) {
|
||||
if ([[${isPasswordExpired}]]) {
|
||||
layer.confirm("您的密码已过期,请尽快修改密码!", {
|
||||
icon: 0,
|
||||
title: "安全提示",
|
||||
btn: ['确认' , '取消'],
|
||||
btn: ['确认', '取消'],
|
||||
offset: ['30%']
|
||||
}, function (index) {
|
||||
resetPwd();
|
||||
|
@ -373,7 +399,7 @@ $(function() {
|
|||
});
|
||||
}
|
||||
$("[data-toggle='tooltip']").tooltip();
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -2,78 +2,69 @@
|
|||
<html lang="zh" xmlns:th="http://www.thymeleaf.org">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0">
|
||||
<title>登录若依系统</title>
|
||||
<meta name="description" content="若依后台管理框架">
|
||||
<link href="../static/css/bootstrap.min.css" th:href="@{/css/bootstrap.min.css}" rel="stylesheet"/>
|
||||
<link href="../static/css/font-awesome.min.css" th:href="@{/css/font-awesome.min.css}" rel="stylesheet"/>
|
||||
<link href="../static/css/style.min.css" th:href="@{/css/style.min.css}" rel="stylesheet"/>
|
||||
<link href="../static/css/login.min.css" th:href="@{/css/login.min.css}" rel="stylesheet"/>
|
||||
<link href="../static/ruoyi/css/ry-ui.css" th:href="@{/ruoyi/css/ry-ui.css?v=4.7.7}" rel="stylesheet"/>
|
||||
<meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0" name="viewport">
|
||||
<title>鄂尔多斯市公共资源交易中心达拉特旗分中心绩效考核系统</title>
|
||||
<meta content="若依后台管理框架" name="description">
|
||||
<link href="../static/css/bootstrap.min.css" rel="stylesheet" th:href="@{/css/bootstrap.min.css}"/>
|
||||
<link href="../static/css/font-awesome.min.css" rel="stylesheet" th:href="@{/css/font-awesome.min.css}"/>
|
||||
<link href="../static/css/style.min.css" rel="stylesheet" th:href="@{/css/style.min.css}"/>
|
||||
<link href="../static/css/login.min.css" rel="stylesheet" th:href="@{/css/login.min.css}"/>
|
||||
<link href="../static/ruoyi/css/ry-ui.css" rel="stylesheet" th:href="@{/ruoyi/css/ry-ui.css?v=4.7.7}"/>
|
||||
<!-- 360浏览器急速模式 -->
|
||||
<meta name="renderer" content="webkit">
|
||||
<meta content="webkit" name="renderer">
|
||||
<!-- 避免IE使用兼容模式 -->
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<link rel="shortcut icon" href="../static/favicon.ico" th:href="@{favicon.ico}"/>
|
||||
<style type="text/css">label.error { position:inherit; }</style>
|
||||
<meta content="IE=edge" http-equiv="X-UA-Compatible">
|
||||
<link href="../static/favicon.ico" rel="shortcut icon" th:href="@{favicon.ico}"/>
|
||||
<style type="text/css">label.error {
|
||||
position: inherit;
|
||||
}</style>
|
||||
<script>
|
||||
if(window.top!==window.self){alert('未登录或登录超时。请重新登录');window.top.location=window.location};
|
||||
if (window.top !== window.self) {
|
||||
alert('未登录或登录超时。请重新登录');
|
||||
window.top.location = window.location
|
||||
}
|
||||
;
|
||||
</script>
|
||||
</head>
|
||||
<body class="signin">
|
||||
<div class="signinpanel">
|
||||
<div class="row">
|
||||
<div class="col-sm-7">
|
||||
<div class="signin-info">
|
||||
<div class="logopanel m-b">
|
||||
<h1><img alt="[ 若依 ]" src="../static/ruoyi.png" th:src="@{/ruoyi.png}"></h1>
|
||||
</div>
|
||||
<div class="m-b"></div>
|
||||
<h4>欢迎使用 <strong>若依 后台管理系统</strong></h4>
|
||||
<ul class="m-b">
|
||||
<li><i class="fa fa-arrow-circle-o-right m-r-xs"></i> SpringBoot</li>
|
||||
<li><i class="fa fa-arrow-circle-o-right m-r-xs"></i> Mybatis</li>
|
||||
<li><i class="fa fa-arrow-circle-o-right m-r-xs"></i> Shiro</li>
|
||||
<li><i class="fa fa-arrow-circle-o-right m-r-xs"></i> Thymeleaf</li>
|
||||
<li><i class="fa fa-arrow-circle-o-right m-r-xs"></i> Bootstrap</li>
|
||||
</ul>
|
||||
<strong th:if="${isAllowRegister}">还没有账号? <a th:href="@{/register}">立即注册»</a></strong>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-5">
|
||||
<form id="signupForm" autocomplete="off">
|
||||
<h4 class="no-margins">登录:</h4>
|
||||
<p class="m-t-md">你若不离不弃,我必生死相依</p>
|
||||
<input type="text" name="username" class="form-control uname" placeholder="用户名" value="admin" />
|
||||
<input type="password" name="password" class="form-control pword" placeholder="密码" value="admin123" />
|
||||
<div style="margin: 2%;color: #ffffff;display: flex;flex-direction: row;align-items: flex-end">
|
||||
<img src="../img/logo2.png" width="120"/>
|
||||
<strong style="font-size: 30px">鄂尔多斯市公共资源交易中心达拉特旗分中心</strong>
|
||||
</div>
|
||||
<div class="signinpanel">
|
||||
<div style="width: 350px;margin: 0 auto">
|
||||
<form autocomplete="off" id="signupForm">
|
||||
<h4 class="no-margins" style="font-size: 22px">请登录:业务绩效考核系统</h4>
|
||||
<input class="form-control uname" name="username" placeholder="用户名" type="text" value="admin"/>
|
||||
<input class="form-control pword" name="password" placeholder="密码" type="password" value="admin123"/>
|
||||
<div class="row m-t" th:if="${captchaEnabled==true}">
|
||||
<div class="col-xs-6">
|
||||
<input type="text" name="validateCode" class="form-control code" placeholder="验证码" maxlength="5" />
|
||||
<input class="form-control code" maxlength="5" name="validateCode" placeholder="验证码"
|
||||
type="text"/>
|
||||
</div>
|
||||
<div class="col-xs-6">
|
||||
<a href="javascript:void(0);" title="点击更换验证码">
|
||||
<img th:src="@{/captcha/captchaImage(type=${captchaType})}" class="imgcode" width="85%"/>
|
||||
<img class="imgcode" th:src="@{/captcha/captchaImage(type=${captchaType})}" width="85%"/>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="checkbox-custom" th:if="${isRemembered}" th:classappend="${captchaEnabled==false} ? 'm-t'">
|
||||
<input type="checkbox" id="rememberme" name="rememberme"> <label for="rememberme">记住我</label>
|
||||
<div class="checkbox-custom" th:classappend="${captchaEnabled==false} ? 'm-t'" th:if="${isRemembered}">
|
||||
<input id="rememberme" name="rememberme" type="checkbox"> <label for="rememberme">记住我</label>
|
||||
</div>
|
||||
<button class="btn btn-success btn-block" id="btnSubmit" data-loading="正在验证登录,请稍候...">登录</button>
|
||||
<button class="btn btn-success btn-block" data-loading="正在验证登录,请稍候..." id="btnSubmit">登录</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<div class="signup-footer">
|
||||
<div class="pull-left">
|
||||
Copyright © 2018-2023 ruoyi.vip All Rights Reserved. <br>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="signup-footer">
|
||||
Copyright © 2018-2023 ruoyi.vip All Rights Reserved.
|
||||
</div>
|
||||
<script th:inline="javascript"> var ctx = [[@{/}]]; var captchaType = [[${captchaType}]]; </script>
|
||||
<!--[if lte IE 8]><script>window.location.href=ctx+'html/ie.html';</script><![endif]-->
|
||||
<!--[if lte IE 8]>
|
||||
<script>window.location.href = ctx + 'html/ie.html';</script><![endif]-->
|
||||
<!-- 全局js -->
|
||||
<script src="../static/js/jquery.min.js" th:src="@{/js/jquery.min.js}"></script>
|
||||
<script src="../static/ajax/libs/validate/jquery.validate.min.js" th:src="@{/ajax/libs/validate/jquery.validate.min.js}"></script>
|
||||
<script src="../static/ajax/libs/validate/jquery.validate.min.js"
|
||||
th:src="@{/ajax/libs/validate/jquery.validate.min.js}"></script>
|
||||
<script src="../static/ajax/libs/layer/layer.min.js" th:src="@{/ajax/libs/layer/layer.min.js}"></script>
|
||||
<script src="../static/ajax/libs/blockUI/jquery.blockUI.js" th:src="@{/ajax/libs/blockUI/jquery.blockUI.js}"></script>
|
||||
<script src="../static/ruoyi/js/ry-ui.js" th:src="@{/ruoyi/js/ry-ui.js?v=4.7.7}"></script>
|
||||
|
|