Skip to content

Commit d78e3a0

Browse files
committed
notice
1 parent e33a7de commit d78e3a0

File tree

7 files changed

+115
-24
lines changed

7 files changed

+115
-24
lines changed

public/css/admin.css

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,4 +35,16 @@
3535
/*日期*/
3636
.notice-date{
3737
width: 68px;
38+
}
39+
/*状态*/
40+
.status{
41+
background-color: #d7d7d7;
42+
margin: 0 0 0 5px !important;
43+
padding: 0 5px;
44+
border-left: 1px solid #c8c8c8;
45+
color: #888;
46+
}
47+
.status-over{
48+
background-color:#dce7bf;
49+
color:#bdb76a;
3850
}

public/css/reset.css

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,15 @@ p{
119119
.hide{
120120
display: none;
121121
}
122+
/*H*/
123+
.hbt{
124+
margin-top: 20px;
125+
font-size: 16px;
126+
border-bottom: 2px solid #ccc;
127+
padding-bottom: 4px;
128+
color: #888;
129+
}
130+
122131
/*清除浮动*/
123132
.clearfix:before, .clearfix:after,.hd:before,.hd:after{ content:"."; display:block; height:0; visibility:hidden }
124133
.clearfix:after,.hd:after{ clear:both }

public/js/models/ajax.js

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,16 @@ define(function(require,exports,module){
2222
,data : data
2323
,dataType : 'json'
2424
,beforsend: function(){
25-
var tips = new popbox.tinyTips();
25+
// var tips = new popbox.tinyTips();
2626
}
2727
,success : function(res){
2828
if(res.flg === 1){
2929
$('.tiny-tips').html('<span class="tiny-right"></span>'+res.msg+'<span class="tiny-end"></span>');
3030
setTimeout(function(){
31-
window.location.href = res.redirect;
31+
if(res.redirect)
32+
window.location.href = res.redirect;
33+
else
34+
window.location.reload();
3235
},2000);
3336
}else{
3437
tips.close();

routes/admin/notice.js

Lines changed: 43 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,47 @@
66
,jixiang = require('../../models/base')
77

88
exports.index = function(req,res){
9-
res.render('./admin/notice',{
10-
title : config.name+'公告发布'
11-
,user : req.session.user
12-
,nowDate : dataFormat.call(new Date(),'yyyy-MM-dd')
13-
});
9+
if(req.method == 'GET'){
10+
var condition = {};
11+
condition.query = {
12+
last_time : {
13+
'$gte' : new Date()*1
14+
}
15+
}
16+
condition.sort = {
17+
release_time : 1
18+
}
19+
jixiang.get(condition,'notice',function(err,doc){
20+
if(err)console.log(err);
21+
console.log(doc)
22+
if(doc.length){
23+
doc[0].release_time = dataFormat.call(new Date(doc[0].release_time),'yyyy-MM-dd hh:mm:ss')
24+
}
25+
res.render('./admin/notice',{
26+
title : config.name+'公告发布'
27+
,user : req.session.user
28+
,nowDate : dataFormat.call(new Date(),'yyyy-MM-dd')
29+
,doc : doc[0]
30+
});
31+
32+
});
33+
34+
}else if(req.method == 'POST'){
35+
var time = new Date(req.body.date+' 00:00:00').getTime()
36+
+ (parseInt(req.body.time,10) ? (parseInt(req.body.h,10)+12)*3600*1000 : req.body.h*60*60*1000 )
37+
+ req.body.m*60*1000
38+
,last = parseInt(req.body.lasttime,10)
39+
,content = req.body.content;
40+
var data = {
41+
release_time : time
42+
,last_time : time + 3600000 * 24 * last
43+
,content : content
44+
,author : req.session.user.username
45+
}
46+
jixiang.save(data,'notice',function(err,doc){
47+
if(err)return res.json({flg:0,msg:err})
48+
return res.json({flg:1,msg:'发布成功!'})
49+
});
50+
}
51+
1452
}

routes/login.js

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,22 @@ var crypto = require('crypto')
88

99
var index = function(req,res){
1010
if(req.method == 'GET'){
11-
res.render('./index/index',
12-
{
13-
title: config.name
14-
,user : req.session.user
15-
});
11+
var n = 1;
12+
var result = {};
13+
//公告
14+
jixiang.get({sort:{release_time:-1},query:{last_time:{'$gte':new Date()*1}}},'notice',function(err,doc){
15+
if(err)console.log(err);
16+
if(doc.length)result.notice = doc[0].content;
17+
--n || render();
18+
});
19+
function render(){
20+
res.render('./index/index',
21+
{
22+
title: config.name
23+
,user : req.session.user
24+
,result : result
25+
});
26+
}
1627
}else if(req.method == 'POST'){
1728
//生成口令散列
1829
var md5 = crypto.createHash('md5');

views/admin/notice.jade

Lines changed: 27 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,25 +2,41 @@ extends layout/layout
22
block content
33
//内容区
44
.main
5-
form
5+
form.ajax-form(action="/admin/notice",method="post")
66
.grey-box
77
.grey-box-hd
88
a 发布时间:
9-
input#date.notice-date(type="text",value="#{nowDate}")
10-
select
11-
option 00
12-
select
13-
option 00
14-
select
15-
option AM
16-
option PM
17-
a.fl-r 状态: 未发布
9+
input#date.notice-date(type="text",name="date",value="#{nowDate}",readonly)
10+
select(name="h")
11+
-for(var i = 0;i < 12;i++)
12+
- var h = i.toString().replace(/^(\d)$/,'0$1');
13+
option(value=i)=h
14+
select(name="m")
15+
-for(var i = 0;i < 60;i++)
16+
- var m = i.toString().replace(/^(\d)$/,'0$1')
17+
option(value=i)=m
18+
select(name="time")
19+
-var time = ['上午','下午']
20+
each item,i in time
21+
option(value=i)= item
22+
a 持续时间:
23+
input(value="0",type="text",name="lasttime",style="width:20px;text-align:center;")
24+
| 天(0表示不定时间)
25+
a.fl-r.status 未发布
1826
a.fl-r 发布人:#{user.username}
1927
.grey-box-bd
2028
.form-item
21-
textarea.bootstrap(style="width:700px;height:100px;")
29+
textarea.bootstrap(name="content",style="width:700px;height:100px;")
2230
.form-item
2331
button.btn(type="submit") 发布
32+
if doc
33+
h2.hbt 发布中的公告
34+
.grey-tips.clearfix
35+
p= doc.content
36+
p
37+
a.fl-r 发布人:#{doc.author}
38+
a.fl-r 发布日期: #{doc.release_time}
39+
2440

2541

2642

views/index/index.jade

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,8 @@ block content
3232
button.btn(type='submit') 登入
3333
p 还没注册? <a href="/reg">点我注册</a>
3434
else
35-
p 哈哈
35+
.container
36+
if !!result.notice
37+
.grey-tips 公告:#{result.notice}
3638

3739

0 commit comments

Comments
 (0)