seimin 3 年之前
父節點
當前提交
97a58789f5

+ 1 - 1
assets/css/styles.css

@@ -6279,7 +6279,7 @@ ul.sub-menu li ul.sub-menu li ul.sub-menu li a {
6279
     font-size: 12px;
6279
     font-size: 12px;
6280
     -webkit-transform: translate3d(0, 0, 0);
6280
     -webkit-transform: translate3d(0, 0, 0);
6281
     transform: translate3d(0, 0, 0);
6281
     transform: translate3d(0, 0, 0);
6282
-    z-index: 1088;
6282
+    z-index: 99;
6283
 }
6283
 }
6284
 
6284
 
6285
 #app>footer .footer-inner {
6285
 #app>footer .footer-inner {

+ 1 - 1
assets/js/app.js

@@ -1,2 +1,2 @@
1
 "use strict";
1
 "use strict";
2
-angular.module("itsm-dep", ["ngAnimate", "ngCookies", "ngStorage", "ngSanitize", "ngTouch", "ui.router", "ui.bootstrap", "oc.lazyLoad", "cfp.loadingBar", "ncy-angular-breadcrumb", "duScroll", "pascalprecht.translate", "restangular", "ng-token-auth", "angular-dayparts","angular-nicescroll","ui2.bootstrap"]);
2
+angular.module("itsm-dep", ["ngAnimate", "ngCookies", "ngStorage", "ngSanitize", "ngTouch", "ui.router", "ui.bootstrap", "oc.lazyLoad", "cfp.loadingBar", "ncy-angular-breadcrumb", "duScroll", "pascalprecht.translate", "restangular", "ng-token-auth", "angular-dayparts","angular-nicescroll","ui2.bootstrap",'isteven-multi-select']);

+ 1 - 0
assets/js/config.constant.js

@@ -110,6 +110,7 @@ app.constant('JS_REQUIRES', {
110
         'childpapeCtrl': 'assets/js/controllers/report/childpapeCtrl.js',
110
         'childpapeCtrl': 'assets/js/controllers/report/childpapeCtrl.js',
111
         //*** inspect 
111
         //*** inspect 
112
         'inspectPlanCtrl': 'assets/js/controllers/inspect/inspectPlanCtrl.js',
112
         'inspectPlanCtrl': 'assets/js/controllers/inspect/inspectPlanCtrl.js',
113
+        'inspectReportCtrl': 'assets/js/controllers/inspect/inspectReportCtrl.js',
113
         'inspectListCtrl': 'assets/js/controllers/inspect/inspectListCtrl.js',
114
         'inspectListCtrl': 'assets/js/controllers/inspect/inspectListCtrl.js',
114
         'inspectForm': 'assets/js/controllers/inspect/inspectForm.js',
115
         'inspectForm': 'assets/js/controllers/inspect/inspectForm.js',
115
         'calllogCtrl': 'assets/js/controllers/desk/calllogCtrl.js',
116
         'calllogCtrl': 'assets/js/controllers/desk/calllogCtrl.js',

+ 12 - 0
assets/js/config.router.js

@@ -1363,6 +1363,18 @@ app.config(['$authProvider', '$httpProvider', '$stateProvider', '$urlRouterProvi
1363
                 }
1363
                 }
1364
             })
1364
             })
1365
 
1365
 
1366
+            //巡检管理>巡检报告
1367
+            .state('app.inspection.inspectReport', {
1368
+                url: '/inspectReport',
1369
+                templateUrl: "assets/views/inspect/inspectReport.html",
1370
+                resolve: loadSequence('jquery-nestable-plugin', 'ng-nestable', 'ui.select', 'angularBootstrapNavTree', 'multi.select.tree', 'ckeditor-plugin', 'ckeditor', 'angularFileUpload', 'spin', 'ladda', 'angular-ladda', 'ui.grid', 'inspectReportCtrl'),
1371
+                title: 'inspection.LIST',
1372
+                icon: 'ti-list',
1373
+                ncyBreadcrumb: {
1374
+                    label: 'inspection list'
1375
+                }
1376
+            })
1377
+
1366
             //巡检管理>巡检列表
1378
             //巡检管理>巡检列表
1367
             .state('app.inspection.inspectList', {
1379
             .state('app.inspection.inspectList', {
1368
                 url: '/inspectList',
1380
                 url: '/inspectList',

+ 264 - 6
assets/js/controllers/customform/customformCtrl.js

@@ -11243,6 +11243,53 @@ appFormly.config(function config(formlyConfigProvider) {
11243
       };
11243
       };
11244
     },
11244
     },
11245
   });
11245
   });
11246
+  //下拉框组件(巡检计划-查看)
11247
+  formlyConfigProvider.setType({
11248
+    name: "ui-select-xj",
11249
+    extends: "select",
11250
+    templateUrl: "assets/views/customform/tpl/ui-select-xj.html",
11251
+    defaultOptions: function (options, scope) {
11252
+      return {
11253
+        templateOptions: {
11254
+          getScope: function () {
11255
+            return scope;
11256
+          },
11257
+          refreshDelay: 0,
11258
+          validators: {
11259
+            required: {
11260
+              expression: function (viewValue, modelValue) {
11261
+                var value = modelValue || viewValue;
11262
+                return value != null;
11263
+              },
11264
+            },
11265
+          },
11266
+        },
11267
+        controller: [
11268
+          "$scope",
11269
+          "$rootScope",
11270
+          "api_bpm_domain",
11271
+          "$stateParams",
11272
+          function ($scope, $rootScope, api_bpm_domain, $stateParams) {
11273
+            $scope.model[$scope.options.key] = '全部';//默认全部
11274
+            var arr = $scope.model.inspection.batchNos.map(v=>({value:v,name:v}));
11275
+            arr.unshift({value:'全部',name:'全部'});
11276
+            $scope.options.templateOptions.options = arr;
11277
+            console.log($scope)
11278
+            // ts.$parent.fields.forEach(v=>{
11279
+            //   if(v.templateOptions.onlyKey === "batchNos"){
11280
+            //     //巡检计划-批次号
11281
+            //     var batchNos = $scope.model.batchNos === "0"?"":$scope.model.batchNos;
11282
+            //     v.templateOptions.getScope().refreshData(batchNos)
11283
+            //   }
11284
+            // })
11285
+            // ts.$parent.fields.forEach(v=>{if(v.templateOptions.onlyKey === "batchNos"){var batchNos = item == "0"?"":item;v.templateOptions.getScope().refreshData(batchNos);}})
11286
+            // console.log($scope.options)
11287
+            // console.log($scope.model)
11288
+          },
11289
+        ],
11290
+      };
11291
+    },
11292
+  });
11246
 
11293
 
11247
   //下拉多选框组件
11294
   //下拉多选框组件
11248
   formlyConfigProvider.setType({
11295
   formlyConfigProvider.setType({
@@ -11265,6 +11312,169 @@ appFormly.config(function config(formlyConfigProvider) {
11265
     ],
11312
     ],
11266
   });
11313
   });
11267
 
11314
 
