Sfoglia il codice sorgente

消息数据筛选

olym 8 anni fa
parent
commit
21d8f3fd68

+ 1 - 1
modules/users/controllers/compilation_controller.js

@@ -263,7 +263,7 @@ class CompilationController extends BaseController {
 
             // 先存入工程专业标准库表
             let engineeringLibModel = new EngineeringLibModel();
-            let result = engineeringLibModel.addLib(valuationId, request.body);
+            let result = await engineeringLibModel.addLib(valuationId, request.body);
 
             if (!result) {
                 throw '保存失败';

+ 7 - 3
modules/users/controllers/notify_controller.js

@@ -23,7 +23,11 @@ class NotifyController extends BaseController {
         let type = request.query.type;
         type = type === undefined ? messageModel.USER : type;
         type = parseInt(type);
-        let messageList = await messageModel.getList({message_type: type});
+
+        let condition = messageModel.getFilterCondition(request);
+        condition.message_type = type;
+
+        let messageList = await messageModel.getList(condition);
 
         // 获取消息总数
         let total = await messageModel.count();
@@ -47,7 +51,8 @@ class NotifyController extends BaseController {
             pages: pageData,
             userMessageTotal: userMessageTotal,
             systemMessageTotal: systemMessageTotal,
-            type: type
+            type: type,
+            filter: request.query
         };
         response.render('users/views/notify/index', renderData);
     }
@@ -197,7 +202,6 @@ class NotifyController extends BaseController {
         response.redirect(request.headers.referer);
     }
 
-
 }
 
 export default NotifyController;

+ 40 - 0
modules/users/models/message_model.js

@@ -138,6 +138,46 @@ class MessageModel extends BaseModel {
         return await this.updateById(id, data);
     }
 
+    /**
+     * 获取过滤条件
+     *
+     * @return {Object}
+     */
+    getFilterCondition(request) {
+        let condition = {};
+        let status = request.query.status;
+        status = status !== '' && status !== undefined ? parseInt(status) : '';
+        if (status !== '') {
+            condition.status = status;
+        }
+
+        let year = request.query.year;
+        let month = request.query.month;
+        let startMonth = 1;
+        let endMonth = 12;
+        let lastDate = 31;
+
+        if (month !== undefined && month !== '') {
+            year = year !== undefined && year !== '' ? year : new Date().getYear();
+            let datetime = new Date(year, month, 0);
+            lastDate = datetime.getDate();
+            startMonth = month;
+            endMonth = month;
+        }
+
+        if (year !== undefined || month !== undefined) {
+            let startTime = Date.parse(new Date(year + '-'+ startMonth +'-1 00:00:00'));
+            let endTime =  Date.parse(new Date(year + '-'+ endMonth +'-'+ lastDate +' 23:59:59'));
+            condition.create_time = {'$gte': startTime, '$lt': endTime};
+        }
+
+        let keyword = request.query.keyword;
+        if (keyword !== '' && keyword !== undefined) {
+            condition.title = keyword;
+        }
+
+        return condition;
+    }
 }
 
 export default MessageModel;

+ 8 - 0
web/users/js/message.js

@@ -11,4 +11,12 @@ $(document).ready(function() {
         $("form").submit();
     });
 
+    // 选择框
+    $(".selector > li > a").click(function() {
+        let value = $(this).data("value");
+        let string = $(this).text();
+        let selector = $(this).parent().parent();
+        selector.next("input:hidden").val(value);
+        selector.prev("button").html(string + ' <span class="caret"></span>');
+    });
 });

+ 60 - 44
web/users/views/notify/index.html

@@ -8,49 +8,64 @@
     </div>
     <div class="content-wrap">
         <div class="c-header">
