dgf 8 rokov pred
rodič
commit
cd254490cc

+ 44 - 4
talkview/src/js/controller/messageController.js

@@ -3,6 +3,9 @@ angular.module('appMessage').controller('MessageController', ['$scope', '$filter
         $scope.glued = true;
         $scope.count = true;
         $scope.appContent = {};
+        $scope.sendMark = 0;
+        $scope.receiveMark = 0;
+        $scope.message = [];
         $scope.sendmessages = [];
         $scope.historymessages = [];
 
@@ -40,13 +43,50 @@ angular.module('appMessage').controller('MessageController', ['$scope', '$filter
         };
 
         $scope.getTime = function(item) {
+            var arr = $scope.appContent.directory.user.split("\\");
+            var userself = arr[arr.length - 2];
+            var getUserID = item.sender.indexOf(userself);
             var myDate = new Date();
             var nowDate = $filter("date")(myDate.getTime(), "yyyy-MM-dd");
             var messageDate = $filter("date")(item.ts, "yyyy-MM-dd");
-            if (messageDate == nowDate)
-                return $filter("date")(item.ts, "HH:mm:ss");
-            else
-                return $filter("date")(item.ts, "yyyy-MM-dd HH:mm:ss");
+            if (getUserID !== -1) {
+                $scope.message[$scope.sendMark] = item.ts;
+                $scope.sendMark = $scope.sendMark + 1;
+                $scope.receiveMark = 0;
+            } else {
+                $scope.message[$scope.receiveMark] = item.ts;
+                $scope.receiveMark = $scope.receiveMark + 1;
+                $scope.sendMark = 0;
+            }
+            if (messageDate == nowDate) {
+                if ($scope.sendMark == 1 || $scope.receiveMark == 1)
+                    return $filter("date")(item.ts, "HH:mm:ss");
+                else if ($scope.sendMark > 1 && Math.abs($scope.message[$scope.sendMark - 1] - $scope.message[0]) < 60000) {
+                    return '';
+                } else if ($scope.receiveMark > 1 && Math.abs($scope.message[$scope.sendMark - 1] - $scope.message[0]) < 60000) {
+                    return '';
+                } else if ($scope.sendMark > 1 && Math.abs($scope.message[$scope.sendMark - 1] - $scope.message[0]) > 60000) {
+                    $scope.sendMark = 0;
+                    return $filter("date")(item.ts, "HH:mm:ss");
+                } else if ($scope.receiveMark > 1 && Math.abs($scope.message[$scope.sendMark - 1] - $scope.message[0]) > 60000) {
+                    $scope.receiveMark = 0;
+                    return $filter("date")(item.ts, "HH:mm:ss");
+                }
+            } else {
+                if ($scope.sendMark == 1 || $scope.receiveMark == 1)
+                    return $filter("date")(item.ts, "yyyy-MM-dd HH:mm:ss");
+                else if ($scope.sendMark > 1 && Math.abs($scope.message[$scope.sendMark - 1] - $scope.message[0]) < 60000) {
+                    return '';
+                } else if ($scope.receiveMark > 1 && Math.abs($scope.message[$scope.sendMark - 1] - $scope.message[0]) < 60000) {
+                    return '';
+                } else if ($scope.sendMark > 1 && Math.abs($scope.message[$scope.sendMark - 1] - $scope.message[0]) > 60000) {
+                    $scope.sendMark = 0;
+                    return $filter("date")(item.ts, "yyyy-MM-dd HH:mm:ss");
+                } else if ($scope.receiveMark > 1 && Math.abs($scope.message[$scope.sendMark - 1] - $scope.message[0]) > 60000) {
+                    $scope.receiveMark = 0;
+                    return $filter("date")(item.ts, "yyyy-MM-dd HH:mm:ss");
+                }
+            }
         };
 
         $scope.getMore = function() {

+ 1 - 2
talkview/src/less/app.main.less

@@ -31,7 +31,6 @@
         text-align: center;
         font-family: "微软雅黑","宋体";
         font-size: 12px;
-        margin-bottom: -5px;
     }
 }
 
@@ -413,7 +412,7 @@ body {
             height: 200px;
             .glyphicon {
                 float: right;
-                margin-top: 75px;
+                margin-top: 77px;
                 color: #fff;
                 font-size: 36px;
                 position:relative;