升级springboot版本依赖到2.0,修复部分文件内容乱码,加入配置文件为properties

This commit is contained in:
cjl
2019-01-11 08:58:44 +08:00
parent c43441fe3a
commit 5b5f144abf
14 changed files with 845 additions and 899 deletions

View File

@@ -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: '最小日期不能大于最大日期!'
}

View File

@@ -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: '最小日期不能大於最大日期!'
}

View File

@@ -1,3 +1 @@
正式发布时,可将此文件夹删去
正式发布时,可将此文件夹删去

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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">&nbsp;&nbsp;&nbsp;&nbsp;码:</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("密&nbsp;&nbsp;&nbsp;&nbsp;码:");
else
$("#user_vcodepwd").empty().append("密&nbsp;&nbsp;&nbsp;&nbsp;码:");
}
//初始化键盘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">&nbsp;&nbsp;&nbsp;&nbsp;码:</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("密&nbsp;&nbsp;&nbsp;&nbsp;码:");
else
$("#user_vcodepwd").empty().append("密&nbsp;&nbsp;&nbsp;&nbsp;码:");
}
//初始化键盘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
View File

@@ -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>

View File

@@ -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;
}
}
}

View File

@@ -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);
}
}
}

View 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

View 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=/**

View File

@@ -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