升级springboot版本依赖到2.0,修复部分文件内容乱码,加入配置文件为properties
This commit is contained in:
@@ -1,14 +1,14 @@
|
||||
var $lang={
|
||||
errAlertMsg: "不合法的日期格式或者日期超出限定范围,需要撤销吗?",
|
||||
aWeekStr: ["周","日","一","二","三","四","五","六"],
|
||||
aLongWeekStr:["周","星期日","星期一","星期二","星期三","星期四","星期五","星期六"],
|
||||
aMonStr: ["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一","十二"],
|
||||
aLongMonStr: ["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],
|
||||
clearStr: "清空",
|
||||
todayStr: "今天",
|
||||
okStr: "确定",
|
||||
updateStr: "确定",
|
||||
timeStr: "时间",
|
||||
quickStr: "快速选择",
|
||||
err_1: '最小日期不能大于最大日期!'
|
||||
var $lang={
|
||||
errAlertMsg: "不合法的日期格式或者日期超出限定范围,需要撤销吗?",
|
||||
aWeekStr: ["周","日","一","二","三","四","五","六"],
|
||||
aLongWeekStr:["周","星期日","星期一","星期二","星期三","星期四","星期五","星期六"],
|
||||
aMonStr: ["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一","十二"],
|
||||
aLongMonStr: ["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],
|
||||
clearStr: "清空",
|
||||
todayStr: "今天",
|
||||
okStr: "确定",
|
||||
updateStr: "确定",
|
||||
timeStr: "时间",
|
||||
quickStr: "快速选择",
|
||||
err_1: '最小日期不能大于最大日期!'
|
||||
}
|
||||
@@ -1,14 +1,14 @@
|
||||
var $lang={
|
||||
errAlertMsg: "不合法的日期格式或者日期超出限定範圍,需要撤銷嗎?",
|
||||
aWeekStr: ["周","日","一","二","三","四","五","六"],
|
||||
aLongWeekStr:["周","星期日","星期一","星期二","星期三","星期四","星期五","星期六"],
|
||||
aMonStr: ["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一","十二"],
|
||||
aLongMonStr: ["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],
|
||||
clearStr: "清空",
|
||||
todayStr: "今天",
|
||||
okStr: "確定",
|
||||
updateStr: "確定",
|
||||
timeStr: "時間",
|
||||
quickStr: "快速選擇",
|
||||
err_1: '最小日期不能大於最大日期!'
|
||||
var $lang={
|
||||
errAlertMsg: "不合法的日期格式或者日期超出限定範圍,需要撤銷嗎?",
|
||||
aWeekStr: ["周","日","一","二","三","四","五","六"],
|
||||
aLongWeekStr:["周","星期日","星期一","星期二","星期三","星期四","星期五","星期六"],
|
||||
aMonStr: ["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一","十二"],
|
||||
aLongMonStr: ["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],
|
||||
clearStr: "清空",
|
||||
todayStr: "今天",
|
||||
okStr: "確定",
|
||||
updateStr: "確定",
|
||||
timeStr: "時間",
|
||||
quickStr: "快速選擇",
|
||||
err_1: '最小日期不能大於最大日期!'
|
||||
}
|
||||
@@ -1,3 +1 @@
|
||||
正式发布时,可将此文件夹删去
|
||||
|
||||
|
||||
正式发布时,可将此文件夹删去
|
||||
@@ -1,267 +1,267 @@
|
||||
/*
|
||||
* My97 DatePicker 4.7
|
||||
* 皮肤名称:default
|
||||
*/
|
||||
|
||||
/* 日期选择容器 DIV */
|
||||
.WdateDiv{
|
||||
width:180px;
|
||||
background-color:#FFFFFF;
|
||||
border:#bbb 1px solid;
|
||||
padding:2px;
|
||||
}
|
||||
/* 双月日历的宽度 */
|
||||
.WdateDiv2{
|
||||
width:360px;
|
||||
}
|
||||
.WdateDiv *{font-size:9pt;}
|
||||
|
||||
/****************************
|
||||
* 导航图标 全部是A标签
|
||||
***************************/
|
||||
.WdateDiv .NavImg a{
|
||||
display:block;
|
||||
cursor:pointer;
|
||||
height:16px;
|
||||
width:16px;
|
||||
}
|
||||
|
||||
.WdateDiv .NavImgll a{
|
||||
float:left;
|
||||
background:transparent url(img.gif) no-repeat scroll 0 0;
|
||||
}
|
||||
.WdateDiv .NavImgl a{
|
||||
float:left;
|
||||
background:transparent url(img.gif) no-repeat scroll -16px 0;
|
||||
}
|
||||
.WdateDiv .NavImgr a{
|
||||
float:right;
|
||||
background:transparent url(img.gif) no-repeat scroll -32px 0;
|
||||
}
|
||||
.WdateDiv .NavImgrr a{
|
||||
float:right;
|
||||
background:transparent url(img.gif) no-repeat scroll -48px 0;
|
||||
}
|
||||
|
||||
/****************************
|
||||
* 年份月份相关
|
||||
***************************/
|
||||
/* 年份月份栏 DIV */
|
||||
.WdateDiv #dpTitle{
|
||||
height:24px;
|
||||
margin-bottom:2px;
|
||||
padding:1px;
|
||||
}
|
||||
/* 年份月份输入框 INPUT */
|
||||
.WdateDiv .yminput{
|
||||
margin-top:2px;
|
||||
text-align:center;
|
||||
height:20px;
|
||||
border:0px;
|
||||
width:50px;
|
||||
cursor:pointer;
|
||||
}
|
||||
/* 年份月份输入框获得焦点时的样式 INPUT */
|
||||
.WdateDiv .yminputfocus{
|
||||
margin-top:2px;
|
||||
text-align:center;
|
||||
font-weight:bold;
|
||||
height:20px;
|
||||
color:blue;
|
||||
border:#ccc 1px solid;
|
||||
width:50px;
|
||||
}
|
||||
/* 菜单选择框 DIV */
|
||||
.WdateDiv .menuSel{
|
||||
z-index:1;
|
||||
position:absolute;
|
||||
background-color:#FFFFFF;
|
||||
border:#ccc 1px solid;
|
||||
display:none;
|
||||
}
|
||||
/* 菜单的样式 TD */
|
||||
.WdateDiv .menu{
|
||||
cursor:pointer;
|
||||
background-color:#fff;
|
||||
}
|
||||
/* 菜单的mouseover样式 TD */
|
||||
.WdateDiv .menuOn{
|
||||
cursor:pointer;
|
||||
background-color:#BEEBEE;
|
||||
}
|
||||
/* 菜单无效时的样式 TD */
|
||||
.WdateDiv .invalidMenu{
|
||||
color:#aaa;
|
||||
}
|
||||
/* 年选择框的偏移 DIV */
|
||||
.WdateDiv .YMenu{
|
||||
margin-top:20px;
|
||||
|
||||
}
|
||||
/* 月选择框的偏移 DIV */
|
||||
.WdateDiv .MMenu{
|
||||
margin-top:20px;
|
||||
*width:62px;
|
||||
}
|
||||
/* 时选择框的位置 DIV */
|
||||
.WdateDiv .hhMenu{
|
||||
margin-top:-90px;
|
||||
margin-left:26px;
|
||||
}
|
||||
/* 分选择框的位置 DIV */
|
||||
.WdateDiv .mmMenu{
|
||||
margin-top:-46px;
|
||||
margin-left:26px;
|
||||
}
|
||||
/* 秒选择框的位置 DIV */
|
||||
.WdateDiv .ssMenu{
|
||||
margin-top:-24px;
|
||||
margin-left:26px;
|
||||
}
|
||||
|
||||
/****************************
|
||||
* 周相关
|
||||
***************************/
|
||||
.WdateDiv .Wweek {
|
||||
text-align:center;
|
||||
background:#DAF3F5;
|
||||
border-right:#BDEBEE 1px solid;
|
||||
}
|
||||
/****************************
|
||||
* 星期,日期相关
|
||||
***************************/
|
||||
/* 星期栏 TR */
|
||||
.WdateDiv .MTitle{
|
||||
background-color:#BDEBEE;
|
||||
}
|
||||
.WdateDiv .WdayTable2{
|
||||
border-collapse:collapse;
|
||||
border:#c5d9e8 1px solid;
|
||||
}
|
||||
.WdateDiv .WdayTable2 table{
|
||||
border:0;
|
||||
}
|
||||
/* 日期栏表格 TABLE */
|
||||
.WdateDiv .WdayTable{
|
||||
line-height:20px;
|
||||
border:#c5d9e8 1px solid;
|
||||
}
|
||||
.WdateDiv .WdayTable td{
|
||||
text-align:center;
|
||||
}
|
||||
/* 日期格的样式 TD */
|
||||
.WdateDiv .Wday{
|
||||
cursor:pointer;
|
||||
}
|
||||
/* 日期格的mouseover样式 TD */
|
||||
.WdateDiv .WdayOn{
|
||||
cursor:pointer;
|
||||
background-color:#C0EBEF;
|
||||
}
|
||||
/* 周末日期格的样式 TD */
|
||||
.WdateDiv .Wwday{
|
||||
cursor:pointer;
|
||||
color:#FF2F2F;
|
||||
}
|
||||
/* 周末日期格的mouseover样式 TD */
|
||||
.WdateDiv .WwdayOn{
|
||||
cursor:pointer;
|
||||
color:#000;
|
||||
background-color:#C0EBEF;
|
||||
}
|
||||
.WdateDiv .Wtoday{
|
||||
cursor:pointer;
|
||||
color:blue;
|
||||
}
|
||||
.WdateDiv .Wselday{
|
||||
background-color:#A9E4E9;
|
||||
}
|
||||
.WdateDiv .WspecialDay{
|
||||
background-color:#66F4DF;
|
||||
}
|
||||
/* 其他月份的日期 */
|
||||
.WdateDiv .WotherDay{
|
||||
cursor:pointer;
|
||||
color:#6A6AFF;
|
||||
}
|
||||
/* 其他月份的日期mouseover样式 */
|
||||
.WdateDiv .WotherDayOn{
|
||||
cursor:pointer;
|
||||
background-color:#C0EBEF;
|
||||
}
|
||||
/* 无效日期的样式,即在日期范围以外日期格的样式,不能选择的日期 */
|
||||
.WdateDiv .WinvalidDay{
|
||||
color:#aaa;
|
||||
}
|
||||
|
||||
/****************************
|
||||
* 时间相关
|
||||
***************************/
|
||||
/* 时间栏 DIV */
|
||||
.WdateDiv #dpTime{
|
||||
float:left;
|
||||
margin-top:3px;
|
||||
margin-right:30px;
|
||||
}
|
||||
/* 时间文字 SPAN */
|
||||
.WdateDiv #dpTime #dpTimeStr{
|
||||
margin-left:1px;
|
||||
}
|
||||
/* 时间输入框 INPUT */
|
||||
.WdateDiv #dpTime input{
|
||||
width:18px;
|
||||
height:20px;
|
||||
text-align:center;
|
||||
border:#ccc 1px solid;
|
||||
}
|
||||
/* 时间 时 INPUT */
|
||||
.WdateDiv #dpTime .tB{
|
||||
border-right:0px;
|
||||
}
|
||||
/* 时间 分和间隔符 ':' INPUT */
|
||||
.WdateDiv #dpTime .tE{
|
||||
border-left:0;
|
||||
border-right:0;
|
||||
}
|
||||
/* 时间 秒 INPUT */
|
||||
.WdateDiv #dpTime .tm{
|
||||
width:7px;
|
||||
border-left:0;
|
||||
border-right:0;
|
||||
}
|
||||
/* 时间右边的向上按钮 BUTTON */
|
||||
.WdateDiv #dpTime #dpTimeUp{
|
||||
height:10px;
|
||||
width:13px;
|
||||
border:0px;
|
||||
background:url(img.gif) no-repeat -32px -16px;
|
||||
}
|
||||
/* 时间右边的向下按钮 BUTTON */
|
||||
.WdateDiv #dpTime #dpTimeDown{
|
||||
height:10px;
|
||||
width:13px;
|
||||
border:0px;
|
||||
background:url(img.gif) no-repeat -48px -16px;
|
||||
}
|
||||
/****************************
|
||||
* 其他
|
||||
***************************/
|
||||
.WdateDiv #dpQS {
|
||||
float:left;
|
||||
margin-right:3px;
|
||||
margin-top:3px;
|
||||
background:url(img.gif) no-repeat 0px -16px;
|
||||
width:20px;
|
||||
height:20px;
|
||||
cursor:pointer;
|
||||
}
|
||||
.WdateDiv #dpControl {
|
||||
text-align:right;
|
||||
}
|
||||
.WdateDiv .dpButton{
|
||||
height:20px;
|
||||
width:45px;
|
||||
border:#ccc 1px solid;
|
||||
margin-top:2px;
|
||||
margin-right:1px;
|
||||
/*
|
||||
* My97 DatePicker 4.7
|
||||
* 皮肤名称:default
|
||||
*/
|
||||
|
||||
/* 日期选择容器 DIV */
|
||||
.WdateDiv{
|
||||
width:180px;
|
||||
background-color:#FFFFFF;
|
||||
border:#bbb 1px solid;
|
||||
padding:2px;
|
||||
}
|
||||
/* 双月日历的宽度 */
|
||||
.WdateDiv2{
|
||||
width:360px;
|
||||
}
|
||||
.WdateDiv *{font-size:9pt;}
|
||||
|
||||
/****************************
|
||||
* 导航图标 全部是A标签
|
||||
***************************/
|
||||
.WdateDiv .NavImg a{
|
||||
display:block;
|
||||
cursor:pointer;
|
||||
height:16px;
|
||||
width:16px;
|
||||
}
|
||||
|
||||
.WdateDiv .NavImgll a{
|
||||
float:left;
|
||||
background:transparent url(img.gif) no-repeat scroll 0 0;
|
||||
}
|
||||
.WdateDiv .NavImgl a{
|
||||
float:left;
|
||||
background:transparent url(img.gif) no-repeat scroll -16px 0;
|
||||
}
|
||||
.WdateDiv .NavImgr a{
|
||||
float:right;
|
||||
background:transparent url(img.gif) no-repeat scroll -32px 0;
|
||||
}
|
||||
.WdateDiv .NavImgrr a{
|
||||
float:right;
|
||||
background:transparent url(img.gif) no-repeat scroll -48px 0;
|
||||
}
|
||||
|
||||
/****************************
|
||||
* 年份月份相关
|
||||
***************************/
|
||||
/* 年份月份栏 DIV */
|
||||
.WdateDiv #dpTitle{
|
||||
height:24px;
|
||||
margin-bottom:2px;
|
||||
padding:1px;
|
||||
}
|
||||
/* 年份月份输入框 INPUT */
|
||||
.WdateDiv .yminput{
|
||||
margin-top:2px;
|
||||
text-align:center;
|
||||
height:20px;
|
||||
border:0px;
|
||||
width:50px;
|
||||
cursor:pointer;
|
||||
}
|
||||
/* 年份月份输入框获得焦点时的样式 INPUT */
|
||||
.WdateDiv .yminputfocus{
|
||||
margin-top:2px;
|
||||
text-align:center;
|
||||
font-weight:bold;
|
||||
height:20px;
|
||||
color:blue;
|
||||
border:#ccc 1px solid;
|
||||
width:50px;
|
||||
}
|
||||
/* 菜单选择框 DIV */
|
||||
.WdateDiv .menuSel{
|
||||
z-index:1;
|
||||
position:absolute;
|
||||
background-color:#FFFFFF;
|
||||
border:#ccc 1px solid;
|
||||
display:none;
|
||||
}
|
||||
/* 菜单的样式 TD */
|
||||
.WdateDiv .menu{
|
||||
cursor:pointer;
|
||||
background-color:#fff;
|
||||
}
|
||||
/* 菜单的mouseover样式 TD */
|
||||
.WdateDiv .menuOn{
|
||||
cursor:pointer;
|
||||
background-color:#BEEBEE;
|
||||
}
|
||||
/* 菜单无效时的样式 TD */
|
||||
.WdateDiv .invalidMenu{
|
||||
color:#aaa;
|
||||
}
|
||||
/* 年选择框的偏移 DIV */
|
||||
.WdateDiv .YMenu{
|
||||
margin-top:20px;
|
||||
|
||||
}
|
||||
/* 月选择框的偏移 DIV */
|
||||
.WdateDiv .MMenu{
|
||||
margin-top:20px;
|
||||
*width:62px;
|
||||
}
|
||||
/* 时选择框的位置 DIV */
|
||||
.WdateDiv .hhMenu{
|
||||
margin-top:-90px;
|
||||
margin-left:26px;
|
||||
}
|
||||
/* 分选择框的位置 DIV */
|
||||
.WdateDiv .mmMenu{
|
||||
margin-top:-46px;
|
||||
margin-left:26px;
|
||||
}
|
||||
/* 秒选择框的位置 DIV */
|
||||
.WdateDiv .ssMenu{
|
||||
margin-top:-24px;
|
||||
margin-left:26px;
|
||||
}
|
||||
|
||||
/****************************
|
||||
* 周相关
|
||||
***************************/
|
||||
.WdateDiv .Wweek {
|
||||
text-align:center;
|
||||
background:#DAF3F5;
|
||||
border-right:#BDEBEE 1px solid;
|
||||
}
|
||||
/****************************
|
||||
* 星期,日期相关
|
||||
***************************/
|
||||
/* 星期栏 TR */
|
||||
.WdateDiv .MTitle{
|
||||
background-color:#BDEBEE;
|
||||
}
|
||||
.WdateDiv .WdayTable2{
|
||||
border-collapse:collapse;
|
||||
border:#c5d9e8 1px solid;
|
||||
}
|
||||
.WdateDiv .WdayTable2 table{
|
||||
border:0;
|
||||
}
|
||||
/* 日期栏表格 TABLE */
|
||||
.WdateDiv .WdayTable{
|
||||
line-height:20px;
|
||||
border:#c5d9e8 1px solid;
|
||||
}
|
||||
.WdateDiv .WdayTable td{
|
||||
text-align:center;
|
||||
}
|
||||
/* 日期格的样式 TD */
|
||||
.WdateDiv .Wday{
|
||||
cursor:pointer;
|
||||
}
|
||||
/* 日期格的mouseover样式 TD */
|
||||
.WdateDiv .WdayOn{
|
||||
cursor:pointer;
|
||||
background-color:#C0EBEF;
|
||||
}
|
||||
/* 周末日期格的样式 TD */
|
||||
.WdateDiv .Wwday{
|
||||
cursor:pointer;
|
||||
color:#FF2F2F;
|
||||
}
|
||||
/* 周末日期格的mouseover样式 TD */
|
||||
.WdateDiv .WwdayOn{
|
||||
cursor:pointer;
|
||||
color:#000;
|
||||
background-color:#C0EBEF;
|
||||
}
|
||||
.WdateDiv .Wtoday{
|
||||
cursor:pointer;
|
||||
color:blue;
|
||||
}
|
||||
.WdateDiv .Wselday{
|
||||
background-color:#A9E4E9;
|
||||
}
|
||||
.WdateDiv .WspecialDay{
|
||||
background-color:#66F4DF;
|
||||
}
|
||||
/* 其他月份的日期 */
|
||||
.WdateDiv .WotherDay{
|
||||
cursor:pointer;
|
||||
color:#6A6AFF;
|
||||
}
|
||||
/* 其他月份的日期mouseover样式 */
|
||||
.WdateDiv .WotherDayOn{
|
||||
cursor:pointer;
|
||||
background-color:#C0EBEF;
|
||||
}
|
||||
/* 无效日期的样式,即在日期范围以外日期格的样式,不能选择的日期 */
|
||||
.WdateDiv .WinvalidDay{
|
||||
color:#aaa;
|
||||
}
|
||||
|
||||
/****************************
|
||||
* 时间相关
|
||||
***************************/
|
||||
/* 时间栏 DIV */
|
||||
.WdateDiv #dpTime{
|
||||
float:left;
|
||||
margin-top:3px;
|
||||
margin-right:30px;
|
||||
}
|
||||
/* 时间文字 SPAN */
|
||||
.WdateDiv #dpTime #dpTimeStr{
|
||||
margin-left:1px;
|
||||
}
|
||||
/* 时间输入框 INPUT */
|
||||
.WdateDiv #dpTime input{
|
||||
width:18px;
|
||||
height:20px;
|
||||
text-align:center;
|
||||
border:#ccc 1px solid;
|
||||
}
|
||||
/* 时间 时 INPUT */
|
||||
.WdateDiv #dpTime .tB{
|
||||
border-right:0px;
|
||||
}
|
||||
/* 时间 分和间隔符 ':' INPUT */
|
||||
.WdateDiv #dpTime .tE{
|
||||
border-left:0;
|
||||
border-right:0;
|
||||
}
|
||||
/* 时间 秒 INPUT */
|
||||
.WdateDiv #dpTime .tm{
|
||||
width:7px;
|
||||
border-left:0;
|
||||
border-right:0;
|
||||
}
|
||||
/* 时间右边的向上按钮 BUTTON */
|
||||
.WdateDiv #dpTime #dpTimeUp{
|
||||
height:10px;
|
||||
width:13px;
|
||||
border:0px;
|
||||
background:url(img.gif) no-repeat -32px -16px;
|
||||
}
|
||||
/* 时间右边的向下按钮 BUTTON */
|
||||
.WdateDiv #dpTime #dpTimeDown{
|
||||
height:10px;
|
||||
width:13px;
|
||||
border:0px;
|
||||
background:url(img.gif) no-repeat -48px -16px;
|
||||
}
|
||||
/****************************
|
||||
* 其他
|
||||
***************************/
|
||||
.WdateDiv #dpQS {
|
||||
float:left;
|
||||
margin-right:3px;
|
||||
margin-top:3px;
|
||||
background:url(img.gif) no-repeat 0px -16px;
|
||||
width:20px;
|
||||
height:20px;
|
||||
cursor:pointer;
|
||||
}
|
||||
.WdateDiv #dpControl {
|
||||
text-align:right;
|
||||
}
|
||||
.WdateDiv .dpButton{
|
||||
height:20px;
|
||||
width:45px;
|
||||
border:#ccc 1px solid;
|
||||
margin-top:2px;
|
||||
margin-right:1px;
|
||||
}
|
||||
@@ -1,277 +1,277 @@
|
||||
/*
|
||||
* My97 DatePicker 4.7
|
||||
* 皮肤名称:whyGreen
|
||||
*/
|
||||
|
||||
/* 日期选择容器 DIV */
|
||||
.WdateDiv{
|
||||
width:180px;
|
||||
background-color:#fff;
|
||||
border:#C5E1E4 1px solid;
|
||||
padding:2px;
|
||||
}
|
||||
/* 双月日历的宽度 */
|
||||
.WdateDiv2{
|
||||
width:360px;
|
||||
}
|
||||
.WdateDiv *{font-size:9pt;}
|
||||
|
||||
/****************************
|
||||
* 导航图标 全部是A标签
|
||||
***************************/
|
||||
.WdateDiv .NavImg a{
|
||||
cursor:pointer;
|
||||
display:block;
|
||||
width:16px;
|
||||
height:16px;
|
||||
margin-top:1px;
|
||||
}
|
||||
|
||||
.WdateDiv .NavImgll a{
|
||||
float:left;
|
||||
background:url(img.gif) no-repeat;
|
||||
}
|
||||
.WdateDiv .NavImgl a{
|
||||
float:left;
|
||||
background:url(img.gif) no-repeat -16px 0px;
|
||||
}
|
||||
.WdateDiv .NavImgr a{
|
||||
float:right;
|
||||
background:url(img.gif) no-repeat -32px 0px;
|
||||
}
|
||||
.WdateDiv .NavImgrr a{
|
||||
float:right;
|
||||
background:url(img.gif) no-repeat -48px 0px;
|
||||
}
|
||||
/****************************
|
||||
* 年份月份相关
|
||||
***************************/
|
||||
/* 年份月份栏 DIV */
|
||||
.WdateDiv #dpTitle{
|
||||
height:24px;
|
||||
padding:1px;
|
||||
border:#c5d9e8 1px solid;
|
||||
background:url(bg.jpg);
|
||||
margin-bottom:2px;
|
||||
}
|
||||
/* 年份月份输入框 INPUT */
|
||||
.WdateDiv .yminput{
|
||||
margin-top:2px;
|
||||
text-align:center;
|
||||
border:0px;
|
||||
height:20px;
|
||||
width:50px;
|
||||
color:#034c50;
|
||||
background-color:transparent;
|
||||
cursor:pointer;
|
||||
}
|
||||
/* 年份月份输入框获得焦点时的样式 INPUT */
|
||||
.WdateDiv .yminputfocus{
|
||||
margin-top:2px;
|
||||
text-align:center;
|
||||
border:#939393 1px solid;
|
||||
font-weight:bold;
|
||||
color:#034c50;
|
||||
height:20px;
|
||||
width:50px;
|
||||
}
|
||||
/* 菜单选择框 DIV */
|
||||
.WdateDiv .menuSel{
|
||||
z-index:1;
|
||||
position:absolute;
|
||||
background-color:#FFFFFF;
|
||||
border:#A3C6C8 1px solid;
|
||||
display:none;
|
||||
}
|
||||
/* 菜单的样式 TD */
|
||||
.WdateDiv .menu{
|
||||
cursor:pointer;
|
||||
background-color:#fff;
|
||||
color:#11777C;
|
||||
}
|
||||
/* 菜单的mouseover样式 TD */
|
||||
.WdateDiv .menuOn{
|
||||
cursor:pointer;
|
||||
background-color:#BEEBEE;
|
||||
}
|
||||
/* 菜单无效时的样式 TD */
|
||||
.WdateDiv .invalidMenu{
|
||||
color:#aaa;
|
||||
}
|
||||
/* 年选择框的偏移 DIV */
|
||||
.WdateDiv .YMenu{
|
||||
margin-top:20px;
|
||||
}
|
||||
/* 月选择框的偏移 DIV */
|
||||
.WdateDiv .MMenu{
|
||||
margin-top:20px;
|
||||
*width:62px;
|
||||
}
|
||||
/* 时选择框的位置 DIV */
|
||||
.WdateDiv .hhMenu{
|
||||
margin-top:-90px;
|
||||
margin-left:26px;
|
||||
}
|
||||
/* 分选择框的位置 DIV */
|
||||
.WdateDiv .mmMenu{
|
||||
margin-top:-46px;
|
||||
margin-left:26px;
|
||||
}
|
||||
/* 秒选择框的位置 DIV */
|
||||
.WdateDiv .ssMenu{
|
||||
margin-top:-24px;
|
||||
margin-left:26px;
|
||||
}
|
||||
|
||||
/****************************
|
||||
* 周相关
|
||||
***************************/
|
||||
.WdateDiv .Wweek {
|
||||
text-align:center;
|
||||
background:#DAF3F5;
|
||||
border-right:#BDEBEE 1px solid;
|
||||
}
|
||||
/****************************
|
||||
* 星期,日期相关
|
||||
***************************/
|
||||
/* 星期栏 TR */
|
||||
.WdateDiv .MTitle{
|
||||
color:#13777e;
|
||||
background-color:#bdebee;
|
||||
}
|
||||
.WdateDiv .WdayTable2{
|
||||
border-collapse:collapse;
|
||||
border:#BEE9F0 1px solid;
|
||||
}
|
||||
.WdateDiv .WdayTable2 table{
|
||||
border:0;
|
||||
}
|
||||
/* 日期栏表格 TABLE */
|
||||
.WdateDiv .WdayTable{
|
||||
line-height:20px;
|
||||
color:#13777e;
|
||||
background-color:#edfbfb;
|
||||
border:#BEE9F0 1px solid;
|
||||
}
|
||||
.WdateDiv .WdayTable td{
|
||||
text-align:center;
|
||||
}
|
||||
/* 日期格的样式 TD */
|
||||
.WdateDiv .Wday{
|
||||
cursor:pointer;
|
||||
}
|
||||
/* 日期格的mouseover样式 TD */
|
||||
.WdateDiv .WdayOn{
|
||||
cursor:pointer;
|
||||
background-color:#74d2d9 ;
|
||||
}
|
||||
/* 周末日期格的样式 TD */
|
||||
.WdateDiv .Wwday{
|
||||
cursor:pointer;
|
||||
color:#ab1e1e;
|
||||
}
|
||||
/* 周末日期格的mouseover样式 TD */
|
||||
.WdateDiv .WwdayOn{
|
||||
cursor:pointer;
|
||||
background-color:#74d2d9;
|
||||
}
|
||||
.WdateDiv .Wtoday{
|
||||
cursor:pointer;
|
||||
color:blue;
|
||||
}
|
||||
.WdateDiv .Wselday{
|
||||
background-color:#A7E2E7;
|
||||
}
|
||||
.WdateDiv .WspecialDay{
|
||||
background-color:#66F4DF;
|
||||
}
|
||||
/* 其他月份的日期 */
|
||||
.WdateDiv .WotherDay{
|
||||
cursor:pointer;
|
||||
color:#0099CC;
|
||||
}
|
||||
/* 其他月份的日期mouseover样式 */
|
||||
.WdateDiv .WotherDayOn{
|
||||
cursor:pointer;
|
||||
background-color:#C0EBEF;
|
||||
}
|
||||
/* 无效日期的样式,即在日期范围以外日期格的样式,不能选择的日期 */
|
||||
.WdateDiv .WinvalidDay{
|
||||
color:#aaa;
|
||||
}
|
||||
|
||||
/****************************
|
||||
* 时间相关
|
||||
***************************/
|
||||
/* 时间栏 DIV */
|
||||
.WdateDiv #dpTime{
|
||||
float:left;
|
||||
margin-top:3px;
|
||||
margin-right:30px;
|
||||
}
|
||||
/* 时间文字 SPAN */
|
||||
.WdateDiv #dpTime #dpTimeStr{
|
||||
margin-left:1px;
|
||||
color:#497F7F;
|
||||
}
|
||||
/* 时间输入框 INPUT */
|
||||
.WdateDiv #dpTime input{
|
||||
height:20px;
|
||||
width:18px;
|
||||
text-align:center;
|
||||
color:#333;
|
||||
border:#61CAD0 1px solid;
|
||||
}
|
||||
/* 时间 时 INPUT */
|
||||
.WdateDiv #dpTime .tB{
|
||||
border-right:0px;
|
||||
}
|
||||
/* 时间 分和间隔符 ':' INPUT */
|
||||
.WdateDiv #dpTime .tE{
|
||||
border-left:0;
|
||||
border-right:0;
|
||||
}
|
||||
/* 时间 秒 INPUT */
|
||||
.WdateDiv #dpTime .tm{
|
||||
width:7px;
|
||||
border-left:0;
|
||||
border-right:0;
|
||||
}
|
||||
/* 时间右边的向上按钮 BUTTON */
|
||||
.WdateDiv #dpTime #dpTimeUp{
|
||||
height:10px;
|
||||
width:13px;
|
||||
border:0px;
|
||||
background:url(img.gif) no-repeat -32px -16px;
|
||||
}
|
||||
/* 时间右边的向下按钮 BUTTON */
|
||||
.WdateDiv #dpTime #dpTimeDown{
|
||||
height:10px;
|
||||
width:13px;
|
||||
border:0px;
|
||||
background:url(img.gif) no-repeat -48px -16px;
|
||||
}
|
||||
/****************************
|
||||
* 其他
|
||||
***************************/
|
||||
.WdateDiv #dpQS {
|
||||
float:left;
|
||||
margin-right:3px;
|
||||
margin-top:3px;
|
||||
background:url(img.gif) no-repeat 0px -16px;
|
||||
width:20px;
|
||||
height:20px;
|
||||
cursor:pointer;
|
||||
}
|
||||
.WdateDiv #dpControl {
|
||||
text-align:right;
|
||||
margin-top:3px;
|
||||
}
|
||||
.WdateDiv .dpButton{
|
||||
height:20px;
|
||||
width:45px;
|
||||
margin-top:2px;
|
||||
border:#38B1B9 1px solid;
|
||||
background-color:#CFEBEE;
|
||||
color:#08575B;
|
||||
/*
|
||||
* My97 DatePicker 4.7
|
||||
* 皮肤名称:whyGreen
|
||||
*/
|
||||
|
||||
/* 日期选择容器 DIV */
|
||||
.WdateDiv{
|
||||
width:180px;
|
||||
background-color:#fff;
|
||||
border:#C5E1E4 1px solid;
|
||||
padding:2px;
|
||||
}
|
||||
/* 双月日历的宽度 */
|
||||
.WdateDiv2{
|
||||
width:360px;
|
||||
}
|
||||
.WdateDiv *{font-size:9pt;}
|
||||
|
||||
/****************************
|
||||
* 导航图标 全部是A标签
|
||||
***************************/
|
||||
.WdateDiv .NavImg a{
|
||||
cursor:pointer;
|
||||
display:block;
|
||||
width:16px;
|
||||
height:16px;
|
||||
margin-top:1px;
|
||||
}
|
||||
|
||||
.WdateDiv .NavImgll a{
|
||||
float:left;
|
||||
background:url(img.gif) no-repeat;
|
||||
}
|
||||
.WdateDiv .NavImgl a{
|
||||
float:left;
|
||||
background:url(img.gif) no-repeat -16px 0px;
|
||||
}
|
||||
.WdateDiv .NavImgr a{
|
||||
float:right;
|
||||
background:url(img.gif) no-repeat -32px 0px;
|
||||
}
|
||||
.WdateDiv .NavImgrr a{
|
||||
float:right;
|
||||
background:url(img.gif) no-repeat -48px 0px;
|
||||
}
|
||||
/****************************
|
||||
* 年份月份相关
|
||||
***************************/
|
||||
/* 年份月份栏 DIV */
|
||||
.WdateDiv #dpTitle{
|
||||
height:24px;
|
||||
padding:1px;
|
||||
border:#c5d9e8 1px solid;
|
||||
background:url(bg.jpg);
|
||||
margin-bottom:2px;
|
||||
}
|
||||
/* 年份月份输入框 INPUT */
|
||||
.WdateDiv .yminput{
|
||||
margin-top:2px;
|
||||
text-align:center;
|
||||
border:0px;
|
||||
height:20px;
|
||||
width:50px;
|
||||
color:#034c50;
|
||||
background-color:transparent;
|
||||
cursor:pointer;
|
||||
}
|
||||
/* 年份月份输入框获得焦点时的样式 INPUT */
|
||||
.WdateDiv .yminputfocus{
|
||||
margin-top:2px;
|
||||
text-align:center;
|
||||
border:#939393 1px solid;
|
||||
font-weight:bold;
|
||||
color:#034c50;
|
||||
height:20px;
|
||||
width:50px;
|
||||
}
|
||||
/* 菜单选择框 DIV */
|
||||
.WdateDiv .menuSel{
|
||||
z-index:1;
|
||||
position:absolute;
|
||||
background-color:#FFFFFF;
|
||||
border:#A3C6C8 1px solid;
|
||||
display:none;
|
||||
}
|
||||
/* 菜单的样式 TD */
|
||||
.WdateDiv .menu{
|
||||
cursor:pointer;
|
||||
background-color:#fff;
|
||||
color:#11777C;
|
||||
}
|
||||
/* 菜单的mouseover样式 TD */
|
||||
.WdateDiv .menuOn{
|
||||
cursor:pointer;
|
||||
background-color:#BEEBEE;
|
||||
}
|
||||
/* 菜单无效时的样式 TD */
|
||||
.WdateDiv .invalidMenu{
|
||||
color:#aaa;
|
||||
}
|
||||
/* 年选择框的偏移 DIV */
|
||||
.WdateDiv .YMenu{
|
||||
margin-top:20px;
|
||||
}
|
||||
/* 月选择框的偏移 DIV */
|
||||
.WdateDiv .MMenu{
|
||||
margin-top:20px;
|
||||
*width:62px;
|
||||
}
|
||||
/* 时选择框的位置 DIV */
|
||||
.WdateDiv .hhMenu{
|
||||
margin-top:-90px;
|
||||
margin-left:26px;
|
||||
}
|
||||
/* 分选择框的位置 DIV */
|
||||
.WdateDiv .mmMenu{
|
||||
margin-top:-46px;
|
||||
margin-left:26px;
|
||||
}
|
||||
/* 秒选择框的位置 DIV */
|
||||
.WdateDiv .ssMenu{
|
||||
margin-top:-24px;
|
||||
margin-left:26px;
|
||||
}
|
||||
|
||||
/****************************
|
||||
* 周相关
|
||||
***************************/
|
||||
.WdateDiv .Wweek {
|
||||
text-align:center;
|
||||
background:#DAF3F5;
|
||||
border-right:#BDEBEE 1px solid;
|
||||
}
|
||||
/****************************
|
||||
* 星期,日期相关
|
||||
***************************/
|
||||
/* 星期栏 TR */
|
||||
.WdateDiv .MTitle{
|
||||
color:#13777e;
|
||||
background-color:#bdebee;
|
||||
}
|
||||
.WdateDiv .WdayTable2{
|
||||
border-collapse:collapse;
|
||||
border:#BEE9F0 1px solid;
|
||||
}
|
||||
.WdateDiv .WdayTable2 table{
|
||||
border:0;
|
||||
}
|
||||
/* 日期栏表格 TABLE */
|
||||
.WdateDiv .WdayTable{
|
||||
line-height:20px;
|
||||
color:#13777e;
|
||||
background-color:#edfbfb;
|
||||
border:#BEE9F0 1px solid;
|
||||
}
|
||||
.WdateDiv .WdayTable td{
|
||||
text-align:center;
|
||||
}
|
||||
/* 日期格的样式 TD */
|
||||
.WdateDiv .Wday{
|
||||
cursor:pointer;
|
||||
}
|
||||
/* 日期格的mouseover样式 TD */
|
||||
.WdateDiv .WdayOn{
|
||||
cursor:pointer;
|
||||
background-color:#74d2d9 ;
|
||||
}
|
||||
/* 周末日期格的样式 TD */
|
||||
.WdateDiv .Wwday{
|
||||
cursor:pointer;
|
||||
color:#ab1e1e;
|
||||
}
|
||||
/* 周末日期格的mouseover样式 TD */
|
||||
.WdateDiv .WwdayOn{
|
||||
cursor:pointer;
|
||||
background-color:#74d2d9;
|
||||
}
|
||||
.WdateDiv .Wtoday{
|
||||
cursor:pointer;
|
||||
color:blue;
|
||||
}
|
||||
.WdateDiv .Wselday{
|
||||
background-color:#A7E2E7;
|
||||
}
|
||||
.WdateDiv .WspecialDay{
|
||||
background-color:#66F4DF;
|
||||
}
|
||||
/* 其他月份的日期 */
|
||||
.WdateDiv .WotherDay{
|
||||
cursor:pointer;
|
||||
color:#0099CC;
|
||||
}
|
||||
/* 其他月份的日期mouseover样式 */
|
||||
.WdateDiv .WotherDayOn{
|
||||
cursor:pointer;
|
||||
background-color:#C0EBEF;
|
||||
}
|
||||
/* 无效日期的样式,即在日期范围以外日期格的样式,不能选择的日期 */
|
||||
.WdateDiv .WinvalidDay{
|
||||
color:#aaa;
|
||||
}
|
||||
|
||||
/****************************
|
||||
* 时间相关
|
||||
***************************/
|
||||
/* 时间栏 DIV */
|
||||
.WdateDiv #dpTime{
|
||||
float:left;
|
||||
margin-top:3px;
|
||||
margin-right:30px;
|
||||
}
|
||||
/* 时间文字 SPAN */
|
||||
.WdateDiv #dpTime #dpTimeStr{
|
||||
margin-left:1px;
|
||||
color:#497F7F;
|
||||
}
|
||||
/* 时间输入框 INPUT */
|
||||
.WdateDiv #dpTime input{
|
||||
height:20px;
|
||||
width:18px;
|
||||
text-align:center;
|
||||
color:#333;
|
||||
border:#61CAD0 1px solid;
|
||||
}
|
||||
/* 时间 时 INPUT */
|
||||
.WdateDiv #dpTime .tB{
|
||||
border-right:0px;
|
||||
}
|
||||
/* 时间 分和间隔符 ':' INPUT */
|
||||
.WdateDiv #dpTime .tE{
|
||||
border-left:0;
|
||||
border-right:0;
|
||||
}
|
||||
/* 时间 秒 INPUT */
|
||||
.WdateDiv #dpTime .tm{
|
||||
width:7px;
|
||||
border-left:0;
|
||||
border-right:0;
|
||||
}
|
||||
/* 时间右边的向上按钮 BUTTON */
|
||||
.WdateDiv #dpTime #dpTimeUp{
|
||||
height:10px;
|
||||
width:13px;
|
||||
border:0px;
|
||||
background:url(img.gif) no-repeat -32px -16px;
|
||||
}
|
||||
/* 时间右边的向下按钮 BUTTON */
|
||||
.WdateDiv #dpTime #dpTimeDown{
|
||||
height:10px;
|
||||
width:13px;
|
||||
border:0px;
|
||||
background:url(img.gif) no-repeat -48px -16px;
|
||||
}
|
||||
/****************************
|
||||
* 其他
|
||||
***************************/
|
||||
.WdateDiv #dpQS {
|
||||
float:left;
|
||||
margin-right:3px;
|
||||
margin-top:3px;
|
||||
background:url(img.gif) no-repeat 0px -16px;
|
||||
width:20px;
|
||||
height:20px;
|
||||
cursor:pointer;
|
||||
}
|
||||
.WdateDiv #dpControl {
|
||||
text-align:right;
|
||||
margin-top:3px;
|
||||
}
|
||||
.WdateDiv .dpButton{
|
||||
height:20px;
|
||||
width:45px;
|
||||
margin-top:2px;
|
||||
border:#38B1B9 1px solid;
|
||||
background-color:#CFEBEE;
|
||||
color:#08575B;
|
||||
}
|
||||
@@ -1,179 +1,180 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>ERP系统</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
|
||||
<!-- 指定以IE8的方式来渲染 -->
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8"/>
|
||||
<link rel="shortcut icon" href="/images/favicon.ico" type="image/x-icon"/>
|
||||
<link type="text/css" rel="stylesheet" href="/css/css.css"/>
|
||||
<script type="text/javascript" src="/js/jquery-1.8.0.min.js"></script>
|
||||
<script type="text/javascript" src="/js/common/common.js"></script>
|
||||
</head>
|
||||
<body id="login_body">
|
||||
<form action="admin.html">
|
||||
<div id="login_main">
|
||||
<div id="login">
|
||||
<p id="login_signal"><img src="/images/login_tip.jpg" width="108" height="29" alt="login"/></p>
|
||||
<p id="txt_username">
|
||||
<label for="user_name">用户名:</label>
|
||||
</p>
|
||||
<p id="txt_userpwd">
|
||||
<label for="user_vcode" id="user_vcodepwd">密 码:</label>
|
||||
</p>
|
||||
<input type="text" id="user_name"/>
|
||||
<input type="password" id="user_pwd"/>
|
||||
<p id="tip_username" style="display: none"><span class="error_input">用户名不正确</span></p>
|
||||
<p id="tip_userpwd" style="display: none">密码不能为空</p>
|
||||
<input type="button" value=" " id="btn_login"/>
|
||||
</div>
|
||||
<p id="copyright">
|
||||
Copyright © 2017-2020 季圣华(jishenghua)
|
||||
<a style="color:#00458a;" href="https://gitee.com/jishenghua/JSH_ERP" target="_blank">华夏ERP_v1.0</a>
|
||||
</p>
|
||||
</div>
|
||||
</form>
|
||||
<script type="text/javascript">
|
||||
//初始化界面
|
||||
$(function () {
|
||||
//进入页面聚焦在username输入框,方便 用户输入
|
||||
$("#user_name").focus();
|
||||
browserFit();
|
||||
});
|
||||
|
||||
//浏览器适配
|
||||
function browserFit() {
|
||||
if (getOs() == 'MSIE')
|
||||
$("#user_vcodepwd").empty().append("密 码:");
|
||||
else
|
||||
$("#user_vcodepwd").empty().append("密 码:");
|
||||
}
|
||||
|
||||
//初始化键盘enter事件
|
||||
$(document).keydown(function (event) {
|
||||
//兼容 IE和firefox 事件
|
||||
var e = window.event || event;
|
||||
var k = e.keyCode || e.which || e.charCode;
|
||||
//兼容 IE,firefox 兼容
|
||||
var obj = e.srcElement ? e.srcElement : e.target;
|
||||
//绑定键盘事件为 id是usename 和password的输入框才可以触发键盘事件 13键盘事件
|
||||
if (k == "13" && (obj.id == "user_name" || obj.id == "user_pwd"))
|
||||
checkUserInput();
|
||||
});
|
||||
|
||||
//登录按钮绑定处理事件
|
||||
$('#btn_login').bind({
|
||||
click: checkUserInput
|
||||
});
|
||||
|
||||
//检测用户输入数据
|
||||
function checkUserInput() {
|
||||
var username = $.trim($('#user_name').val());
|
||||
var password = $.trim($('#user_pwd').val());
|
||||
if (null == username || 0 == username.length) {
|
||||
$("#user_name").val("").focus();
|
||||
$("#tip_userpwd").hide();
|
||||
$("#tip_username").empty().append('<span class="error_input">用户名不能为空</span>').show();
|
||||
return;
|
||||
}
|
||||
else
|
||||
$("#tip_username").hide();
|
||||
|
||||
if (null == password || 0 == password.length) {
|
||||
$("#user_pwd").val("").focus();
|
||||
$("#tip_userpwd").empty().append('<span class="error_input">密码不能为空</span>').show();
|
||||
return;
|
||||
}
|
||||
else
|
||||
$("#tip_userpwd").hide();
|
||||
if (username != null && username.length != 0
|
||||
&& password != null && password.length != 0) {
|
||||
$("#user_name").focus();
|
||||
$("#tip_username").hide();
|
||||
$("#tip_userpwd").hide();
|
||||
$.ajax({
|
||||
type: "post",
|
||||
url: "/user/login",
|
||||
dataType: "json",
|
||||
data: ({
|
||||
loginame: username,
|
||||
password: password
|
||||
}),
|
||||
success: function (res) {
|
||||
if(res) {
|
||||
var loginInfoTip = res.data.msgTip;
|
||||
//用户名不存在,清空输入框并定位到用户名输入框
|
||||
if (loginInfoTip.indexOf("user is not exist") != -1) {
|
||||
$("#user_pwd").val("");
|
||||
$("#user_name").val("").focus();
|
||||
$("#tip_userpwd").hide();
|
||||
$("#tip_username").empty().append('<span class="error_input">用户名不存在</span>').show();
|
||||
return;
|
||||
}
|
||||
else if (loginInfoTip.indexOf("user password error") != -1) {
|
||||
$("#user_pwd").val("").focus();
|
||||
$("#tip_userpwd").empty().append('<span class="error_input">用户密码错误</span>').show();
|
||||
return;
|
||||
}
|
||||
else if (loginInfoTip.indexOf("access service error") != -1) {
|
||||
//$("#user_name").val("").focus();
|
||||
$("#tip_userpwd").hide();
|
||||
$("#tip_username").empty().append('<span class="error_input">后台访问错误</span>').show();
|
||||
return;
|
||||
}
|
||||
//跳转到用户管理界面
|
||||
else if (loginInfoTip.indexOf("user can login") != -1 || loginInfoTip == "user already login") {
|
||||
window.location.href = "/";
|
||||
}
|
||||
}
|
||||
},
|
||||
//此处添加错误处理
|
||||
error: function () {
|
||||
alert("后台访问错误,请联系管理员!");
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
//处理tip提示
|
||||
//定义变量控制密码提示显示
|
||||
var temp_value = "";
|
||||
$("#user_name").add("#user_pwd").unbind().bind({
|
||||
'click keyup': function () {
|
||||
var value = $.trim($(this).val());
|
||||
if (value.length > 0) {
|
||||
$("#tip_username").hide();
|
||||
$("#tip_userpwd").hide();
|
||||
}
|
||||
},
|
||||
blur: function () {
|
||||
//兼容 IE和firefox 事件
|
||||
var e = window.event || event;
|
||||
//兼容 IE,firefox 兼容
|
||||
var obj = e.srcElement ? e.srcElement : e.target;
|
||||
var value = $.trim($(this).val());
|
||||
if (obj.id == "user_name")
|
||||
temp_value = value;
|
||||
if (value.length == 0) {
|
||||
if (obj.id == "user_name")
|
||||
$("#tip_username").empty().append('<span class="error_input">用户名不能为空</span>').show();
|
||||
|
||||
if (obj.id == "user_pwd" && temp_value.length > 0)
|
||||
$("#tip_userpwd").empty().append('<span class="error_input">密码不能为空</span>').show();
|
||||
;
|
||||
}
|
||||
else {
|
||||
if (obj.id == "user_pwd" && value.length > 0 && temp_value.length == 0) {
|
||||
$("#tip_username").show();
|
||||
$("#tip_userpwd").hide();
|
||||
}
|
||||
else {
|
||||
$("#tip_username").hide();
|
||||
$("#tip_userpwd").hide();
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>ERP系统</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
|
||||
<!-- 指定以IE8的方式来渲染 -->
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8"/>
|
||||
<link rel="shortcut icon" href="/images/favicon.ico" type="image/x-icon"/>
|
||||
<link type="text/css" rel="stylesheet" href="/css/css.css"/>
|
||||
<script type="text/javascript" src="/js/jquery-1.8.0.min.js"></script>
|
||||
<script type="text/javascript" src="/js/common/common.js"></script>
|
||||
</head>
|
||||
<body id="login_body">
|
||||
<form action="admin.html">
|
||||
<div id="login_main">
|
||||
<div id="login">
|
||||
<p id="login_signal"><img src="/images/login_tip.jpg" width="108" height="29" alt="login"/></p>
|
||||
<p id="txt_username">
|
||||
<label for="user_name">用户名:</label>
|
||||
</p>
|
||||
<p id="txt_userpwd">
|
||||
<label for="user_vcodepwd" id="user_vcodepwd">密 码:</label>
|
||||
</p>
|
||||
<input type="text" id="user_name"/>
|
||||
<input type="password" id="user_pwd"/>
|
||||
<p id="tip_username" style="display: none"><span class="error_input">用户名不正确</span></p>
|
||||
<p id="tip_userpwd" style="display: none">密码不能为空</p>
|
||||
<input type="button" value=" " id="btn_login"/>
|
||||
</div>
|
||||
<p id="copyright">
|
||||
Copyright © 2017-2020 季圣华(jishenghua)
|
||||
<a style="color:#00458a;" href="https://gitee.com/jishenghua/JSH_ERP" target="_blank">华夏ERP_v1.0</a>
|
||||
</p>
|
||||
</div>
|
||||
</form>
|
||||
<script type="text/javascript">
|
||||
//初始化界面
|
||||
$(function () {
|
||||
//进入页面聚焦在username输入框,方便 用户输入
|
||||
$("#user_name").focus();
|
||||
browserFit();
|
||||
});
|
||||
|
||||
//浏览器适配
|
||||
function browserFit() {
|
||||
if (getOs() == 'MSIE')
|
||||
$("#user_vcodepwd").empty().append("密 码:");
|
||||
else
|
||||
$("#user_vcodepwd").empty().append("密 码:");
|
||||
}
|
||||
|
||||
//初始化键盘enter事件
|
||||
$(document).keydown(function (event) {
|
||||
//兼容 IE和firefox 事件
|
||||
var e = window.event || event;
|
||||
var k = e.keyCode || e.which || e.charCode;
|
||||
//兼容 IE,firefox 兼容
|
||||
var obj = e.srcElement ? e.srcElement : e.target;
|
||||
//绑定键盘事件为 id是usename 和password的输入框才可以触发键盘事件 13键盘事件
|
||||
if (k == "13" && (obj.id == "user_name" || obj.id == "user_pwd"))
|
||||
checkUserInput();
|
||||
});
|
||||
|
||||
//登录按钮绑定处理事件
|
||||
$('#btn_login').bind({
|
||||
click: checkUserInput
|
||||
});
|
||||
|
||||
//检测用户输入数据
|
||||
function checkUserInput() {
|
||||
var username = $.trim($('#user_name').val());
|
||||
var password = $.trim($('#user_pwd').val());
|
||||
if (null == username || 0 == username.length) {
|
||||
$("#user_name").val("").focus();
|
||||
$("#tip_userpwd").hide();
|
||||
$("#tip_username").empty().append('<span class="error_input">用户名不能为空</span>').show();
|
||||
return;
|
||||
}
|
||||
else
|
||||
$("#tip_username").hide();
|
||||
|
||||
if (null == password || 0 == password.length) {
|
||||
$("#user_pwd").val("").focus();
|
||||
$("#tip_userpwd").empty().append('<span class="error_input">密码不能为空</span>').show();
|
||||
return;
|
||||
}
|
||||
else
|
||||
$("#tip_userpwd").hide();
|
||||
if (username != null && username.length != 0
|
||||
&& password != null && password.length != 0) {
|
||||
$("#user_name").focus();
|
||||
$("#tip_username").hide();
|
||||
$("#tip_userpwd").hide();
|
||||
$.ajax({
|
||||
type: "post",
|
||||
url: "/user/login",
|
||||
dataType: "json",
|
||||
data: ({
|
||||
loginame: username,
|
||||
password: password
|
||||
}),
|
||||
success: function (res) {
|
||||
if(res) {
|
||||
var loginInfoTip = res.data.msgTip;
|
||||
//用户名不存在,清空输入框并定位到用户名输入框
|
||||
if (loginInfoTip.indexOf("user is not exist") != -1) {
|
||||
$("#user_pwd").val("");
|
||||
$("#user_name").val("").focus();
|
||||
$("#tip_userpwd").hide();
|
||||
$("#tip_username").empty().append('<span class="error_input">用户名不存在</span>').show();
|
||||
return;
|
||||
}
|
||||
else if (loginInfoTip.indexOf("user password error") != -1) {
|
||||
$("#user_pwd").val("").focus();
|
||||
$("#tip_userpwd").empty().append('<span class="error_input">用户密码错误</span>').show();
|
||||
return;
|
||||
}
|
||||
else if (loginInfoTip.indexOf("access service error") != -1) {
|
||||
//$("#user_name").val("").focus();
|
||||
$("#tip_userpwd").hide();
|
||||
$("#tip_username").empty().append('<span class="error_input">后台访问错误</span>').show();
|
||||
return;
|
||||
}
|
||||
//跳转到用户管理界面
|
||||
else if (loginInfoTip.indexOf("user can login") != -1 || loginInfoTip == "user already login") {
|
||||
//window.location.href = "/";
|
||||
window.location.href = "/pages/common/main.html";
|
||||
}
|
||||
}
|
||||
},
|
||||
//此处添加错误处理
|
||||
error: function () {
|
||||
alert("后台访问错误,请联系管理员!");
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
//处理tip提示
|
||||
//定义变量控制密码提示显示
|
||||
var temp_value = "";
|
||||
$("#user_name").add("#user_pwd").unbind().bind({
|
||||
'click keyup': function () {
|
||||
var value = $.trim($(this).val());
|
||||
if (value.length > 0) {
|
||||
$("#tip_username").hide();
|
||||
$("#tip_userpwd").hide();
|
||||
}
|
||||
},
|
||||
blur: function () {
|
||||
//兼容 IE和firefox 事件
|
||||
var e = window.event || event;
|
||||
//兼容 IE,firefox 兼容
|
||||
var obj = e.srcElement ? e.srcElement : e.target;
|
||||
var value = $.trim($(this).val());
|
||||
if (obj.id == "user_name")
|
||||
temp_value = value;
|
||||
if (value.length == 0) {
|
||||
if (obj.id == "user_name")
|
||||
$("#tip_username").empty().append('<span class="error_input">用户名不能为空</span>').show();
|
||||
|
||||
if (obj.id == "user_pwd" && temp_value.length > 0)
|
||||
$("#tip_userpwd").empty().append('<span class="error_input">密码不能为空</span>').show();
|
||||
;
|
||||
}
|
||||
else {
|
||||
if (obj.id == "user_pwd" && value.length > 0 && temp_value.length == 0) {
|
||||
$("#tip_username").show();
|
||||
$("#tip_userpwd").hide();
|
||||
}
|
||||
else {
|
||||
$("#tip_username").hide();
|
||||
$("#tip_userpwd").hide();
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
25
pom.xml
25
pom.xml
@@ -2,7 +2,30 @@
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<profiles>
|
||||
<profile>
|
||||
<id>dev</id>
|
||||
<properties>
|
||||
<activatedProperties>dev</activatedProperties>
|
||||
</properties>
|
||||
<activation>
|
||||
<activeByDefault>true</activeByDefault>
|
||||
</activation>
|
||||
</profile>
|
||||
<profile>
|
||||
<id>test</id>
|
||||
<properties>
|
||||
<activatedProperties>test</activatedProperties>
|
||||
</properties>
|
||||
|
||||
</profile>
|
||||
<profile>
|
||||
<id>prod</id>
|
||||
<properties>
|
||||
<activatedProperties>prod</activatedProperties>
|
||||
</properties>
|
||||
</profile>
|
||||
</profiles>
|
||||
<groupId>com.jsh</groupId>
|
||||
<artifactId>jshERP</artifactId>
|
||||
<version>2.0.2-SNAPSHOT</version>
|
||||
@@ -14,7 +37,7 @@
|
||||
<parent>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-parent</artifactId>
|
||||
<version>1.5.1.RELEASE</version>
|
||||
<version>2.0.0.RELEASE</version>
|
||||
</parent>
|
||||
|
||||
<properties>
|
||||
|
||||
@@ -1,97 +0,0 @@
|
||||
package com.jsh.erp.config;
|
||||
|
||||
import com.alibaba.druid.pool.DruidDataSource;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.boot.context.properties.ConfigurationProperties;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.context.annotation.Primary;
|
||||
import org.springframework.jdbc.core.JdbcTemplate;
|
||||
import org.springframework.transaction.annotation.EnableTransactionManagement;
|
||||
|
||||
import javax.sql.DataSource;
|
||||
|
||||
|
||||
@Configuration
|
||||
@EnableTransactionManagement(proxyTargetClass = true)
|
||||
public class DbConfig {
|
||||
private static final Logger logger = LoggerFactory.getLogger(DbConfig.class);
|
||||
|
||||
@Bean(name = "erpDatasource")
|
||||
@Primary
|
||||
public DataSource erpDatasource(ErpDatasourceProperties properties){
|
||||
try {
|
||||
DruidDataSource datasource = new DruidDataSource();
|
||||
datasource.setDriverClassName(properties.driverClassName);
|
||||
datasource.setUrl(properties.url);
|
||||
datasource.setUsername(properties.username);
|
||||
datasource.setPassword(properties.password);
|
||||
datasource.setInitialSize(1);
|
||||
datasource.setMinIdle(1);
|
||||
datasource.setMaxWait(60000);
|
||||
datasource.setMaxActive(5);
|
||||
datasource.setTimeBetweenEvictionRunsMillis(60000);
|
||||
datasource.setValidationQuery("select '1'");
|
||||
datasource.setTestOnBorrow(false);
|
||||
datasource.setTestOnReturn(false);
|
||||
datasource.setTestWhileIdle(true);
|
||||
datasource.setPoolPreparedStatements(true);
|
||||
datasource.setMaxOpenPreparedStatements(20);
|
||||
datasource.setMinEvictableIdleTimeMillis(300000);
|
||||
datasource.init();
|
||||
return datasource;
|
||||
}catch (Exception e){
|
||||
logger.error("服务启动失败,jsh_erp数据库Datasource初始化失败:"+e.getMessage());
|
||||
throw new IllegalArgumentException(e);
|
||||
}
|
||||
}
|
||||
|
||||
@Bean
|
||||
@Primary
|
||||
public JdbcTemplate jdbcTemplate(@Qualifier("erpDatasource") DataSource dataSource) {
|
||||
return new JdbcTemplate(dataSource);
|
||||
}
|
||||
|
||||
@Configuration
|
||||
@ConfigurationProperties(prefix = "erpDatasource")
|
||||
public static class ErpDatasourceProperties {
|
||||
private String driverClassName;
|
||||
private String url;
|
||||
private String username;
|
||||
private String password;
|
||||
|
||||
public String getDriverClassName() {
|
||||
return driverClassName;
|
||||
}
|
||||
|
||||
public void setDriverClassName(String driverClassName) {
|
||||
this.driverClassName = driverClassName;
|
||||
}
|
||||
|
||||
public String getUrl() {
|
||||
return url;
|
||||
}
|
||||
|
||||
public void setUrl(String url) {
|
||||
this.url = url;
|
||||
}
|
||||
|
||||
public String getUsername() {
|
||||
return username;
|
||||
}
|
||||
|
||||
public void setUsername(String username) {
|
||||
this.username = username;
|
||||
}
|
||||
|
||||
public String getPassword() {
|
||||
return password;
|
||||
}
|
||||
|
||||
public void setPassword(String password) {
|
||||
this.password = password;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,40 +1,33 @@
|
||||
package com.jsh.erp.config;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.boot.context.embedded.ConfigurableEmbeddedServletContainer;
|
||||
import org.springframework.boot.context.embedded.EmbeddedServletContainerCustomizer;
|
||||
import org.springframework.boot.context.properties.ConfigurationProperties;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import java.io.File;
|
||||
|
||||
@Configuration
|
||||
public class WebConfig {
|
||||
private static final Logger logger = LoggerFactory.getLogger(WebConfig.class);
|
||||
|
||||
@Configuration
|
||||
@ConfigurationProperties(prefix = "web.front")
|
||||
public static class FrontEnd implements EmbeddedServletContainerCustomizer {
|
||||
private File baseDir;
|
||||
|
||||
public File getBaseDir() {
|
||||
return baseDir;
|
||||
}
|
||||
|
||||
public void setBaseDir(File baseDir) {
|
||||
this.baseDir = baseDir;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void customize(ConfigurableEmbeddedServletContainer container) {
|
||||
if (!baseDir.exists()) {
|
||||
if (!baseDir.mkdir()) {
|
||||
logger.info("create web.front base path:" + baseDir + " failed!already exists!");
|
||||
} else {
|
||||
logger.info("create web.front base path:" + baseDir + " success!");
|
||||
}
|
||||
}
|
||||
container.setDocumentRoot(baseDir);
|
||||
}
|
||||
}
|
||||
package com.jsh.erp.config;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.boot.web.server.WebServerFactoryCustomizer;
|
||||
import org.springframework.boot.web.servlet.server.ConfigurableServletWebServerFactory;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
|
||||
import java.io.File;
|
||||
|
||||
//@Configuration
|
||||
public class WebConfig {
|
||||
private static final Logger logger = LoggerFactory.getLogger(WebConfig.class);
|
||||
|
||||
@Configuration
|
||||
public static class FrontEnd implements WebServerFactoryCustomizer<ConfigurableServletWebServerFactory> {
|
||||
@Value("${web.front.baseDir}")
|
||||
private File baseDir;
|
||||
|
||||
@Override
|
||||
public void customize(ConfigurableServletWebServerFactory factory) {
|
||||
if (!baseDir.exists()) {
|
||||
if (!baseDir.mkdir()) {
|
||||
logger.info("create web.front base path:" + baseDir + " failed!already exists!");
|
||||
} else {
|
||||
logger.info("create web.front base path:" + baseDir + " success!");
|
||||
}
|
||||
}
|
||||
factory.setDocumentRoot(baseDir);
|
||||
}
|
||||
}
|
||||
}
|
||||
4
src/main/resources/application-dev.properties
Normal file
4
src/main/resources/application-dev.properties
Normal file
@@ -0,0 +1,4 @@
|
||||
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/jsh_erp?useUnicode=true&characterEncoding=utf8&useCursorFetch=true&defaultFetchSize=500&allowMultiQueries=true&rewriteBatchedStatements=true&useSSL=false
|
||||
spring.datasource.driverClassName=com.mysql.jdbc.Driver
|
||||
spring.datasource.username=root
|
||||
spring.datasource.password=123456
|
||||
0
src/main/resources/application-prod.properties
Normal file
0
src/main/resources/application-prod.properties
Normal file
0
src/main/resources/application-test.properties
Normal file
0
src/main/resources/application-test.properties
Normal file
37
src/main/resources/application.properties
Normal file
37
src/main/resources/application.properties
Normal file
@@ -0,0 +1,37 @@
|
||||
server.port=9000
|
||||
#spring.application.name=erp
|
||||
#eureka.client.service-url.defaultZone=http://sinldo-eureka:8001/eureka/
|
||||
#eureka.client.service-url.defaultZone=http://localhost:8001/eureka/
|
||||
#eureka.instance.instance-id=${spring.application.name}-instance-${random.value}
|
||||
#eureka.instance.prefer-ip-address=true
|
||||
spring.profiles.active=@activatedProperties@
|
||||
#generatorConfigרÓÃÊôÐÔ
|
||||
project=src/main/java
|
||||
resource=src/main/resources
|
||||
web.front.baseDir=erp_web
|
||||
#web.front.baseDir=erp_web
|
||||
mybatis.type-aliases-package=com.chinamobile.model.*
|
||||
mybatis.mapper-locations=classpath:./mapper_xml/*.xml
|
||||
|
||||
|
||||
spring.cas.sign-out-filters=/logout
|
||||
spring.cas.auth-filters=/*
|
||||
spring.cas.validate-filters=/*
|
||||
spring.cas.request-wrapper-filters=/*
|
||||
spring.cas.assertion-filters=/*
|
||||
spring.cas.cas-server-login-url=http://localhost:8080/login
|
||||
spring.cas.cas-server-url-prefix=http://localhost:8080
|
||||
spring.cas.redirect-after-validation=true
|
||||
spring.cas.use-session=true
|
||||
spring.cas.server-name=http://localhost:9000
|
||||
|
||||
|
||||
##¾²Ì¬×ÊԴ·¾¶
|
||||
#spring.mvc.view.prefix=/templates/
|
||||
#spring.mvc.view.suffix=.html
|
||||
#spring.mvc.static-path-pattern=/**
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,13 +0,0 @@
|
||||
server:
|
||||
port: 80
|
||||
erpDatasource:
|
||||
driver-class-name: com.mysql.jdbc.Driver
|
||||
url: jdbc:mysql://127.0.0.1:3306/jsh_erp?useUnicode=true&characterEncoding=utf8&useCursorFetch=true&defaultFetchSize=500&allowMultiQueries=true&rewriteBatchedStatements=true&useSSL=false
|
||||
username: root
|
||||
password: 1234
|
||||
web:
|
||||
front:
|
||||
base-dir: erp_web
|
||||
mybatis:
|
||||
mapperLocations: classpath:mapper_xml/*.xml #一定要对应mapper映射xml文件的所在路径
|
||||
executorType: SIMPLE
|
||||
Reference in New Issue
Block a user