Przeglądaj źródła

巡检二期修改

seimin 3 lat temu
rodzic
commit
28540c4264

+ 179 - 6
assets/js/controllers/inspect/inspectListCtrl.js

@@ -17,6 +17,8 @@ app.controller("inspectListCtrl", [
17 17
   "api_bpm_schedule",
18 18
   "api_bpm_data",
19 19
   "api_configure_data",
20
+  "api_bpm",
21
+  "api_user_data",
20 22
   function (
21 23
     $rootScope,
22 24
     $scope,
@@ -31,7 +33,9 @@ app.controller("inspectListCtrl", [
31 33
     Restangular,
32 34
     api_bpm_schedule,
33 35
     api_bpm_data,
34
-    api_configure_data
36
+    api_configure_data,
37
+    api_bpm,
38
+    api_user_data
35 39
   ) {
36 40
     $scope.langs = i18nService.getAllLangs();
37 41
     $scope.lang = "zh-cn";
@@ -40,10 +44,14 @@ app.controller("inspectListCtrl", [
40 44
 
41 45
     var loginUser = $rootScope.user;
42 46
     $scope.chuli = false;
47
+    $scope.assign = false;
43 48
     for (var i = 0; i < loginUser.menu.length; i++) {
44 49
       if (loginUser.menu[i].link == "xunjianliebiao_chuli") {
45 50
         $scope.chuli = true;
46 51
       }
52
+      if (loginUser.menu[i].link == "xunjianliebiao_assign") {
53
+        $scope.assign = true;
54
+      }
47 55
     }
48 56
     var defaultFilterData = {
49 57
       assignee: loginUser.id,
@@ -74,7 +82,6 @@ app.controller("inspectListCtrl", [
74 82
     $scope.gridOptions.enableColumnResizing = true;
75 83
     $scope.gridOptions.enableFiltering = true;
76 84
     $scope.gridOptions.enableGridMenu = true;
77
-    $scope.gridOptions.enableSelectAll = true;
78 85
     $scope.gridOptions.enableRowSelection = true;
79 86
     $scope.gridOptions.showGridFooter = true;
80 87
     $scope.gridOptions.showColumnFooter = false;
@@ -94,6 +101,15 @@ app.controller("inspectListCtrl", [
94 101
     $scope.gridOptions.getRowIdentity = function (row) {
95 102
       return row.id;
96 103
     };
104
+    //执行中的巡检才能批量派单
105
+    $scope.gridOptions.isRowSelectable = function (row,i) {
106
+      // console.log(row,row.uid,document);
107
+      if (row.entity.state == 0) {
108
+        return true;
109
+      } else {
110
+        return false;
111
+      }
112
+    };
97 113
     $scope.transferColor = function (item) {
98 114
       var color = "icon iconfont icon-zhengchang greenfont";
99 115
       if (item && item.colourInfo) {
@@ -296,6 +312,129 @@ app.controller("inspectListCtrl", [
296 312
     //         })
297 313
     //     }
298 314
     // }
315
+    //批量派单
316
+    $scope.toAssign = function() {
317
+      var _$scope = $scope;
318
+      console.log($scope.selected.items);
319
+        var sendList = [];
320
+        angular.forEach($scope.selected.items, function(item) {
321
+            sendList.push(item.id);
322
+        });
323
+        // --------------------------------------------------------
324
+        var modalInstance = $modal.open({
325
+          templateUrl: 'assets/views/incident/tpl/toAssign.tpl.html',
326
+          controller: function ($scope, $modalInstance, api_bpm_domain, modelData, currentUserId, Alert, api_user_data) {
327
+              console.log(_$scope.selected.items,loginUser);
328
+              //获取组下面的用户
329
+              $scope.getUsers = function(groupId){
330
+                  $scope.user = [];
331
+                  var postData = {};
332
+                  if(groupId){
333
+                      postData = {
334
+                          "idx": 0,
335
+                          "sum": 100,
336
+                          user: {
337
+                              groupdata:{id:groupId},
338
+                              roledata: { rolecode: "inspectman" },
339
+                              selectType: "1",
340
+                              selectDetails:1
341
+                          }
342
+                      }
343
+                  }else{
344
+                      postData = {
345
+                          "idx": 0,
346
+                          "sum": 100,
347
+                          user: {
348
+                              roledata: { rolecode: "inspectman" },
349
+                              selectType: "1",
350
+                              selectDetails:1
351
+                          }
352
+                      }
353
+                  }
354
+                  api_user_data.fetchDataList('user', postData).then(function (data) {
355
+                      $scope.user = data.list;
356
+                  })
357
+              }
358
+              $scope.assignUser = null;
359
+              $scope.user = [];
360
+              $scope.group = [];
361
+              $scope.getUsers();
362
+              api_user_data.fetchDataList('group', {
363
+                  "idx": 0,
364
+                  "sum": 100,
365
+                  group: {}
366
+              }).then(function (data) {
367
+                  $scope.group = data.list;
368
+              })
369
+              $scope.onChangeRotateUser = function(item){
370
+                  $scope.assignUser = item.id;
371
+              }
372
+              $scope.onChangeRotateGroup = function(item){
373
+                  $scope.assignGroup = item.id;
374
+                  $scope.getUsers(item.id)
375
+              }
376
+              
377
+              $scope.ok = function () {
378
+                  if (!$scope.assignUser){
379
+                      Alert.swal({
380
+                          title: "操作失败",
381
+                          text: "请选择转派对象信息!",
382
+                          type: "error"
383
+                      });
384
+                      return;
385
+                  }
386
+                  api_bpm.assign({ids:sendList.join(),userId:$scope.assignUser}).then(function (response) {
387
+                      console.log(response)
388
+                      if (response.status == 200) {
389
+                          Alert.swal({
390
+                              title: "操作成功!",
391
+                              confirmButtonColor: "#007AFF",
392
+                              type: "success"
393
+                          });
394
+                          $modalInstance.close('success');
395
+                          _$scope.gridApi.selection.clearSelectedRows();
396
+                      } else {
397
+                          Alert.swal({
398
+                              title: "操作失败",
399
+                              text: "操作失败, 请稍后再试!",
400
+                              type: "error"
401
+                          });
402
+                      }
403
+                  });
404
+              }
405
+
406
+              $scope.cancel = function () {
407
+                  $modalInstance.dismiss('cancel');
408
+              }
409
+          },
410
+          size: 'sm',
411
+          resolve: {
412
+              api_bpm: function () {
413
+                  return api_bpm;
414
+              },
415
+              modelData: function () {
416
+                  return _$scope.selected.items;
417
+              },
418
+              currentUserId: function () {
419
+                  return loginUser.id;
420
+              },
421
+              Alert: function () {
422
+                  return SweetAlert;
423
+              },
424
+              api_user_data: function () {
425
+                  return api_user_data;
426
+              }
427
+          }
428
+      });
429
+      modalInstance.result.then(function (selectedItem) {
430
+          if (selectedItem == 'success') {
431
+              defaultFilterData.assignee = loginUser.id;
432
+              $scope.refreshData('expand-right', defaultFilterData);
433
+          }
434
+      });
435
+      return;
436
+        // --------------------------------------------------------
437
+    }
299 438
 
300 439
     $scope.selected = {
301 440
       items: [],
@@ -308,6 +447,7 @@ app.controller("inspectListCtrl", [
308 447
     $scope.jry_sum = 10;
309 448
     //分页控制
310 449
     $scope.gridOptions.onRegisterApi = function (gridApi) {
450
+      $scope.gridApi = gridApi;
311 451
       gridApi.pagination.on.paginationChanged(
312 452
         $scope,
313 453
         function (newPage, pageSize) {
@@ -322,10 +462,41 @@ app.controller("inspectListCtrl", [
322 462
           $scope.refreshData("expand-right", $scope.model);
323 463
         }
324 464
       );
325
-      // gridApi.selection.on.rowSelectionChanged($scope, function(data) {
326
-      //     data.grid.appScope.selected.items = data.entity
327
-      //     console.log(data);
328
-      // });
465
+      // 单选
466
+      gridApi.selection.on.rowSelectionChanged($scope, function(scope) {
467
+        console.log(scope)
468
+        if (scope.isSelected) {
469
+            scope.grid.appScope.selected.items.push(scope.entity)
470
+        } else {
471
+            for (var i = 0; i <= scope.grid.appScope.selected.items.length; i++) {
472
+                if (scope.grid.appScope.selected.items[i].id == scope.entity.id) {
473
+                    scope.grid.appScope.selected.items.splice(i, 1);
474
+                    break;
475
+                }
476
+            }
477
+        }
478
+        console.log(scope.grid.appScope.selected.items)
479
+      });
480
+      // 全选/全不选
481
+      gridApi.selection.on.rowSelectionChangedBatch($scope, function(rows) {
482
+        console.log(rows)
483
+        var selectitem = [];
484
+        selectitem = angular.copy($scope.selected.items);
485
+        for (var j = 0; j < rows.length; j++) {
486
+            if (rows[j].isSelected == true) {
487
+                selectitem.push(rows[j].entity);
488
+            } else {
489
+                delete selectitem[j];
490
+            }
491
+        }
492
+        $scope.selected.items = [];
493
+        for (var i = 0; i < selectitem.length; i++) {
494
+            if (selectitem[i]) {
495
+                $scope.selected.items.push(selectitem[i]);
496
+            }
497
+        }
498
+        console.log($scope.selected.items)
499
+    });
329 500
     };
330 501
 
331 502
     // var data = JSON.parse(sessionStorage.inspectListParameter);
@@ -406,6 +577,8 @@ app.controller("inspectListCtrl", [
406 577
     //搜索栏点击事件
407 578
     $scope.searchstate = "todo";
408 579
     $scope.onChange = function (searchType) {
580
+      console.log($scope.gridApi)
581
+      $scope.gridApi.selection.clearSelectedRows();
409 582
       $scope.searchstate = searchType;
410 583
       var filterData = JSON.parse(sessionStorage.inspectListParameter);
411 584
       filterData.searchType = searchType;

+ 1 - 1
assets/js/controllers/inspect/inspectReportCtrl.js

@@ -247,7 +247,7 @@ app.controller("inspectReportCtrl", [
247 247
       {
248 248
         name: "inspectItem",
249 249
         displayName: "巡检项",
250
-        width: "22%",
250
+        width: "25%",
251 251
         enableFiltering: false,
252 252
         cellTemplate: `<div class="ui-grid-cell-contents">
253 253
             <div class="inspectPar">

+ 2 - 0
assets/js/controllers/report/incident_reportCtrl.js

@@ -542,6 +542,8 @@ app.controller('incident_reportCtrl', ["$scope", "$rootScope", "$state", "$timeo
542 542
     }
543 543
     //重置
544 544
     $scope.report_Reset = function () {
545
+        $scope.select_treedata = [];
546
+        $scope.my_data = [];
545 547
         $scope.dateChoose.dateSelected = {};
546 548
         if($scope.searchkeys.placeId){
547 549
             delete($scope.searchkeys.placeId)

+ 4 - 0
assets/js/main.js

@@ -660,6 +660,10 @@ app.factory('api_bpm', ['BpmRestangular', function (BpmRestangular) {
660 660
     var getData = BpmRestangular.all('data');
661 661
     var InspectionProcessActual = BpmRestangular.all('InspectionProcessActual');
662 662
     return {
663
+        //巡检列表批量指派
664
+        assign: function (data) {
665
+            return InspectionProcessActual.customPOST(data, 'batchAssign', {});
666
+        },
663 667
         //获取巡检报告
664 668
         report: function (data) {
665 669
             return InspectionProcessActual.customPOST(data, 'report', {});

+ 2 - 2
assets/views/incident/tpl/toAssign.tpl.html

@@ -39,6 +39,6 @@
39 39
     </div>
40 40
 </div>
41 41
 <div class="modal-footer modelfooter-hint pointfont">
42
-    <div class="hintfooterleft pull-left" ng-click="ok()">确定</div>
43
-    <div class="hintfooterright pull-right" ng-click="cancel()">取消</div>
42
+    <div class="hintfooterleft pull-left" ng-click="ok()" style="cursor: pointer;">确定</div>
43
+    <div class="hintfooterright pull-right" ng-click="cancel()" style="cursor: pointer;">取消</div>
44 44
 </div>

+ 3 - 1
assets/views/inspect/inspectList.html

@@ -242,6 +242,7 @@
242 242
             <span>搜索</span>
243 243
           </div>
244 244
           <div class="btn btn_clean" ng-click="clean()">重置</div>
245
+          <div class="btn btn_clean" ng-if="assign" ng-click="toAssign()" ng-disabled="selected.items.length==0">批量派单</div>
245 246
           <!-- <a ladda="ldloading.expand_right" class="btn btn-primary" data-style="expand-right" ng-click="reload()">
246 247
                         <span translate="list.button.REFRESH">Refresh Data</span>
247 248
                         <i class="ti-reload" />
@@ -275,7 +276,8 @@
275 276
           ui-grid="gridOptions "
276 277
           ui-grid-pagination
277 278
           external-scopes="$scope "
278
-          ui-grid-resize-columns
279
+          ui-grid-resize-columns 
280
+          ui-grid-selection
279 281
           ui-grid-auto-resize
280 282
           class="grid"
281 283
         ></div>

+ 3 - 0
bower_components/angular-ui-grid/ui-grid.css

@@ -2352,6 +2352,9 @@ select[multiple].ui-grid-pager-row-count-picker select {
2352 2352
 .ui-grid-selection-row-header-buttons.ui-grid-all-selected {
2353 2353
     opacity: 1;
2354 2354
 }
2355
+.ui-grid-seimin .borderboxs{
2356
+    display: none;
2357
+}
2355 2358
 
2356 2359
 
2357 2360
 /* This file contains variable declarations (do not remove this line) */

+ 1 - 1
bower_components/angular-ui-grid/ui-grid.js

@@ -26529,7 +26529,7 @@ angular.module('ui.grid').run(['$templateCache', function($templateCache) {
26529 26529
 
26530 26530
 
26531 26531
     $templateCache.put('ui-grid/ui-grid-row',
26532
-        "<div ng-repeat=\"(colRenderIndex, col) in colContainer.renderedColumns track by col.uid\" ui-grid-one-bind-id-grid=\"rowRenderIndex + '-' + col.uid + '-cell'\" class=\"ui-grid-cell\" ng-class=\"{ 'ui-grid-row-header-cell': col.isRowHeader }\" role=\"{{col.isRowHeader ? 'rowheader' : 'gridcell'}}\" ui-grid-cell></div>"
26532
+        "<div ng-repeat=\"(colRenderIndex, col) in colContainer.renderedColumns track by col.uid\" ui-grid-one-bind-id-grid=\"rowRenderIndex + '-' + col.uid + '-cell'\" class=\"ui-grid-cell\" ng-class=\"{ 'ui-grid-row-header-cell': col.isRowHeader,'ui-grid-seimin':!row.enableSelection }\" role=\"{{col.isRowHeader ? 'rowheader' : 'gridcell'}}\" ui-grid-cell></div>"
26533 26533
     );
26534 26534
 
26535 26535