seimin 2 vuotta sitten
vanhempi
commit
e0f3c9ec67

+ 1 - 1
assets/js/config.router.js

@@ -495,7 +495,7 @@ app.config(['$authProvider', '$httpProvider', '$stateProvider', '$urlRouterProvi
495 495
                     label: 'Incident'
496 496
                 }
497 497
             }).state('app.incident.list', {
498
-                url: '/list/{model}/:tab/:state/:date',
498
+                url: '/list/{model}/:tab/:state/:date/:handUserId',
499 499
                 templateUrl: "assets/views/incident/list.html",
500 500
                 resolve: loadSequence('jquery-sparkline', 'spin', 'ladda', 'angular-ladda', 'ui.grid', 'moment', 'angularPrint', 'angularFileUpload', 'ui.select', 'multi.select.tree', 'angularBootstrapNavTree', 'incidentCtrl'),
501 501
                 title: 'incident.LIST',

+ 14 - 0
assets/js/controllers/dashboard/newdash.js

@@ -1319,9 +1319,23 @@ appFormly.controller('newDashCtrl', ['$rootScope', '$auth', '$scope', '$parse',
1319 1319
             // if (optionfault && typeof optionfault === "object") {
1320 1320
             //     myChartfault.setOption(optionfault, true);
1321 1321
             // }
1322
+            // 柱形图点击事件 2022年11月1日
1323
+            $scope.handlePersonResolveArr = [];
1324
+            myChartfault.on('click', function (params) {
1325
+                // $scope.goTo('app.incident.list',{tab:'all',date:'today'});
1326
+                var item = $scope.handlePersonResolveArr[params.dataIndex];
1327
+                var date = new Date($scope.thisyertop5, $scope.thismonthtop5 - 1);
1328
+                var startDate = moment(date).startOf('month').format("YYYY-MM-DD");
1329
+                var endDate = moment(date).endOf('month').format("YYYY-MM-DD");
1330
+                console.log(moment(date).startOf('month').format("YYYY-MM-DD"));
1331
+                console.log(moment(date).endOf('month').format("YYYY-MM-DD"));
1332
+                console.log($scope.handlePersonResolveArr[params.dataIndex],$scope.thisyertop5,$scope.thismonthtop5);
1333
+                $scope.goTo('app.incident.list',{tab:'all',date:startDate + 'to' + endDate,handUserId:item.objectMap.userId});
1334
+            });
1322 1335
             function getinternettop5(data) {
1323 1336
                 api_newreport.fetchDataList('handlePersonResolve', data).then(function(data) {
1324 1337
                     if (data.status == 200) {
1338
+                        $scope.handlePersonResolveArr = angular.copy(data.data);
1325 1339
                         var xaxisdata = [];
1326 1340
                         if (data.data.length > 0) {
1327 1341
                             for (var i = 0; i < 5 && i < data.data.length; i++) {

+ 207 - 53
assets/js/controllers/incident/incidentCtrl.js

@@ -54,11 +54,16 @@ app.controller('incidentListCtrl', ["$scope", "$http", "i18nService", "$rootScop
54 54
         }
55 55
     })
56 56
     // -----------------分割线 end----------------
57
-    // 是否逾期seimin
57
+    // 是否逾期
58 58
     $scope.selectType = [
59 59
         { id: '2', name: '是' },
60 60
         { id: '0', name: '否' }
61 61
     ];
62
+    // 是否直接处理
63
+    $scope.directProcess = [
64
+        { id: '1', name: '是' },
65
+        { id: '0', name: '否' }
66
+    ];
62 67
     // /是否逾期
63 68
     $scope.langs = i18nService.getAllLangs();
64 69
     $scope.lang = 'zh-cn';
@@ -100,6 +105,7 @@ app.controller('incidentListCtrl', ["$scope", "$http", "i18nService", "$rootScop
100 105
 
101 106
     $scope.gridOptions = {};
102 107
     $scope.gridOptions.data = 'myData';
108
+    $scope.gridOptions.rowHeight = 54;
103 109
     $scope.gridOptions.enableColumnResizing = true;
104 110
     $scope.gridOptions.enableFiltering = false;
105 111
     $scope.gridOptions.enableGridMenu = true;
@@ -217,77 +223,86 @@ app.controller('incidentListCtrl', ["$scope", "$http", "i18nService", "$rootScop
217 223
             },
218 224
             {
219 225
                 name: 'incidentsign',
220
-                displayName: '事件单号',
226
+                displayName: '单号|源',
221 227
                 width: 120,
222 228
                 cellTemplate: '<div>' +
223
-                    '<div class="ui-grid-cell-contents">{{row.entity.incidentsign}}</div>' +
229
+                    '<div class="ui-grid-cell-contents">{{row.entity.incidentsign||"无"}}<br>{{row.entity.source?row.entity.source.name:"无"}}</div>' +
224 230
                     '</div>'
225 231
             },
226 232
             {
227 233
                 name: 'requester.name',
228 234
                 displayName: '报修人',
229
-                width: '6%',
230
-                minWidth: '90',
231
-                enableSorting: false,
232
-                cellTemplate: '<div>' +
233
-                    '<div class="ui-grid-cell-contents" >{{row.entity.requester.name}}</div>' +
234
-                    '</div>'
235
-            },
236
-            {
237
-                name: 'requester.account',
238
-                displayName: '学工号',
239
-                width: '6%',
235
+                width: '7%',
240 236
                 minWidth: '90',
241 237
                 enableSorting: false,
242 238
                 cellTemplate: '<div>' +
243
-                    '<div class="ui-grid-cell-contents" >{{row.entity.requester.account}}</div>' +
239
+                    '<div class="ui-grid-cell-contents" >{{row.entity.requester?row.entity.requester.name:"无"}}<br>{{row.entity.requester?row.entity.requester.account:"无"}}</div>' +
244 240
                     '</div>'
245 241
             },
242
+            // {
243
+            //     name: 'requester.account',
244
+            //     displayName: '学工号',
245
+            //     width: '6%',
246
+            //     minWidth: '90',
247
+            //     enableSorting: false,
248
+            //     cellTemplate: '<div>' +
249
+            //         '<div class="ui-grid-cell-contents" >{{row.entity.requester.account}}</div>' +
250
+            //         '</div>'
251
+            // },
246 252
             {
247 253
                 name: 'contactsInformation',
248
-                displayName: '联系电话',
249
-                width: '105',
254
+                displayName: '联系',
255
+                width: '12%',
250 256
                 cellTemplate: '<div>' +
251
-                    '<div class="ui-grid-cell-contents">{{row.entity.contactsInformation}}</div>' +
257
+                    '<div class="ui-grid-cell-contents">{{row.entity.contacts||"无"}}<br>{{row.entity.contactsInformation||"无"}}</div>' +
252 258
                     '</div>'
253 259
             },
254 260
             {
255 261
                 name: 'category',
256
-                displayName: '事件分类',
257
-                width: '10%',
262
+                displayName: '分类|区域点',
263
+                width: '20%',
258 264
                 enableSorting: false,
259 265
                 cellTemplate: '<div>' +
260
-                    '<div class="ui-grid-cell-contents">{{row.entity.category.category}}</div>' +
266
+                    '<div class="ui-grid-cell-contents">{{row.entity.allCategory||"无"}}<br>{{grid.appScope.areaplace(row.entity)}}</div>' +
261 267
                     '</div>'
262 268
             },
263
-            {
264
-                name: 'houseNumber',
265
-                displayName: '区域地点',
266
-                width: '14%',
267
-                enableFiltering: false,
268
-                cellTemplate: '<div><div class="ui-grid-cell-contents">{{grid.appScope.areaplace(row.entity)}}</div></div>'
269
-            },
269
+            // {{row.entity.category.category}}
270
+            // {
271
+            //     name: 'houseNumber',
272
+            //     displayName: '区域地点',
273
+            //     width: '14%',
274
+            //     enableFiltering: false,
275
+            //     cellTemplate: '<div><div class="ui-grid-cell-contents">{{grid.appScope.areaplace(row.entity)}}</div></div>'
276
+            // },
270 277
             {
271 278
                 name: 'acceptUser.name',
272
-                displayName: '受理人',
279
+                displayName: '受理|处理人',
273 280
                 width: '7%',
274 281
                 minWidth: '80',
275 282
                 enableSorting: false,
276 283
                 cellTemplate: '<div>' +
277
-                    '<div class="ui-grid-cell-contents" >{{row.entity.acceptUser.name}}</div>' +
284
+                    '<div class="ui-grid-cell-contents" >{{row.entity.acceptUser?row.entity.acceptUser.name:"无"}}<br>{{row.entity.handlingPersonnelUser?row.entity.handlingPersonnelUser.name:"无"}}</div>' +
278 285
                     '</div>'
279 286
             },
280 287
             {
281 288
                 name: 'acceptDate',
282
-                displayName: '登记时间',
289
+                displayName: '登记|接单时间',
283 290
                 width: '10%',
284 291
                 minWidth: '140',
285 292
                 enableFiltering: false,
286
-                cellTemplate: '<div><div class="ui-grid-cell-contents">{{grid.appScope.transferTime(row.entity.acceptDate)}}</div></div>'
293
+                cellTemplate: '<div><div class="ui-grid-cell-contents">{{grid.appScope.transferTime(row.entity.acceptDate)}}<br>{{row.entity.responseHandleTime||"无"}}</div></div>'
294
+            },
295
+            {
296
+                name: 'acceptDate1',
297
+                displayName: '解决时间',
298
+                width: '10%',
299
+                minWidth: '140',
300
+                enableFiltering: false,
301
+                cellTemplate: '<div><div class="ui-grid-cell-contents">{{row.entity.handleTime||"无"}}</div></div>'
287 302
             },
288 303
             {
289 304
                 name: 'groupORHandlerUser',
290
-                displayName: '处理人/组',
305
+                displayName: '时时处理',
291 306
                 width: '10%',
292 307
                 enableFiltering: false,
293 308
                 cellTemplate: '<div>' +
@@ -298,7 +313,7 @@ app.controller('incidentListCtrl', ["$scope", "$http", "i18nService", "$rootScop
298 313
             {
299 314
                 name: 'state.name',
300 315
                 displayName: '状态',
301
-                width: '7%',
316
+                width: '5%',
302 317
                 minWidth: '70',
303 318
                 enableSorting: false,
304 319
                 cellTemplate: '<div>' +
@@ -308,13 +323,13 @@ app.controller('incidentListCtrl', ["$scope", "$http", "i18nService", "$rootScop
308 323
             {
309 324
                 name: '操作',
310 325
                 enableSorting: false,
311
-                width: 500,
326
+                width: 300,
312 327
                 cellTemplate: '<incidentoperator style="background-color:{{row.entity.colourInfo.rgb}}" item="row.entity" colobject="col">',
313 328
                 enableFiltering: false
314 329
             },
315 330
         ];
316 331
         if($scope.wxIncidentWithCmdb==1){
317
-          let index = $scope.gridOptions.columnDefs.findIndex(v=>v.name == 'contactsInformation');
332
+          let index = $scope.gridOptions.columnDefs.findIndex(v=>v.name == 'category');
318 333
           $scope.gridOptions.columnDefs.splice(index,0,{
319 334
             name: 'assetId',
320 335
             displayName: '资产',
@@ -846,6 +861,27 @@ app.controller('incidentListCtrl', ["$scope", "$http", "i18nService", "$rootScop
846 861
             }
847 862
         }
848 863
     })
864
+    //事件来源 liaomingming
865
+    $scope.source = [];
866
+    api_wechatfile.getDictionary({
867
+        "type": "list",
868
+        "key": "incident_source"
869
+    }).then(function (response) {
870
+        if (response) {
871
+            if (response.status = 200) {
872
+                $scope.source = response;
873
+                if (sessionStorage.searchincident && JSON.parse(sessionStorage.getItem("searchincident")).incident && JSON.parse(sessionStorage.getItem("searchincident")).incident.source) {
874
+                    angular.forEach($scope.source, function (item) {
875
+                        if (item.id == JSON.parse(sessionStorage.getItem("searchincident")).incident.source.id) {
876
+                            $scope.othcode = {
877
+                                "source": item
878
+                            };
879
+                        }
880
+                    })
881
+                }
882
+            }
883
+        }
884
+    })
849 885
     if (sessionStorage.searchincident && JSON.parse(sessionStorage.getItem("searchincident")).incident) {
850 886
         // angular.forEach($scope.state, function(item) {
851 887
         //         if (item.code == JSON.parse(sessionStorage.getItem("searchincident")).incident.statusId) {
@@ -906,12 +942,17 @@ app.controller('incidentListCtrl', ["$scope", "$http", "i18nService", "$rootScop
906 942
 
907 943
     }
908 944
     // 搜索
909
-    $scope.chiceIncident = function (item, stateid) {
945
+    $scope.chiceIncident = function (item, stateid, sourceid) {
910 946
         if (stateid && stateid.id) {
911 947
             item.statusId = stateid.id;
912 948
         } else {
913 949
             item.statusId = undefined;
914 950
         }
951
+        if (sourceid) {
952
+            item.source = sourceid;
953
+        } else {
954
+            item.source = undefined;
955
+        }
915 956
         console.log(item)
916 957
         
917 958
         var fildata = {};
@@ -954,10 +995,14 @@ app.controller('incidentListCtrl', ["$scope", "$http", "i18nService", "$rootScop
954 995
         if(fildata.searchType === 'all'){
955 996
             if(fildata.incident&&fildata.incident.selectType){
956 997
                 fildata.incident.selectType = fildata.incident.selectType.id;
998
+            }else if(fildata.incident&&fildata.incident.directProcess){
999
+                fildata.incident.directProcess = fildata.incident.directProcess.id;
957 1000
             }
958 1001
         }else{
959 1002
             if(fildata.incident&&fildata.incident.selectType){
960 1003
                 delete fildata.incident.selectType;
1004
+            }else if(fildata.incident&&fildata.incident.directProcess){
1005
+                delete fildata.incident.directProcess;
961 1006
             }
962 1007
         }
963 1008
         // /seimin
@@ -992,7 +1037,7 @@ app.controller('incidentListCtrl', ["$scope", "$http", "i18nService", "$rootScop
992 1037
     getRequester();
993 1038
 
994 1039
     //受理人,处理人
995
-    var getUser = function (fieldatas, it) {
1040
+    function getUser(fieldatas, it) {
996 1041
         api_user_data.fetchDataList('user', fieldatas).then(function (data) {
997 1042
             // console.log(data);
998 1043
             if (it == 1) {
@@ -1073,7 +1118,11 @@ app.controller('incidentListCtrl', ["$scope", "$http", "i18nService", "$rootScop
1073 1118
         str += '  ' + (data.place ? (data.place.area ? data.place.area.area : '  ') : '  ');
1074 1119
         str += '  ' + (data.place ? (data.place.place ? data.place.place : '  ') : '  ');
1075 1120
         str += '  ' + (data.houseNumber ? data.houseNumber : '  ');
1076
-        return str;
1121
+        if(str.trim()){
1122
+            return str;
1123
+        }else{
1124
+            return '无'
1125
+        }
1077 1126
         //     } else {
1078 1127
         //         return data.area.area + ' ' + data.place.place;
1079 1128
         //     }
@@ -2570,7 +2619,7 @@ app.controller('incidentListCtrl', ["$scope", "$http", "i18nService", "$rootScop
2570 2619
             $scope.isDisabledState = false;
2571 2620
         }
2572 2621
         $scope.searchstate = searchType;
2573
-        $scope.chiceIncident($scope.searchkeys,$scope.othcode.state);
2622
+        $scope.chiceIncident($scope.searchkeys,$scope.othcode.state,$scope.othcode.source);
2574 2623
         // console.log(defaultFilterData,'fanbu')
2575 2624
         // if(defaultFilterData.incident){
2576 2625
         //     var lsObject = defaultFilterData.incident;
@@ -2609,16 +2658,15 @@ app.controller('incidentListCtrl', ["$scope", "$http", "i18nService", "$rootScop
2609 2658
         //     $scope.jry_refresh()
2610 2659
         // }, $rootScope.refreshTime);
2611 2660
     }
2612
-    // 是否逾期下拉框选择seimin
2661
+    // 是否逾期下拉框选择
2613 2662
     $scope.selectTypeChange = function(){
2614 2663
         console.log($scope.searchkeys.selectType,66666);
2615 2664
         if(window.sessionStorage.getItem('isGoyuqi') == 'yes'){
2616 2665
             $scope.searchkeys.selectType = {id:'2',name:'是'};
2617
-            // window.sessionStorage.removeItem('isGoyuqi');//seimin
2618 2666
         }
2619 2667
         var ids = $scope.searchkeys.selectType.id
2620 2668
         if(defaultFilterData.incident){
2621
-            defaultFilterData.incident.selectType = ids;//seimin
2669
+            defaultFilterData.incident.selectType = ids;
2622 2670
         }else{
2623 2671
             defaultFilterData.incident = {
2624 2672
                 selectType:ids
@@ -2628,8 +2676,26 @@ app.controller('incidentListCtrl', ["$scope", "$http", "i18nService", "$rootScop
2628 2676
         console.log(defaultFilterData,2222)
2629 2677
         $scope.onChange('all');
2630 2678
     }
2679
+    // 是否直接解决下拉框选择
2680
+    $scope.selectDirectProcess = function(){
2681
+        console.log($scope.searchkeys.directProcess,66666);
2682
+        if(window.sessionStorage.getItem('isZhiJie') == 'yes'){
2683
+            $scope.searchkeys.directProcess = {id:'1',name:'是'};
2684
+        }
2685
+        var ids = $scope.searchkeys.directProcess.id
2686
+        if(defaultFilterData.incident){
2687
+            defaultFilterData.incident.directProcess = ids;
2688
+        }else{
2689
+            defaultFilterData.incident = {
2690
+                directProcess:ids
2691
+            };
2692
+        }
2693
+        defaultFilterData.searchType = 'all';
2694
+        console.log(defaultFilterData,2222)
2695
+        $scope.onChange('all');
2696
+    }
2631 2697
     //获取列表数据
2632
-    $scope.refreshData = function (style, filterData) {
2698
+    $scope.refreshData = async function (style, filterData) {
2633 2699
         console.log(filterData,9090)
2634 2700
         if (filterData && filterData.incident && filterData.incident.area) {
2635 2701
             filterData.incident.place = {
@@ -2659,6 +2725,28 @@ app.controller('incidentListCtrl', ["$scope", "$http", "i18nService", "$rootScop
2659 2725
                     $scope.searchkeys.acceptDateEnd = new Date();
2660 2726
                     filterData.incident = {acceptDate:moment().format('YYYY-MM-DD 00:00:00'),acceptDateEnd:moment().format('YYYY-MM-DD 23:59:59')};
2661 2727
                     sessionStorage.setItem("searchincident",JSON.stringify(filterData));
2728
+                }else if($state.params.date.includes('to')){
2729
+                    var startAndEndDate = $state.params.date.split('to');
2730
+                    $scope.othcode = {};
2731
+                    $scope.searchkeys.acceptDate = new Date(startAndEndDate[0]);
2732
+                    $scope.searchkeys.acceptDateEnd = new Date(startAndEndDate[1]);
2733
+                    filterData.incident = {acceptDate:startAndEndDate[0] + ' 00:00:00',acceptDateEnd: startAndEndDate[1] + ' 23:59:59'};
2734
+                    sessionStorage.setItem("searchincident",JSON.stringify(filterData));
2735
+                }
2736
+                if($state.params.handUserId){
2737
+                    delete $scope.searchkeys.handlingPersonnelUser;
2738
+                    let response = await api_bpm_data.fetchData('user', $state.params.handUserId);
2739
+                    if (response.status == 200) {
2740
+                        $scope.handlingPersonnelUser = [response.data];
2741
+                        $scope.searchkeys.handlingPersonnelUser = {id:response.data.id, name:response.data.name};
2742
+                        filterData.incident.handlingPersonnelUser = {id:response.data.id, name:response.data.name};
2743
+                        sessionStorage.setItem("searchincident",JSON.stringify(filterData));
2744
+                    }else{
2745
+                        $scope.handlingPersonnelUser = [];
2746
+                        delete $scope.searchkeys.handlingPersonnelUser;
2747
+                        delete filterData.incident.handlingPersonnelUser;
2748
+                        sessionStorage.setItem("searchincident",JSON.stringify(filterData));
2749
+                    }
2662 2750
                 }
2663 2751
                 if($state.params.state){
2664 2752
                     $scope.searchkeys.acceptDate = null;
@@ -2692,6 +2780,28 @@ app.controller('incidentListCtrl', ["$scope", "$http", "i18nService", "$rootScop
2692 2780
                     $scope.searchkeys.acceptDateEnd = new Date();
2693 2781
                     filterData.incident = {acceptDate:moment().format('YYYY-MM-DD 00:00:00'),acceptDateEnd:moment().format('YYYY-MM-DD 23:59:59')};
2694 2782
                     sessionStorage.setItem("searchincident",JSON.stringify(filterData));
2783
+                }else if($state.params.date.includes('to')){
2784
+                    var startAndEndDate = $state.params.date.split('to');
2785
+                    $scope.othcode = {};
2786
+                    $scope.searchkeys.acceptDate = new Date(startAndEndDate[0]);
2787
+                    $scope.searchkeys.acceptDateEnd = new Date(startAndEndDate[1]);
2788
+                    filterData.incident = {acceptDate:startAndEndDate[0] + ' 00:00:00',acceptDateEnd: startAndEndDate[1] + ' 23:59:59'};
2789
+                    sessionStorage.setItem("searchincident",JSON.stringify(filterData));
2790
+                }
2791
+                if($state.params.handUserId){
2792
+                    delete $scope.searchkeys.handlingPersonnelUser;
2793
+                    let response = await api_bpm_data.fetchData('user', $state.params.handUserId);
2794
+                    if (response.status == 200) {
2795
+                        $scope.handlingPersonnelUser = [response.data];
2796
+                        $scope.searchkeys.handlingPersonnelUser = {id:response.data.id, name:response.data.name};
2797
+                        filterData.incident.handlingPersonnelUser = {id:response.data.id, name:response.data.name};
2798
+                        sessionStorage.setItem("searchincident",JSON.stringify(filterData));
2799
+                    }else{
2800
+                        $scope.handlingPersonnelUser = [];
2801
+                        delete $scope.searchkeys.handlingPersonnelUser;
2802
+                        delete filterData.incident.handlingPersonnelUser;
2803
+                        sessionStorage.setItem("searchincident",JSON.stringify(filterData));
2804
+                    }
2695 2805
                 }
2696 2806
                 if($state.params.state){
2697 2807
                     $scope.searchkeys.acceptDate = null;
@@ -2722,7 +2832,18 @@ app.controller('incidentListCtrl', ["$scope", "$http", "i18nService", "$rootScop
2722 2832
                     selectType : '2'
2723 2833
                 }
2724 2834
             }
2725
-            window.sessionStorage.removeItem('isGoyuqi');//seimin
2835
+            window.sessionStorage.removeItem('isGoyuqi');
2836
+        }
2837
+        if(window.sessionStorage.getItem('isZhiJie') == 'yes'){
2838
+            $scope.searchkeys.directProcess = {id:'21',name:'是'};
2839
+            if(filterData.incident&&filterData.incident.directProcess){
2840
+                filterData.incident.directProcess = '1';
2841
+            }else{
2842
+                filterData.incident = {
2843
+                    directProcess : '1'
2844
+                }
2845
+            }
2846
+            window.sessionStorage.removeItem('isZhiJie');
2726 2847
         }
2727 2848
         $scope.myData = [];
2728 2849
         sessionStorage['searchincident'] = angular.copy(JSON.stringify(filterData));
@@ -2759,7 +2880,7 @@ app.controller('incidentListCtrl', ["$scope", "$http", "i18nService", "$rootScop
2759 2880
             $scope.ldloading[style.replace('-', '_')] = false;
2760 2881
         });
2761 2882
     };
2762
-    $scope.refreshData2 = function (style, filterData) {
2883
+    $scope.refreshData2 = async function (style, filterData) {
2763 2884
         $scope.ldloading[style.replace('-', '_')] = true;
2764 2885
         if (angular.isUndefined(filterData)) {
2765 2886
             if (sessionStorage.searchincident) {
@@ -2782,6 +2903,28 @@ app.controller('incidentListCtrl', ["$scope", "$http", "i18nService", "$rootScop
2782 2903
                     $scope.searchkeys.acceptDateEnd = new Date();
2783 2904
                     filterData.incident = {acceptDate:moment().format('YYYY-MM-DD 00:00:00'),acceptDateEnd:moment().format('YYYY-MM-DD 23:59:59')};
2784 2905
                     sessionStorage.setItem("searchincident",JSON.stringify(filterData));
2906
+                }else if($state.params.date.includes('to')){
2907
+                    var startAndEndDate = $state.params.date.split('to');
2908
+                    $scope.othcode = {};
2909
+                    $scope.searchkeys.acceptDate = new Date(startAndEndDate[0]);
2910
+                    $scope.searchkeys.acceptDateEnd = new Date(startAndEndDate[1]);
2911
+                    filterData.incident = {acceptDate:startAndEndDate[0] + ' 00:00:00',acceptDateEnd: startAndEndDate[1] + ' 23:59:59'};
2912
+                    sessionStorage.setItem("searchincident",JSON.stringify(filterData));
2913
+                }
2914
+                if($state.params.handUserId){
2915
+                    delete $scope.searchkeys.handlingPersonnelUser;
2916
+                    let response = await api_bpm_data.fetchData('user', $state.params.handUserId);
2917
+                    if (response.status == 200) {
2918
+                        $scope.handlingPersonnelUser = [response.data];
2919
+                        $scope.searchkeys.handlingPersonnelUser = {id:response.data.id, name:response.data.name};
2920
+                        filterData.incident.handlingPersonnelUser = {id:response.data.id, name:response.data.name};
2921
+                        sessionStorage.setItem("searchincident",JSON.stringify(filterData));
2922
+                    }else{
2923
+                        $scope.handlingPersonnelUser = [];
2924
+                        delete $scope.searchkeys.handlingPersonnelUser;
2925
+                        delete filterData.incident.handlingPersonnelUser;
2926
+                        sessionStorage.setItem("searchincident",JSON.stringify(filterData));
2927
+                    }
2785 2928
                 }
2786 2929
                 if($state.params.state){
2787 2930
                     $scope.searchkeys.acceptDate = null;
@@ -2854,9 +2997,20 @@ app.controller('incidentListCtrl', ["$scope", "$http", "i18nService", "$rootScop
2854 2997
                 $scope.searchkeys.selectType = {id:'0',name:'否'};
2855 2998
             }
2856 2999
         }
3000
+        if(varLin.incident&&varLin.incident.directProcess){
3001
+            if(varLin.incident.directProcess == '1'){
3002
+                console.log(defaultFilterData)
3003
+                $scope.searchkeys.directProcess = {id:'1',name:'是'};
3004
+            }else if(varLin.incident.directProcess == '0'){
3005
+                console.log(defaultFilterData)
3006
+                $scope.searchkeys.directProcess = {id:'0',name:'否'};
3007
+            }
3008
+        }
2857 3009
     }
2858 3010
     if(window.sessionStorage.getItem('isGoyuqi') === 'yes'){
2859 3011
         $scope.selectTypeChange();
3012
+    }else if(window.sessionStorage.getItem('isZhiJie') === 'yes'){
3013
+        $scope.selectDirectProcess();
2860 3014
     }else{
2861 3015
         if(sessionStorage.getItem("searchincident")){
2862 3016
             var ss = JSON.parse(sessionStorage.getItem("searchincident"));
@@ -2878,7 +3032,7 @@ app.controller('IncidentOperCtrl', ['$rootScope', '$http', '$scope', '$modal', '
2878 3032
     // console.log('$rootScope.user3='+JSON.stringify($scope.item));
2879 3033
     // console.log($scope.item)
2880 3034
     var loginUser = $rootScope.user;
2881
-    console.log(loginUser.role)
3035
+    // console.log(loginUser.role)
2882 3036
     $scope.chuli = false;
2883 3037
     $scope.qiangdan = false;
2884 3038
     $scope.dayin = false;
@@ -2958,7 +3112,7 @@ app.controller('IncidentOperCtrl', ['$rootScope', '$http', '$scope', '$modal', '
2958 3112
 
2959 3113
     //修改页面显示判断
2960 3114
     $scope.jry_modify = function (item) {
2961
-        console.log(item)
3115
+        // console.log(item)
2962 3116
         // var jry_role = false;
2963 3117
         // for (var i = 0; i < $rootScope.user.role.length; i++) {
2964 3118
         //     if ($rootScope.user.role[i].rolecode == "call center") {
@@ -3122,17 +3276,17 @@ app.directive('incidentoperator', function () {
3122 3276
             colobject: '='
3123 3277
         },
3124 3278
         controller: 'IncidentOperCtrl',
3125
-        template: '<div><div class="cl-effect-1 ui-grid-cell-contents pull-left" >' +
3279
+        template: '<div><div class="cl-effect-1 ui-grid-cell-contents pull-left" style="text-align:left;" >' +
3126 3280
             // '<a ng-click="look()"   tooltip="查看" tooltip-placement="left"><i class="ti-eye"></i></a>'+
3127 3281
             '<a ng-click="toDetail(item)" class="bianjifont" >查看</a>' +
3128
-            '<a ng-click="edit()"  ng-show="{{item.chaozuoPower&&chuli}}"  class="bianjifont">处理</a>' +
3282
+            '<a ng-click="changeCenter()"  ng-show="jry_modify(item)"  class="luyinfont">编辑</a>' +
3283
+            '<a ng-click="print()" ng-show="dayin" class="bianjifont" >打印</a>' +
3284
+            '<a ng-click="delSj()" ng-show="{{delFlag&&item.state.value!== \'deleted\'}}" class="assign" >删除</a>' +
3285
+            '<a ng-click="edit()"  ng-show="{{item.chaozuoPower&&chuli}}"  class="bianjifont">处理</a><br>' +
3129 3286
             '<a ng-click="handler()" ng-show="{{item.state.id != 1546 &&!item.handlerUser&&item.tiquPower&&qiangdan}}" class="bianjifont" >抢单</a>' +
3130 3287
             '<a ng-click="visit()"  ng-show="{{item.huifang&&huifang}}"  class="bianjifont">回访</a>' +
3131
-            '<a ng-click="changeCenter()"  ng-show="jry_modify(item)"  class="luyinfont">编辑</a>' +
3132 3288
             '<a ng-click="toAssign()" ng-show="{{(item.state.id==1543||item.state.id==1544)&&assignFlag&&item.assignee}}" class="assign" >指派</a>' +
3133 3289
             '<a ng-click="toHandlerLog()" ng-show="{{item.state.id==1544}}" class="assign" >新增处理日志</a>' +
3134
-            '<a ng-click="delSj()" ng-show="{{delFlag&&item.state.value!== \'deleted\'}}" class="assign" >删除</a>' +
3135
-            '<a ng-click="print()" ng-show="dayin" class="bianjifont" >打印</a>' +
3136 3290
             // '<a ng-click="jry_evaluate()"  ng-show="jry_evaluateShow()" class="luyinfont" >评价</a>' +
3137 3291
             // '<a ng-click="record()"  ng-show="{{item.listen}}" class="luyinfont" >录音</a>' +
3138 3292
             // '<a ng-click="rotate()" ng-show="{{item.state.id==4}}" class="rotate" >转派</a>' +

+ 17 - 0
assets/js/controllers/mainCtrl.js

@@ -2968,6 +2968,23 @@ app.controller('AppCtrl', ['$rootScope', '$scope', '$state', '$translate', '$loc
2968 2968
         }
2969 2969
       })
2970 2970
     }
2971
+    // 点击单项消息通知
2972
+    $rootScope.wt_messages_onclick = function (task) {
2973
+      var modalInstance = $modal.open({
2974
+        templateUrl: '../../../assets/views/wt_messages_onclick.html',
2975
+        controller: function ($scope, $modalInstance) {
2976
+          $scope.task = angular.copy(task);
2977
+          // 关闭
2978
+          $scope.closeModel = function () {
2979
+            modalInstance.close();
2980
+          }
2981
+        },
2982
+        size: 'lg',
2983
+        resolve: {
2984
+
2985
+        }
2986
+      })
2987
+    }
2971 2988
 
2972 2989
 
2973 2990
   }

+ 1 - 1
assets/js/controllers/report/service_formCtrl.js

@@ -290,7 +290,7 @@ app.controller('service_formCtrl', ["$scope", "$rootScope", "$state", "$timeout"
290 290
         switch ($scope.tap) {
291 291
             case 'ZHTJ'://综合统计
292 292
                 postData.key = 'mdv2_service_repot_all';
293
-                postData.titles = ['人员', '建单数量', '直接处理数量', '处理工单数', '电话接听数', '微信/web报修处理数', '留言处理数', '柜台受理数'];
293
+                postData.titles = ['人员', '建单数量', '直接处理数量', '处理工单数', '电话建单数', '微信/报修建单', '留言建单', '柜台建单', '其他方式建单', '主动发现建单', '领导指派建单'];
294 294
                 break;
295 295
             case 'DHTJ'://电话统计
296 296
                 postData.key = 'mdv2_service_repot_phone';

+ 2 - 3
assets/views/dashboard/newdash.html

@@ -381,7 +381,7 @@
381 381
                                         </tr>
382 382
                                     </thead>
383 383
                                     <tbody>
384
-                                        <tr ng-repeat="task in xiaoxilist">
384
+                                        <tr ng-repeat="task in xiaoxilist" ng-click="wt_messages_onclick(task)" style="cursor: pointer;">
385 385
                                             <td class="hidden-xs th-noline onlyaline" style="min-width:30px;max-width:40px">{{task.user.name}}</td>
386 386
                                             <td class="th-noline onlyaline" style="min-width:80px;max-width:100px">{{task.content}}</td>
387 387
                                             <td class="th-noline onlyaline" style="min-width:40px;max-width:50px">{{task.releaseTime}}</td>
@@ -508,8 +508,7 @@
508 508
                                 </div>
509 509
                             </div>
510 510
                         </div>
511
-                        <div id="fault" class="pull-left" style="width: 100%;
512
-            height: 260px"></div>
511
+                        <div id="fault" class="pull-left" style="width: 100%;height: 260px"></div>
513 512
                     </div>
514 513
                 </div>
515 514
             </div>

+ 37 - 1
assets/views/incident/list.html

@@ -238,6 +238,29 @@
238 238
                                 </ui-select-choices>
239 239
                              </ui-select>
240 240
                         </div>
241
+                        <div class="form-group incidentsearch  wt_width">
242
+                            <div class="control-label pull-left margin-top-5">事件来源:</div>
243
+                            <ui-select ng-disabled="isDisabledState" class="pull-right selectzise wt_width1 wt_width3" ng-model="othcode.source"
244
+                                theme="bootstrap">
245
+                                <ui-select-match placeholder="请选择事件来源">
246
+                                    {{$select.selected.name}}
247
+                                </ui-select-match>
248
+                                <ui-select-choices repeat="item in source | filter: $select.search">
249
+                                    <div ng-bind-html="item.name | highlight: $select.search"></div>
250
+                                </ui-select-choices>
251
+                            </ui-select>
252
+                        </div>
253
+                        <div class="form-group incidentsearch wt_width">
254
+                            <div class="control-label pull-left margin-top-5">是否直接解决:</div>
255
+                            <ui-select ng-change="selectDirectProcess()" ng-model="searchkeys.directProcess" class="pull-right selectzise wt_width1 wt_width3" theme="bootstrap">
256
+                                <ui-select-match placeholder="请选择">
257
+                                    <span ng-bind="$select.selected.name"></span>
258
+                                </ui-select-match>
259
+                                <ui-select-choices repeat="item in directProcess">
260
+                                    <span ng-bind="item.name"></span>
261
+                                </ui-select-choices>
262
+                             </ui-select>
263
+                        </div>
241 264
                         <!-- <div class='wt_width6' style="">
242 265
                             <span class="panel-title text-dark">至</span>
243 266
                         </div>
@@ -272,7 +295,7 @@
272 295
                                 <div class="btn btn-searchbutton steelbutton wt_btn1 wt_btnColor1" ng-click="replacement(parameters,searchkeys,othcode)" type="button">重置</div>
273 296
                             </div> -->
274 297
                             <div class=" wt_btns">
275
-                                <div class="btn btn_search" ng-click="chiceIncident(searchkeys,othcode.state)"
298
+                                <div class="btn btn_search" ng-click="chiceIncident(searchkeys,othcode.state,othcode.source)"
276 299
                                     type="button">搜索</div>
277 300
                             </div>
278 301
 
@@ -496,6 +519,19 @@
496 519
 
497 520
     .ui-grid-row:nth-child(even) .ui-grid-cell {
498 521
         background: #fafafa !important;
522
+        display: flex;
523
+        justify-content: center;
524
+        align-items: center;
525
+    }
526
+
527
+    .ui-grid-row:nth-child(odd) .ui-grid-cell {
528
+        display: flex;
529
+        justify-content: center;
530
+        align-items: center;
531
+    }
532
+
533
+    .ui-grid-row .ui-grid-cell:last-of-type {
534
+        justify-content: flex-start;
499 535
     }
500 536
 
501 537
     .searchBtnBox>.wt_btns {

+ 98 - 54
assets/views/report/service_form.html

@@ -73,7 +73,23 @@
73 73
                     <div class="TB">
74 74
                         <div class="TB_head">
75 75
                             <div class="TB_head_L">
76
-                                <div class="TB_LDZH fl" tooltip='电话总数 + 微信/web总数 + 电话留言总数 + 柜台受理数' tooltip-placement="top">
76
+                                <div class="TB_LDZH fl" tooltip='电话转换数(打过来的电话不一定会建单) + 微信/web转换数 + 电话留言转换数(留言不一定会建单) + 柜台转换数' tooltip-placement="top">
77
+                                    <p>工单转换总数</p>
78
+                                    <span>{{zhtj_trans_total}}</span>
79
+                                </div>
80
+                                <div class="TB_ITEMS fl">
81
+                                    <div class="TB_ITEM" tooltip='工单事件来源选项是:柜台,电话,微信/web,留言。这四种类型的工单建单后,直接处理数量' tooltip-placement="top">
82
+                                        <p>直接处理数量</p>
83
+                                        <span>{{zhtj_p_total}}</span>
84
+                                    </div>
85
+                                    <div class="TB_ITEM" tooltip='工单事件来源选项是:柜台,电话,微信/web,留言。这四种类型的工单建单后,派代处理数量' tooltip-placement="top">
86
+                                        <p>派单数量</p>
87
+                                        <span>{{zhtj_unp_total}}</span>
88
+                                    </div>
89
+                                </div>
90
+                            </div>
91
+                            <div class="TB_head_L">
92
+                                <div class="TB_LDZH fl" tooltip='电话总数 + 微信/web总数 + 电话留言总数 + 柜台建单' tooltip-placement="top">
77 93
                                     <p>请求总数</p>
78 94
                                     <span>{{zhtj_req_total}}</span>
79 95
                                 </div>
@@ -96,22 +112,6 @@
96 112
                                     </div>
97 113
                                 </div>
98 114
                             </div>
99
-                            <div class="TB_head_L">
100
-                                <div class="TB_LDZH fl" tooltip='电话转换数(打过来的电话不一定会建单) + 微信/web转换数 + 电话留言转换数(留言不一定会建单) + 柜台转换数' tooltip-placement="top">
101
-                                    <p>工单转换总数</p>
102
-                                    <span>{{zhtj_trans_total}}</span>
103
-                                </div>
104
-                                <div class="TB_ITEMS fl">
105
-                                    <div class="TB_ITEM" tooltip='工单事件来选选项是:柜台,电话,微信/web,留言。这四种类型的工单建单后,直接处理数量' tooltip-placement="top">
106
-                                        <p>直接处理数量</p>
107
-                                        <span>{{zhtj_p_total}}</span>
108
-                                    </div>
109
-                                    <div class="TB_ITEM" tooltip='工单事件来选选项是:柜台,电话,微信/web,留言。这四种类型的工单建单后,派代处理数量' tooltip-placement="top">
110
-                                        <p>派单数量</p>
111
-                                        <span>{{zhtj_unp_total}}</span>
112
-                                    </div>
113
-                                </div>
114
-                            </div>
115 115
                         </div>
116 116
                         <div class="TB_cont">
117 117
                             <table class="jry_table jry_table_head" cellspacing="0" cellpadding="16"
@@ -121,10 +121,10 @@
121 121
                                         <th style="width:6%">
122 122
                                             序号
123 123
                                         </th>
124
-                                        <th style="width:11%" tooltip='未被删除的用户,服务台角色的建单人' tooltip-placement="top">
124
+                                        <th style="width:10%" tooltip='未被删除的用户,服务台角色的建单人' tooltip-placement="top">
125 125
                                             人员
126 126
                                         </th>
127
-                                        <th style="width:11%" ng-click="tableSort('total')" tooltip='建单总数' tooltip-placement="top">
127
+                                        <th style="width:8%" ng-click="tableSort('total')" tooltip='建单总数' tooltip-placement="top">
128 128
                                             <strong>
129 129
                                                 建单数量
130 130
                                                 <em class="sort-wrap">
@@ -133,7 +133,7 @@
133 133
                                                 </em>
134 134
                                             </strong>
135 135
                                         </th>
136
-                                        <th style="width:11%" ng-click="tableSort('p_total')" tooltip='直接处理工单数' tooltip-placement="top">
136
+                                        <th style="width:8%" ng-click="tableSort('p_total')" tooltip='直接处理工单数' tooltip-placement="top">
137 137
                                             <strong>
138 138
                                                 直接处理数量
139 139
                                                 <em class="sort-wrap">
@@ -142,7 +142,7 @@
142 142
                                                 </em>
143 143
                                             </strong>
144 144
                                         </th>
145
-                                        <th style="width:11%" ng-click="tableSort('unp_total')" tooltip='派代处理工单数' tooltip-placement="top">
145
+                                        <th style="width:10%" ng-click="tableSort('unp_total')" tooltip='派代处理工单数' tooltip-placement="top">
146 146
                                             <strong>
147 147
                                                 派单处理工单数
148 148
                                                 <em class="sort-wrap">
@@ -151,78 +151,114 @@
151 151
                                                 </em>
152 152
                                             </strong>
153 153
                                         </th>
154
-                                        <th style="width:11%" ng-click="tableSort('handle_phone')" tooltip='工单事件来选选项是:电话类型的工单数' tooltip-placement="top">
154
+                                        <th style="width:8%" ng-click="tableSort('handle_phone')" tooltip='工单事件来源选项是:电话类型的工单数' tooltip-placement="top">
155 155
                                             <strong>
156
-                                                电话接听
156
+                                                电话建单
157 157
                                                 <em class="sort-wrap">
158 158
                                                     <i class="sortItem iconfont icon-xiangshang" ng-class="{active:sortActive == 'handle_phonetop'}"></i>
159 159
                                                     <i class="sortItem iconfont icon-xiangxia" ng-class="{active:sortActive == 'handle_phonebottom'}"></i>
160 160
                                                 </em>
161 161
                                             </strong>
162 162
                                         </th>
163
-                                        <th style="width:17%" ng-click="tableSort('handle_wxweb')" tooltip='工单事件来选选项是:微信/web类型的工单数' tooltip-placement="top">
163
+                                        <th style="width:10%" ng-click="tableSort('handle_wxweb')" tooltip='工单事件来源选项是:微信/web类型的工单数' tooltip-placement="top">
164 164
                                             <strong>
165
-                                                微信/web报修处理数
165
+                                                微信/报修建单
166 166
                                                 <em class="sort-wrap">
167 167
                                                     <i class="sortItem iconfont icon-xiangshang" ng-class="{active:sortActive == 'handle_wxwebtop'}"></i>
168 168
                                                     <i class="sortItem iconfont icon-xiangxia" ng-class="{active:sortActive == 'handle_wxwebbottom'}"></i>
169 169
                                                 </em>
170 170
                                             </strong>
171 171
                                         </th>
172
-                                        <th style="width:11%" ng-click="tableSort('handle_msg')" tooltip='工单事件来选选项是:留言类型的工单数' tooltip-placement="top">
172
+                                        <th style="width:8%" ng-click="tableSort('handle_msg')" tooltip='工单事件来源选项是:留言类型的工单数' tooltip-placement="top">
173 173
                                             <strong>
174
-                                                留言处理数
174
+                                                留言建单
175 175
                                                 <em class="sort-wrap">
176 176
                                                     <i class="sortItem iconfont icon-xiangshang" ng-class="{active:sortActive == 'handle_msgtop'}"></i>
177 177
                                                     <i class="sortItem iconfont icon-xiangxia" ng-class="{active:sortActive == 'handle_msgbottom'}"></i>
178 178
                                                 </em>
179 179
                                             </strong>
180 180
                                         </th>
181
-                                        <th style="width:11%" ng-click="tableSort('handle_desk')" tooltip='工单事件来选选项是:柜台类型的工单数' tooltip-placement="top">
181
+                                        <th style="width:8%" ng-click="tableSort('handle_desk')" tooltip='工单事件来源选项是:柜台类型的工单数' tooltip-placement="top">
182 182
                                             <strong>
183
-                                                柜台受理数
183
+                                                柜台建单
184 184
                                                 <em class="sort-wrap">
185 185
                                                     <i class="sortItem iconfont icon-xiangshang" ng-class="{active:sortActive == 'handle_desktop'}"></i>
186 186
                                                     <i class="sortItem iconfont icon-xiangxia" ng-class="{active:sortActive == 'handle_deskbottom'}"></i>
187 187
                                                 </em>
188 188
                                             </strong>
189 189
                                         </th>
190
+                                        <th style="width:8%" ng-click="tableSort('handle_other')" tooltip='其他方式建单' tooltip-placement="top">
191
+                                            <strong>
192
+                                                其他方式建单
193
+                                                <em class="sort-wrap">
194
+                                                    <i class="sortItem iconfont icon-xiangshang" ng-class="{active:sortActive == 'handle_othertop'}"></i>
195
+                                                    <i class="sortItem iconfont icon-xiangxia" ng-class="{active:sortActive == 'handle_otherbottom'}"></i>
196
+                                                </em>
197
+                                            </strong>
198
+                                        </th>
199
+                                        <th style="width:8%" ng-click="tableSort('handle_discover')" tooltip='主动发现建单' tooltip-placement="top">
200
+                                            <strong>
201
+                                                主动发现建单
202
+                                                <em class="sort-wrap">
203
+                                                    <i class="sortItem iconfont icon-xiangshang" ng-class="{active:sortActive == 'handle_discovertop'}"></i>
204
+                                                    <i class="sortItem iconfont icon-xiangxia" ng-class="{active:sortActive == 'handle_discoverbottom'}"></i>
205
+                                                </em>
206
+                                            </strong>
207
+                                        </th>
208
+                                        <th style="width:8%" ng-click="tableSort('handle_leader')" tooltip='领导指派建单' tooltip-placement="top">
209
+                                            <strong>
210
+                                                领导指派建单
211
+                                                <em class="sort-wrap">
212
+                                                    <i class="sortItem iconfont icon-xiangshang" ng-class="{active:sortActive == 'handle_leadertop'}"></i>
213
+                                                    <i class="sortItem iconfont icon-xiangxia" ng-class="{active:sortActive == 'handle_leaderbottom'}"></i>
214
+                                                </em>
215
+                                            </strong>
216
+                                        </th>
190 217
                                     </tr>
191 218
                                 </thead>
192 219
                             </table>
193 220
                             <div class="jry_table_wrap" ng-nicescroll nice-scroll-end="topEndComplete()">
194 221
                                 <table class="jry_table jry_table_body" cellspacing="0" cellpadding="16"
195 222
                                     style="font-weight:normal !important;margin-bottom: 16px;table-layout:fixed">
196
-                                    <tbody class="tbody-hover">
223
+                                    <tbody class="tbody-hover service_form-hover">
197 224
                                         <tr
198 225
                                             ng-repeat="rowData in zhtj_list">
199 226
                                             <td style="width:6%">
200 227
                                                 {{$index+1}}
201 228
                                             </td>
202
-                                            <td style="width:11%">
229
+                                            <td style="width:10%">
203 230
                                                 {{rowData.userName}}
204 231
                                             </td>
205
-                                            <td style="width:11%">
232
+                                            <td style="width:8%">
206 233
                                                 {{rowData.total}}
207 234
                                             </td>
208
-                                            <td style="width:11%">
235
+                                            <td style="width:8%">
209 236
                                                 {{rowData.p_total}}
210 237
                                             </td>
211
-                                            <td style="width:11%">
238
+                                            <td style="width:10%">
212 239
                                                 {{rowData.unp_total}}
213 240
                                             </td>
214
-                                            <td style="width:11%">
241
+                                            <td style="width:8%">
215 242
                                                 {{rowData.handle_phone}}
216 243
                                             </td>
217
-                                            <td style="width:17%">
244
+                                            <td style="width:10%">
218 245
                                                 {{rowData.handle_wxweb}}
219 246
                                             </td>
220
-                                            <td style="width:11%">
247
+                                            <td style="width:8%">
221 248
                                                 {{rowData.handle_msg}}
222 249
                                             </td>
223
-                                            <td style="width:11%">
250
+                                            <td style="width:8%">
224 251
                                                 {{rowData.handle_desk}}
225 252
                                             </td>
253
+                                            <td style="width:8%">
254
+                                                {{rowData.handle_other}}
255
+                                            </td>
256
+                                            <td style="width:8%">
257
+                                                {{rowData.handle_discover}}
258
+                                            </td>
259
+                                            <td style="width:8%">
260
+                                                {{rowData.handle_leader}}
261
+                                            </td>
226 262
                                         </tr>
227 263
                                     </tbody>
228 264
                                 </table>
@@ -240,22 +276,6 @@
240 276
                     <div class="TB">
241 277
                         <div class="TB_head">
242 278
                             <div class="TB_head_L">
243
-                                <div class="TB_LDZH fl" tooltip='接听数 + 未接数' tooltip-placement="top">
244
-                                    <p>来电总数</p>
245
-                                    <span>{{dhtj_req_total}}</span>
246
-                                </div>
247
-                                <div class="TB_ITEMS fl">
248
-                                    <div class="TB_ITEM" tooltip='从服务台打电话过来(只算呼入,不算呼出)的接听数量' tooltip-placement="top">
249
-                                        <p>接听数量</p>
250
-                                        <span>{{dhtj_req_answer}}</span>
251
-                                    </div>
252
-                                    <div class="TB_ITEM" tooltip='从服务台打电话过来(只算呼入,不算呼出)的未接数量' tooltip-placement="top">
253
-                                        <p>未接数量</p>
254
-                                        <span>{{dhtj_req_miss}}</span>
255
-                                    </div>
256
-                                </div>
257
-                            </div>
258
-                            <div class="TB_head_L">
259 279
                                 <div class="TB_LDZH fl" tooltip='事件来源是:电话的。直接处理数 + 派单数' tooltip-placement="top">
260 280
                                     <p>电话建单总数</p>
261 281
                                     <span>{{dhtj_p_total}}</span>
@@ -271,6 +291,22 @@
271 291
                                     </div>
272 292
                                 </div>
273 293
                             </div>
294
+                            <div class="TB_head_L">
295
+                                <div class="TB_LDZH fl" tooltip='接听数 + 未接数' tooltip-placement="top">
296
+                                    <p>来电总数</p>
297
+                                    <span>{{dhtj_req_total}}</span>
298
+                                </div>
299
+                                <div class="TB_ITEMS fl">
300
+                                    <div class="TB_ITEM" tooltip='从服务台打电话过来(只算呼入,不算呼出)的接听数量' tooltip-placement="top">
301
+                                        <p>接听数量</p>
302
+                                        <span>{{dhtj_req_answer}}</span>
303
+                                    </div>
304
+                                    <div class="TB_ITEM" tooltip='从服务台打电话过来(只算呼入,不算呼出)的未接数量' tooltip-placement="top">
305
+                                        <p>未接数量</p>
306
+                                        <span>{{dhtj_req_miss}}</span>
307
+                                    </div>
308
+                                </div>
309
+                            </div>
274 310
                         </div>
275 311
                         <div class="TB_cont">
276 312
                             <table class="jry_table jry_table_head" cellspacing="0" cellpadding="16"
@@ -982,6 +1018,14 @@
982 1018
         width: 100%;
983 1019
     }
984 1020
 
1021
+    .jry_table_body .tbody-hover.service_form-hover td {
1022
+        cursor: pointer;
1023
+    }
1024
+
1025
+    .jry_table_body .tbody-hover.service_form-hover td:hover {
1026
+        text-decoration: underline;
1027
+    }
1028
+
985 1029
     .jry_table th,
986 1030
     .jry_table td {
987 1031
         word-wrap: break-word;

+ 219 - 0
assets/views/wt_messages_onclick.html

@@ -0,0 +1,219 @@
1
+<div class="message_title">
2
+    消息通知详情
3
+</div>
4
+<div class="message_type">
5
+    <div class='message-list'>
6
+        <div class="message_content">
7
+            <div style="overflow: hidden;border-bottom: 1px dashed #ccc;">
8
+                <div class="content_time">{{task.releaseTime}}</div>
9
+                <div class="content_time" style="text-align: right;">{{task.user.name}}</div>
10
+            </div>
11
+            <div class="content_text">{{task.content}}</div>
12
+        </div>
13
+    </div>
14
+</div>
15
+
16
+<div style="text-align: center;margin-top: 2%;margin-bottom: 2%;padding-right: 2%;position: relative;">
17
+    <button ng-click="closeModel()" class="sBtn">关闭</button>
18
+</div>
19
+<style>
20
+    .wt_page{
21
+        position: absolute;
22
+        right: 2%;
23
+        top: 0;
24
+    }
25
+    .sBtnD {
26
+        background: #ccc;
27
+    }
28
+
29
+    .sBtn {
30
+        display: inline-block;
31
+        color:#005395;
32
+        width: 80px;
33
+        height: 30px;
34
+        border: 1px solid #ccc;
35
+        line-height: 30px;
36
+        border-radius: 2px;
37
+        cursor: pointer;
38
+        background-color: #fff !important;
39
+    }
40
+    .sBtn:hover {
41
+        background-color: #005395 !important;
42
+        color: #fff
43
+    }
44
+    .wt_nav {
45
+        text-align: center;
46
+    }
47
+
48
+    .pagination>li>a:hover {
49
+        background-color: #005395 !important;
50
+        border-color: #005395 !important;
51
+        color: #fff !important;
52
+    }
53
+
54
+    .pagination>li>a:focus {
55
+        background-color: #005395 !important;
56
+        border-color: #005395 !important;
57
+        color: #fff !important;
58
+    }
59
+
60
+    .pagination>li>a {
61
+        color: #005395 !important;
62
+    }
63
+
64
+    .modal-content {
65
+        /* width: 540px; */
66
+        /* height: 600px; */
67
+        border-radius: 2px;
68
+        overflow: auto;
69
+    }
70
+
71
+    .message_title {
72
+        height: 6%;
73
+        border-bottom: 1px solid #EAEAEA;
74
+        font-size: 18px;
75
+        line-height: 39px;
76
+        text-align: center;
77
+        color: #005395;
78
+        /* position: fixed; */
79
+        width: 100%;
80
+        background: #fff;
81
+    }
82
+
83
+    .message_body {
84
+        /* position: fixed; */
85
+        width: 100%;
86
+        background: #fff;
87
+        /* margin-top: 19px; */
88
+        /* border-bottom: 1px solid #EAEAEA;
89
+        border-top: 1px solid #EAEAEA; */
90
+        border: 1px solid #EAEAEA;
91
+    }
92
+
93
+    .message-list {
94
+        /* position: fixed;
95
+        top: 102px;
96
+        left: 12px; */
97
+        height: 97%;
98
+        overflow-y: auto;
99
+        width: 100%;
100
+        border-left: 1px solid #EAEAEA;
101
+
102
+    }
103
+
104
+    .message_type {
105
+        margin: 0 auto;
106
+        /* margin-top: 60px; */
107
+        /* border: 1px solid #EAEAEA; */
108
+        border-top: 0px;
109
+        width: 100%;
110
+        height: 80%;
111
+        /* padding: 20px; */
112
+        padding: 20px 20px 0px 20px;
113
+    }
114
+
115
+    .message_yes {
116
+        float: left;
117
+        display: inline-block;
118
+        width: 50%;
119
+        height: 40px;
120
+        text-align: center;
121
+        color: #005395;
122
+        font-size: 16px;
123
+        line-height: 40px;
124
+        cursor: pointer;
125
+    }
126
+
127
+    .message_yes:hover {
128
+        background-color: #005395 !important;
129
+        border-color: #005395 !important;
130
+        color: #fff !important;
131
+    }
132
+
133
+    .message_no:hover {
134
+        background-color: #005395 !important;
135
+        border-color: #005395 !important;
136
+        color: #fff !important;
137
+    }
138
+
139
+    .message_no {
140
+        float: left;
141
+        display: inline-block;
142
+        line-height: 40px;
143
+        width: 50%;
144
+        height: 40px;
145
+        text-align: center;
146
+        color: #005395;
147
+        font-size: 16px;
148
+        border-left: 1px solid #EAEAEA;
149
+        cursor: pointer;
150
+    }
151
+
152
+    .message_content {
153
+        padding: 10px 10px 0px 10px;
154
+        /* border-top: 1px solid #EAEAEA; */
155
+        border-bottom: 1px solid #EAEAEA;
156
+        overflow: hidden;
157
+        height: 80px;
158
+        background: #eee;
159
+        margin-bottom: 5px;
160
+    }
161
+
162
+    .red {
163
+        float: left;
164
+        /* display: inline-block; */
165
+        margin-top: 13px;
166
+    }
167
+
168
+    .redbtn {
169
+        width: 70px;
170
+        height: 25px;
171
+        color: #fff;
172
+        border-radius: 2px;
173
+        background: #005395;
174
+        border: 0px;
175
+    }
176
+
177
+    .redbtn:hover {
178
+        background: #DBE8E6;
179
+        color: #005395;
180
+        border: 1px solid #005395;
181
+    }
182
+
183
+    .content_title {
184
+        float: left;
185
+        width: 50%;
186
+        font-size: 16px;
187
+        color: #005395;
188
+    }
189
+
190
+    .content_time {
191
+        float: left;
192
+        width: 50%;
193
+        font-size: 14px;
194
+        color: #999;
195
+
196
+    }
197
+
198
+    .content_text {
199
+        margin-top: 6px;
200
+        font-size: 14px;
201
+        color: #666;
202
+        display: inline-block;
203
+        width: 92%;
204
+        /* height: 86%; */
205
+        white-space: nowrap;
206
+        text-overflow: ellipsis;
207
+        overflow: hidden;
208
+        float: left;
209
+    }
210
+
211
+
212
+
213
+    .active {
214
+        border: 1px solid #7BC2B4;
215
+        background: #005395;
216
+        color: #fff;
217
+        border-bottom: 0px;
218
+    }
219
+</style>