Explorar o código

建单,暂存,指派,转派,接单

seimin hai 1 ano
pai
achega
bff9a7db3d

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

@@ -45,6 +45,7 @@ app.constant('JS_REQUIRES', {
45 45
         'largedashboardCtrl': 'assets/js/controllers/dashboard/largedashboard.js',
46 46
         'canvasjs': 'assets/js/controllers/canvasjs.js',
47 47
         'incidentCtrl': 'assets/js/controllers/incident/incidentCtrl.js',
48
+        'incidentDetailCtrl': 'assets/js/controllers/incident/incidentDetailCtrl.js',
48 49
         'realtimeBroadcastCtrl': 'assets/js/controllers/bigScreen/realtimeBroadcastCtrl.js',
49 50
         'problemCtrl': 'assets/js/controllers/problem/problemCtrl.js',
50 51
         'watchCtrl': 'assets/js/controllers/watch/watchCtrl.js',

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

@@ -541,6 +541,16 @@ app.config(['$authProvider', '$httpProvider', '$stateProvider', '$urlRouterProvi
541 541
                 ncyBreadcrumb: {
542 542
                     label: 'detail'
543 543
                 }
544
+            }).state('app.incident.incidentDetail', {
545
+                // 事件详情
546
+                url: '/incidentDetail/:id',
547
+                templateUrl: "assets/views/incident/incidentDetail.html",
548
+                resolve: loadSequence('jquery-sparkline', 'api-check', 'formly', 'angularFormly', 'angularFileUpload', 'multi.select.tree', 'customformCtrl', 'sanitize', 'incidentDetailCtrl'),
549
+                title: 'form detail',
550
+                icon: 'ti-list',
551
+                ncyBreadcrumb: {
552
+                    label: 'detail'
553
+                }
544 554
             }).state('app.incident.follow', {
545 555
                 url: '/follow/{processInstanceId}',
546 556
                 templateUrl: "assets/views/customform/indexfollow.html",

+ 58 - 334
assets/js/controllers/incident/incidentCtrl.js

@@ -294,7 +294,7 @@ app.controller('incidentListCtrl', ["$scope", "$http", "i18nService", "$rootScop
294 294
                 displayName: '受理人|处理人/组',
295 295
                 width: 150,
296 296
                 cellTemplate: '<div style="width: 100%;">' +
297
-                    '<div class="ui-grid-cell-contents">{{row.entity.acceptUser ? row.entity.acceptUser.name : "无"}}<br>{{(row.entity.state.value == "resolved" || row.entity.state.value == "close") ? (row.entity.handlingPersonnelUser ? row.entity.handlingPersonnelUser.name : "无") : (row.entity.groupORHandlerUser || "无")}}</div>' +
297
+                    '<div class="ui-grid-cell-contents">{{row.entity.acceptUser ? row.entity.acceptUser.name : "无"}}<br>{{row.entity.groupORHandlerUser || "无"}}</div>' +
298 298
                     '</div>'
299 299
             },
300 300
             {
@@ -626,46 +626,16 @@ app.controller('incidentListCtrl', ["$scope", "$http", "i18nService", "$rootScop
626 626
         if (response) {
627 627
             if (response.status = 200) {
628 628
                 $scope.state = response;
629
-                if (sessionStorage.searchincident && JSON.parse(sessionStorage.getItem("searchincident")).incident) {
630
-                    angular.forEach($scope.state, function (item) {
631
-                        if (item.id == JSON.parse(sessionStorage.getItem("searchincident")).incident.statusId) {
632
-                            $scope.othcode = {
633
-                                "state": item
634
-                            };
635
-                        }
636
-                    })
637
-                }
638 629
             }
639 630
         }
640 631
     })
641
-    if (sessionStorage.searchincident && JSON.parse(sessionStorage.getItem("searchincident")).incident) {
642
-        if (JSON.parse(sessionStorage.getItem("searchincident")).incident) {
643
-            $scope.searchkeys = JSON.parse(sessionStorage.getItem("searchincident")).incident;
644
-        }
645
-        if ($scope.searchkeys.acceptDate) {
646
-            $scope.searchkeys.acceptDate = new Date($scope.searchkeys.acceptDate);
647
-        }
648
-        if ($scope.searchkeys.acceptDateEnd) {
649
-            $scope.searchkeys.acceptDateEnd = new Date($scope.searchkeys.acceptDateEnd);
650
-        }
651
-    }
632
+
652 633
     $scope.clear = function () {
653 634
         $scope.searchkeys = {};
654
-        $scope.searchstate = JSON.parse(sessionStorage.getItem("searchincident")).searchType;
655 635
         $scope.othcode = {};
656 636
 
657 637
         $scope.try_async_load();
658
-        var fildata = {
659
-            "assignee": loginUser.id,
660
-            "candidateGroups": loginuserGroup,
661
-            "searchType": JSON.parse(sessionStorage.getItem("searchincident")).searchType,
662
-            "idx": JSON.parse(sessionStorage.getItem("searchincident")).idx,
663
-            "sum": JSON.parse(sessionStorage.getItem("searchincident")).sum
664
-        }
665
-        sessionStorage.removeItem("searchincident");
666
-        fildata.assignee = loginUser.id;
667
-        $scope.memoryfilterData = fildata;
668
-        $scope.refreshData('expand-right', fildata);
638
+        $scope.refreshData('expand-right');
669 639
         $interval.cancel($scope.timer);
670 640
         $scope.timer = $interval(function () {
671 641
             $scope.jry_refresh()
@@ -673,15 +643,9 @@ app.controller('incidentListCtrl', ["$scope", "$http", "i18nService", "$rootScop
673 643
     }
674 644
     // 刷新
675 645
     $scope.jry_refresh = function () {
676
-        var fildata = {};
677
-        if (sessionStorage.searchincident) {
678
-            fildata = JSON.parse(sessionStorage.getItem("searchincident"));
679
-        } else {
680
-            fildata = defaultFilterData;
681
-        }
646
+        var fildata = defaultFilterData;
682 647
         if (fildata.incident && fildata.incident.category) {
683 648
             delete fildata.incident.category
684
-
685 649
         }
686 650
         fildata.idx = $scope.jry_idx;
687 651
         fildata.sum = $scope.jry_sum;
@@ -698,14 +662,7 @@ app.controller('incidentListCtrl', ["$scope", "$http", "i18nService", "$rootScop
698 662
         }
699 663
         console.log(item)
700 664
 
701
-        var fildata = {};
702
-        if (sessionStorage.searchincident) {
703
-            fildata = JSON.parse(sessionStorage.getItem("searchincident"));
704
-            $scope.gridOptions.paginationCurrentPage = 1;
705
-            fildata.idx = 0;
706
-        } else {
707
-            fildata = defaultFilterData;
708
-        }
665
+        var fildata = defaultFilterData;
709 666
         if (!fildata.incident) {
710 667
             fildata['incident'] = {};
711 668
         }
@@ -718,9 +675,7 @@ app.controller('incidentListCtrl', ["$scope", "$http", "i18nService", "$rootScop
718 675
 
719 676
         var transitiondata = angular.copy(item);
720 677
         angular.extend(fildata.incident, transitiondata)
721
-        sessionStorage['searchincident'] = JSON.stringify(fildata);
722 678
         $scope.memoryfilterData = fildata;
723
-        fildata.assignee = loginUser.id;
724 679
         // seimin
725 680
         if($scope.searchstate === 'all_del'){
726 681
             fildata.searchType = 'all';
@@ -967,7 +922,6 @@ app.controller('incidentListCtrl', ["$scope", "$http", "i18nService", "$rootScop
967 922
                     }
968 923
                 }
969 924
             }
970
-            fildata.assignee = loginUser.id;
971 925
             $scope.refreshData('expand-right', fildata);
972 926
         }
973 927
         $scope.jry_idx = 0;
@@ -978,10 +932,6 @@ app.controller('incidentListCtrl', ["$scope", "$http", "i18nService", "$rootScop
978 932
             $scope.jry_idx = newPage - 1;
979 933
             filtersData.sum = pageSize;
980 934
             $scope.jry_sum = pageSize;
981
-            if (JSON.parse(sessionStorage.getItem("searchincident")).idx != filtersData.idx || JSON.parse(sessionStorage.getItem("searchincident")).sum != filtersData.sum) {
982
-                filtersData.assignee = loginUser.id;
983
-                $scope.refreshData('expand-right', filtersData);
984
-            }
985 935
         });
986 936
 
987 937
         $scope.Change = function (upTypes) {
@@ -1043,14 +993,11 @@ app.controller('incidentListCtrl', ["$scope", "$http", "i18nService", "$rootScop
1043 993
             var grid = this.grid;
1044 994
             if ($rootScope.user.group) {
1045 995
                 var filtersData = {
1046
-                    "assignee": loginUser.id,
1047
-                    "candidateGroups": loginuserGroup,
1048 996
                     idx: 0,
1049 997
                     sum: mun
1050 998
                 };
1051 999
             } else {
1052 1000
                 var filtersData = {
1053
-                    "assignee": loginUser.id,
1054 1001
                     idx: 0,
1055 1002
                     sum: mun
1056 1003
                 };
@@ -1081,7 +1028,6 @@ app.controller('incidentListCtrl', ["$scope", "$http", "i18nService", "$rootScop
1081 1028
                 }
1082 1029
             });
1083 1030
             filtersData.idx = 0;
1084
-            filtersData.assignee = loginUser.id;
1085 1031
             $scope.memoryfilterData = filtersData;
1086 1032
             $scope.refreshData('expand-right', filtersData);
1087 1033
         });
@@ -1149,50 +1095,26 @@ app.controller('incidentListCtrl', ["$scope", "$http", "i18nService", "$rootScop
1149 1095
             console.log(data);
1150 1096
         });
1151 1097
     }
1152
-    //事件提取
1098
+    //接单
1153 1099
     $scope.acceptTaskAction = function (model) {
1154 1100
         var modalInstance = $modal.open({
1155 1101
             templateUrl: 'assets/views/incident/tpl/acceptTask.tpl.html',
1156
-            controller: function ($scope, $modalInstance, APIService, modelData, currentUserId, Alert) {
1157
-                var receiveTask = function (receive_code, modelData) {
1158
-                    var data = {
1159
-                        'receive_code': receive_code
1160
-                    };
1161
-
1162
-                    if (modelData) {
1163
-                        return {
1164
-                            taskId: modelData.taskId,
1165
-                            data: data
1166
-                        };
1167
-                    } else {
1168
-                        return 'error';
1169
-                    }
1170
-                };
1102
+            controller: function ($scope, $modalInstance, modelData, currentUserId, Alert) {
1103
+
1171 1104
                 $scope.title = "提示";
1172 1105
                 $scope.connect = "确认接单?";
1173 1106
                 $scope.ok = function () {
1107
+                    console.log(model);
1174 1108
                     $rootScope.isMask = true;
1175
-                    //接收任务//请求重新指派
1176
-                    var data = receiveTask($scope.receive_code, modelData);
1177
-                    APIService.claimAndCompletedTask(data.taskId, {
1178
-                        userId: currentUserId,
1179
-                        receive_code: "handler"
1180
-                    }).then(function (response) {
1109
+                    api_flow.accept("receive", {incident: model}).then(function (response) {
1181 1110
                         $rootScope.isMask = false;
1182
-                        if (response.status == 200) {
1111
+                        if (response.state == 200) {
1183 1112
                             Alert.swal({
1184 1113
                                 title: "操作成功!",
1185 1114
                                 confirmButtonColor: "#007AFF",
1186 1115
                                 type: "success"
1187 1116
                             });
1188 1117
                             $modalInstance.close('success');
1189
-                        } else if (response.status == 500) {
1190
-                            Alert.swal({
1191
-                                title: "操作失败",
1192
-                                text: "该事件已被提取,请刷新页面!",
1193
-                                type: "error"
1194
-                            });
1195
-                            $modalInstance.close('success');
1196 1118
                         } else {
1197 1119
                             Alert.swal({
1198 1120
                                 title: "操作失败",
@@ -1209,9 +1131,6 @@ app.controller('incidentListCtrl', ["$scope", "$http", "i18nService", "$rootScop
1209 1131
             },
1210 1132
             size: 'sm',
1211 1133
             resolve: {
1212
-                APIService: function () {
1213
-                    return api_bpm_domain;
1214
-                },
1215 1134
                 modelData: function () {
1216 1135
                     return model;
1217 1136
                 },
@@ -1225,7 +1144,6 @@ app.controller('incidentListCtrl', ["$scope", "$http", "i18nService", "$rootScop
1225 1144
         });
1226 1145
         modalInstance.result.then(function (selectedItem) {
1227 1146
             if (selectedItem == 'success') {
1228
-                defaultFilterData.assignee = loginUser.id;
1229 1147
                 $scope.refreshData('expand-right', defaultFilterData);
1230 1148
             }
1231 1149
         });
@@ -1285,13 +1203,6 @@ app.controller('incidentListCtrl', ["$scope", "$http", "i18nService", "$rootScop
1285 1203
                 $scope.user = [];
1286 1204
                 $scope.group = [];
1287 1205
                 $scope.isShowRadioUser = false;
1288
-                // if(model.state.id == 1544){
1289
-                //     $scope.assign.isRadioUser = 1;
1290
-                //     $scope.isShowRadioUser = false;
1291
-                // }else{
1292
-                //     $scope.assign.isRadioUser = 0;
1293
-                //     $scope.isShowRadioUser = true;
1294
-                // }
1295 1206
 
1296 1207
                 // 修改是否指派到人
1297 1208
                 $scope.changeRadioUser = function(){
@@ -1415,76 +1326,21 @@ app.controller('incidentListCtrl', ["$scope", "$http", "i18nService", "$rootScop
1415 1326
                         });
1416 1327
                         return;
1417 1328
                     }
1418
-                    var postData = {};
1329
+                    let postData = {};
1419 1330
 
1420 1331
                     if($scope.assign.user && $scope.assign.user.id){
1421 1332
                         // 派人
1422
-                        // 接单
1423
-                        if(model.state.value == 'pending'){
1424
-                            postData = {
1425
-                                type: 'receiveAssginee',
1426
-                                userId: $scope.assign.user.id,
1427
-                                taskId: model.taskId,
1428
-                                incidentId: model.id,
1429
-                                logType: 'assign',
1430
-                            }
1431
-                        }
1432
-                        // 处理中
1433
-                        if(model.state.value == 'handler'){
1434
-                            postData = {
1435
-                                type: 'handlerAssginee',
1436
-                                userId: $scope.assign.user.id,
1437
-                                taskId: model.taskId,
1438
-                                incidentId: model.id,
1439
-                                logType: 'assign',
1440
-                            }
1441
-                        }
1333
+                        postData ={ incident: {...model, ...{assignee: $scope.assign.user.id}} };
1442 1334
                     } else if($scope.assign.group && $scope.assign.group.id){
1443 1335
                         // 派组
1444
-                        // 接单,派组
1445
-                        if(model.state.value == 'pending'){
1446
-                            postData = {
1447
-                                type: 'receiveGroup',
1448
-                                groupId: $scope.assign.group.id,
1449
-                                taskId: model.taskId,
1450
-                                activityId: 'usertask5',
1451
-                                executionId: model.processInstanceId,
1452
-                                incidentId: model.id,
1453
-                                logType: 'assign',
1454
-                            }
1455
-                        }
1456
-                        // 处理中
1457
-                        if(model.state.value == 'handler'){
1458
-                            postData = {
1459
-                                type: 'handlerGroup',
1460
-                                groupId: $scope.assign.group.id,
1461
-                                taskId: model.taskId,
1462
-                                activityId: 'usertask5',
1463
-                                executionId: model.processInstanceId,
1464
-                                incidentId: model.id,
1465
-                                logType: 'assign',
1466
-                            }
1467
-                        }
1336
+                        postData ={ incident: {...model, ...{candidateGroups: $scope.assign.group.id}} };
1468 1337
                     }
1469
-                    // if($scope.assign.isRadioUser == 1){
1470
-                    //     postData = {
1471
-                    //         assginee:$scope.assign.user.id,
1472
-                    //         handlerIncidentId: model.state.value === 'handler' ? model.id : undefined,
1473
-                    //         incId: model.assignee ? model.id : undefined,
1474
-                    //         incidentId: model.assignee ? undefined : model.id,
1475
-                    //         taskType: model.state.value == 'handler' ? 'handlerform' : (model.state.value == 'pending' ? 'receiveform' : undefined)
1476
-                    //     };
1477
-                    // }else{
1478
-                    //     postData = {
1479
-                    //         group:$scope.assign.group.id,
1480
-                    //         taskType: model.state.value == 'handler' ? 'handlerform' : (model.state.value == 'pending' ? 'receiveform' : undefined)
1481
-                    //     };
1482
-                    // }
1338
+
1483 1339
                     $rootScope.isMask = true;
1484
-                    api_bpm_domain.delegateTask2(postData).then(function (response) {
1340
+                    api_flow.accept("assign", postData).then(function (response) {
1485 1341
                         console.log(response)
1486 1342
                         $rootScope.isMask = false;
1487
-                        if (response.status == 200) {
1343
+                        if (response.state == 200) {
1488 1344
                             Alert.swal({
1489 1345
                                 title: "操作成功!",
1490 1346
                                 confirmButtonColor: "#007AFF",
@@ -1526,7 +1382,6 @@ app.controller('incidentListCtrl', ["$scope", "$http", "i18nService", "$rootScop
1526 1382
         });
1527 1383
         modalInstance.result.then(function (selectedItem) {
1528 1384
             if (selectedItem == 'success') {
1529
-                defaultFilterData.assignee = loginUser.id;
1530 1385
                 $scope.refreshData('expand-right', defaultFilterData);
1531 1386
             }
1532 1387
         });
@@ -1609,63 +1464,21 @@ app.controller('incidentListCtrl', ["$scope", "$http", "i18nService", "$rootScop
1609 1464
                         });
1610 1465
                         return;
1611 1466
                     }
1612
-                    var postData = {};
1467
+                    let postData = {};
1613 1468
 
1614 1469
                     if($scope.assign.user && $scope.assign.user.id){
1615 1470
                         // 派人
1616
-                        // 接单
1617
-                        if(model.state.value == 'pending'){
1618
-                            postData = {
1619
-                                type: 'receiveAssginee',
1620
-                                userId: $scope.assign.user.id,
1621
-                                taskId: model.taskId,
1622
-                                incidentId: model.id,
1623
-                                logType: 'redeploy',
1624
-                            }
1625
-                        }
1626
-                        // 处理中
1627
-                        if(model.state.value == 'handler'){
1628
-                            postData = {
1629
-                                type: 'handlerAssginee',
1630
-                                userId: $scope.assign.user.id,
1631
-                                taskId: model.taskId,
1632
-                                incidentId: model.id,
1633
-                                logType: 'redeploy',
1634
-                            }
1635
-                        }
1471
+                        postData ={ incident: {...model, ...{assignee: $scope.assign.user.id}} };
1636 1472
                     } else if($scope.assign.group && $scope.assign.group.id){
1637 1473
                         // 派组
1638
-                        // 接单,派组
1639
-                        if(model.state.value == 'pending'){
1640
-                            postData = {
1641
-                                type: 'receiveGroup',
1642
-                                groupId: $scope.assign.group.id,
1643
-                                taskId: model.taskId,
1644
-                                activityId: 'usertask5',
1645
-                                executionId: model.processInstanceId,
1646
-                                incidentId: model.id,
1647
-                                logType: 'redeploy',
1648
-                            }
1649
-                        }
1650
-                        // 处理中
1651
-                        if(model.state.value == 'handler'){
1652
-                            postData = {
1653
-                                type: 'handlerGroup',
1654
-                                groupId: $scope.assign.group.id,
1655
-                                taskId: model.taskId,
1656
-                                activityId: 'usertask5',
1657
-                                executionId: model.processInstanceId,
1658
-                                incidentId: model.id,
1659
-                                logType: 'redeploy',
1660
-                            }
1661
-                        }
1474
+                        postData ={ incident: {...model, ...{candidateGroups: $scope.assign.group.id}} };
1662 1475
                     }
1663 1476
 
1664 1477
                     $rootScope.isMask = true;
1665
-                    api_bpm_domain.delegateTask2(postData).then(function (response) {
1478
+                    api_flow.accept("redeploy", postData).then(function (response) {
1666 1479
                         console.log(response)
1667 1480
                         $rootScope.isMask = false;
1668
-                        if (response.status == 200) {
1481
+                        if (response.state == 200) {
1669 1482
                             Alert.swal({
1670 1483
                                 title: "操作成功!",
1671 1484
                                 confirmButtonColor: "#007AFF",
@@ -1707,7 +1520,6 @@ app.controller('incidentListCtrl', ["$scope", "$http", "i18nService", "$rootScop
1707 1520
         });
1708 1521
         modalInstance.result.then(function (selectedItem) {
1709 1522
             if (selectedItem == 'success') {
1710
-                defaultFilterData.assignee = loginUser.id;
1711 1523
                 $scope.refreshData('expand-right', defaultFilterData);
1712 1524
             }
1713 1525
         });
@@ -1730,7 +1542,7 @@ app.controller('incidentListCtrl', ["$scope", "$http", "i18nService", "$rootScop
1730 1542
                 api_bpm_schedule.del(model.id).then(function (response) {
1731 1543
                     if (response.status == 200) {
1732 1544
                         SweetAlert.swal("操作成功!", "数据已经被删除.", "success");
1733
-                        $scope.refreshData('expand-right', JSON.parse(sessionStorage.getItem("searchincident")));
1545
+                        $scope.refreshData('expand-right');
1734 1546
                     } else {
1735 1547
                         SweetAlert.swal("操作失败!", "数据暂时无法被删除,请稍候重试", "error");
1736 1548
                     }
@@ -1740,6 +1552,11 @@ app.controller('incidentListCtrl', ["$scope", "$http", "i18nService", "$rootScop
1740 1552
             }
1741 1553
         });
1742 1554
     }
1555
+    // 继续创建
1556
+    $scope.storageSj = function(model){
1557
+        console.log(model);
1558
+        $rootScope.newOrder({incident: model});
1559
+    }
1743 1560
     // 新增维修记录弹窗
1744 1561
     $scope.toHandlerLog = function (model) {
1745 1562
         console.log(model)
@@ -1862,7 +1679,6 @@ app.controller('incidentListCtrl', ["$scope", "$http", "i18nService", "$rootScop
1862 1679
         });
1863 1680
         modalInstance.result.then(function (selectedItem) {
1864 1681
             if (selectedItem == 'success') {
1865
-                defaultFilterData.assignee = loginUser.id;
1866 1682
                 $scope.refreshData('expand-right', defaultFilterData);
1867 1683
             }
1868 1684
         });
@@ -1998,7 +1814,6 @@ app.controller('incidentListCtrl', ["$scope", "$http", "i18nService", "$rootScop
1998 1814
         });
1999 1815
         modalInstance.result.then(function (selectedItem) {
2000 1816
             if (selectedItem == 'success') {
2001
-                defaultFilterData.assignee = loginUser.id;
2002 1817
                 $scope.refreshData('expand-right', defaultFilterData);
2003 1818
             }
2004 1819
         });
@@ -2016,15 +1831,12 @@ app.controller('incidentListCtrl', ["$scope", "$http", "i18nService", "$rootScop
2016 1831
 
2017 1832
     if ($rootScope.user.group) {
2018 1833
         var defaultFilterData = {
2019
-            "assignee": loginUser.id,
2020
-            "candidateGroups": loginuserGroup,
2021 1834
             "searchType": "todo",
2022 1835
             "idx": 0,
2023 1836
             "sum": mun
2024 1837
         };
2025 1838
     } else {
2026 1839
         var defaultFilterData = {
2027
-            "assignee": $rootScope.user.id,
2028 1840
             "searchType": "todo",
2029 1841
             "idx": 0,
2030 1842
             "sum": mun
@@ -2087,42 +1899,7 @@ app.controller('incidentListCtrl', ["$scope", "$http", "i18nService", "$rootScop
2087 1899
         }
2088 1900
         $scope.ldloading[style.replace('-', '_')] = true;
2089 1901
         if (angular.isUndefined(filterData)) {
2090
-            if (sessionStorage.searchincident) {
2091
-                filterData = JSON.parse(sessionStorage.getItem("searchincident"));
2092
-                if ($scope.searchType) {
2093
-                    filterData.searchType = $scope.searchType;
2094
-                }
2095
-                $scope.gridOptions.paginationCurrentPage = 1 + filterData.idx;
2096
-                if($state.params.tab){
2097
-                    $scope.searchstate = $state.params.tab;
2098
-                    filterData.searchType = $state.params.tab;
2099
-                    filterData.idx = 0;
2100
-                    $scope.gridOptions.paginationCurrentPage = 1 + filterData.idx;
2101
-                    sessionStorage.setItem('searchincident',JSON.stringify(filterData));
2102
-                }else{
2103
-                    $scope.searchstate = filterData.searchType;
2104
-                }
2105
-                if($state.params.date == 'today'){
2106
-                    $scope.othcode = {};
2107
-                    $scope.searchkeys.acceptDate = new Date();
2108
-                    $scope.searchkeys.acceptDateEnd = new Date();
2109
-                    filterData.incident = {acceptDate:moment().format('YYYY-MM-DD 00:00:00'),acceptDateEnd:moment().format('YYYY-MM-DD 23:59:59')};
2110
-                    sessionStorage.setItem("searchincident",JSON.stringify(filterData));
2111
-                }else{
2112
-                    $scope.searchkeys.acceptDate = null;
2113
-                    $scope.searchkeys.acceptDateEnd = null;
2114
-                }
2115
-                if($state.params.state){
2116
-                    var obj = $scope.state.find(function(v){return $state.params.state == v.id});
2117
-                    $scope.othcode = {state:obj};
2118
-                    filterData.incident = {statusId: $state.params.state};
2119
-                    sessionStorage.setItem("searchincident",JSON.stringify(filterData));
2120
-                }
2121
-                if (filterData.incident && filterData.incident.category) {
2122
-                    delete filterData.incident.category
2123
-                }
2124
-            } else {
2125
-                filterData = defaultFilterData;
1902
+            filterData = defaultFilterData;
2126 1903
                 if ($scope.searchType) {
2127 1904
                     filterData.searchType = $scope.searchType;
2128 1905
                     if (filterData.searchType == 'overDate') {
@@ -2134,7 +1911,6 @@ app.controller('incidentListCtrl', ["$scope", "$http", "i18nService", "$rootScop
2134 1911
                     filterData.searchType = $state.params.tab;
2135 1912
                     filterData.idx = 0;
2136 1913
                     $scope.gridOptions.paginationCurrentPage = 1 + filterData.idx;
2137
-                    sessionStorage.setItem('searchincident',JSON.stringify(filterData));
2138 1914
                 }else{
2139 1915
                     $scope.searchstate = filterData.searchType;
2140 1916
                 }
@@ -2143,7 +1919,6 @@ app.controller('incidentListCtrl', ["$scope", "$http", "i18nService", "$rootScop
2143 1919
                     $scope.searchkeys.acceptDate = new Date();
2144 1920
                     $scope.searchkeys.acceptDateEnd = new Date();
2145 1921
                     filterData.incident = {acceptDate:moment().format('YYYY-MM-DD 00:00:00'),acceptDateEnd:moment().format('YYYY-MM-DD 23:59:59')};
2146
-                    sessionStorage.setItem("searchincident",JSON.stringify(filterData));
2147 1922
                 }else{
2148 1923
                     $scope.searchkeys.acceptDate = null;
2149 1924
                     $scope.searchkeys.acceptDateEnd = null;
@@ -2152,9 +1927,7 @@ app.controller('incidentListCtrl', ["$scope", "$http", "i18nService", "$rootScop
2152 1927
                     var obj = $scope.state.find(function(v){return $state.params.state == v.id});
2153 1928
                     $scope.othcode = {state:obj};
2154 1929
                     filterData.incident = {statusId: $state.params.state};
2155
-                    sessionStorage.setItem("searchincident",JSON.stringify(filterData));
2156 1930
                 }
2157
-            }
2158 1931
         } else {
2159 1932
             filterData.searchType = $scope.searchstate;
2160 1933
         }
@@ -2171,7 +1944,6 @@ app.controller('incidentListCtrl', ["$scope", "$http", "i18nService", "$rootScop
2171 1944
             window.sessionStorage.removeItem('isGoyuqi');
2172 1945
         }
2173 1946
         $scope.myData = [];
2174
-        sessionStorage['searchincident'] = angular.copy(JSON.stringify(filterData));
2175 1947
         $scope.memoryfilterData = filterData;
2176 1948
         $scope.gridOptions['sum'] = filterData.sum;
2177 1949
         // 如果是全部,则根据权限查询
@@ -2258,54 +2030,17 @@ app.controller('incidentListCtrl', ["$scope", "$http", "i18nService", "$rootScop
2258 2030
 
2259 2031
         $scope.ldloading[style.replace('-', '_')] = true;
2260 2032
         if (angular.isUndefined(filterData)) {
2261
-            if (sessionStorage.searchincident) {
2262
-                filterData = JSON.parse(sessionStorage.getItem("searchincident"));
2263
-                if ($scope.searchType) {
2264
-                    filterData.searchType = $scope.searchType;
2265
-                }
2266
-                $scope.gridOptions.paginationCurrentPage = 1 + filterData.idx;
2267
-                if($state.params.tab){
2268
-                    $scope.searchstate = $state.params.tab;
2269
-                    filterData.searchType = $state.params.tab;
2270
-                    filterData.idx = 0;
2271
-                    $scope.gridOptions.paginationCurrentPage = 1 + filterData.idx;
2272
-                    sessionStorage.setItem('searchincident',JSON.stringify(filterData));
2273
-                }else{
2274
-                    $scope.searchstate = filterData.searchType;
2275
-                }
2276
-                if($state.params.date == 'today'){
2277
-                    $scope.othcode = {};
2278
-                    $scope.searchkeys.acceptDate = new Date();
2279
-                    $scope.searchkeys.acceptDateEnd = new Date();
2280
-                    filterData.incident = {acceptDate:moment().format('YYYY-MM-DD 00:00:00'),acceptDateEnd:moment().format('YYYY-MM-DD 23:59:59')};
2281
-                    sessionStorage.setItem("searchincident",JSON.stringify(filterData));
2282
-                }else{
2283
-                    $scope.searchkeys.acceptDate = null;
2284
-                    $scope.searchkeys.acceptDateEnd = null;
2285
-                }
2286
-                if($state.params.state){
2287
-                    var obj = $scope.state.find(function(v){return $state.params.state == v.id});
2288
-                    $scope.othcode = {state:obj};
2289
-                    filterData.incident = {statusId: $state.params.state};
2290
-                    sessionStorage.setItem("searchincident",JSON.stringify(filterData));
2291
-                }
2292
-                if (filterData.incident && filterData.incident.category) {
2293
-                    delete filterData.incident.category
2294
-                }
2295
-            } else {
2296
-                filterData = defaultFilterData;
2297
-                if ($scope.searchType) {
2298
-                    filterData.searchType = $scope.searchType;
2299
-                    if (filterData.searchType == 'overDate') {
2300
-                        $scope.searchstate = 'overDate';
2301
-                    }
2033
+            filterData = defaultFilterData;
2034
+            if ($scope.searchType) {
2035
+                filterData.searchType = $scope.searchType;
2036
+                if (filterData.searchType == 'overDate') {
2037
+                    $scope.searchstate = 'overDate';
2302 2038
                 }
2303 2039
             }
2304 2040
         }else{
2305 2041
             filterData.searchType = $scope.searchstate;
2306 2042
         }
2307 2043
         $scope.myData = [];
2308
-        sessionStorage['searchincident'] = angular.copy(JSON.stringify(filterData));
2309 2044
         $scope.memoryfilterData = filterData;
2310 2045
         $scope.gridOptions['sum'] = filterData.sum;
2311 2046
         // 如果是全部,则根据权限查询
@@ -2387,26 +2122,9 @@ app.controller('incidentListCtrl', ["$scope", "$http", "i18nService", "$rootScop
2387 2122
 
2388 2123
     };
2389 2124
     // 进入页面时111
2390
-    if(window.sessionStorage.getItem('searchincident')){
2391
-        var varLin = JSON.parse(window.sessionStorage.getItem('searchincident'));
2392
-        if(varLin.incident&&varLin.incident.selectType){
2393
-            if(varLin.incident.selectType == '2'){
2394
-                console.log(defaultFilterData)
2395
-                $scope.searchkeys.selectType = {id:'2',name:'是'};
2396
-            }else if(varLin.incident.selectType == '0'){
2397
-                console.log(defaultFilterData)
2398
-                $scope.searchkeys.selectType = {id:'0',name:'否'};
2399
-            }
2400
-        }
2401
-    }
2402 2125
     if(window.sessionStorage.getItem('isGoyuqi') === 'yes'){
2403 2126
         $scope.selectTypeChange();
2404 2127
     }else{
2405
-        if(sessionStorage.getItem("searchincident")){
2406
-            var ss = JSON.parse(sessionStorage.getItem("searchincident"));
2407
-            delete ss.incident;
2408
-            sessionStorage.setItem("searchincident",JSON.stringify(ss));
2409
-        }
2410 2128
         $scope.refreshData('expand-right');
2411 2129
     }
2412 2130
 
@@ -2425,6 +2143,7 @@ app.controller('IncidentOperCtrl', ['$rootScope', '$scope', '$state', function (
2425 2143
     $scope.qiangdan = false;
2426 2144
     $scope.huifang = false;
2427 2145
     $scope.delFlag = false;
2146
+    $scope.storageFlag = false;
2428 2147
     $scope.editFlag = false;//编辑
2429 2148
     $scope.assignFlag = false;//指派
2430 2149
     $scope.transferFlag = false;//转派
@@ -2443,6 +2162,9 @@ app.controller('IncidentOperCtrl', ['$rootScope', '$scope', '$state', function (
2443 2162
         if (loginUser.menu[i].link == "shijianliebiao_del") {
2444 2163
             $scope.delFlag = true
2445 2164
         }
2165
+        if (loginUser.menu[i].link == "shijianliebiao_build") {
2166
+            $scope.storageFlag = true
2167
+        }
2446 2168
         if (loginUser.menu[i].link == "shijianliebiao_edit") {
2447 2169
             $scope.editFlag = true
2448 2170
         }
@@ -2480,8 +2202,10 @@ app.controller('IncidentOperCtrl', ['$rootScope', '$scope', '$state', function (
2480 2202
     }
2481 2203
 
2482 2204
     $rootScope.user.group.forEach(function (item, v) {
2483
-        if (item.id == $scope.item.candidateGroups) {
2484
-            $scope.item.tiquPower = true;
2205
+        if($scope.item.currentLog){
2206
+            if (item.id == $scope.item.currentLog.groupId) {
2207
+                $scope.item.tiquPower = true;
2208
+            }
2485 2209
         }
2486 2210
     })
2487 2211
 
@@ -2523,6 +2247,10 @@ app.controller('IncidentOperCtrl', ['$rootScope', '$scope', '$state', function (
2523 2247
     $scope.delSj = function () {
2524 2248
         $scope.colobject.grid.appScope.delSj($scope.item);
2525 2249
     }
2250
+    // 继续创建
2251
+    $scope.storageSj = function () {
2252
+        $scope.colobject.grid.appScope.storageSj($scope.item);
2253
+    }
2526 2254
     // 新增维修记录
2527 2255
     $scope.toHandlerLog = function () {
2528 2256
         $scope.colobject.grid.appScope.toHandlerLog($scope.item);
@@ -2537,22 +2265,17 @@ app.controller('IncidentOperCtrl', ['$rootScope', '$scope', '$state', function (
2537 2265
     }
2538 2266
     $scope.handler = function () {
2539 2267
         $scope.colobject.grid.appScope.acceptTaskAction($scope.item);
2540
-        $scope.doComment($scope.item.id);
2541 2268
     }
2542 2269
     //查看
2543 2270
     $scope.toDetail = function (data) {
2544 2271
         console.log(data,$rootScope.isFuwutai);
2545 2272
         if($rootScope.isFuwutai){
2546 2273
             //角色是服务台人员
2547
-            $state.go('app.incident.detail', {
2548
-                formKey: 'incident_back',
2549
-                pdKey: 'incident',
2550
-                dataId: data.id,
2551
-                taskId: data.taskId,
2552
-                processInstanceId: data.processInstanceId
2274
+            $state.go('app.incident.incidentDetail', {
2275
+                id: data.id,
2553 2276
             });
2554 2277
         }else{
2555
-            window.open(location.origin+'/#/app/incident/detail/incident_back/incident/'+data.id+'/'+data.taskId+'/'+data.processInstanceId+'//');
2278
+            window.open(location.origin+'/#/app/incident/incidentDetail/'+data.id);
2556 2279
         }
2557 2280
     };
2558 2281
 }]);
@@ -2568,14 +2291,15 @@ app.directive('incidentoperator', function () {
2568 2291
         template: '<div><div class="cl-effect-1 ui-grid-cell-contents pull-left" style="text-align:left;">' +
2569 2292
             '<a ng-click="toDetail(item)" class="bianjifont" >查看</a>' +
2570 2293
             '<a ng-click="changeCenter()"  ng-show="jry_modify(item)"  class="luyinfont">编辑</a>' +
2571
-            '<a ng-click="delSj()" ng-show="{{delFlag&&item.state.value!== \'deleted\'}}" class="assign" >删除</a><br>' +
2572
-            '<a ng-click="edit()"  ng-show="{{item.chaozuoPower&&chuli}}"  class="bianjifont">处理</a>' +
2573
-            '<a ng-click="handler()" ng-show="{{item.state.id != 1546 &&!item.handlerUser&&item.tiquPower&&qiangdan}}" class="bianjifont" >接单</a>' +
2574
-            '<a ng-click="visit()"  ng-show="{{item.huifang&&huifang}}"  class="bianjifont">回访</a>' +
2575
-            '<a ng-click="toAssign()" ng-show="{{(item.state.id==1543||item.state.id==1544)&&assignFlag}}" class="assign" >指派</a>' +
2576
-            '<a ng-click="toTransfer()" ng-show="{{(item.state.id==1544)&&item.handlerUser&&item.handlerUser.id == user.id&&!assignFlag&&transferFlag}}" class="assign" >转派</a>' +
2577
-            '<a ng-click="toHandlerLog()" ng-show="{{item.state.id==1544}}" class="assign" >维修进度</a>' +
2578
-            '<a ng-click="setDuty()" ng-show="{{shijianliebiao_duty && (item.state.id==1545 || item.state.id==1546)}}" class="assign" >设置责任科室</a>' +
2294
+            '<a ng-click="delSj()" ng-show="{{delFlag && item.state.value !== \'deleted\'}}" class="assign" >删除</a>' +
2295
+            '<a ng-click="storageSj()" ng-show="{{storageFlag && item.state.value === \'storage\'}}" class="assign" >继续创建</a><br>' +
2296
+            '<a ng-click="edit()"  ng-show="{{item.chaozuoPower && chuli}}"  class="bianjifont">处理</a>' +
2297
+            '<a ng-click="handler()" ng-show="{{item.state.value == \'pending\' && ((item.currentLog && item.currentLog.workerId == user.id) || item.tiquPower) && qiangdan}}" class="bianjifont" >接单</a>' +
2298
+            '<a ng-click="visit()"  ng-show="{{item.huifang && huifang}}"  class="bianjifont">回访</a>' +
2299
+            '<a ng-click="toAssign()" ng-show="{{(item.state.value == \'pending\' || item.state.value == \'handler\') && assignFlag}}" class="assign" >指派</a>' +
2300
+            '<a ng-click="toTransfer()" ng-show="{{item.state.value == \'handler\' && item.handlingPersonnelUser && item.handlingPersonnelUser.id == user.id && !assignFlag && transferFlag}}" class="assign" >转派</a>' +
2301
+            '<a ng-click="toHandlerLog()" ng-show="{{item.state.value == \'handler\'}}" class="assign" >维修进度</a>' +
2302
+            '<a ng-click="setDuty()" ng-show="{{shijianliebiao_duty && (item.state.value == \'resolved\' || item.state.value == \'close\')}}" class="assign" >设置责任科室</a>' +
2579 2303
             '</div></div>'
2580 2304
     };
2581 2305
 });

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 113 - 0
assets/js/controllers/incident/incidentDetailCtrl.js


+ 174 - 144
assets/js/controllers/mainCtrl.js

@@ -2,8 +2,8 @@
2 2
 /**
3 3
  * Clip-Two Main Controller
4 4
  */
5
-app.controller('AppCtrl', ['$rootScope', '$scope', '$state', '$translate', '$localStorage', '$cookieStore', '$window', '$modal', '$document', '$timeout', '$filter', '$auth', 'cfpLoadingBar', 'DDP', 'deskNotification', 'Restangular', 'api_login', 'api_text', 'api_user_data', 'api_wechatfile', 'api_bpm_data', 'api_msg', 'Myservice', '$interval', 'jry_api_bpm','fileReader','api_custom','api_category','api_simple','WebsocketPhoneService','api_newreport',
6
-function ($rootScope, $scope, $state, $translate, $localStorage, $cookieStore, $window, $modal, $document, $timeout, $filter, $auth, cfpLoadingBar, DDP, deskNotification, Restangular, api_login, api_text, api_user_data, api_wechatfile, api_bpm_data, api_msg, Myservice, $interval, jry_api_bpm,fileReader,api_custom,api_category,api_simple,WebsocketPhoneService,api_newreport) {
5
+app.controller('AppCtrl', ['$rootScope', '$scope', '$state', '$translate', '$localStorage', '$cookieStore', '$window', '$modal', '$document', '$timeout', '$filter', '$auth', 'cfpLoadingBar', 'DDP', 'deskNotification', 'Restangular', 'api_login', 'api_text', 'api_user_data', 'api_wechatfile', 'api_bpm_data', 'api_msg', 'Myservice', '$interval', 'jry_api_bpm','fileReader','api_custom','api_category','api_simple','WebsocketPhoneService','api_newreport', 'api_flow',
6
+function ($rootScope, $scope, $state, $translate, $localStorage, $cookieStore, $window, $modal, $document, $timeout, $filter, $auth, cfpLoadingBar, DDP, deskNotification, Restangular, api_login, api_text, api_user_data, api_wechatfile, api_bpm_data, api_msg, Myservice, $interval, jry_api_bpm,fileReader,api_custom,api_category,api_simple,WebsocketPhoneService,api_newreport,api_flow) {
7 7
 
8 8
     // 未读消息数量seimin
9 9
     $rootScope.getMsgNum = function (id) {
@@ -3896,97 +3896,148 @@ function ($rootScope, $scope, $state, $translate, $localStorage, $cookieStore, $
3896 3896
             }
3897 3897
             $rootScope.isMask = true;
3898 3898
             var repair_main = JSON.parse(sessionStorage.getItem('repair_main'));
3899
+            // var postData = {
3900
+            //   "loginUser": $rootScope.user,
3901
+            //   "incident": {
3902
+            //       "deleteFlag": 0,
3903
+            //       "duty":$scope.selectedDuty?$scope.selectedDuty:undefined,
3904
+            //       "department": $scope.incidentModel.department||undefined,
3905
+            //       "contactsInformation": $scope.incidentModel.contactsInformation,
3906
+            //       "contacts": $scope.incidentModel.contacts,
3907
+            //       "branch": $scope.incidentModel.branch?$scope.incidentModel.branch.id:undefined,
3908
+            //       "area": $scope.incidentModel.area||undefined,
3909
+            //       "place": $scope.incidentModel.place||undefined,
3910
+            //       "houseNumber": $scope.incidentModel.address,
3911
+            //       "category": $scope.categorySelect||undefined,
3912
+            //       "priority": $scope.incidentModel.priority||undefined,
3913
+            //       "source": $scope.incidentModel.source||undefined,
3914
+            //       "title": $scope.categorySelect.category,
3915
+            //       "description": $scope.incidentModel.description,
3916
+            //       "yyTime": $scope.incidentModel.yyTime ? moment($scope.incidentModel.yyTime).format('YYYY-MM-DD HH:mm:ss') : undefined,
3917
+            //       "repairType": repair_main?repair_main.valueconfig:undefined,
3918
+            //       "requester":$scope.incidentModel.requester||undefined,
3919
+            //       "acceptUser": $rootScope.user||undefined,
3920
+            //       "callID": $scope.incidentModel.callID||undefined,
3921
+            //       "incomingPhone": $scope.incidentModel.incomingPhone||undefined,
3922
+            //   },
3923
+            //   "start_code": "assignment",
3924
+            //   "initUser": $rootScope.user.id
3925
+            // };
3899 3926
             var postData = {
3900
-              "loginUser": $rootScope.user,
3901
-              // "isRoom": false,
3902
-              // "state": "已登记",
3903
-              // "submit": "创建事件",
3904
-              // "close": "取消",
3905
-              // "startSave": "true",
3906
-              // "label": "事件工单",
3907
-              // "addstr": "",
3908
-              // "placeholder": "请填写事件单基本信息,“*”为必填项。",
3909 3927
               "incident": {
3910
-                  "deleteFlag": 0,
3911
-                  "duty":$scope.selectedDuty?$scope.selectedDuty:undefined,
3912
-                  // "isRepeat": false,
3913
-                  // "reason": {
3914
-                  //     "id": 40
3915
-                  // },
3916
-                  // "complexity": {
3917
-                  //     "id": ""
3918
-                  // },
3919
-                  // "emergency": {
3920
-                  //     "id": ""
3921
-                  // },
3922
-                  // "influence": {
3923
-                  //     "id": ""
3924
-                  // },
3925
-                  // "relationType": "",
3926
-                  // "relationIncidentId": "",
3927
-                  // "expectResponseTime": 60,
3928
-                  // "expectIntroTime": 480,
3929
-                  // "incidentsign": "SJ2207280059",
3930
-                  "department": $scope.incidentModel.department||undefined,
3931
-                  "contactsInformation": $scope.incidentModel.contactsInformation,
3932
-                  "contacts": $scope.incidentModel.contacts,
3933
-                  "branch": $scope.incidentModel.branch?$scope.incidentModel.branch.id:undefined,
3934
-                  "area": $scope.incidentModel.area||undefined,
3935
-                  "place": $scope.incidentModel.place||undefined,
3936
-                  // "room": {
3937
-                  //     "id": ""
3938
-                  // },
3939
-                  "houseNumber": $scope.incidentModel.address,
3940
-                  "category": $scope.categorySelect||undefined,
3941
-                  "priority": $scope.incidentModel.priority||undefined,
3942
-                  "source": $scope.incidentModel.source||undefined,
3943
-                  "title": $scope.categorySelect.category,
3944
-                  "description": $scope.incidentModel.description,
3945
-                  // "handlerUser": $scope.incidentModel.user,
3946
-                  "yyTime": $scope.incidentModel.yyTime ? moment($scope.incidentModel.yyTime).format('YYYY-MM-DD HH:mm:ss') : undefined,
3947
-                  // "closecode": {},
3948
-                  // "degree": {},
3949
-                  "repairType": repair_main?repair_main.valueconfig:undefined,
3950
-                  "requester":$scope.incidentModel.requester||undefined,
3951
-                  // "selecthouseNumber": {
3952
-                  //     "id": 1
3953
-                  // },
3954
-                  "acceptUser": $rootScope.user||undefined,
3955
-                  "callID": $scope.incidentModel.callID||undefined,
3956
-                  "incomingPhone": $scope.incidentModel.incomingPhone||undefined,
3957
-                  // "branchId": 1,
3958
-                  // "branchType": 0,
3959
-                  // "overdueTime": "2022-07-29 17:52:00"
3960
-              },
3961
-              // "alarmType": false,
3962
-              // "isRepeat": false,
3963
-              // "isHandlerUser": true,
3964
-              // "directClose": true,
3965
-              "start_code": "assignment",
3966
-              // "save": "暂存",
3967
-              // "_flowList_": [
3968
-              //     "alarmType"
3969
-              // ],
3970
-              // "bpm_activiti": {},
3971
-              // "repeatIncidentShow": true,
3972
-              // "isHasSimple": false,
3973
-              // "isPriority": true,
3974
-              // "assignee": $scope.incidentModel.user.id,
3975
-              // "handler_code": "resolve",
3976
-              "initUser": $rootScope.user.id
3928
+                "deleteFlag": 0,
3929
+                "duty":$scope.selectedDuty?$scope.selectedDuty:undefined,
3930
+                "department": $scope.incidentModel.department||undefined,
3931
+                "contactsInformation": $scope.incidentModel.contactsInformation,
3932
+                "contacts": $scope.incidentModel.contacts,
3933
+                "branch": $scope.incidentModel.branch?$scope.incidentModel.branch.id:undefined,
3934
+                "area": $scope.incidentModel.area||undefined,
3935
+                "place": $scope.incidentModel.place||undefined,
3936
+                "houseNumber": $scope.incidentModel.address,
3937
+                "category": $scope.categorySelect||undefined,
3938
+                "priority": $scope.incidentModel.priority||undefined,
3939
+                "source": $scope.incidentModel.source||undefined,
3940
+                "title": $scope.categorySelect.category,
3941
+                "description": $scope.incidentModel.description,
3942
+                "yyTime": $scope.incidentModel.yyTime ? moment($scope.incidentModel.yyTime).format('YYYY-MM-DD HH:mm:ss') : undefined,
3943
+                "repairType": repair_main?repair_main.valueconfig:undefined,
3944
+                "requester":$scope.incidentModel.requester||undefined,
3945
+                "acceptUser": $rootScope.user||undefined,
3946
+                "callID": $scope.incidentModel.callID||undefined,
3947
+                "incomingPhone": $scope.incidentModel.incomingPhone||undefined,
3948
+              }
3977 3949
             };
3978
-            if(modelData){
3979
-              // 微信报修转事件
3980
-              postData.flow = modelData.flow;
3950
+            // if(modelData){
3951
+            //   // 微信报修转事件
3952
+            //   postData.flow = modelData.flow;
3953
+            // }
3954
+            if($scope.incidentModel.assign == 1){
3955
+              postData.incident.assignee = $scope.incidentModel.user.id;
3956
+            }else if($scope.incidentModel.assign == 2){
3957
+              postData.incident.candidateGroups = $scope.incidentModel.group.id;
3981 3958
             }
3959
+            api_bpm_domain.workernumber('sj').then(res1=>{
3960
+              postData.incident.incidentsign = res1.data;
3961
+              api_flow.accept("accept", postData).then(function (response) {
3962
+                if ($scope.uploader != null) {
3963
+                  // 有图片
3964
+                    $scope.uploader.onBeforeUploadItem = function(item) {
3965
+                        angular.extend(item.headers, $rootScope.getSession());
3966
+                        item.url = api_bpm_domain.uploadAttachment(response.id).getRequestedUrl();
3967
+                        item.formData.push({ 'fileName': item.file.name });
3968
+                    };
3969
+                    $scope.uploader.uploadAll();
3970
+                }
3971
+                $rootScope.isMask = false;
3972
+                SweetAlert.swal(
3973
+                  {
3974
+                    title: "保存成功!",
3975
+                    type: "success",
3976
+                    confirmButtonColor: "#007AFF",
3977
+                  },
3978
+                  function (isConfirm) {
3979
+                    if(isConfirm){
3980
+                      // 是否连续建单
3981
+                      if($scope.isBuildOrderAgagin){
3982
+                        $scope.categorySelect = "";
3983
+                        $scope.categorySelectId = 0;
3984
+                        $scope.incidentModel.assign = 1;
3985
+                        $scope.incidentModel.user = "";
3986
+                        $scope.incidentModel.group = "";
3987
+                      }else{
3988
+                        if (localStorage.getItem('fenjiNumber')) {
3989
+                          $rootScope.jry_shixian();
3990
+                        }
3991
+                        $modalInstance.dismiss("cancel");
3992
+                      }
3993
+                      $rootScope.newOrderShowOpen = false;
3994
+                      $state.go("app.incident.list");
3995
+                    }
3996
+                  }
3997
+                );
3998
+              });
3999
+            })
4000
+          }
4001
+          // 暂存
4002
+          $scope.temporaryStorage = function(){
4003
+            $rootScope.isMask = true;
4004
+            var repair_main = JSON.parse(sessionStorage.getItem('repair_main'));
4005
+            var postData = {
4006
+              "incident": {
4007
+                "deleteFlag": 0,
4008
+                "duty":$scope.selectedDuty?$scope.selectedDuty:undefined,
4009
+                "department": $scope.incidentModel.department||undefined,
4010
+                "contactsInformation": $scope.incidentModel.contactsInformation,
4011
+                "contacts": $scope.incidentModel.contacts,
4012
+                "branch": $scope.incidentModel.branch?$scope.incidentModel.branch.id:undefined,
4013
+                "area": $scope.incidentModel.area||undefined,
4014
+                "place": $scope.incidentModel.place||undefined,
4015
+                "houseNumber": $scope.incidentModel.address,
4016
+                "category": $scope.categorySelect||undefined,
4017
+                "priority": $scope.incidentModel.priority||undefined,
4018
+                "source": $scope.incidentModel.source||undefined,
4019
+                "title": $scope.categorySelect.category,
4020
+                "description": $scope.incidentModel.description,
4021
+                "yyTime": $scope.incidentModel.yyTime ? moment($scope.incidentModel.yyTime).format('YYYY-MM-DD HH:mm:ss') : undefined,
4022
+                "repairType": repair_main?repair_main.valueconfig:undefined,
4023
+                "requester":$scope.incidentModel.requester||undefined,
4024
+                "acceptUser": $rootScope.user||undefined,
4025
+                "callID": $scope.incidentModel.callID||undefined,
4026
+                "incomingPhone": $scope.incidentModel.incomingPhone||undefined,
4027
+              }
4028
+            };
4029
+            // if(modelData){
4030
+            //   // 微信报修转事件
4031
+            //   postData.flow = modelData.flow;
4032
+            // }
3982 4033
             if($scope.incidentModel.assign == 1){
3983
-              postData.assignee = $scope.incidentModel.user.id;
4034
+              postData.incident.assignee = $scope.incidentModel ? $scope.incidentModel.user.id : undefined;
3984 4035
             }else if($scope.incidentModel.assign == 2){
3985
-              postData.candidateGroups = $scope.incidentModel.group.id;
4036
+              postData.incident.candidateGroups = $scope.incidentModel ? $scope.incidentModel.group.id : undefined;
3986 4037
             }
3987 4038
             api_bpm_domain.workernumber('sj').then(res1=>{
3988 4039
               postData.incident.incidentsign = res1.data;
3989
-              api_bpm_domain.start("bpm_incident", postData).then(function (response) {
4040
+              api_flow.accept("storage", postData).then(function (response) {
3990 4041
                 if ($scope.uploader != null) {
3991 4042
                   // 有图片
3992 4043
                     $scope.uploader.onBeforeUploadItem = function(item) {
@@ -4323,48 +4374,52 @@ function ($rootScope, $scope, $state, $translate, $localStorage, $cookieStore, $
4323 4374
                   $rootScope.isMask = true;
4324 4375
                   console.log(scope.incidentModel,$scope.incidentModel);
4325 4376
                   var repair_main = JSON.parse(sessionStorage.getItem('repair_main'));
4377
+                  // var postData = {
4378
+                  //   "loginUser": $rootScope.user||undefined,
4379
+                  //   "incident": {
4380
+                  //     "deleteFlag": 0,
4381
+                  //     "duty":scope.selectedDuty?scope.selectedDuty:undefined,
4382
+                  //     "requester":$scope.incidentModel.requester||undefined,
4383
+                  //     "alarmType": false,
4384
+                  //     "department": scope.incidentModel.department||undefined,
4385
+                  //     "contactsInformation": scope.incidentModel.contactsInformation,
4386
+                  //     "contacts": scope.incidentModel.contacts,
4387
+                  //     "branch": scope.incidentModel.branch?scope.incidentModel.branch.id:undefined,
4388
+                  //     "area": scope.incidentModel.area||undefined,
4389
+                  //     "place": scope.incidentModel.place||undefined,
4390
+                  //     "houseNumber": scope.incidentModel.address,
4391
+                  //     "category": scope.categorySelect||undefined,
4392
+                  //     "priority": scope.incidentModel.priority||undefined,
4393
+                  //     "source": scope.incidentModel.source||undefined,
4394
+                  //     "title": scope.categorySelect.category,
4395
+                  //     "description": scope.incidentModel.description,
4396
+                  //     "directProcess": 1,
4397
+                  //     "handleDescription": $scope.incidentModel.handlerMsg,
4398
+                  //     "handlingPersonnelUser":{id:$rootScope.user.id},
4399
+                  //     "yyTime": scope.incidentModel.yyTime ? moment(scope.incidentModel.yyTime).format('YYYY-MM-DD HH:mm:ss') : undefined,
4400
+                  //     "closecode": $scope.incidentModel.closecode||undefined,
4401
+                  //     "repairType": repair_main?repair_main.valueconfig:undefined,
4402
+                  //     "acceptUser": $rootScope.user||undefined,
4403
+                  //     "callID": scope.incidentModel.callID||undefined,
4404
+                  //     "incomingPhone": scope.incidentModel.incomingPhone||undefined,
4405
+                  //   },
4406
+                  //   "start_code": "close",
4407
+                  //   "handler_code": "resolve",
4408
+                  //   "initUser": $rootScope.user.id,
4409
+                  //   "isSolution": false
4410
+                  // };
4326 4411
                   var postData = {
4327
-                    "loginUser": $rootScope.user||undefined,
4328
-                    // "isRoom": false,
4329
-                    // "state": "已登记",
4330
-                    // "submit": "创建事件",
4331
-                    // "close": "取消",
4332
-                    // "startSave": "true",
4333
-                    // "label": "事件工单",
4334
-                    // "addstr": "",
4335
-                    // "placeholder": "请填写事件单基本信息,“*”为必填项。",
4336 4412
                     "incident": {
4337 4413
                       "deleteFlag": 0,
4338 4414
                       "duty":scope.selectedDuty?scope.selectedDuty:undefined,
4339 4415
                       "requester":$scope.incidentModel.requester||undefined,
4340 4416
                       "alarmType": false,
4341
-                      // "isRepeat": false,
4342
-                      // "reason": {
4343
-                      //     "id": 40
4344
-                      // },
4345
-                      // "complexity": {
4346
-                      //     "id": ""
4347
-                      // },
4348
-                      // "emergency": {
4349
-                      //     "id": ""
4350
-                      // },
4351
-                      // "influence": {
4352
-                      //     "id": ""
4353
-                      // },
4354
-                      // "relationType": "",
4355
-                      // "relationIncidentId": "",
4356
-                      // "expectResponseTime": 60,
4357
-                      // "expectIntroTime": 480,
4358
-                      // "incidentsign": "SJ2207280059",
4359 4417
                       "department": scope.incidentModel.department||undefined,
4360 4418
                       "contactsInformation": scope.incidentModel.contactsInformation,
4361 4419
                       "contacts": scope.incidentModel.contacts,
4362 4420
                       "branch": scope.incidentModel.branch?scope.incidentModel.branch.id:undefined,
4363 4421
                       "area": scope.incidentModel.area||undefined,
4364 4422
                       "place": scope.incidentModel.place||undefined,
4365
-                      // "room": {
4366
-                      //     "id": ""
4367
-                      // },
4368 4423
                       "houseNumber": scope.incidentModel.address,
4369 4424
                       "category": scope.categorySelect||undefined,
4370 4425
                       "priority": scope.incidentModel.priority||undefined,
@@ -4374,46 +4429,21 @@ function ($rootScope, $scope, $state, $translate, $localStorage, $cookieStore, $
4374 4429
                       "directProcess": 1,
4375 4430
                       "handleDescription": $scope.incidentModel.handlerMsg,
4376 4431
                       "handlingPersonnelUser":{id:$rootScope.user.id},
4377
-                      // "handlerUser": scope.incidentModel.user,
4378 4432
                       "yyTime": scope.incidentModel.yyTime ? moment(scope.incidentModel.yyTime).format('YYYY-MM-DD HH:mm:ss') : undefined,
4379 4433
                       "closecode": $scope.incidentModel.closecode||undefined,
4380
-                      // "degree": {},
4381 4434
                       "repairType": repair_main?repair_main.valueconfig:undefined,
4382
-                      // "selecthouseNumber": {
4383
-                      //     "id": 1
4384
-                      // },
4385 4435
                       "acceptUser": $rootScope.user||undefined,
4386 4436
                       "callID": scope.incidentModel.callID||undefined,
4387 4437
                       "incomingPhone": scope.incidentModel.incomingPhone||undefined,
4388
-                      // "branchId": 1,
4389
-                      // "branchType": 0,
4390
-                      // "overdueTime": "2022-07-29 17:52:00"
4391 4438
                     },
4392
-                    // "alarmType": false,
4393
-                    // "isRepeat": false,
4394
-                    // "isHandlerUser": true,
4395
-                    // "directClose": true,
4396
-                    "start_code": "close",
4397
-                    // "save": "暂存",
4398
-                    // "_flowList_": [
4399
-                    //     "alarmType"
4400
-                    // ],
4401
-                    // "bpm_activiti": {},
4402
-                    // "repeatIncidentShow": true,
4403
-                    // "isHasSimple": false,
4404
-                    // "isPriority": true,
4405
-                    // "assignee": $scope.incidentModel.user.id,
4406
-                    "handler_code": "resolve",
4407
-                    "initUser": $rootScope.user.id,
4408
-                    "isSolution": false
4409 4439
                   };
4410
-                  if(scope.modelData){
4411
-                    // 微信报修转事件
4412
-                    postData.flow = scope.modelData.flow;
4413
-                  }
4440
+                  // if(scope.modelData){
4441
+                  //   // 微信报修转事件
4442
+                  //   postData.flow = scope.modelData.flow;
4443
+                  // }
4414 4444
                   api_bpm_domain.workernumber('sj').then(res1=>{
4415 4445
                     postData.incident.incidentsign = res1.data;
4416
-                    api_bpm_domain.start("bpm_incident", postData).then(function (resData) {
4446
+                    api_flow.accept("accept", postData).then(function (resData) {
4417 4447
                       if (scope.uploader != null) {
4418 4448
                         // 有图片
4419 4449
                           scope.uploader.onBeforeUploadItem = function(item) {

+ 6 - 19
assets/js/main.js

@@ -713,26 +713,13 @@ app.factory('api_flow', ['FlowRestangular', function (FlowRestangular) {
713 713
     var r_data = FlowRestangular.all("");
714 714
 
715 715
     return {
716
+        // 与我关联
716 717
         owns: function (data) {
717 718
             return r_data.customPOST(data, 'owns', {});
718 719
         },
719
-        addListData: function (model, data) {
720
-            return r_data.customPOST(data, 'addListData/' + model, {});
721
-        },
722
-        fetchDataList: function (model, data) {
723
-            return r_data.customPOST(data, 'fetchDataList/' + model, {});
724
-        },
725
-        fetchData: function (model, data) {
726
-            return r_data.customPOST(data, 'fetchData/' + model, {});
727
-        },
728
-        addData: function (model, data) {
729
-            return r_data.customPOST(data, 'addData/' + model, {});
730
-        },
731
-        updData: function (model, data) {
732
-            return r_data.customPOST(data, 'updData/' + model, {});
733
-        },
734
-        rmvData: function (model, data) {
735
-            return r_data.customPOST(data, 'rmvData/' + model, {});
720
+        // 建单
721
+        accept: function (model, data) {
722
+            return r_data.customPOST(data, 'incident/task/' + model, {});
736 723
         },
737 724
     }
738 725
 }]);
@@ -752,8 +739,8 @@ app.factory('api_simple', ['SimpleRestangular', function (SimpleRestangular) {
752 739
         fetchDataList: function (model, data) {
753 740
             return r_data.customPOST(data, 'fetchDataList/' + model, {});
754 741
         },
755
-        fetchData: function (model, data) {
756
-            return r_data.customPOST(data, 'fetchData/' + model, {});
742
+        fetchData: function (model, dataId) {
743
+            return r_data.customGET('fetchData/' + model + '/' + dataId);
757 744
         },
758 745
         addData: function (model, data) {
759 746
             return r_data.customPOST(data, 'addData/' + model, {});

+ 559 - 0
assets/views/incident/incidentDetail.html

@@ -0,0 +1,559 @@
1
+<style>
2
+    .tree-control .tree-view .item-container:hover,
3
+    .tree-control .tree-view .selected,
4
+    .tree-control .tree-view .active {
5
+        background-color: #428bca;
6
+        background-image: linear-gradient(#428bca, #428bca) !important;
7
+        background: #428bca;
8
+        color: #fff;
9
+    }
10
+
11
+    .tree-control .tree-view .item-container:hover .expand,
12
+    .tree-control .tree-view .selected .expand,
13
+    .tree-control .tree-view .active .expand {
14
+        border-left: 10px solid #fff;
15
+    }
16
+
17
+    .tree-control .tree-view .item-container:hover .expand-opened,
18
+    .tree-control .tree-view .selected .expand-opened,
19
+    .tree-control .tree-view .active .expand-opened {
20
+        border-bottom: 0px solid transparent;
21
+        border-left: 6px solid transparent;
22
+        border-right: 6px solid transparent;
23
+        border-top: 10px solid #fff;
24
+    }
25
+
26
+    textarea.autosize {
27
+        height: 100px;
28
+    }
29
+
30
+    /* 事件工单信息 */
31
+    .ui-workernumbersign .inp{
32
+        width: 50px;
33
+    }
34
+    .ui-workernumbersign img{
35
+        width: 100%;
36
+    }
37
+
38
+    /* 报修/处理图片 */
39
+    .ui-repair-photos .fileupload{
40
+        width: 100px;
41
+        height: 100px;
42
+        border: 1px dotted #ccc;
43
+        display: inline-block;
44
+        background: #fff;
45
+        margin: 1%;
46
+    }
47
+    .ui-repair-photos .imgsBox {
48
+        border: 1px solid #ddd;
49
+        display: flex;
50
+        flex-wrap: wrap;
51
+        padding: 10px 10px;
52
+    }
53
+    /* 处理节点 */
54
+    .ui-followStatus2 .center{
55
+        text-align: center!important;
56
+    }
57
+    /* 联系电话 */
58
+    .ui-inputcall .input-group-btn{
59
+        height: 28px!important;
60
+    }
61
+    .ui-inputcall .input-group-btn:last-child>.btn{
62
+        height: 28px;
63
+    }
64
+    /* 处理方案 */
65
+    .ui-divTextarea #textarea {
66
+        height: auto;
67
+        min-height: 28px;
68
+        width: 100%;
69
+        padding: 4px;
70
+        color: #666;
71
+        background-color: #eee;
72
+        border: 1px solid #dedede;
73
+        border-radius: 2px;
74
+        resize: vertical;
75
+        overflow: auto;
76
+        transition-duration: 0.1s;
77
+        transition: 300ms ease-in-out;
78
+        font-size: 14px;
79
+    }
80
+    .ui-divTextarea #textarea img{
81
+        width: 400px;
82
+    }
83
+
84
+    .ui-divTextarea #textarea:focus,
85
+    .ui-divTextarea #textarea:hover {
86
+        outline: none;
87
+        background: #f7f7f8 !important;
88
+        border-color: #F8F8F8;
89
+    }
90
+</style>
91
+<div ng-controller="incidentDetailCtrl">
92
+    <form ng-submit="vm.submit(vm.model,'expand-right')" class="fontcolor-two">
93
+        <div class="panel">
94
+            <div class="col-xs-12 ui-title">
95
+                <section id="page-title-form">
96
+                    <div class="row">
97
+                        <div class="col-sm-8">
98
+                            <h1 class="mainTitle">
99
+                                事件详情<i tooltip="请查看事件" tooltip-placement="right" class="fa ti-help-alt margin-left-10 fontcolor-five pointfont"></i>
100
+                            </h1>
101
+                        </div>
102
+                    </div>
103
+                </section>
104
+            </div>
105
+        </div>
106
+        <div class="panel col-xs-3 col-left-0 ">
107
+            <div class="row">
108
+                <div class="col-xs-12 ui-deptinformation">
109
+                    <div class="row searchrequster" id="searchid">
110
+                        <div class="col-md-12 formheard_pad">
111
+                            <div class="pull-left fontcolor-two fontsizes-16 font-weight-500">
112
+                            报修科室基本信息
113
+                            </div>
114
+                        </div>
115
+                        <div class="col-md-12 col-10 requestconnect padding-top-5">
116
+                            <div class="requestback pull-left">
117
+                                <div class="col-md-12">
118
+                                <div class="control-label col-xs-12 fontsizes-16 formheardpad">
119
+                                    <div class="row">
120
+                                    <div class="demo pull-left">科室名称</div>
121
+                                    <span class="font-weight-600">: {{model.department.dept}}</span>
122
+                                    </div>
123
+                                </div>
124
+                                </div>
125
+                                <div class="col-md-12">
126
+                                <div class="control-label col-xs-12 fontsizes-16 formheardpad">
127
+                                    <div class="row">
128
+                                    <div class="demo pull-left">区域地点</div>
129
+                                    <span class="font-weight-600">
130
+                                        :
131
+                                        {{model.department.place.area.area+''+model.department.place.place}}</span
132
+                                    >
133
+                                    </div>
134
+                                </div>
135
+                                </div>
136
+                                <div class="col-md-12">
137
+                                <div class="control-label col-xs-12 fontsizes-16 formheardpad">
138
+                                    <div class="row">
139
+                                    <div class="demo pull-left">科室电话</div>
140
+                                    <span class="font-weight-600">: {{model.department.phone}}</span>
141
+                                    </div>
142
+                                </div>
143
+                                </div>
144
+                                <div class="col-md-12">
145
+                                <div class="control-label col-xs-12  fontsizes-16 formheardpad">
146
+                                    <div class="row">
147
+                                        <div class="demo pull-left">来电号码</div>
148
+                                        <div class="font-weight-600">: {{model.incomingPhone}}</div>
149
+                                    </div>
150
+                                </div>
151
+                                </div>
152
+                            </div>
153
+                        </div>
154
+                    </div>
155
+                </div>
156
+            </div>
157
+            <div>
158
+                <div class="row">
159
+                    <div class="col-xs-12 ui-workernumbersign">
160
+                        <div class="row worknumber fontcolor-two margin-top-10" id="searchid">
161
+                            <div class="col-md-12 formheard_pad">
162
+                                <div class="pull-left  fontsizes-16 font-weight-500">
163
+                                    事件工单信息
164
+                                </div>
165
+                            </div>
166
+                            <div class="col-md-12 col-10 workconnect padding-top-10 fontsizes-14">
167
+                                <div class="workback pull-left">
168
+                                    <div class="col-md-12 ">
169
+                                        <div class="control-label col-xs-6  fontsizes-14 formheardpad">
170
+                                            <div class="row pull-left ">事件工单:</div>
171
+                                        </div>
172
+                                        <div class="control-label col-xs-6 col-0  fontsizes-14 formheardpad">
173
+                                            <div>{{model.incidentsign}}</div>
174
+                                        </div>
175
+                                    </div>
176
+                                    <div class="col-md-12 ">
177
+                                        <div class="control-label col-xs-6  fontsizes-14 formheardpad">
178
+                                            <div class="row pull-left ">登记时间:</div>
179
+                                        </div>
180
+                                        <div class="control-label col-xs-6 col-0   fontsizes-14 formheardpad">
181
+                                            <div>{{model.acceptDate}}
182
+                                            </div>
183
+                                        </div>
184
+                                    </div>
185
+                                    <div class="col-md-12 ">
186
+                                        <div class="control-label col-xs-6  fontsizes-14 formheardpad">
187
+                                            <div class="row pull-left ">受理人:</div>
188
+                                        </div>
189
+                                        <div class="control-label col-xs-6 col-0   fontsizes-14 formheardpad">
190
+                                            <div>{{model.acceptUser.name}}
191
+                                            </div>
192
+                                        </div>
193
+                                    </div>
194
+                                    <div class="col-md-12 ">
195
+                                        <div class="control-label col-xs-6  fontsizes-14 formheardpad">
196
+                                            <div class="row pull-left ">预计响应时间:</div>
197
+                                        </div>
198
+                                        <div class="control-label col-xs-6 col-0   fontsizes-14 formheardpad">
199
+                                            <div>{{model.expectResponseTime||'--'}} 分钟</div>
200
+                                        </div>
201
+                                    </div>
202
+                                    <div class="col-md-12 ">
203
+                                        <div class="control-label col-xs-6  fontsizes-14 formheardpad">
204
+                                            <div class="row pull-left ">预计解决时间:</div>
205
+                                        </div>
206
+                                        <div class="control-label col-xs-6 col-0   fontsizes-14 formheardpad">
207
+
208
+                                            <div>{{model.expectIntroTime?(model.expectIntroTime|minutesToHours):'--分钟'}}</div>
209
+                                        </div>
210
+                                    </div>
211
+                                    <div class="col-md-12 ">
212
+                                        <div class="control-label col-xs-6  fontsizes-14 formheardpad">
213
+                                            <div class="row pull-left ">逾期解决时间:</div>
214
+                                        </div>
215
+                                        <div class="control-label col-xs-6 col-0   fontsizes-14 formheardpad">
216
+
217
+                                            <div>{{model.overdueTime||'--'}}</div>
218
+                                        </div>
219
+                                    </div>
220
+                                    <div class="col-md-12 ">
221
+                                        <div class="control-label col-xs-6  fontsizes-14 formheardpad">
222
+                                            <div class="row pull-left ">报修地址:</div>
223
+                                        </div>
224
+                                        <div class="control-label col-xs-6 col-0   fontsizes-14 formheardpad">
225
+                                            <div>{{model.place ? (model.place.area.area + model.place.place) : ''}}{{model.houseNumber || ''}}</div>
226
+                                        </div>
227
+                                    </div>
228
+                                </div>
229
+                            </div>
230
+                        </div>
231
+                    </div>
232
+                </div>
233
+                <div class="row ">
234
+                    <div class="col-xs-12 ui-repair-photos">
235
+                        <div class="row  fontcolor-two margin-top-15">
236
+                            <div class="col-md-12 formheard_pad worknumber">
237
+                                <div class="pull-left  fontsizes-16 font-weight-500">
238
+                                    报修图片
239
+                                </div>
240
+                            </div>
241
+                            <div class="col-md-12" style="padding:0;">
242
+                                <div class="imgsBox">
243
+                                    <div class="fileupload pos-rlt" ng-repeat="(idx,img) in requestImgs" style="position: relative;">
244
+                                        <img ng-src="{{attachmentAddressSplicing(img.relativeFilePath)}}"  style="max-height:300px;object-fit: contain;"
245
+                                            class="pos-rlt" width=100%; height=100%; ng-click="preview('requestImgs', img.relativeFilePath, idx)" />
246
+                                    </div>
247
+                                </div>
248
+                            </div>
249
+                        </div>
250
+                    </div>
251
+                    <div class="col-xs-12 ui-repair-photos">
252
+                        <div class="row  fontcolor-two margin-top-15">
253
+                            <div class="col-md-12 formheard_pad worknumber">
254
+                                <div class="pull-left  fontsizes-16 font-weight-500">
255
+                                    处理图片
256
+                                </div>
257
+                            </div>
258
+                            <div class="col-md-12" style="padding:0;">
259
+                                <div class="imgsBox">
260
+                                    <div class="fileupload pos-rlt" ng-repeat="(idx,img) in userImgs" style="position: relative;">
261
+                                        <img ng-src="{{attachmentAddressSplicing(img.relativeFilePath)}}"  style="max-height:300px;object-fit: contain;"
262
+                                            class="pos-rlt" width=100%; height=100%; ng-click="preview('userImgs', img.relativeFilePath, idx)" />
263
+                                    </div>
264
+                                </div>
265
+                            </div>
266
+                        </div>
267
+                    </div>
268
+                </div>
269
+            </div>
270
+        </div>
271
+        <div class="col-xs-9 col-0 ">
272
+            <div class="panel col-xs-12 col-0 bg-lightgrey margin-top-10 ">
273
+                <div class="col-xs-12 ui-header">
274
+                    <div class="row"><div class="col-xs-12 col-15 form_heard border-top-left-2 border-top-right-2"> <div class = "pull-left fontcolor-two fontsizes-16  font-weight-500" > 报修科室信息 </div> </div></div>
275
+                </div>
276
+                <div class="col-xs-4 ui-label">
277
+                    <div class="form-group">
278
+                        <div class="padding-top-5">
279
+                            <label>报修科室:</label>
280
+                            <div>
281
+                                <input class="form-control" ng-value="model.department.dept" type="text" disabled="disabled" />
282
+                            </div>
283
+                        </div>
284
+                    </div>
285
+                </div>
286
+                <div class="col-xs-4 ui-inputcall">
287
+                    <div class="form-group">
288
+                        <div class="padding-top-5">
289
+                            <label>联系电话:</label>
290
+                            <div class="input-group  col-xs-12">
291
+                                <input class="form-control" ng-model="model.contactsInformation" disabled="disabled" />
292
+                                <span class="input-group-btn">
293
+                                    <button class="btn btn-default" tooltip="拨打" tooltip-placement="top"
294
+                                        ng-click="dialout(model.contactsInformation)"
295
+                                        type="button"><i class="fa fa-phone greenfont"></i>
296
+                                    </button>
297
+                                </span>
298
+                            </div>
299
+                        </div>
300
+                    </div>
301
+                </div>
302
+                <div class="col-xs-4 ui-label">
303
+                    <div class="form-group">
304
+                        <div class="padding-top-5">
305
+                            <label>联系人:</label>
306
+                            <div>
307
+                                <input class="form-control" ng-value="model.contacts" type="text" disabled="disabled" />
308
+                            </div>
309
+                        </div>
310
+                    </div>
311
+                </div>
312
+                <div class="col-xs-4 ui-label">
313
+                    <div class="form-group">
314
+                        <div class="padding-top-5">
315
+                            <label>预约维修时间:</label>
316
+                            <div>
317
+                                <input class="form-control" ng-value="model.yyTime" type="text" disabled="disabled" />
318
+                            </div>
319
+                        </div>
320
+                    </div>
321
+                </div>
322
+            </div>
323
+            <div class="panel col-xs-12 col-0 bg-lightgrey margin-top-10 "
324
+                style="border-bottom-left-radius:0px !important;border-bottom-right-radius:0px !important ">
325
+                <div class="col-xs-12 ui-header">
326
+                    <div class="row"><div class="col-xs-12 col-15 form_heard border-top-left-2 border-top-right-2"> <div class = "pull-left fontcolor-two fontsizes-16  font-weight-500" > 事件信息 </div> </div></div>
327
+                </div>
328
+                <div class="col-xs-4 ui-label">
329
+                    <div class="form-group">
330
+                        <div class="padding-top-5">
331
+                            <label>故障现象:</label>
332
+                            <div>
333
+                                <input class="form-control" ng-value="model.category.category" type="text" disabled="disabled" />
334
+                            </div>
335
+                        </div>
336
+                    </div>
337
+                </div>
338
+                <div class="col-xs-4 ui-label">
339
+                    <div class="form-group">
340
+                        <div class="padding-top-5">
341
+                            <label>事件来源:</label>
342
+                            <div>
343
+                                <input class="form-control" ng-value="model.source.name" type="text" disabled="disabled" />
344
+                            </div>
345
+                        </div>
346
+                    </div>
347
+                </div>
348
+                <div class="col-xs-4 ui-label">
349
+                    <div class="form-group">
350
+                        <div class="padding-top-5">
351
+                            <label>优先级:</label>
352
+                            <div>
353
+                                <input class="form-control" ng-value="model.priority.name" type="text" disabled="disabled" />
354
+                            </div>
355
+                        </div>
356
+                    </div>
357
+                </div>
358
+                <div class="col-xs-4 ui-label">
359
+                    <div class="form-group">
360
+                        <div class="padding-top-5">
361
+                            <label>故障描述:</label>
362
+                            <div>
363
+                                <input class="form-control" ng-value="model.description" type="text" disabled="disabled" />
364
+                            </div>
365
+                        </div>
366
+                    </div>
367
+                </div>
368
+            </div>
369
+            <div class="panel col-xs-12 col-0 bg-lightgrey margin-top-10 "
370
+                style="border-bottom-left-radius:0px !important;border-bottom-right-radius:0px !important ">
371
+                <div class="col-xs-12 ui-header">
372
+                    <div class="row"><div class="col-xs-12 col-15 form_heard border-top-left-2 border-top-right-2"> <div class = "pull-left fontcolor-two fontsizes-16  font-weight-500" > 处理信息 </div> </div></div>
373
+                </div>
374
+                <div class="col-xs-12 ui-followStatus2">
375
+                    <div class="row padding-sm no-padding-vr bordered no-border-hr ">
376
+                        <div class="col-md-12">
377
+                            <div class="panel panel-white">
378
+                                <div class="panel-body">
379
+                                    <table class="table table-striped table-hover">
380
+                                        <thead>
381
+                                            <tr>
382
+                                                <th class="center" style="width: 10px;">#</th>
383
+                                                <th class="center" style="width: 25%;">处理过程</th>
384
+                                                <th class="center" style="width: 25%;">操作人</th>
385
+                                                <th class="center" style="width: 25%;">执行时间</th>
386
+                                                <th class="center" style="width: 25%;">备注</th>
387
+                                            </tr>
388
+                                        </thead>
389
+                                        <tbody>
390
+                                            <tr ng-repeat="item in followData">
391
+                                                <td class="center">{{$index + 1}}</td>
392
+                                                <td class="center">{{item.logType ? item.logType.name : ''}}</td>
393
+                                                <td class="center">{{item.appointorName}}</td>
394
+                                                <td class="center">{{item.startTime|date:'yyyy-MM-dd HH:mm:ss'}}</td>
395
+                                                <td class="center">{{item.workerName}}{{item.groupName}}</td>
396
+                                            </tr>
397
+                                        </tbody>
398
+                                    </table>
399
+                                </div>
400
+                            </div>
401
+                        </div>
402
+                    </div>
403
+                </div>
404
+                <div class="col-xs-4 ui-label">
405
+                    <div class="form-group">
406
+                        <div class="padding-top-5">
407
+                            <label>处理方式:</label>
408
+                            <div>
409
+                                <input class="form-control" ng-value="model.handleCategory.name" type="text" disabled="disabled" />
410
+                            </div>
411
+                        </div>
412
+                    </div>
413
+                </div>
414
+                <div class="col-xs-4 ui-label">
415
+                    <div class="form-group">
416
+                        <div class="padding-top-5">
417
+                            <label>确认故障现象:</label>
418
+                            <div>
419
+                                <input class="form-control" ng-value="model.category.category" type="text" disabled="disabled" />
420
+                            </div>
421
+                        </div>
422
+                    </div>
423
+                </div>
424
+                <div class="col-xs-4 ui-label">
425
+                    <div class="form-group">
426
+                        <div class="padding-top-5">
427
+                            <label>关闭代码:</label>
428
+                            <div>
429
+                                <input class="form-control" ng-value="model.closecode.desc" type="text" disabled="disabled" />
430
+                            </div>
431
+                        </div>
432
+                    </div>
433
+                </div>
434
+                <div class="col-xs-12 ui-divTextarea">
435
+                    <div class="form-group">
436
+                        <div class="padding-top-5">
437
+                            <label>处理方案:</label>
438
+                            <div>
439
+                                <div id="textarea" ng-bind-html="model.handleDescription"></div>
440
+                            </div>
441
+                        </div>
442
+                    </div>
443
+                </div>
444
+                <div class="col-xs-12 ui-followStatus2">
445
+                    <div class="row padding-sm no-padding-vr bordered no-border-hr ">
446
+                        <div class="col-md-12">
447
+                            <div style="color: #333;">维修记录:</div>
448
+                            <div class="panel panel-white">
449
+                                <div class="panel-body">
450
+                                    <table class="table table-striped table-hover" style="table-layout:fixed">
451
+                                        <thead>
452
+                                            <tr>
453
+                                                <th class="center" style="width:10px">#</th>
454
+                                                <th class="center" style="width:100px">处理人</th>
455
+                                                <th class="center" style="width:200px">时间</th>
456
+                                                <th class="center" style="width:100px">维修方式</th>
457
+                                                <th class="center" style="width:100px">预估天数</th>
458
+                                                <th class="center">备注</th>
459
+                                            </tr>
460
+                                        </thead>
461
+                                        <tbody>
462
+                                            <tr ng-repeat="item in model.handlerLogs">
463
+                                                <td class="center">{{$index + 1}}</td>
464
+                                                <td class="center">{{item.userName}}</td>
465
+                                                <td class="center">{{item.opTime|date:'yyyy-MM-dd HH:mm:ss'}}</td>
466
+                                                <td class="center">{{item.repairType ? item.repairType.name : ''}}</td>
467
+                                                <td class="center">{{item.expectedDay}}</td>
468
+                                                <td class="center" style="white-space: normal;word-break:break-all">{{item.opValue}}</td>
469
+                                            </tr>
470
+                                        </tbody>
471
+                                    </table>
472
+                                </div>
473
+                            </div>
474
+                        </div>
475
+                    </div>
476
+                </div>
477
+            </div>
478
+            <div class="panel col-xs-12 col-0 bg-lightgrey margin-top-10 "
479
+                style="border-bottom-left-radius:0px !important;border-bottom-right-radius:0px !important ">
480
+                <div class="col-xs-12 ui-header">
481
+                    <div class="row"><div class="col-xs-12 col-15 form_heard border-top-left-2 border-top-right-2"> <div class = "pull-left fontcolor-two fontsizes-16  font-weight-500" > 评价信息 </div> </div></div>
482
+                </div>
483
+                <div class="col-xs-4 ui-label">
484
+                    <div class="form-group">
485
+                        <div class="padding-top-5">
486
+                            <label>满意度评价:</label>
487
+                            <div>
488
+                                <input class="form-control" ng-value="model.wxdegree.name" type="text" disabled="disabled" />
489
+                            </div>
490
+                        </div>
491
+                    </div>
492
+                </div>
493
+                <div class="col-xs-12 ui-label">
494
+                    <div class="form-group">
495
+                        <div class="padding-top-5">
496
+                            <label>评价内容:</label>
497
+                            <div>
498
+                                <textarea class="form-control autosize msd-elastic: \n;" data-ng-model="model.wxdegreeremark" ng-disabled="{{true}}"></textarea>
499
+                            </div>
500
+                        </div>
501
+                    </div>
502
+                </div>
503
+            </div>
504
+            <div class="panel col-xs-12 col-0 bg-lightgrey margin-top-10 "
505
+                style="border-bottom-left-radius:0px !important;border-bottom-right-radius:0px !important ">
506
+                <div class="col-xs-12 ui-header">
507
+                    <div class="row"><div class="col-xs-12 col-15 form_heard border-top-left-2 border-top-right-2"> <div class = "pull-left fontcolor-two fontsizes-16  font-weight-500" > 关单信息 </div> </div></div>
508
+                </div>
509
+                <div class="col-xs-4 ui-label">
510
+                    <div class="form-group">
511
+                        <div class="padding-top-5">
512
+                            <label>结果类型:</label>
513
+                            <div>
514
+                                <input class="form-control" ng-value="model.handleResult.name" type="text" disabled="disabled" />
515
+                            </div>
516
+                        </div>
517
+                    </div>
518
+                </div>
519
+                <div class="col-xs-4 ui-label">
520
+                    <div class="form-group">
521
+                        <div class="padding-top-5">
522
+                            <label>满意度评价:</label>
523
+                            <div>
524
+                                <input class="form-control" ng-value="model.degree.name" type="text" disabled="disabled" />
525
+                            </div>
526
+                        </div>
527
+                    </div>
528
+                </div>
529
+                <div class="col-xs-4 ui-label">
530
+                    <div class="form-group">
531
+                        <div class="padding-top-5">
532
+                            <label>是否已解决:</label>
533
+                            <div>
534
+                                <input class="form-control" ng-value="model.isclose" type="text" disabled="disabled" />
535
+                            </div>
536
+                        </div>
537
+                    </div>
538
+                </div>
539
+                <div class="col-xs-12 ui-label">
540
+                    <div class="form-group">
541
+                        <div class="padding-top-5">
542
+                            <label>回访备注:</label>
543
+                            <div>
544
+                                <input class="form-control" ng-value="model.visitRemarks" type="text" disabled="disabled" />
545
+                            </div>
546
+                        </div>
547
+                    </div>
548
+                </div>
549
+            </div>
550
+            <div class="col-xs-12 margin-top-30 margin-bottom-30 text-center ">
551
+                <button type="submit" ng-if="vm.model.submit" ladda="ldloading.expand_right " style="height: 34px;"
552
+                    data-style="expand-right " class="btn btn-addbutton addbutton "
553
+                    ng-disabled="ldloading.expand_right ">{{vm.model.submit}}</button>
554
+                <button type="close" class="btn btn-default default" ng-click="closeModel()"
555
+                    translate="form.button.CLOSE">CLOSE</button>
556
+            </div>
557
+        </div>
558
+    </form>
559
+</div>

+ 2 - 3
assets/views/newOrderSeimin.html

@@ -487,9 +487,8 @@
487 487
   <div class="modal-footer">
488 488
     <label style="display: inline-flex;align-items:center;cursor: pointer;position: relative;top: 3px;right: 16px;"><input style="margin:0;" type="checkbox" ng-model="isBuildOrderAgagin">是否连续建单</label>
489 489
     <button class="btn btn-primary" ng-click="build()">直接解决</button>
490
-    <button class="btn btn-primary" ng-click="buildAndAssign()">
491
-      建单并派单
492
-    </button>
490
+    <button class="btn btn-primary" ng-click="buildAndAssign()">建单并派单</button>
491
+    <button class="btn btn-primary" ng-click="temporaryStorage()">暂存</button>
493 492
     <button class="btn btn-primary btn-o" ng-click="cancel()">取消</button>
494 493
   </div>
495 494
 </div>