11315
+  //下拉多选全选组件
11316
+  formlyConfigProvider.setType({
11317
+    name: "ui-isteven",
11318
+    extends: "select",
11319
+    templateUrl: "assets/views/customform/tpl/ui-isteven.html",
11320
+    defaultOptions: function (options,$scope) {
11321
+      return {
11322
+        templateOptions: {
11323
+          refresh: function () {
11324
+            console.log(options)
11325
+            options.templateOptions
11326
+                .refreshData(options.templateOptions.APIService)
11327
+                .then(function (result) {
11328
+                  if(result.status == 200){
11329
+                    console.log(result.list)
11330
+                    //树形结构转换
11331
+                    function formatDataTree2(json){
11332
+                      var _json = JSON.parse(JSON.stringify(json));
11333
+                      return _json.filter(p=>{
11334
+                        var _arr = _json.filter(c=>(c.parent?c.parent.id === p.id:false));
11335
+                        _arr.length && (p.children = _arr);
11336
+                        return !p.parent;
11337
+                      })
11338
+                    }
11339
+                    var list = formatDataTree2(result.list);
11340
+                    // $scope.treeList = angular.copy(list);
11341
+                    var resultList = [];
11342
+                    //转换数据
11343
+                    function trasData(list,obj){
11344
+                      if(obj){
11345
+                        //有父级
11346
+                        list.forEach(v=>{
11347
+                          var type = "<strong>"+ v.parent.type +"</strong>";//父级type
11348
+                          var i = resultList.findIndex(c=>c.type == type);
11349
+                          if(v.children){
11350
+                            resultList.splice(i+1,0,{
11351
+                              type: "<strong>"+ v.type +"</strong>",
11352
+                              msId: v.id,
11353
+                              msGroup: true,
11354
+                            },{msGroup: false})
11355
+                            trasData(v.children,v);
11356
+                          }else{
11357
+                            resultList.splice(i+1,0,{...v,...{ticked:false}});
11358
+                          }
11359
+                        })
11360
+                      }else{
11361
+                        //顶级
11362
+                        list.forEach(v=>{
11363
+                          if(v.children){
11364
+                            resultList.push({
11365
+                              type: "<strong>"+ v.type +"</strong>",
11366
+                              msId: v.id,
11367
+                              msGroup: true,
11368
+                            },{msGroup: false})
11369
+                            trasData(v.children,v);
11370
+                          }else{
11371
+                            resultList.push(...v,...{ticked:false});
11372
+                          }
11373
+                        })
11374
+                      }
11375
+                      return resultList;
11376
+                    }
11377
+                    var __arr = trasData(list,null);
11378
+                    if(options.model.inspectionType){
11379
+                      //有巡检类型,则需要回显
11380
+                      __arr.forEach(w=>{
11381
+                        w.ticked = w.id == options.model.inspectionType.id;
11382
+                      })
11383
+                    }
11384
+                    $scope.webBrowsersGrouped = __arr;
11385
+                    console.log($scope.webBrowsersGrouped);
11386
+                  }
11387
+                })
11388
+          },
11389
+          refreshDelay: 1000,
11390
+        },
11391
+      };
11392
+    },
11393
+    controller: [
11394
+      "$scope",
11395
+      function ($scope) {
11396
+        console.log($scope)
11397
+        $scope.to.refresh();//获取列表数据
11398
+        // $scope.model[$scope.options.key] = [];
11399
+        //单项点击或菜单
11400
+        $scope.fClick = function(data){
11401
+          console.log($scope.outputBrowsers)
11402
+          $scope.$parent.$parent.$parent.model.inspection.typeIds = $scope.outputBrowsers.map(v=>v.id).join();
11403
+          console.log($scope.$parent.$parent.$parent.model.inspection.typeIds)
11404
+          // if(data.id){
11405
+          //   //单项点击
11406
+          //   if($scope.$parent.$parent.$parent.model.inspection.typeIds){
11407
+          //     //有巡检类型
11408
+          //     var arr = $scope.$parent.$parent.$parent.model.inspection.typeIds.split(',');
11409
+          //     if(data.ticked){
11410
+          //       arr.push(data.id);
11411
+          //     }else{
11412
+          //       arr = arr.filter(v=>v != data.id);
11413
+          //     }
11414
+          //     $scope.$parent.$parent.$parent.model.inspection.typeIds = arr.join();
11415
+          //   }else{
11416
+          //     //无巡检类型
11417
+          //     $scope.$parent.$parent.$parent.model.inspection.typeIds = 1;
11418
+          //     if(data.ticked){
11419
+          //       $scope.$parent.$parent.$parent.model.inspection.typeIds = data.id + '';
11420
+          //     }else{
11421
+          //       $scope.$parent.$parent.$parent.model.inspection.typeIds = '';
11422
+          //     }
11423
+          //   }
11424
+          // }else{
11425
+          //   // 菜单点击
11426
+          //   console.log($scope.webBrowsersGrouped,data.msId);
11427
+          //   var treeResultArr = $scope.webBrowsersGrouped.filter(v=>{
11428
+          //     return v.parent?v.parent.id == data.msId:false;
11429
+          //   })
11430
+          //   if(treeResultArr.every(v=>v.ticked)){
11431
+          //     //全部都是true的情况下,需要移除,否则增加
11432
+          //   }
11433
+          //   console.log(treeResultArr)
11434
+          //   // --------------------------------------
11435
+          //   // var treeArr = [];
11436
+          //   // function findParent(treeList){
11437
+          //   //   treeList.forEach(v=>{
11438
+          //   //     if(v.id == data.msId){
11439
+          //   //       treeArr = v.children;
11440
+          //   //     }else{
11441
+          //   //       if(v.children){
11442
+          //   //         findParent(v.children);
11443
+          //   //       }
11444
+          //   //     }
11445
+          //   //   })
11446
+          //   //   return treeArr;
11447
+          //   // }
11448
+          //   // var treeResultArr = findParent($scope.treeList);
11449
+          //   // console.log(treeResultArr)
11450
+          //   // -----------------------------------
11451
+          // }
11452
+        }
11453
+        // 全选
11454
+        $scope.fSelectAll = function(){
11455
+          // console.log($scope.webBrowsersGrouped)
11456
+          var arr = $scope.webBrowsersGrouped.filter(v=>v.id).map(v=>v.id);
11457
+          // console.log(arr);
11458
+          $scope.$parent.$parent.$parent.model.inspection.typeIds = arr.join();
11459
+          console.log($scope.$parent.$parent.$parent.model.inspection.typeIds)
11460
+        }
11461
+        // 全不选
11462
+        $scope.fSelectNone = function(){
11463
+          $scope.$parent.$parent.$parent.model.inspection.typeIds = '';
11464
+          console.log($scope.$parent.$parent.$parent.model.inspection.typeIds)
11465
+        }
11466
+
11467
+        // 配置信息
11468
+        $scope.outputBrowsers = [];
11469
+        $scope.localLang = {
11470
+          selectAll: "全选",
11471
+          selectNone: "全不选",
11472
+          nothingSelected: "请选择"
11473
+        }
11474
+      },
11475
+    ],
11476
+  });
11477
+
11268
   //下拉多选框灵活组件
11478
   //下拉多选框灵活组件
