@@ -8,22 +8,101 @@ var config = require('../../config')
88exports . index = function ( req , res ) {
99 var add = parseInt ( req . query . add , 10 ) || 0
1010 , info = parseInt ( req . query . info , 10 ) || 0 ;
11-
11+ var id = parseInt ( req . query . id , 10 ) || 0 ;
1212 if ( req . method == 'GET' ) {
1313 var template = 1 ;
1414 var result = { } ;
1515 if ( add !== 0 ) { //添加问题
1616 template = 2 ;
17+ jixiang . get ( { } , 'qcat' , function ( err , doc ) {
18+ if ( err ) doc = [ ] ;
19+ result . cat = doc ;
20+ render ( ) ;
21+ } ) ;
22+ return ;
1723 } else if ( info !== 0 ) { //查看&修改问题
1824 template = 3 ;
25+ var n = 2 ;
26+ jixiang . getOne ( { _id :id } , 'qa' , function ( err , doc ) {
27+ if ( err ) doc = [ ] ;
28+ result . qa = doc ;
29+ -- n || render ( ) ;
30+ } )
31+ jixiang . get ( { } , 'qcat' , function ( err , doc ) {
32+ if ( err ) doc = [ ] ;
33+ result . cat = doc ;
34+ -- n || render ( ) ;
35+ } ) ;
36+ return ;
1937 }
20- res . render ( './admin/question' , {
21- title : config . name + '问题管理'
22- , user : req . session . user
23- , template : template
38+ jixiang . count ( { } , 'qa' , function ( err , count ) {
39+ if ( err ) return res . json ( { flg :0 , msg :err } ) ;
40+ // 分页
41+ var pages = parseInt ( req . query . page , 10 ) || 1 ;
42+ var condition = {
43+ skip : ( pages - 1 ) * 7
44+ , limit : 7
45+ }
46+ var pageNum = {
47+ max : Math . ceil ( count / 7 ) ? Math . ceil ( count / 7 ) : 1
48+ , cur : pages
49+ , next : pages + 1
50+ , prev : pages - 1
51+ }
52+ if ( pageNum . cur > pageNum . max ) return ;
53+
54+ jixiang . get ( { } , 'qa' , function ( err , doc ) {
55+ if ( err ) doc = [ ] ;
56+ result . qa = doc ;
57+ render ( pageNum ) ;
58+ } ) ;
2459 } ) ;
25- } if ( req . method == 'POST' ) {
2660
61+ function render ( ) {
62+ var renderData = {
63+ title : config . name + '问题管理'
64+ , user : req . session . user
65+ , template : template
66+ , result : result
67+ }
68+ if ( arguments . length ) {
69+ renderData . pages = arguments [ 0 ] ;
70+ renderData . pagenav = '/admin/question?' ;
71+ }
72+ res . render ( './admin/question' , renderData ) ;
73+ }
74+ } if ( req . method == 'POST' ) {
75+ if ( ! ! req . query . del ) {
76+ jixiang . delById ( id , 'qa' , function ( err ) {
77+ if ( err ) return res . json ( { flg :0 , msg :err } ) ;
78+ return res . json ( { flg :1 , msg :'删除成功!' } ) ;
79+ } ) ;
80+ return ;
81+ }
82+ var qdata = {
83+ q : req . body . question . trim ( )
84+ , a : req . body . answer . trim ( )
85+ , catCat : req . body . catCat || ''
86+ , catChapter : req . body . catChapter || ''
87+ , catTopic : req . body . catTopic || ''
88+ }
89+ if ( add !== 0 ) { //增加问题
90+ jixiang . save ( qdata , 'qa' , function ( err , doc ) {
91+ if ( err ) return res . json ( { flg :0 , msg :err } ) ;
92+ return res . json ( { flg :1 , msg :'增加成功!' , redirect :'/admin/question' } ) ;
93+ } ) ;
94+ } else if ( info !== 0 ) {
95+ if ( ! id ) return ;
96+ jixiang . update ( {
97+ query : {
98+ _id : id
99+ } ,
100+ modify : qdata
101+ } , 'qa' , function ( err ) {
102+ if ( err ) return res . json ( { flg :0 , msg :err } ) ;
103+ return res . json ( { flg :1 , msg :'修改成功' } ) ;
104+ } ) ;
105+ }
27106 }
28107}
29108
@@ -32,19 +111,17 @@ exports.cat = function(req,res){
32111 , add = parseInt ( req . query . add , 10 ) || 0
33112 , modify = parseInt ( req . query . modify , 10 ) || 0
34113 , catArray = [ '' , '分类' , '章节' , '专题' ] ;
35-
114+ var id = parseInt ( req . query . id , 10 ) || 0 ;
36115 if ( req . method == 'GET' ) {
37116 var template = 1 ;
38117 if ( add !== 0 ) { //增加
39118 template = 2 ;
40119 render ( ) ;
41120 } else if ( modify !== 0 ) { //修改
42121 template = 3 ;
43- var id = parseInt ( req . query . id , 10 ) || 0 ;
44122 if ( ! id ) return ;
45123 jixiang . getOne ( { _id :id } , 'qcat' , function ( err , doc ) {
46124 if ( err ) doc = [ ] ;
47- console . log ( doc )
48125 render ( doc ) ;
49126 } ) ;
50127 return ;
@@ -71,6 +148,13 @@ exports.cat = function(req,res){
71148 }
72149
73150 } else if ( req . method == 'POST' ) {
151+ if ( ! ! req . query . del ) {
152+ jixiang . delById ( id , 'qcat' , function ( err ) {
153+ if ( err ) return res . json ( { flg :0 , msg :err } ) ;
154+ return res . json ( { flg :1 , msg :'删除成功!' } ) ;
155+ } ) ;
156+ return ;
157+ }
74158 var catData = {
75159 cat : cat
76160 , name : req . body . catname . trim ( )
@@ -82,7 +166,6 @@ exports.cat = function(req,res){
82166 return res . json ( { flg :1 , msg :'新增成功!' , redirect :'/admin/question/cat?cat=' + cat } ) ;
83167 } ) ;
84168 } else if ( modify !== 0 ) { //修改
85- var id = parseInt ( req . query . id , 10 ) || 0 ;
86169 if ( ! id ) return ;
87170 jixiang . update ( {
88171 query : {
@@ -93,13 +176,6 @@ exports.cat = function(req,res){
93176 if ( err ) return res . json ( { flg :0 , msg :err } ) ;
94177 return res . json ( { flg :1 , msg :'修改成功' } ) ;
95178 } ) ;
96- } else {
97- var del = parseInt ( req . query . del , 10 ) || 0 ;
98- if ( del === 0 ) return ;
99- jixiang . delById ( id , 'qcat' , function ( err ) {
100- if ( err ) return res . json ( { flg :0 , msg :err } ) ;
101- return res . json ( { flg :1 , msg :'删除成功!' } ) ;
102- } ) ;
103179 }
104180 }
105181}
0 commit comments