-            <!--变更类型-->
-            <div class="btn-group">
-                <button type="button" class="btn btn-default dropdown-toggle btn-sm" data-toggle="dropdown"
-                        aria-haspopup="true" aria-expanded="false">
-                    所有状态 <span class="caret"></span>
-                </button>
-                <ul class="dropdown-menu">
-                    <li><a href="#">已发布</a></li>
-                    <li><a href="#">未发布</a></li>
-                </ul>
-            </div>
-            <!--变更类别-->
-            <div class="btn-group">
-                <button type="button" class="btn btn-default dropdown-toggle btn-sm" data-toggle="dropdown"
-                        aria-haspopup="true" aria-expanded="false">
-                    所有年 <span class="caret"></span>
-                </button>
-                <ul class="dropdown-menu">
-                    <li><a href="#">2015</a></li>
-                    <li><a href="#">2016</a></li>
-                    <li><a href="#">2017</a></li>
-                </ul>
-            </div>
-            <!--变更性质-->
-            <div class="btn-group">
-                <button type="button" class="btn btn-default dropdown-toggle btn-sm" data-toggle="dropdown"
-                        aria-haspopup="true" aria-expanded="false">
-                    所有月 <span class="caret"></span>
-                </button>
-                <ul class="dropdown-menu">
-                    <li><a href="#">1</a></li>
-                    <li><a href="#">2</a></li>
-                    <li><a href="#">3</a></li>
-                    <li><a href="#">4</a></li>
-                    <li><a href="#">5</a></li>
-                    <li><a href="#">6</a></li>
-                    <li><a href="#">7</a></li>
-                    <li><a href="#">8</a></li>
-                    <li><a href="#">9</a></li>
-                    <li><a href="#">10</a></li>
-                    <li><a href="#">11</a></li>
-                </ul>
-            </div>
+            <form class="form-inline" method="get" action="">
+                <!--变更类型-->
+                <div class="btn-group">
+                    <button type="button" class="btn btn-default dropdown-toggle btn-sm" data-toggle="dropdown"
+                            aria-haspopup="true" aria-expanded="false">
+                        <%= filter.status === undefined ? '所有状态' : (filter.status === "1" ? '已发布' : '未发布')%> <span class="caret"></span>
+                    </button>
+                    <ul class="dropdown-menu selector">
+                        <li><a href="javascript:void(0);" data-value="1">已发布</a></li>
+                        <li><a href="javascript:void(0);" data-value="0">未发布</a></li>
+                    </ul>
+                    <input type="hidden" name="status" value="<%= filter.status%>" />
+                </div>
+                <!--变更类别-->
+                <div class="btn-group">
+                    <button type="button" class="btn btn-default dropdown-toggle btn-sm" data-toggle="dropdown"
+                            aria-haspopup="true" aria-expanded="false">
+                        <%= filter.year === undefined ? '所有年' : filter.year %>  <span class="caret"></span>
+                    </button>
+                    <ul class="dropdown-menu selector">
+                        <li><a href="javascript:void(0);" data-value="2015">2015</a></li>
+                        <li><a href="javascript:void(0);" data-value="2016">2016</a></li>
+                        <li><a href="javascript:void(0);" data-value="2017">2017</a></li>
+                    </ul>
+                    <input type="hidden" name="year" value="<%= filter.year%>" />
+                </div>
+                <!--变更性质-->
+                <div class="btn-group">
+                    <button type="button" class="btn btn-default dropdown-toggle btn-sm" data-toggle="dropdown"
+                            aria-haspopup="true" aria-expanded="false">
+                        <%= filter.month === undefined ? '所有月' : filter.month %> <span class="caret"></span>
+                    </button>
+                    <ul class="dropdown-menu selector">
+                        <li><a href="javascript:void(0);" data-value="1">1</a></li>
+                        <li><a href="javascript:void(0);" data-value="2">2</a></li>
+                        <li><a href="javascript:void(0);" data-value="3">3</a></li>
+                        <li><a href="javascript:void(0);" data-value="4">4</a></li>
+                        <li><a href="javascript:void(0);" data-value="5">5</a></li>
+                        <li><a href="javascript:void(0);" data-value="6">6</a></li>
+                        <li><a href="javascript:void(0);" data-value="7">7</a></li>
+                        <li><a href="javascript:void(0);" data-value="8">8</a></li>
+                        <li><a href="javascript:void(0);" data-value="9">9</a></li>
+                        <li><a href="javascript:void(0);" data-value="10">10</a></li>
+                        <li><a href="javascript:void(0);" data-value="11">11</a></li>
+                        <li><a href="javascript:void(0);" data-value="12">12</a></li>
+                    </ul>
+                    <input type="hidden" name="month" value="<%= filter.month%>" />
+                </div>
+                <!--搜索-->
+                <div class="btn-group">
+                    <div class="input-group">
+                        <input type="text" class="form-control input-sm" name="keyword" placeholder="输入标题/内容搜索" value="<%= filter.keyword%>">
+                        <span class="input-group-btn">
+                        <button class="btn btn-default btn-sm" type="submit"><i class="glyphicon glyphicon-search"></i></button>
+                    </span>
+                    </div>
+                </div>
+            </form>
         </div>
         <div class="c-body">
             <table class="table">
@@ -83,4 +98,5 @@
             </nav>
         </div>
     </div>
-</div>
+</div>
+<script type="text/javascript" src="/web/users/js/message.js"></script>