11269
   formlyConfigProvider.setType({
11479
   formlyConfigProvider.setType({
11270
     name: "ui-multiselectplus",
11480
     name: "ui-multiselectplus",
@@ -12197,6 +12407,11 @@ appFormly.config(function config(formlyConfigProvider) {
12197
     controller: [
12407
     controller: [
12198
       "$scope",
12408
       "$scope",
12199
       function ($scope) {
12409
       function ($scope) {
12410
+        console.log($scope)
12411
+        if($scope.options.templateOptions.isTrue){
12412
+          //是否默认打开
12413
+          $scope.model[$scope.options.key] = true;
12414
+        }
12200
         // 巡检生成事件,默认派单
12415
         // 巡检生成事件,默认派单
12201
         if ($scope.model.isInspection) {
12416
         if ($scope.model.isInspection) {
12202
           $scope.model[$scope.options.key] = true;
12417
           $scope.model[$scope.options.key] = true;
@@ -12210,6 +12425,27 @@ appFormly.config(function config(formlyConfigProvider) {
12210
       },
12425
       },
12211
     ],
12426
     ],
12212
   });
12427
   });
12428
+  //勾选组件(禁用)--yeye
12429
+  formlyConfigProvider.setType({
12430
+    name: "ui-checkbox-disabled",
12431
+    extends: "checkbox",
12432
+    templateUrl: "assets/views/customform/tpl/ui-checkbox-disabled.html",
12433
+    controller: [
12434
+      "$scope",
12435
+      function ($scope) {
12436
+        // 巡检生成事件,默认派单
12437
+        // if ($scope.model.isInspection) {
12438
+        //   $scope.model[$scope.options.key] = true;
12439
+        // }
12440
+        // if ($scope.model[$scope.options.key] == "true") {
12441
+        //   $scope.model[$scope.options.key] = true;
12442
+        // }
12443
+        // if ($scope.model[$scope.options.key] == "false") {
12444
+        //   $scope.model[$scope.options.key] = false;
12445
+        // }
12446
+      },
12447
+    ],
12448
+  });
12213
 
12449
 
12214
   //换行组件
12450
   //换行组件
12215
   formlyConfigProvider.setType({
12451
   formlyConfigProvider.setType({
@@ -12717,10 +12953,13 @@ appFormly.config(function config(formlyConfigProvider) {
12717
     name: "ui-grid-show",
12953
     name: "ui-grid-show",
12718
     extends: "multiCheckbox",
12954
     extends: "multiCheckbox",
12719
     templateUrl: "assets/views/customform/tpl/ui-grid-show.html",
12955
     templateUrl: "assets/views/customform/tpl/ui-grid-show.html",
12720
-    defaultOptions: function (options) {
12956
+    defaultOptions: function (options,scope) {
12721
       return {
12957
       return {
12722
         templateOptions: {
12958
         templateOptions: {
12723
           linkage: function () { },
12959
           linkage: function () { },
12960
+          getScope: function () {
12961
+            return scope;
12962
+          },
12724
         },
12963
         },
12725
       };
12964
       };
12726
     },
12965
     },
@@ -12747,7 +12986,7 @@ appFormly.config(function config(formlyConfigProvider) {
12747
       $scope.gridOptions.fastWatch = true;
12986
       $scope.gridOptions.fastWatch = true;
12748
       $scope.gridOptions.useExternalFiltering = true;
12987
       $scope.gridOptions.useExternalFiltering = true;
12749
       $scope.gridOptions.useExternalPagination = true;
12988
       $scope.gridOptions.useExternalPagination = true;
12750
-      $scope.gridOptions.paginationPageSizes = [10, 20, 50, 100];
12989
+      $scope.gridOptions.paginationPageSizes = [10];
12751
       $scope.gridOptions.paginationPageSize = 10;
12990
       $scope.gridOptions.paginationPageSize = 10;
12752
       $scope.gridOptions.multiSelect = true;
12991
       $scope.gridOptions.multiSelect = true;
12753
 
12992
 
@@ -12796,6 +13035,12 @@ appFormly.config(function config(formlyConfigProvider) {
12796
           width: 160,
13035
           width: 160,
12797
           enableFiltering: false,
13036
           enableFiltering: false,
12798
         },
13037
         },
13038
+        {
13039
+          name: "batchNo",
13040
+          displayName: "批次号",
13041
+          width: 160,
13042
+          enableFiltering: false,
13043
+        },
12799
       ];
13044
       ];
12800
 
13045
 
12801
       var defaultFilterData = {
13046
       var defaultFilterData = {
@@ -12823,15 +13068,28 @@ appFormly.config(function config(formlyConfigProvider) {
12823
       //页面获取数据
13068
       //页面获取数据
12824
       $scope.refreshData = function (style, filterData) {
13069
       $scope.refreshData = function (style, filterData) {
12825
         // $scope.ldloading[style.replace('-', '_')] = true;
13070
         // $scope.ldloading[style.replace('-', '_')] = true;
13071
+        console.log(angular.isUndefined(filterData))
12826
         if (angular.isUndefined(filterData)) {
13072
         if (angular.isUndefined(filterData)) {
12827
           filterData = defaultFilterData;
13073
           filterData = defaultFilterData;
12828
         }
13074
         }
12829
         $scope.myData = [];
13075
         $scope.myData = [];
12830
-        angular.extend(filterData, {
12831
-          inspectionProcessActual: {
13076
+        console.log(filterData)
13077
+        if(filterData.inspectionProcessActual && filterData.inspectionProcessActual.batchNo){
13078
+          filterData.inspectionProcessActual = {
12832
             inspectionid: $scope.model.id,
13079
             inspectionid: $scope.model.id,
12833
-          },
12834
-        });
13080
+            batchNo:filterData.inspectionProcessActual.batchNo
13081
+          }
13082
+        }else{
13083
+          filterData.inspectionProcessActual = {
13084
+            inspectionid: $scope.model.id
13085
+          }
13086
+        }
13087
+        // angular.extend(filterData, {
13088
+        //   inspectionProcessActual: {
13089
+        //     inspectionid: $scope.model.id,
13090
+        //   },
13091
+        // });
13092
+        console.log(filterData)
12835
         api_bpm_data.fetchDataList("inspectionProcessActual", filterData).then(
13093
         api_bpm_data.fetchDataList("inspectionProcessActual", filterData).then(
12836
           function (data) {
13094
           function (data) {
12837
             var myData = Restangular.stripRestangular(data);
13095
             var myData = Restangular.stripRestangular(data);

+ 2 - 1
assets/js/controllers/inspect/inspectForm.js

@@ -386,7 +386,8 @@ sysFormly.controller('SystemformCtrl', ['$rootScope', '$scope', '$parse', '$filt
386
             // console.log("data="+JSON.stringify(data));
386
             // console.log("data="+JSON.stringify(data));
387
             // if($stateParams.formKey=="system_edit"){
387
             // if($stateParams.formKey=="system_edit"){
388
             // console.log("roleid="+$scope.roleid);
388
             // console.log("roleid="+$scope.roleid);
389
-            if (vm.form.$valid) {
389
+            console.log(vm);
390
+            if (vm.form.$valid && vm.model.inspection.typeIds) {
390
                 if (data.inspection.planStrategy && data.inspection.planStrategy.id == 1) {
391
                 if (data.inspection.planStrategy && data.inspection.planStrategy.id == 1) {
391
                     if (Date.parse(data.inspection.planStartTime) > (new Date().setMinutes(new Date().getMinutes() + 1))) {
392
                     if (Date.parse(data.inspection.planStartTime) > (new Date().setMinutes(new Date().getMinutes() + 1))) {
392
                         vm.options.updateInitialValue();
393
                         vm.options.updateInitialValue();

+ 4 - 4
assets/js/controllers/inspect/inspectListCtrl.js

@@ -105,7 +105,7 @@ app.controller('inspectListCtrl', ["$rootScope", "$scope", "$state", "$timeout",
105
             enableFiltering: false
105
             enableFiltering: false
106
         },
106
         },
107
         {
107
         {
108
-            name: 'inspection.inspectionType.type',
108
+            name: 'inspectionType.type',
109
             displayName: '巡检分类',
109
             displayName: '巡检分类',
110
             width: '12%',
110
             width: '12%',
111
             minWidth: 120,
111
             minWidth: 120,
@@ -199,7 +199,7 @@ app.controller('inspectListCtrl', ["$rootScope", "$scope", "$state", "$timeout",
199
             'dataId': data.id,
199
             'dataId': data.id,
200
             "processInstanceId": data.processInstanceId,
200
             "processInstanceId": data.processInstanceId,
201
             "pdKey": data.processKey,
201
             "pdKey": data.processKey,
202
-            "formUiEdit": data.inspection.inspectionType.formUiEdit,
202
+            "formUiEdit": data.inspectionType.formUiEdit,
203
             // "formUiName": data.inspection.inspectionTypeDTO.formUiName,
203
             // "formUiName": data.inspection.inspectionTypeDTO.formUiName,
204
             "model": JSON.stringify(filedata)
204
             "model": JSON.stringify(filedata)
205
         });
205
         });
@@ -213,13 +213,13 @@ app.controller('inspectListCtrl', ["$rootScope", "$scope", "$state", "$timeout",
213
             // model:data
213
             // model:data
214
         }
214
         }
215
         $state.go('app.inspection.inspectListdetail', {
215
         $state.go('app.inspection.inspectListdetail', {
216
-            "formKey": data.inspection.inspectionType.formUiName,
216
+            "formKey": data.inspectionType.formUiName,
217
             "dataId": data.id,
217
             "dataId": data.id,
218
             "taskId": data.taskId,
218
             "taskId": data.taskId,
219
             "processInstanceId": data.processInstanceId,
219
             "processInstanceId": data.processInstanceId,
220
             "pdKey": data.processKey,
220
             "pdKey": data.processKey,
221
             // "formUiEdit": data.inspection.inspectionTypeDTO.formUiEdit,
221
             // "formUiEdit": data.inspection.inspectionTypeDTO.formUiEdit,
222
-            "formUiName": data.inspection.inspectionType.formUiName,
222
+            "formUiName": data.inspectionType.formUiName,
223
             "model": JSON.stringify(filedata)
223
             "model": JSON.stringify(filedata)
224
         });
224
         });
225
     };
225
     };

+ 22 - 8
assets/js/controllers/inspect/inspectPlanCtrl.js

@@ -100,12 +100,12 @@ app.controller('inspectPlanCtrl', ["$rootScope", "$scope", "$state", "$timeout",
100
             width: '10%',
100
             width: '10%',
101
             enableFiltering: true
101
             enableFiltering: true
102
         },
102
         },
103
-        {
104
-            name: 'inspectionType.type',
105
-            displayName: '巡检类型',
106
-            width: '109',
107
-            enableFiltering: false
108
-        },
103
+        // {
104
+        //     name: 'inspectionType.type',
105
+        //     displayName: '巡检类型',
106
+        //     width: '109',
107
+        //     enableFiltering: false
108
+        // },
109
         {
109
         {
110
             name: 'status.name',
110
             name: 'status.name',
111
             displayName: '状态',
111
             displayName: '状态',
@@ -123,7 +123,7 @@ app.controller('inspectPlanCtrl', ["$rootScope", "$scope", "$state", "$timeout",
123
         {
123
         {
124
             name: 'planStrategy.name',
124
             name: 'planStrategy.name',
125
             displayName: '执行策略',
125
             displayName: '执行策略',
126
-            width: '8%',
126
+            width: '10%',
127
             enableFiltering: false
127
             enableFiltering: false
128
         },
128
         },
129
         {
129
         {
@@ -136,11 +136,25 @@ app.controller('inspectPlanCtrl', ["$rootScope", "$scope", "$state", "$timeout",
136
         {
136
         {
137
             name: 'executionTime',
137
             name: 'executionTime',
138
             displayName: '执行时长',
138
             displayName: '执行时长',
139
-            width: '8%',
139
+            width: '10%',
140
             enableFiltering: false,
140
             enableFiltering: false,
141
             cellTemplate: '<div class="ui-grid-cell-contents">{{row.entity.executionTime + "分钟"}}</div>'
141
             cellTemplate: '<div class="ui-grid-cell-contents">{{row.entity.executionTime + "分钟"}}</div>'
142
         },
142
         },
143
         {
143
         {
144
+            name: 'executionTime1',
145
+            displayName: '当前批次进度',
146
+            width: '12%',
147
+            enableFiltering: false,
148
+            cellTemplate: '<div class="ui-grid-cell-contents">{{row.entity.completed + "/" + row.entity.doing}}</div>'
149
+        },
150
+        {
151
+            name: 'executionTime2',
152
+            displayName: '最新批次号',
153
+            width: '15%',
154
+            enableFiltering: false,
155
+            cellTemplate: '<div class="ui-grid-cell-contents">{{row.entity.batchNos?row.entity.batchNos.join():""}}</div>'
156
+        },
157
+        {
144
             name: 'createUser.name',
158
             name: 'createUser.name',
145
             displayName: '创建人',
159
             displayName: '创建人',
146
             width: '8%',
160
             width: '8%',

文件差異過大導致無法顯示
+ 479 - 0
assets/js/controllers/inspect/inspectReportCtrl.js


+ 1 - 1
assets/js/controllers/mainCtrl.js

@@ -46,7 +46,7 @@ app.controller('AppCtrl', ['$rootScope', '$scope', '$state', '$translate', '$loc
46
     // }
46
     // }
47
     // 监听路由
47
     // 监听路由
48
     $rootScope.$on('$stateChangeStart', function (event, toState, toParams, fromState, fromParams) {
48
     $rootScope.$on('$stateChangeStart', function (event, toState, toParams, fromState, fromParams) {
49
-      console.log(event, toState, toParams, fromState, fromParams, 'cao')
49
+      console.log(event, toState, toParams, fromState, fromParams)
50
       if ((toState.name == 'app.incident.chart' || toState.name == 'app.incident.editor') &&
50
       if ((toState.name == 'app.incident.chart' || toState.name == 'app.incident.editor') &&
51
         fromState.name) {
51
         fromState.name) {
52
         console.log($rootScope.jry_state);
52
         console.log($rootScope.jry_state);

+ 6 - 1
assets/js/main.js

@@ -657,8 +657,13 @@ app.factory('api_statistic', ['BpmRestangular', function (BpmRestangular) {
657
 app.factory('api_bpm', ['BpmRestangular', function (BpmRestangular) {
657
 app.factory('api_bpm', ['BpmRestangular', function (BpmRestangular) {
658
     var process = BpmRestangular.all("process");
658
     var process = BpmRestangular.all("process");
659
     var postfix = BpmRestangular.all("bpm");
659
     var postfix = BpmRestangular.all("bpm");
660
-    var getData = BpmRestangular.all('data')
660
+    var getData = BpmRestangular.all('data');
661
+    var InspectionProcessActual = BpmRestangular.all('InspectionProcessActual');
661
     return {
662
     return {
663
+        //获取巡检报告
664
+        report: function (data) {
665
+            return InspectionProcessActual.customPOST(data, 'report', {});
666
+        },
662
         deploy: function (data) {
667
         deploy: function (data) {
663
             return process.customPOST(data, 're/model/deploy', {});
668
             return process.customPOST(data, 're/model/deploy', {});
664
         },
669
         },

+ 300 - 0
assets/js/script/isteven-multi-select.css

@@ -0,0 +1,300 @@
1
+/* 
2
+ * Don't modify things marked with ! - unless you know what you're doing
3
+ */
4
+
5
+/* ! vertical layout */
6
+.multiSelect .vertical {
7
+    float: none;        
8
+}
9
+
10
+/* ! horizontal layout */
11
+.multiSelect .horizontal:not(.multiSelectGroup) {
12
+    float: left;
13
+}
14
+
15
+/* ! create a "row" */
16
+.multiSelect .line {
17
+    padding:  2px 0px 4px 0px;
18
+    max-height: 30px;   
19
+    overflow: hidden;
20
+    box-sizing: content-box;
21
+}
22
+
23
+/* ! create a "column" */
24
+.multiSelect .acol {
25
+    display: inline-block;    
26
+    min-width: 12px;
27
+}
28
+
29
+/* ! */
30
+.multiSelect .inlineBlock {
31
+    display: inline-block;
32
+}
33
+
34
+/* the multiselect button */
35
+.multiSelect > button {
36
+    width: 100%;
37
+    display: inline-block;
38
+    position: relative;
39
+    text-align: center;    
40
+    cursor: pointer;
41
+    border: 1px solid #c6c6c6;    
42
+    padding: 1px 8px 1px 8px;    
43
+    font-size: 14px;
44
+    min-height : 38px !important;
45
+    border-radius: 4px;
46
+    color: #555;   
47
+    -webkit-user-select: none;
48
+    -moz-user-select: none;
49
+    -ms-user-select: none;
50
+    -o-user-select: none;
51
+    user-select: none; 
52
+    white-space:normal;
53
+    background-color: #fff;
54
+    background-image: linear-gradient(#fff, #f7f7f7);      
55
+}
56
+
57
+/* button: hover */
58
+.multiSelect > button:hover {    
59
+    background-image: linear-gradient(#fff, #e9e9e9);    
60
+}
61
+
62
+/* button: disabled */
63
+.multiSelect > button:disabled {
64
+    background-image: linear-gradient(#fff, #fff);      
65
+    border: 1px solid #ddd;    
66
+    color: #999;
67
+}
68
+
69
+/* button: clicked */
70
+.multiSelect .buttonClicked {
71
+    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.15) inset, 0 1px 2px rgba(0, 0, 0, 0.05);
72
+}
73
+
74
+/* labels on the button */
75
+.multiSelect .buttonLabel {
76
+    display: inline-block;
77
+    padding: 5px 0px 5px 0px; 
78
+}
79
+
80
+/* downward pointing arrow */
81
+.multiSelect .caret {
82
+    display: inline-block;
83
+    width: 0;
84
+    height: 0;
85
+    margin: 0px 0px 1px 12px  !important;    
86
+    vertical-align: middle;
87
+    border-top: 4px solid #333;
88
+    border-right: 4px solid transparent;
89
+    border-left: 4px solid transparent;
90
+    border-bottom: 0 dotted; 
91
+}
92
+
93
+/* the main checkboxes and helper layer */
94
+.multiSelect .checkboxLayer {
95
+    background-color: #fff;
96
+    position: absolute;
97
+    z-index: 999;
98
+    border: 1px solid rgba(0, 0, 0, 0.15);
99
+    border-radius: 4px;
100
+    -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
101
+    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);    
102
+    min-width:278px;
103
+    display: none !important;    
104
+}
105
+
106
+/* container of helper elements */
107
+.multiSelect .helperContainer {
108
+    border-bottom: 1px solid #ddd;
109
+    padding: 8px 8px 0px 8px;    
110
+}
111
+
112
+/* helper buttons (select all, none, reset); */
113
+.multiSelect .helperButton {
114
+    display: inline;
115
+    text-align: center;
116
+    cursor: pointer;
117
+    border: 1px solid #ccc;
118
+    height: 26px;
119
+    font-size: 13px;
120
+    border-radius: 2px;
121
+    color: #666;    
122
+    background-color: #f1f1f1;
123
+    line-height: 1.6;
124
+    margin: 0px 0px 8px 0px;
125
+}
126
+
127
+.multiSelect .helperButton.reset{
128
+    float: right;
129
+}
130
+
131
+.multiSelect .helperButton:not( .reset ) {
132
+    margin-right: 4px;    
133
+}
134
+
135
+/* clear button */
136
+.multiSelect .clearButton {
137
+    position: absolute;
138
+    display: inline;
139
+    text-align: center;
140
+    cursor: pointer;
141
+    border: 1px solid #ccc;
142
+    height: 22px;
143
+    width: 22px;
144
+    font-size: 13px;
145
+    border-radius: 2px;
146
+    color: #666;    
147
+    background-color: #f1f1f1;
148
+    line-height: 1.4;
149
+    right : 2px;
150
+    top: 4px;
151
+}
152
+
153
+/* filter */
154
+.multiSelect .inputFilter {
155
+    border-radius: 2px; 
156
+    border: 1px solid #ccc;
157
+    height: 26px;
158
+    font-size: 14px;
159
+    width:100%;    
160
+    padding-left:7px;
161
+    -webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
162
+    -moz-box-sizing: border-box;    /* Firefox, other Gecko */
163
+    box-sizing: border-box;         /* Opera/IE 8+ */    
164
+    color: #888;
165
+    margin: 0px 0px 8px 0px;
166
+    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
167
+            box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
168
+}
169
+
170
+/* helper elements on hover & focus */
171
+.multiSelect .clearButton:hover,
172
+.multiSelect .helperButton:hover {
173
+    border: 1px solid #ccc;
174
+    color: #999;    
175
+    background-color: #f4f4f4;    
176
+}
177
+.multiSelect .helperButton:disabled {
178
+    color: #ccc;    
179
+    border: 1px solid #ddd;
180
+}
181
+
182
+.multiSelect .clearButton:focus,
183
+.multiSelect .helperButton:focus,
184
+.multiSelect .inputFilter:focus {
185
+    border: 1px solid #66AFE9 !important;
186
+    outline: 0;
187
+    -webkit-box-shadow: inset 0 0 1px rgba(0,0,0,.065), 0 0 5px rgba(102, 175, 233, .6) !important;
188
+            box-shadow: inset 0 0 1px rgba(0,0,0,.065), 0 0 5px rgba(102, 175, 233, .6) !important;
189
+}
190
+
191
+/* container of multi select items */
192
+.multiSelect .checkBoxContainer {
193
+    display: block;
194
+    padding: 8px;   
195
+    overflow: hidden;
196
+}
197
+
198
+/* ! to show / hide the checkbox layer above */
199
+.multiSelect .show {
200
+    display: block !important;
201
+}
202
+
203
+/* item labels */
204
+.multiSelect .multiSelectItem {
205
+    display: block;
206
+    padding: 3px;
207
+    color: #444;       
208
+    white-space: nowrap;
209
+    -webkit-user-select: none;
210
+    -moz-user-select: none;
211
+    -ms-user-select: none;
212
+    -o-user-select: none;
213
+    user-select: none;      
214
+    border: 1px solid transparent;
215
+    position: relative;
216
+    min-width:278px;    
217
+    min-height: 32px;    
218
+}
219
+
220
+/* Styling on selected items */
221
+.multiSelect .multiSelectItem:not(.multiSelectGroup).selected
222
+{
223
+    background-image: linear-gradient( #e9e9e9, #f1f1f1 );    
224
+    color: #555;        
225
+    cursor: pointer;        
226
+    border-top: 1px solid #e4e4e4;
227
+    border-left: 1px solid #e4e4e4;    
228
+    border-right: 1px solid #d9d9d9;            
229
+}
230
+
231
+.multiSelect .multiSelectItem .acol label {
232
+    display: inline-block;
233
+    padding-right: 30px;    
234
+    margin: 0px;
235
+    font-weight: normal;    
236
+    line-height: normal;
237
+}
238
+
239
+/* item labels focus on mouse hover */
240
+.multiSelect .multiSelectItem:hover, 
241
+.multiSelect .multiSelectGroup:hover {
242
+    background-image: linear-gradient( #c1c1c1, #999 ) !important;    
243
+    color: #fff !important;    
244
+    cursor: pointer;        
245
+    border: 1px solid #ccc !important;
246
+}
247
+
248
+/* item labels focus using keyboard */
249
+.multiSelect .multiSelectFocus { 
250
+    background-image: linear-gradient( #c1c1c1, #999 ) !important;    
251
+    color: #fff !important;    
252
+    cursor: pointer;        
253
+    border: 1px solid #ccc !important;
254
+}
255
+
256
+/* change mouse pointer into the pointing finger */
257
+.multiSelect .multiSelectItem span:hover, 
258
+.multiSelect .multiSelectGroup span:hover
259
+{    
260
+    cursor: pointer;  
261
+}
262
+
263
+/* ! group labels */
264
+.multiSelect .multiSelectGroup {    
265
+    display: block;
266
+    clear: both;
267
+}
268
+
269
+/* right-align the tick mark (&#10004;) */
270
+.multiSelect .tickMark {
271
+    display:inline-block; 
272
+    position: absolute; 
273
+    right: 10px; 
274
+    top: 7px;
275
+    font-size: 10px;          
276
+}
277
+
278
+/* hide the original HTML checkbox away */
279
+.multiSelect .checkbox {    
280
+    color: #ddd !important;    
281
+    position: absolute;
282
+    left: -9999px;
283
+    cursor: pointer;    
284
+}
285
+
286
+/* checkboxes currently disabled */
287
+.multiSelect .disabled, 
288
+.multiSelect .disabled:hover,
289
+.multiSelect .disabled label input:hover ~ span {
290
+    color: #c4c4c4 !important;
291
+    cursor: not-allowed !important;
292
+}
293
+
294
+/* If you use images in button / checkbox label, you might want to change the image style here. */
295
+.multiSelect img {
296
+    vertical-align: middle;
297
+    margin-bottom:0px;
298
+    max-height: 22px;
299
+    max-width:22px;
300
+}

文件差異過大導致無法顯示
+ 1111 - 0
assets/js/script/isteven-multi-select.js


+ 20 - 0
assets/views/customform/tpl/ui-checkbox-disabled.html

@@ -0,0 +1,20 @@
1
+<!--<div>-->
2
+<!--{{to.label}}-->
3
+<!--</div>-->
4
+<!--<div class="checkbox">-->
5
+<!--<label>-->
6
+<!--<input type="checkbox"-->
7
+<!--class="formly-field-checkbox"-->
8
+<!--ng-model="model[options.key]">-->
9
+<!--{{to.label}}-->
10
+<!--{{to.required ? '*' : ''}}-->
11
+<!--</label>-->
12
+<!--</div>-->
13
+<div class="padding-top-5">
14
+    <label>{{to.label}}<span ng-if="to.required" style="color:red">*</span>:</label>
15
+    <div class="setting-box clearfix" style="padding-top:2px;padding-bottom:2px">
16
+        <span class="setting-switch pull-left">
17
+        <switch ng-model="model[options.key]"  class="green" disabled></switch>
18
+    </span>
19
+    </div>
20
+</div>

+ 24 - 0
assets/views/customform/tpl/ui-isteven.html

@@ -0,0 +1,24 @@
1
+<div
2
+  isteven-multi-select
3
+  input-model="webBrowsersGrouped"
4
+  output-model="outputBrowsers"
5
+  button-label="type"
6
+  item-label="type"
7
+  tick-property="ticked"
8
+  group-property="msGroup"
9
+  output-properties="type ticked id" 
10
+  helper-elements="all none" 
11
+  translation="localLang" 
12
+  max-height="250px"
13
+  on-close="fClose()"
14
+  on-item-click="fClick(data)"
15
+  on-select-all="fSelectAll()"
16
+  on-select-none="fSelectNone()" 
17
+  style="height: 30px;"
18
+></div>
19
+<style>
20
+    .multiSelect > button{
21
+        max-height: 38px!important;
22
+        overflow: auto;
23
+    }
24
+</style>

+ 10 - 0
assets/views/customform/tpl/ui-select-xj.html

@@ -0,0 +1,10 @@
1
+<div formly-custom-validation="options.validators">
2
+    <ui-select ng-model="model[options.key]" theme="bootstrap" ng-required="{{to.required}}" ng-change="to['onChange'](model[options.key], options, this, $event ,model,$select.selected);" ng-disabled={{to.readOnly}} reset-search-input="false">
3
+        <ui-select-match placeholder="{{to.placeholder}}">
4
+            {{$select.selected[to.labelProp || 'name']}}
5
+        </ui-select-match>
6
+        <ui-select-choices uiDisableChoice="option.disabled" repeat="option[to.valueProp || 'value'] as option in to.options| filter:{$:$select.search}" refresh="to.refresh($select.search, options,myFilter)" refresh-delay="{{to.refreshDelay}}">
7
+            <div ng-bind-html="option[to.labelProp || 'name'] | highlight: $select.search"></div>
8
+        </ui-select-choices>
9
+    </ui-select>
10
+</div>

+ 119 - 0
assets/views/inspect/inspectReport.html

@@ -0,0 +1,119 @@
1
+<style type="text/css">
2
+  .inspectReportCtrl .incidentsearch {
3
+    width: 30% !important;
4
+    margin-right: 16px;
5
+  }
6
+
7
+  .inspectReportCtrl .iptSize {
8
+    width: 60% !important;
9
+    height: 28px !important;
10
+  }
11
+
12
+  .inspectReportCtrl .tree-control .tree-input {
13
+    min-height: 28px !important;
14
+  }
15
+
16
+  .inspectReportCtrl .searchBtnBox > .btn {
17
+    margin: 0 8px 10px 0;
18
+  }
19
+  .inspectReportCtrl .inspectMask {
20
+    position: absolute;
21
+    left: 0;
22
+    top: 0;
23
+    right: 0;
24
+    bottom: 0;
25
+    margin: auto;
26
+    background-color: rgba(0, 0, 0, 0.5);
27
+    z-index: 99999;
28
+  }
29
+  .inspectReportCtrl .inspectMask .inspectMain {
30
+    width: 400px;
31
+    height: 200px;
32
+    background-color: #fff;
33
+    margin: 100px auto 0;
34
+    border-radius: 5px;
35
+    padding: 16px;
36
+  }
37
+  .inspectReportCtrl .inspectMask .inspectMain .inspectMain_header {
38
+    height: 30px;
39
+    line-height: 30px;
40
+    text-align: center;
41
+    font-weight: bold;
42
+  }
43
+  .inspectReportCtrl .inspectMask .inspectMain .inspectMain_footer {
44
+    margin-top: 8px;
45
+    text-align: center;
46
+  }
47
+  .inspectReportCtrl .xj_img {
48
+    width: 50px;
49
+    height: 100px;
50
+    object-fit: cover;
51
+    margin: 0 2px;
52
+    cursor: pointer;
53
+  }
54
+  .inspectReportCtrl .gridInspectReport {
55
+    height: 100vh;
56
+  }
57
+</style>
58
+<div ng-controller="inspectReportCtrl" class="inspectReportCtrl">
59
+  <div class="inspectMask" ng-if="isMask">
60
+    <div class="inspectMain">
61
+      <div class="inspectMain_header">请选择计划主题和批次号</div>
62
+      <div>
63
+        计划主题<span style="color:red" class="ng-scope">*</span>:
64
+        <ui-select ng-model="queryList.title" ng-change="changeTitle(e)">
65
+          <ui-select-match placeholder="请选择计划主题">
66
+            <span ng-bind="$select.selected.title"> </span>
67
+          </ui-select-match>
68
+          <ui-select-choices
69
+            repeat="item in (titles | filter:$select.search) track by item.id"
70
+          >
71
+            <span ng-bind="item.title"> </span>
72
+          </ui-select-choices>
73
+        </ui-select>
74
+      </div>
75
+      <div>
76
+        批次号<span style="color:red" class="ng-scope">*</span>:
77
+        <ui-select ng-model="queryList.batchNo">
78
+          <ui-select-match placeholder="请选择批次号">
79
+            <span ng-bind="$select.selected.name"> </span>
80
+          </ui-select-match>
81
+          <ui-select-choices
82
+            repeat="item in (batchNos | filter:$select.search) track by item.id"
83
+          >
84
+            <span ng-bind="item.name"> </span>
85
+          </ui-select-choices>
86
+        </ui-select>
87
+      </div>
88
+      <div class="inspectMain_footer">
89
+        <div class="btn btn_search" ng-click="onClick()"><span>确定</span></div>
90
+      </div>
91
+    </div>
92
+  </div>
93
+  <section id="page-title">
94
+    <div class="row">
95
+      <div class="col-sm-8">
96
+        <h1 class="mainTitle">
97
+          巡检计划<i
98
+            tooltip="巡检计划列表,可对巡检进行修改,新增,删除"
99
+            tooltip-placement="right"
100
+            class="fa ti-help-alt margin-left-10 fontcolor-five pointfont"
101
+          ></i>
102
+        </h1>
103
+      </div>
104
+    </div>
105
+  </section>
106
+  <div class="tableList" ui-i18n="{{lang}}">
107
+    <div class=" ">
108
+      <div
109
+        id="grid1 "
110
+        ui-grid="gridOptions "
111
+        external-scopes="$scope "
112
+        ui-grid-resize-columns
113
+        ui-grid-selection
114
+        ui-grid-auto-resize
115
+        class="grid gridInspectReport"
116
+      ></div>
117
+    </div>
118
+  </div>
119
+</div>

+ 13 - 13
assets/views/report/event_form.html

@@ -147,9 +147,9 @@
147
             </div>
147
             </div>
148
             <!-- 事件总数 -->
148
             <!-- 事件总数 -->
149
             <div class="deck_cont_body" ng-if="tap=='SJZS'">
149
             <div class="deck_cont_body" ng-if="tap=='SJZS'">
150
-                <div class="deck_cont_body_TB1" ng-if="isArrays(sjzs_list)&&sjzs_list.length>0">
150
+                <div class="deck_cont_body_TB1">
151
                     <div class="TB">
151
                     <div class="TB">
152
-                        <div class="TB_head">
152
+                        <div class="TB_head" ng-if="isArrays(sjzs_list)&&sjzs_list.length>0">
153
                             <div class="TB_head_L">
153
                             <div class="TB_head_L">
154
                                 <div class="TB_LDZH fl" tooltip='事件状态已关单,并且有处理人的单子' tooltip-placement="top">
154
                                 <div class="TB_LDZH fl" tooltip='事件状态已关单,并且有处理人的单子' tooltip-placement="top">
155
                                     <p>事件总数</p>
155
                                     <p>事件总数</p>
@@ -281,9 +281,9 @@
281
             </div>
281
             </div>
282
             <!-- 事件类型 -->
282
             <!-- 事件类型 -->
283
             <div class="deck_cont_body" ng-if="tap=='SJLX'">
283
             <div class="deck_cont_body" ng-if="tap=='SJLX'">
284
-                <div class="deck_cont_body_TB1" ng-if="isArrays(sjlx_list)&&sjlx_list.length>0">
284
+                <div class="deck_cont_body_TB1">
285
                     <div class="TB">
285
                     <div class="TB">
286
-                        <div class="TB_head">
286
+                        <div class="TB_head" ng-if="isArrays(sjlx_list)&&sjlx_list.length>0">
287
                             <div class="TB_head_L">
287
                             <div class="TB_head_L">
288
                                 <div class="TB_LDZH fl" tooltip='事件状态已关单,并且有处理人的单子' tooltip-placement="top">
288
                                 <div class="TB_LDZH fl" tooltip='事件状态已关单,并且有处理人的单子' tooltip-placement="top">
289
                                     <p>事件总数</p>
289
                                     <p>事件总数</p>
@@ -390,7 +390,7 @@
390
             </div>
390
             </div>
391
             <!-- 处理人/组 -->
391
             <!-- 处理人/组 -->
392
             <div class="deck_cont_body" ng-if="tap=='CLRZ'">
392
             <div class="deck_cont_body" ng-if="tap=='CLRZ'">
393
-                <div class="deck_cont_body_TB1" ng-if="isArrays(clrz_list)&&clrz_list.length>0">
393
+                <div class="deck_cont_body_TB1">
394
                     <div class="TB">
394
                     <div class="TB">
395
                         <div class="TB_head">
395
                         <div class="TB_head">
396
                             <div class="TB_head_L">
396
                             <div class="TB_head_L">
@@ -414,7 +414,7 @@
414
                                 </div>
414
                                 </div>
415
                             </div>
415
                             </div>
416
                         </div>
416
                         </div>
417
-                        <div class="TB_cont">
417
+                        <div class="TB_cont" ng-if="isArrays(clrz_list)&&clrz_list.length>0">
418
                             <table class="jry_table jry_table_head" cellspacing="0" cellpadding="16"
418
                             <table class="jry_table jry_table_head" cellspacing="0" cellpadding="16"
419
                                 style="font-weight:normal !important;table-layout:fixed">
419
                                 style="font-weight:normal !important;table-layout:fixed">
420
                                 <thead>
420
                                 <thead>
@@ -533,7 +533,7 @@
533
             </div>
533
             </div>
534
             <!-- 三方公司 -->
534
             <!-- 三方公司 -->
535
             <div class="deck_cont_body" ng-if="tap=='SFGS'">
535
             <div class="deck_cont_body" ng-if="tap=='SFGS'">
536
-                <div class="deck_cont_body_TB1" ng-if="isArrays(sfgs_list)&&sfgs_list.length>0">
536
+                <div class="deck_cont_body_TB1">
537
                     <div class="TB">
537
                     <div class="TB">
538
                         <div class="TB_head">
538
                         <div class="TB_head">
539
                             <div class="TB_head_L">
539
                             <div class="TB_head_L">
@@ -557,7 +557,7 @@
557
                                 </div>
557
                                 </div>
558
                             </div>
558
                             </div>
559
                         </div>
559
                         </div>
560
-                        <div class="TB_cont">
560
+                        <div class="TB_cont" ng-if="isArrays(sfgs_list)&&sfgs_list.length>0">
561
                             <table class="jry_table jry_table_head" cellspacing="0" cellpadding="16"
561
                             <table class="jry_table jry_table_head" cellspacing="0" cellpadding="16"
562
                                 style="font-weight:normal !important;table-layout:fixed">
562
                                 style="font-weight:normal !important;table-layout:fixed">
563
                                 <thead>
563
                                 <thead>
@@ -577,7 +577,7 @@
577
                                                 </em>
577
                                                 </em>
578
                                             </strong>
578
                                             </strong>
579
                                         </th>
579
                                         </th>
580
-                                        <th style="width:18%" ng-click="tableSort('i_total')" tooltip='此人员处理的工单数量' tooltip-placement="top">
580
+                                        <th style="width:18%" ng-click="tableSort('i_total')" tooltip='此公司处理的工单数量' tooltip-placement="top">
581
                                             <strong>
581
                                             <strong>
582
                                                 事件数量
582
                                                 事件数量
583
                                                 <em class="sort-wrap">
583
                                                 <em class="sort-wrap">
@@ -643,7 +643,7 @@
643
             </div>
643
             </div>
644
             <!-- 区域地点 -->
644
             <!-- 区域地点 -->
645
             <div class="deck_cont_body" ng-if="tap=='QYDD'">
645
             <div class="deck_cont_body" ng-if="tap=='QYDD'">
646
-                <div class="deck_cont_body_TB1" ng-if="isArrays(qydd_list)&&qydd_list.length>0">
646
+                <div class="deck_cont_body_TB1">
647
                     <div class="TB">
647
                     <div class="TB">
648
                         <div class="TB_head">
648
                         <div class="TB_head">
649
                             <div class="TB_head_L">
649
                             <div class="TB_head_L">
@@ -653,7 +653,7 @@
653
                                 </div>
653
                                 </div>
654
                             </div>
654
                             </div>
655
                         </div>
655
                         </div>
656
-                        <div class="TB_cont">
656
+                        <div class="TB_cont" ng-if="isArrays(qydd_list)&&qydd_list.length>0">
657
                             <table class="jry_table jry_table_head" cellspacing="0" cellpadding="16"
657
                             <table class="jry_table jry_table_head" cellspacing="0" cellpadding="16"
658
                                 style="font-weight:normal !important;table-layout:fixed">
658
                                 style="font-weight:normal !important;table-layout:fixed">
659
                                 <thead>
659
                                 <thead>
@@ -709,7 +709,7 @@
709
             </div>
709
             </div>
710
             <!-- 事件来源 -->
710
             <!-- 事件来源 -->
711
             <div class="deck_cont_body" ng-if="tap=='SJLY'">
711
             <div class="deck_cont_body" ng-if="tap=='SJLY'">
712
-                <div class="deck_cont_body_TB1" ng-if="isArrays(sjly_list)&&sjly_list.length>0">
712
+                <div class="deck_cont_body_TB1">
713
                     <div class="TB">
713
                     <div class="TB">
714
                         <div class="TB_head">
714
                         <div class="TB_head">
715
                             <div class="TB_head_L">
715
                             <div class="TB_head_L">
@@ -719,7 +719,7 @@
719
                                 </div>
719
                                 </div>
720
                             </div>
720
                             </div>
721
                         </div>
721
                         </div>
722
-                        <div class="TB_cont">
722
+                        <div class="TB_cont" ng-if="isArrays(sjly_list)&&sjly_list.length>0">
723
                             <table class="jry_table jry_table_head" cellspacing="0" cellpadding="16"
723
                             <table class="jry_table jry_table_head" cellspacing="0" cellpadding="16"
724
                                 style="font-weight:normal !important;table-layout:fixed">
724
                                 style="font-weight:normal !important;table-layout:fixed">
725
                                 <thead>
725
                                 <thead>

+ 6 - 6
assets/views/report/service_form.html

@@ -500,32 +500,32 @@
500
                             <div class="TB_head_L">
500
                             <div class="TB_head_L">
501
                                 <div class="TB_LDZH fl" tooltip='电话留言总数(含未处理,已处理,不受理)' tooltip-placement="top">
501
                                 <div class="TB_LDZH fl" tooltip='电话留言总数(含未处理,已处理,不受理)' tooltip-placement="top">
502
                                     <p>电话留言总数</p>
502
                                     <p>电话留言总数</p>
503
-                                    <span>{{web_req_total}}</span>
503
+                                    <span>{{dhlytj_req_total}}</span>
504
                                 </div>
504
                                 </div>
505
                                 <div class="TB_ITEMS fl">
505
                                 <div class="TB_ITEMS fl">
506
                                     <div class="TB_ITEM" tooltip='建单的数量' tooltip-placement="top">
506
                                     <div class="TB_ITEM" tooltip='建单的数量' tooltip-placement="top">
507
                                         <p>建单总数</p>
507
                                         <p>建单总数</p>
508
-                                        <span>{{web_req_trans}}</span>
508
+                                        <span>{{dhlytj_req_trans}}</span>
509
                                     </div>
509
                                     </div>
510
                                     <div class="TB_ITEM" tooltip='不受理的数量' tooltip-placement="top">
510
                                     <div class="TB_ITEM" tooltip='不受理的数量' tooltip-placement="top">
511
                                         <p>不受理总数</p>
511
                                         <p>不受理总数</p>
512
-                                        <span>{{web_req_reject}}</span>
512
+                                        <span>{{dhlytj_req_reject}}</span>
513
                                     </div>
513
                                     </div>
514
                                 </div>
514
                                 </div>
515
                             </div>
515
                             </div>
516
                             <div class="TB_head_L">
516
                             <div class="TB_head_L">
517
                                 <div class="TB_LDZH fl" tooltip='直接解决数 + 派单数' tooltip-placement="top">
517
                                 <div class="TB_LDZH fl" tooltip='直接解决数 + 派单数' tooltip-placement="top">
518
                                     <p>电话留言转换总数</p>
518
                                     <p>电话留言转换总数</p>
519
-                                    <span>{{web_trans_total}}</span>
519
+                                    <span>{{dhlytj_trans_total}}</span>
520
                                 </div>
520
                                 </div>
521
                                 <div class="TB_ITEMS fl">
521
                                 <div class="TB_ITEMS fl">
522
                                     <div class="TB_ITEM" tooltip='转换后。直接处理工单数' tooltip-placement="top">
522
                                     <div class="TB_ITEM" tooltip='转换后。直接处理工单数' tooltip-placement="top">
523
                                         <p>直接解决总数</p>
523
                                         <p>直接解决总数</p>
524
-                                        <span>{{web_p_total}}</span>
524
+                                        <span>{{dhlytj_p_total}}</span>
525
                                     </div>
525
                                     </div>
526
                                     <div class="TB_ITEM" tooltip='转换后。派单工单数' tooltip-placement="top">
526
                                     <div class="TB_ITEM" tooltip='转换后。派单工单数' tooltip-placement="top">
527
                                         <p>派单总数</p>
527
                                         <p>派单总数</p>
528
-                                        <span>{{web_unp_total}}</span>
528
+                                        <span>{{dhlytj_unp_total}}</span>
529
                                     </div>
529
                                     </div>
530
                                 </div>
530
                                 </div>
531
                             </div>
531
                             </div>

+ 28 - 0
bower_components/angular-ui-switch/angular-ui-switch copy.js

@@ -0,0 +1,28 @@
1
+angular.module('uiSwitch', [])
2
+
3
+.directive('switch', function() {
4
+    return {
5
+        restrict: 'AE',
6
+        replace: true,
7
+        transclude: true,
8
+        template: function(element, attrs) {
9
+            var html = '';
10
+            html += '<span';
11
+            html += ' class="switch' + (attrs.class ? ' ' + attrs.class : '') + '"';
12
+            html += attrs.ngModel ? ' ng-click="' + attrs.ngModel + '=!' + attrs.ngModel + (attrs.ngChange ? '; ' + attrs.ngChange + '()"' : '"') : '';
13
+            html += ' ng-class="{ checked:' + attrs.ngModel + ' }"';
14
+            html += '>';
15
+            html += '<small></small>';
16
+            html += '<input type="checkbox"';
17
+            html += attrs.id ? ' id="' + attrs.id + '"' : '';
18
+            html += attrs.name ? ' name="' + attrs.name + '"' : '';
19
+            html += attrs.ngModel ? ' ng-model="' + attrs.ngModel + '"' : '';
20
+            html += ' style="display:none" />';
21
+            html += '<span class="switch-text">'; /*adding new container for switch text*/
22
+            html += attrs.on ? '<span class="on">' + attrs.on + '</span>' : ''; /*switch text on value set by user in directive html markup*/
23
+            html += attrs.off ? '<span class="off">' + attrs.off + '</span>' : ' '; /*switch text off value set by user in directive html markup*/
24
+            html += '</span>';
25
+            return html;
26
+        }
27
+    }
28
+});

+ 24 - 24
bower_components/angular-ui-switch/angular-ui-switch.js

@@ -1,28 +1,28 @@
1
 angular.module('uiSwitch', [])
1
 angular.module('uiSwitch', [])
2
 
2
 
3
-.directive('switch', function() {
4
-    return {
5
-        restrict: 'AE',
6
-        replace: true,
7
-        transclude: true,
8
-        template: function(element, attrs) {
9
-            var html = '';
10
-            html += '<span';
11
-            html += ' class="switch' + (attrs.class ? ' ' + attrs.class : '') + '"';
12
-            html += attrs.ngModel ? ' ng-click="' + attrs.ngModel + '=!' + attrs.ngModel + (attrs.ngChange ? '; ' + attrs.ngChange + '()"' : '"') : '';
13
-            html += ' ng-class="{ checked:' + attrs.ngModel + ' }"';
14
-            html += '>';
15
-            html += '<small></small>';
16
-            html += '<input type="checkbox"';
17
-            html += attrs.id ? ' id="' + attrs.id + '"' : '';
18
-            html += attrs.name ? ' name="' + attrs.name + '"' : '';
19
-            html += attrs.ngModel ? ' ng-model="' + attrs.ngModel + '"' : '';
20
-            html += ' style="display:none" />';
21
-            html += '<span class="switch-text">'; /*adding new container for switch text*/
22
-            html += attrs.on ? '<span class="on">' + attrs.on + '</span>' : ''; /*switch text on value set by user in directive html markup*/
23
-            html += attrs.off ? '<span class="off">' + attrs.off + '</span>' : ' '; /*switch text off value set by user in directive html markup*/
24
-            html += '</span>';
25
-            return html;
26
-        }
3
+.directive('switch', function(){
4
+  return {
5
+    restrict: 'AE'
6
+  , replace: true
7
+  , transclude: true
8
+  , template: function(element, attrs) {
9
+      var html = '';
10
+      html += '<span';
11
+      html +=   ' class="switch' + (attrs.class ? ' ' + attrs.class : '') + '"';
12
+      html +=   attrs.ngModel ? ' ng-click="' + attrs.disabled + ' ? ' + attrs.ngModel + ' : ' + attrs.ngModel + '=!' + attrs.ngModel + (attrs.ngChange ? '; ' + attrs.ngChange + '()"' : '"') : '';
13
+      html +=   ' ng-class="{ checked:' + attrs.ngModel + ', disabled:' + attrs.disabled + ' }"';
14
+      html +=   '>';
15
+      html +=   '<small></small>';
16
+      html +=   '<input type="checkbox"';
17
+      html +=     attrs.id ? ' id="' + attrs.id + '"' : '';
18
+      html +=     attrs.name ? ' name="' + attrs.name + '"' : '';
19
+      html +=     attrs.ngModel ? ' ng-model="' + attrs.ngModel + '"' : '';
20
+      html +=     ' style="display:none" />';
21
+      html +=     '<span class="switch-text">'; /*adding new container for switch text*/
22
+      html +=     attrs.on ? '<span class="on">'+attrs.on+'</span>' : ''; /*switch text on value set by user in directive html markup*/
23
+      html +=     attrs.off ? '<span class="off">'+attrs.off + '</span>' : ' ';  /*switch text off value set by user in directive html markup*/
24
+      html += '</span>';
25
+      return html;
27
     }
26
     }
27
+  }
28
 });
28
 });

+ 26 - 1
index.html

@@ -46,7 +46,29 @@
46
             window.console.log = function(){};//财大
46
             window.console.log = function(){};//财大
47
         }
47
         }
48
     </script>
48
     </script>
49
-    <style>.slf{text-align: left!important;}</style>
49
+    <style>
50
+    .slf{text-align: left!important;}
51
+    .inspectReportCtrl [ui-grid-cell] .ui-grid-cell-contents {
52
+        display: flex;
53
+        align-items: center;
54
+        justify-content: center;
55
+        white-space:normal;
56
+    }
57
+    .inspectReportCtrl [ui-grid-cell] .ui-grid-cell-contents .inspectPar {
58
+        overflow: auto;
59
+        display: flex;
60
+        align-items: center;
61
+        justify-content: center;
62
+        white-space:normal;
63
+        flex-wrap: wrap;
64
+        height: 100%;
65
+    }
66
+    .inspectReportCtrl [ui-grid-cell] .ui-grid-cell-contents .inspectPar p{
67
+        text-align: justify;
68
+        width: 100%;
69
+        margin: 0;
70
+    }
71
+    </style>
50
 </head>
72
 </head>
51
 
73
 
52
 <body ng-controller="AppCtrl">
74
 <body ng-controller="AppCtrl">
@@ -119,6 +141,9 @@
119
     <script src="assets/js/script/TLWebSocketAgent.js"></script>
141
     <script src="assets/js/script/TLWebSocketAgent.js"></script>
120
     <!-- <script src="assets/js/script/TLWSADemo.js"></script> -->
142
     <!-- <script src="assets/js/script/TLWSADemo.js"></script> -->
121
     <script ng-src="{{'assets/js/directives/ola_api'+seiminHj+'.js'}}"></script>
143
     <script ng-src="{{'assets/js/directives/ola_api'+seiminHj+'.js'}}"></script>
144
+    <!-- 多选全选下拉框 -->
145
+    <link rel="stylesheet" href="assets/js/script/isteven-multi-select.css">
146
+    <script src="assets/js/script/isteven-multi-select.js"></script>
122
     <!-- Clip-Two Directives -->
147
     <!-- Clip-Two Directives -->
123
     <script src="assets/js/directives/toggle.js"></script>
148
     <script src="assets/js/directives/toggle.js"></script>
124
     <script src="assets/js/directives/perfect-scrollbar.js"></script>
149
     <script src="assets/js/directives/perfect-scrollbar.js"></script>