seimin 1 anno fa
parent
commit
0aa533bed0

+ 61 - 8
assets/js/controllers/incident/incidentCtrl.js

@@ -25,6 +25,15 @@ app.controller('incidentListCtrl', ["$scope", "$http", "i18nService", "$rootScop
25
         { id: '2', name: '是' },
25
         { id: '2', name: '是' },
26
         { id: '0', name: '否' }
26
         { id: '0', name: '否' }
27
     ];
27
     ];
28
+    $scope.tabs = [
29
+        // {key: 'all', value: '全部事件', num: ''},
30
+        {key: 'todo', value: '待我接单', num: ''},
31
+        {key: 'doing', value: '待我处理', num: ''},
32
+        // {key: 'callback', value: '待我回访', num: ''},
33
+        {key: 'resolve', value: '由我解决', num: ''},
34
+        {key: 'owns', value: '与我关联', num: ''},
35
+        {key: 'storage', value: '暂存', num: ''},
36
+    ]
28
     // /是否逾期
37
     // /是否逾期
29
     $scope.langs = i18nService.getAllLangs();
38
     $scope.langs = i18nService.getAllLangs();
30
     $scope.lang = 'zh-cn';
39
     $scope.lang = 'zh-cn';
@@ -33,9 +42,16 @@ app.controller('incidentListCtrl', ["$scope", "$http", "i18nService", "$rootScop
33
     var loginUser = $rootScope.user;
42
     var loginUser = $rootScope.user;
34
     $scope.allFlag = false;//全部事件
43
     $scope.allFlag = false;//全部事件
35
     $scope.daochu = false;//导出
44
     $scope.daochu = false;//导出
45
+    $scope.huifang = false;//回访
36
     for (var i = 0; i < loginUser.menu.length; i++) {
46
     for (var i = 0; i < loginUser.menu.length; i++) {
37
         if (loginUser.menu[i].link == "shijianliebiao_all") {
47
         if (loginUser.menu[i].link == "shijianliebiao_all") {
38
-            $scope.allFlag = true
48
+            $scope.allFlag = true;
49
+            $scope.tabs.splice(0, 0 , {key: 'all', value: '全部事件', num: ''});
50
+        }
51
+        if (loginUser.menu[i].link == "shijianliebiao_huifang") {
52
+            $scope.huifang = true;
53
+            let index = $scope.tabs.findIndex(v => v.key == 'resolve');
54
+            $scope.tabs.splice(index, 0 , {key: 'callback', value: '待我回访', num: ''});
39
         }
55
         }
40
         if (loginUser.menu[i].link == "shijianliebiao_daochu") {
56
         if (loginUser.menu[i].link == "shijianliebiao_daochu") {
41
             $scope.daochu = true
57
             $scope.daochu = true
@@ -2126,12 +2142,17 @@ app.controller('incidentListCtrl', ["$scope", "$http", "i18nService", "$rootScop
2126
         if(!filterData.incident){
2142
         if(!filterData.incident){
2127
             filterData.incident = {};
2143
             filterData.incident = {};
2128
         }
2144
         }
2129
-        if($rootScope.user.duty){
2130
-            // 当前的所属责任科室
2131
-            filterData.incident.duty = $rootScope.user.duty;
2132
-        }else if($rootScope.user.branch){
2133
-            // 当前的所属院区
2134
-            filterData.incident.branch = $rootScope.user.branch.id;
2145
+        if($scope.searchstate === 'all' || $scope.searchstate === 'callback'){
2146
+            if($rootScope.user.duty){
2147
+                // 当前的所属责任科室
2148
+                filterData.incident.duty = $rootScope.user.duty;
2149
+            }else if($rootScope.user.branch){
2150
+                // 当前的所属院区
2151
+                filterData.incident.branch = $rootScope.user.branch.id;
2152
+            }
2153
+        }else{
2154
+            delete filterData.incident.duty;
2155
+            delete filterData.incident.branch;
2135
         }
2156
         }
2136
         filterData.incident.queryTask = $scope.searchstate;
2157
         filterData.incident.queryTask = $scope.searchstate;
2137
         filterData.incident.assignee = loginUser.id;
2158
         filterData.incident.assignee = loginUser.id;
@@ -2141,7 +2162,7 @@ app.controller('incidentListCtrl', ["$scope", "$http", "i18nService", "$rootScop
2141
             delete filterData.incident.candidateGroups;
2162
             delete filterData.incident.candidateGroups;
2142
         }
2163
         }
2143
 
2164
 
2144
-        // 调用接口
2165
+        // 调用接口-查列表
2145
         api_user_data.fetchDataList('incident', filterData).then(function (data) {
2166
         api_user_data.fetchDataList('incident', filterData).then(function (data) {
2146
             if (data.list) {
2167
             if (data.list) {
2147
                 var myData = Restangular.stripRestangular(data);
2168
                 var myData = Restangular.stripRestangular(data);
@@ -2162,6 +2183,38 @@ app.controller('incidentListCtrl', ["$scope", "$http", "i18nService", "$rootScop
2162
         }, function () {
2183
         }, function () {
2163
             $scope.ldloading[style.replace('-', '_')] = false;
2184
             $scope.ldloading[style.replace('-', '_')] = false;
2164
         });
2185
         });
2186
+
2187
+        // 调用接口-查数量
2188
+        let numPostData = {
2189
+            tabs: $scope.tabs.map(v => v.key).toString(),
2190
+            assignee: loginUser.id,
2191
+            candidateGroups: loginuserGroup,
2192
+        }
2193
+        if($rootScope.user.duty){
2194
+            // 当前的所属责任科室
2195
+            numPostData.dutyId = $rootScope.user.duty.id;
2196
+        }else if($rootScope.user.branch){
2197
+            // 当前的所属院区
2198
+            numPostData.branchId = $rootScope.user.branch.id;
2199
+        }
2200
+        api_flow.count(numPostData).then(function (data) {
2201
+            if (data.state == 200) {
2202
+                let myData = data.data[0] || {};
2203
+                $scope.tabs.forEach(v => {
2204
+                    v.num = myData[v.key];
2205
+                })
2206
+            } else {
2207
+                SweetAlert.swal({
2208
+                    title: "系统错误",
2209
+                    text: "请稍后再试!",
2210
+                    type: "error"
2211
+                });
2212
+            }
2213
+            $scope.ldloading[style.replace('-', '_')] = false;
2214
+
2215
+        }, function () {
2216
+            $scope.ldloading[style.replace('-', '_')] = false;
2217
+        });
2165
     }, 500);
2218
     }, 500);
2166
     // 进入页面时
2219
     // 进入页面时
2167
     $scope.getIncidentStatus();
2220
     $scope.getIncidentStatus();

+ 3 - 3
assets/js/main.js

@@ -713,9 +713,9 @@ app.factory('api_flow', ['FlowRestangular', function (FlowRestangular) {
713
     var r_data = FlowRestangular.all("");
713
     var r_data = FlowRestangular.all("");
714
 
714
 
715
     return {
715
     return {
716
-        // 与我关联
717
-        owns: function (data) {
718
-            return r_data.customPOST(data, 'incident/owns', {});
716
+        // 事件列表数量
717
+        count: function (data) {
718
+            return r_data.customPOST(data, 'incident/list/count', {});
719
         },
719
         },
720
         // 建单
720
         // 建单
721
         accept: function (model, data) {
721
         accept: function (model, data) {

+ 3 - 11
assets/views/incident/list.html

@@ -12,16 +12,8 @@
12
     <div class="listbote">
12
     <div class="listbote">
13
         <div class="list-controls clearfix">
13
         <div class="list-controls clearfix">
14
             <div class="btn-group">
14
             <div class="btn-group">
15
-                <button class="btn btn-statebutton statebutton  keepleftbottom wt_btn2" ng-click="onChange('all')"
16
-                    ng-class="{'statecolor':searchstate=='all'}" ng-if="allFlag">全部事件</button>
17
-                <button class="btn btn-statebutton statebutton wt_btn2" ng-class="{'statecolor':searchstate=='todo'}"
18
-                    ng-click="onChange('todo')">待我处理</button>
19
-                <button class="btn btn-statebutton statebutton wt_btn2" ng-class="{'statecolor':searchstate=='owns'}"
20
-                    ng-click="onChange('owns')">与我关联</button>
21
-                <button class="btn btn-statebutton statebutton wt_btn2" ng-class="{'statecolor':searchstate=='callback'}"
22
-                    ng-click="onChange('callback')">待回访</button>
23
-                <button class="btn btn-statebutton statebutton wt_btn2" ng-class="{'statecolor':searchstate=='storage'}"
24
-                    ng-click="onChange('storage')">暂存</button>
15
+                <button class="btn btn-statebutton statebutton wt_btn2" ng-repeat="item in tabs" ng-click="onChange(item.key)"
16
+                    ng-class="{'statecolor':searchstate==item.key}">{{item.value}}<strong class="red" ng-if="item.num !== ''">({{item.num}})</strong class="red"></button>
25
             </div>
17
             </div>
26
         </div>
18
         </div>
27
 
19
 
@@ -305,7 +297,7 @@
305
     }
297
     }
306
 
298
 
307
     .wt_btn2 {
299
     .wt_btn2 {
308
-        width: 100px;
300
+        min-width: 100px;
309
         height: 34px !important;
301
         height: 34px !important;
310
         border-radius: 2px !important;
302
         border-radius: 2px !important;
311
     }
303
     }