瀏覽代碼

呼叫中心修复

seimin 3 年之前
父節點
當前提交
e8096bbd66

+ 218 - 26
assets/js/controllers/mainCtrl.js

@@ -44,9 +44,10 @@ app.controller('AppCtrl', ['$rootScope', '$scope', '$state', '$translate', '$loc
44
     // $win.on('beforeunload', function() { return $state.go("login.signin"); });
44
     // $win.on('beforeunload', function() { return $state.go("login.signin"); });
45
     // $auth.deleteData('auth_headers')
45
     // $auth.deleteData('auth_headers')
46
     // }
46
     // }
47
+    // 监听路由
47
     $rootScope.$on('$stateChangeStart', function (event, toState, toParams, fromState, fromParams) {
48
     $rootScope.$on('$stateChangeStart', function (event, toState, toParams, fromState, fromParams) {
48
       console.log(event, toState, toParams, fromState, fromParams,'cao')
49
       console.log(event, toState, toParams, fromState, fromParams,'cao')
49
-      if((toState.name == 'app.incident.editor'||toState.name == 'app.incident.editor')&&
50
+      if((toState.name == 'app.incident.chart'||toState.name == 'app.incident.editor')&&
50
       fromState.name){
51
       fromState.name){
51
         $rootScope.phoneNumber = localStorage.getItem('phoneNumber');
52
         $rootScope.phoneNumber = localStorage.getItem('phoneNumber');
52
         //进入页面强制示忙
53
         //进入页面强制示忙
@@ -54,8 +55,8 @@ app.controller('AppCtrl', ['$rootScope', '$scope', '$state', '$translate', '$loc
54
           tlwsa.tlaForceacw($rootScope.phoneNumber);
55
           tlwsa.tlaForceacw($rootScope.phoneNumber);
55
         }
56
         }
56
       }
57
       }
57
-      if((fromState.name == 'app.incident.editor'||fromState.name == 'app.incident.editor')&&
58
-      toState.name != 'app.incident.editor'&&toState.name != 'app.incident.editor'
58
+      if((fromState.name == 'app.incident.chart'||fromState.name == 'app.incident.editor')&&
59
+      toState.name != 'app.incident.chart'&&toState.name != 'app.incident.editor'
59
       ){
60
       ){
60
         $rootScope.phoneNumber = localStorage.getItem('phoneNumber');
61
         $rootScope.phoneNumber = localStorage.getItem('phoneNumber');
61
         //进入页面强制示闲
62
         //进入页面强制示闲
@@ -1292,6 +1293,55 @@ app.controller('AppCtrl', ['$rootScope', '$scope', '$state', '$translate', '$loc
1292
         $rootScope.jry_extnNumberObj.tel2 = angular.copy(res[0]);//转接坐席对象
1293
         $rootScope.jry_extnNumberObj.tel2 = angular.copy(res[0]);//转接坐席对象
1293
         //连接
1294
         //连接
1294
         tlwsa.tlaOpen(websocket_url);
1295
         tlwsa.tlaOpen(websocket_url);
1296
+        // 获取状态
1297
+        $scope.getState = function(){
1298
+          if(location.href.includes('app/incident/editor')||location.href.includes('app/incident/chart')){
1299
+            //进入页面,强制示忙
1300
+            tlwsa.tlaForceacw($rootScope.phoneNumber);
1301
+          }
1302
+          var agcount=tlwsa.tlaGetagentcount();
1303
+          var flag = true;
1304
+          for(var i=0;i<agcount;i++){
1305
+            if(tlwsa.tlaGetagentwid(i) == $rootScope.phoneNumber){
1306
+              flag = false;
1307
+              var state = Number(tlwsa.tlaGetagentstate(i));
1308
+              console.log(state);
1309
+              switch(state){
1310
+                case 0:
1311
+                  $rootScope.jry_state = 'weiqianru';
1312
+                  break;
1313
+                case 1:
1314
+                  $rootScope.jry_state = 'shixian';
1315
+                  break;
1316
+                case 2:
1317
+                  $rootScope.jry_state = 'shimang';
1318
+                  break;
1319
+                case 3:
1320
+                  $rootScope.jry_state = 'laidian';
1321
+                  break;
1322
+                case 5:
1323
+                  $rootScope.jry_state = 'tonghuazhong';
1324
+                  break;
1325
+                case 6:
1326
+                  $rootScope.jry_state = 'zhengzaiwaihu';
1327
+                  break;
1328
+                case 7:
1329
+                  $rootScope.jry_state = 'zhengzaizhuanyi';
1330
+                  break;
1331
+              }
1332
+            }
1333
+            console.log('agnet No. ' + i + ' workid is '+tlwsa.tlaGetagentwid(i) + ' state is ' + tlwsa.tlaGetagentstate(i) + '  '+getStateInfo(tlwsa.tlaGetagentstate(i) ) )
1334
+          }
1335
+          if(flag){
1336
+            $rootScope.jry_state = 'weiqianru';
1337
+          }
1338
+        }
1339
+        // 状态回调函数
1340
+        TLWSA.onStatechange=onstatechange;
1341
+        function onstatechange(){
1342
+          console.log('事件:状态变化----------------------------------------------------');
1343
+          $scope.getState();
1344
+        }
1295
         //连接呼叫中心回调函数
1345
         //连接呼叫中心回调函数
1296
         TLWSA.onOpenreturn = onopenreturn;
1346
         TLWSA.onOpenreturn = onopenreturn;
1297
         function onopenreturn(err) {
1347
         function onopenreturn(err) {
@@ -1311,7 +1361,13 @@ app.controller('AppCtrl', ['$rootScope', '$scope', '$state', '$translate', '$loc
1311
             }
1361
             }
1312
           } else {
1362
           } else {
1313
             console.log('呼叫中心连接失败-----seimin');
1363
             console.log('呼叫中心连接失败-----seimin');
1364
+            $.toaster({
1365
+              priority: 'info',
1366
+              title: '操作',
1367
+              message: '呼叫中心连接失败'
1368
+            });
1314
           }
1369
           }
1370
+          
1315
         }
1371
         }
1316
         //绑定分机回调函数
1372
         //绑定分机回调函数
1317
         TLWSA.onSetphonenumberreturn = onsetphonenumberreturn;
1373
         TLWSA.onSetphonenumberreturn = onsetphonenumberreturn;
@@ -1319,7 +1375,12 @@ app.controller('AppCtrl', ['$rootScope', '$scope', '$state', '$translate', '$loc
1319
           err = Number(err);
1375
           err = Number(err);
1320
           if (!err) {
1376
           if (!err) {
1321
             console.log('绑定分机成功-----seimin');
1377
             console.log('绑定分机成功-----seimin');
1322
-            $rootScope.jry_state = 'shixian';
1378
+            $.toaster({
1379
+              priority: 'info',
1380
+              title: '操作',
1381
+              message: '绑定分机成功'
1382
+            });
1383
+            // $rootScope.jry_state = 'shixian';
1323
             localStorage.setItem('phoneNumber', $rootScope.phoneNumber);
1384
             localStorage.setItem('phoneNumber', $rootScope.phoneNumber);
1324
             if(location.href.includes('app/incident/editor')||location.href.includes('app/incident/chart')){
1385
             if(location.href.includes('app/incident/editor')||location.href.includes('app/incident/chart')){
1325
               //进入页面,强制示忙
1386
               //进入页面,强制示忙
@@ -1327,6 +1388,11 @@ app.controller('AppCtrl', ['$rootScope', '$scope', '$state', '$translate', '$loc
1327
             }
1388
             }
1328
           } else {
1389
           } else {
1329
             console.log('绑定分机失败-----seimin');
1390
             console.log('绑定分机失败-----seimin');
1391
+            $.toaster({
1392
+              priority: 'info',
1393
+              title: '操作',
1394
+              message: '绑定分机失败'
1395
+            });
1330
           }
1396
           }
1331
         }
1397
         }
1332
         //强制示忙回调函数
1398
         //强制示忙回调函数
@@ -1334,10 +1400,20 @@ app.controller('AppCtrl', ['$rootScope', '$scope', '$state', '$translate', '$loc
1334
         function onacw(err) {
1400
         function onacw(err) {
1335
           err = Number(err);
1401
           err = Number(err);
1336
           if (!err) {
1402
           if (!err) {
1337
-            $rootScope.jry_state = 'shimang';
1403
+            // $rootScope.jry_state = 'shimang';
1338
             console.log('强制示忙成功-----seimin');
1404
             console.log('强制示忙成功-----seimin');
1405
+            $.toaster({
1406
+              priority: 'info',
1407
+              title: '操作',
1408
+              message: '示忙成功'
1409
+            });
1339
           }else{
1410
           }else{
1340
             console.log('强制示忙失败-----seimin');
1411
             console.log('强制示忙失败-----seimin');
1412
+            $.toaster({
1413
+              priority: 'info',
1414
+              title: '操作',
1415
+              message: '示忙失败'
1416
+            });
1341
           }
1417
           }
1342
         }
1418
         }
1343
         //强制示闲回调函数
1419
         //强制示闲回调函数
@@ -1346,10 +1422,20 @@ app.controller('AppCtrl', ['$rootScope', '$scope', '$state', '$translate', '$loc
1346
           console.log(err)
1422
           console.log(err)
1347
           err = Number(err);
1423
           err = Number(err);
1348
           if (!err) {
1424
           if (!err) {
1349
-            $rootScope.jry_state = 'shixian';
1425
+            // $rootScope.jry_state = 'shixian';
1350
             console.log('强制示闲成功-----seimin');
1426
             console.log('强制示闲成功-----seimin');
1427
+            $.toaster({
1428
+              priority: 'info',
1429
+              title: '操作',
1430
+              message: '示闲成功'
1431
+            });
1351
           }else{
1432
           }else{
1352
             console.log('强制示闲失败-----seimin');
1433
             console.log('强制示闲失败-----seimin');
1434
+            $.toaster({
1435
+              priority: 'info',
1436
+              title: '操作',
1437
+              message: '示闲失败'
1438
+            });
1353
           }
1439
           }
1354
         }
1440
         }
1355
         //与服务器网络连接中断回调函数
1441
         //与服务器网络连接中断回调函数
@@ -1375,13 +1461,24 @@ app.controller('AppCtrl', ['$rootScope', '$scope', '$state', '$translate', '$loc
1375
           err = Number(err);
1461
           err = Number(err);
1376
           if (!err) {
1462
           if (!err) {
1377
             console.log('签入成功-----seimin');
1463
             console.log('签入成功-----seimin');
1464
+            $.toaster({
1465
+              priority: 'info',
1466
+              title: '操作',
1467
+              message: '签入成功'
1468
+            });
1378
             setTimeout(function () {
1469
             setTimeout(function () {
1379
               console.log('开始绑定分机【' + $rootScope.phoneNumber + '】-----seimin');
1470
               console.log('开始绑定分机【' + $rootScope.phoneNumber + '】-----seimin');
1380
               tlwsa.tlaSetphonenumber($rootScope.phoneNumber);
1471
               tlwsa.tlaSetphonenumber($rootScope.phoneNumber);
1381
             }, 0)
1472
             }, 0)
1382
           } else {
1473
           } else {
1383
             console.log('签入失败-----seimin');
1474
             console.log('签入失败-----seimin');
1475
+            $.toaster({
1476
+              priority: 'info',
1477
+              title: '操作',
1478
+              message: '签入失败'
1479
+            });
1384
           }
1480
           }
1481
+          tlwsa.tlaSubscribestateinfo(2);
1385
         }
1482
         }
1386
         // 签出回调函数
1483
         // 签出回调函数
1387
         TLWSA.onLogoffreturn = onlogoffreturn;
1484
         TLWSA.onLogoffreturn = onlogoffreturn;
@@ -1389,10 +1486,20 @@ app.controller('AppCtrl', ['$rootScope', '$scope', '$state', '$translate', '$loc
1389
           err = Number(err);
1486
           err = Number(err);
1390
           if (!err) {
1487
           if (!err) {
1391
             console.log('签出成功-----seimin');
1488
             console.log('签出成功-----seimin');
1392
-            $rootScope.jry_state = 'weiqianru';
1489
+            $.toaster({
1490
+              priority: 'info',
1491
+              title: '操作',
1492
+              message: '签出成功'
1493
+            });
1494
+            // $rootScope.jry_state = 'weiqianru';
1393
             localStorage.removeItem('phoneNumber');
1495
             localStorage.removeItem('phoneNumber');
1394
           } else {
1496
           } else {
1395
             console.log('签出失败-----seimin');
1497
             console.log('签出失败-----seimin');
1498
+            $.toaster({
1499
+              priority: 'info',
1500
+              title: '操作',
1501
+              message: '签出失败'
1502
+            });
1396
           }
1503
           }
1397
         }
1504
         }
1398
         //示忙回调函数
1505
         //示忙回调函数
@@ -1401,9 +1508,19 @@ app.controller('AppCtrl', ['$rootScope', '$scope', '$state', '$translate', '$loc
1401
           err = Number(err);
1508
           err = Number(err);
1402
           if (!err) {
1509
           if (!err) {
1403
             console.log('示忙成功-----seimin');
1510
             console.log('示忙成功-----seimin');
1404
-            $rootScope.jry_state = 'shimang';
1511
+            $.toaster({
1512
+              priority: 'info',
1513
+              title: '操作',
1514
+              message: '示忙成功'
1515
+            });
1516
+            // $rootScope.jry_state = 'shimang';
1405
           } else {
1517
           } else {
1406
             console.log('示忙失败-----seimin');
1518
             console.log('示忙失败-----seimin');
1519
+            $.toaster({
1520
+              priority: 'info',
1521
+              title: '操作',
1522
+              message: '示忙失败'
1523
+            });
1407
           }
1524
           }
1408
         }
1525
         }
1409
         //示闲回调函数
1526
         //示闲回调函数
@@ -1412,9 +1529,19 @@ app.controller('AppCtrl', ['$rootScope', '$scope', '$state', '$translate', '$loc
1412
           err = Number(err);
1529
           err = Number(err);
1413
           if (!err) {
1530
           if (!err) {
1414
             console.log('示闲成功-----seimin');
1531
             console.log('示闲成功-----seimin');
1415
-            $rootScope.jry_state = 'shixian';
1532
+            $.toaster({
1533
+              priority: 'info',
1534
+              title: '操作',
1535
+              message: '示闲成功'
1536
+            });
1537
+            // $rootScope.jry_state = 'shixian';
1416
           } else {
1538
           } else {
1417
             console.log('示闲失败-----seimin');
1539
             console.log('示闲失败-----seimin');
1540
+            $.toaster({
1541
+              priority: 'info',
1542
+              title: '操作',
1543
+              message: '示闲失败'
1544
+            });
1418
           }
1545
           }
1419
         }
1546
         }
1420
         //呼叫坐席回调函数
1547
         //呼叫坐席回调函数
@@ -1423,13 +1550,18 @@ app.controller('AppCtrl', ['$rootScope', '$scope', '$state', '$translate', '$loc
1423
           err = Number(err);
1550
           err = Number(err);
1424
           if (!err) {
1551
           if (!err) {
1425
             console.log('呼叫坐席成功,请摘机-----seimin');
1552
             console.log('呼叫坐席成功,请摘机-----seimin');
1426
-            $rootScope.jry_state = 'tonghuazhong';
1553
+            $.toaster({
1554
+              priority: 'info',
1555
+              title: '操作',
1556
+              message: '呼叫坐席成功,请摘机'
1557
+            });
1558
+            // $rootScope.jry_state = 'tonghuazhong';
1427
           } else {
1559
           } else {
1428
             console.log('呼叫坐席失败-----seimin');
1560
             console.log('呼叫坐席失败-----seimin');
1429
             $.toaster({
1561
             $.toaster({
1430
               priority: 'info',
1562
               priority: 'info',
1431
               title: '操作',
1563
               title: '操作',
1432
-              message: '呼叫失败'
1564
+              message: '呼叫坐席失败'
1433
             });
1565
             });
1434
           }
1566
           }
1435
         }
1567
         }
@@ -1441,21 +1573,41 @@ app.controller('AppCtrl', ['$rootScope', '$scope', '$state', '$translate', '$loc
1441
           var err = Number(jso.err);
1573
           var err = Number(jso.err);
1442
           if (!err) {
1574
           if (!err) {
1443
             console.log('呼叫坐席被接听成功-----seimin');
1575
             console.log('呼叫坐席被接听成功-----seimin');
1444
-            $rootScope.jry_state = 'tonghuazhong';
1576
+            $.toaster({
1577
+              priority: 'info',
1578
+              title: '操作',
1579
+              message: '呼叫坐席被接听成功'
1580
+            });
1581
+            // $rootScope.jry_state = 'tonghuazhong';
1445
           } else {
1582
           } else {
1446
             console.log('呼叫坐席被接听失败-----seimin');
1583
             console.log('呼叫坐席被接听失败-----seimin');
1447
-            $rootScope.jry_state = 'shixian';
1584
+            $.toaster({
1585
+              priority: 'info',
1586
+              title: '操作',
1587
+              message: '呼叫坐席被接听失败'
1588
+            });
1589
+            // $rootScope.jry_state = 'shixian';
1448
           }
1590
           }
1449
         }
1591
         }
1450
-        //被挂断回调函数
1592
+        //挂断回调函数
1451
         TLWSA.onCallend = oncallend;
1593
         TLWSA.onCallend = oncallend;
1452
         function oncallend(jso) {
1594
         function oncallend(jso) {
1453
           console.log(jso);//lmm
1595
           console.log(jso);//lmm
1454
           if (jso) {
1596
           if (jso) {
1455
-            console.log('被挂断成功-----seimin');
1456
-            $rootScope.jry_state = 'shixian';
1597
+            console.log('挂断成功-----seimin');
1598
+            $.toaster({
1599
+              priority: 'info',
1600
+              title: '操作',
1601
+              message: '挂断成功'
1602
+            });
1603
+            // $rootScope.jry_state = 'shixian';
1457
           } else {
1604
           } else {
1458
-            console.log('被挂断失败-----seimin');
1605
+            console.log('挂断失败-----seimin');
1606
+            $.toaster({
1607
+              priority: 'info',
1608
+              title: '操作',
1609
+              message: '挂断失败'
1610
+            });
1459
           }
1611
           }
1460
         }
1612
         }
1461
         //呼入回调函数
1613
         //呼入回调函数
@@ -1465,10 +1617,20 @@ app.controller('AppCtrl', ['$rootScope', '$scope', '$state', '$translate', '$loc
1465
           $rootScope.callInPhoneNumber = jso.caller;//来电的电话
1617
           $rootScope.callInPhoneNumber = jso.caller;//来电的电话
1466
           if (jso) {
1618
           if (jso) {
1467
             console.log('呼入坐席成功,请摘机-----seimin');
1619
             console.log('呼入坐席成功,请摘机-----seimin');
1468
-            $rootScope.jry_state = 'laidian';
1620
+            $.toaster({
1621
+              priority: 'info',
1622
+              title: '操作',
1623
+              message: '呼入坐席成功,请摘机'
1624
+            });
1625
+            // $rootScope.jry_state = 'laidian';
1469
             console.log('来电了!电话号码是【' + $rootScope.callInPhoneNumber + '】');
1626
             console.log('来电了!电话号码是【' + $rootScope.callInPhoneNumber + '】');
1470
           } else {
1627
           } else {
1471
             console.log('呼入坐席失败-----seimin');
1628
             console.log('呼入坐席失败-----seimin');
1629
+            $.toaster({
1630
+              priority: 'info',
1631
+              title: '操作',
1632
+              message: '呼入坐席失败'
1633
+            });
1472
           }
1634
           }
1473
         }
1635
         }
1474
         //呼入摘机应答回调函数
1636
         //呼入摘机应答回调函数
@@ -1477,9 +1639,14 @@ app.controller('AppCtrl', ['$rootScope', '$scope', '$state', '$translate', '$loc
1477
           err = Number(err);
1639
           err = Number(err);
1478
           if (!err) {
1640
           if (!err) {
1479
             console.log('呼入摘机应答成功-----seimin');
1641
             console.log('呼入摘机应答成功-----seimin');
1480
-            $rootScope.jry_state = 'tonghuazhong';
1481
-            //根据电话号码反查报修人hjzxPhone
1482
-            var postData = { "idx": 0, "sum": 10, "requester": { mphone: $rootScope.callInPhoneNumber } };
1642
+            $.toaster({
1643
+              priority: 'info',
1644
+              title: '操作',
1645
+              message: '呼入摘机应答成功'
1646
+            });
1647
+            // $rootScope.jry_state = 'tonghuazhong';
1648
+            //根据电话号码反查报修人
1649
+            var postData = { "idx": 0, "sum": 10, "requester": { hjzxPhone: $rootScope.callInPhoneNumber } };
1483
             api_user_data.fetchDataList('requester', postData).then(function (result) {
1650
             api_user_data.fetchDataList('requester', postData).then(function (result) {
1484
               if (result.status == 200) {
1651
               if (result.status == 200) {
1485
                 console.log(result.list);
1652
                 console.log(result.list);
@@ -1552,6 +1719,11 @@ app.controller('AppCtrl', ['$rootScope', '$scope', '$state', '$translate', '$loc
1552
             })
1719
             })
1553
           } else {
1720
           } else {
1554
             console.log('呼入摘机应答失败-----seimin');
1721
             console.log('呼入摘机应答失败-----seimin');
1722
+            $.toaster({
1723
+              priority: 'info',
1724
+              title: '操作',
1725
+              message: '呼入摘机应答失败'
1726
+            });
1555
           }
1727
           }
1556
         }
1728
         }
1557
         //呼入未摘机应答回调函数
1729
         //呼入未摘机应答回调函数
@@ -1560,9 +1732,19 @@ app.controller('AppCtrl', ['$rootScope', '$scope', '$state', '$translate', '$loc
1560
           err = Number(err);
1732
           err = Number(err);
1561
           if (!err) {
1733
           if (!err) {
1562
             console.log('呼入未摘机应答成功-----seimin');
1734
             console.log('呼入未摘机应答成功-----seimin');
1563
-            $rootScope.jry_state = 'shixian';
1735
+            $.toaster({
1736
+              priority: 'info',
1737
+              title: '操作',
1738
+              message: '呼入未摘机应答成功'
1739
+            });
1740
+            // $rootScope.jry_state = 'shixian';
1564
           } else {
1741
           } else {
1565
             console.log('呼入未摘机应答失败-----seimin');
1742
             console.log('呼入未摘机应答失败-----seimin');
1743
+            $.toaster({
1744
+              priority: 'info',
1745
+              title: '操作',
1746
+              message: '呼入未摘机应答失败'
1747
+            });
1566
           }
1748
           }
1567
         }
1749
         }
1568
         //转接坐席开始回调函数
1750
         //转接坐席开始回调函数
@@ -1571,13 +1753,18 @@ app.controller('AppCtrl', ['$rootScope', '$scope', '$state', '$translate', '$loc
1571
           err = Number(err);
1753
           err = Number(err);
1572
           if (!err) {
1754
           if (!err) {
1573
             console.log('转接坐席开始成功-----seimin');
1755
             console.log('转接坐席开始成功-----seimin');
1574
-            $rootScope.jry_state = 'tonghuazhong';
1756
+            $.toaster({
1757
+              priority: 'info',
1758
+              title: '操作',
1759
+              message: '转接坐席开始成功'
1760
+            });
1761
+            // $rootScope.jry_state = 'tonghuazhong';
1575
           } else {
1762
           } else {
1576
             console.log('转接坐席开始失败-----seimin');
1763
             console.log('转接坐席开始失败-----seimin');
1577
             $.toaster({
1764
             $.toaster({
1578
               priority: 'info',
1765
               priority: 'info',
1579
               title: '操作',
1766
               title: '操作',
1580
-              message: '转接失败'
1767
+              message: '转接坐席开始失败'
1581
             });
1768
             });
1582
           }
1769
           }
1583
         }
1770
         }
@@ -1587,13 +1774,18 @@ app.controller('AppCtrl', ['$rootScope', '$scope', '$state', '$translate', '$loc
1587
           err = Number(err);
1774
           err = Number(err);
1588
           if (!err) {
1775
           if (!err) {
1589
             console.log('转接坐席结果成功-----seimin');
1776
             console.log('转接坐席结果成功-----seimin');
1590
-            $rootScope.jry_state = 'shixian';
1777
+            $.toaster({
1778
+              priority: 'info',
1779
+              title: '操作',
1780
+              message: '转接坐席结果成功'
1781
+            });
1782
+            // $rootScope.jry_state = 'shixian';
1591
           } else {
1783
           } else {
1592
             console.log('转接坐席结果失败-----seimin');
1784
             console.log('转接坐席结果失败-----seimin');
1593
             $.toaster({
1785
             $.toaster({
1594
               priority: 'info',
1786
               priority: 'info',
1595
               title: '操作',
1787
               title: '操作',
1596
-              message: '转接失败'
1788
+              message: '转接坐席结果失败'
1597
             });
1789
             });
1598
           }
1790
           }
1599
         }
1791
         }

+ 6 - 6
assets/js/directives/ola_api2.js

@@ -95,7 +95,7 @@ TLWSA.onHardwarefail=onhardwarefail;
95
 TLWSA.onConferencememberstate=onconferencememberstate;
95
 TLWSA.onConferencememberstate=onconferencememberstate;
96
 TLWSA.onSlaveserverfail=onslaveserverfail; //备用服务器故障 例如硬件故障或者中继失步
96
 TLWSA.onSlaveserverfail=onslaveserverfail; //备用服务器故障 例如硬件故障或者中继失步
97
 TLWSA.onSwitchtoslaveserver=onswitchtoslaveserver;
97
 TLWSA.onSwitchtoslaveserver=onswitchtoslaveserver;
98
-TLWSA.onStatechange=onstatechange;
98
+// TLWSA.onStatechange=onstatechange;
99
 TLWSA.onMyStatechange=onmystatechange;
99
 TLWSA.onMyStatechange=onmystatechange;
100
 //应答回调
100
 //应答回调
101
 // function onopenreturn(err)
101
 // function onopenreturn(err)
@@ -332,11 +332,11 @@ function onqueue(crs,caller,callee,data)
332
 {
332
 {
333
     console.log('事件:外线进入队列,crs,caller,callee,data= '+crs+' '+caller+' '+callee+' '+data)
333
     console.log('事件:外线进入队列,crs,caller,callee,data= '+crs+' '+caller+' '+callee+' '+data)
334
 }
334
 }
335
-function onstatechange()
336
-{
337
-	console.log('事件:状态变化----------------------------------------------------');
338
-	queryAgentState();
339
-}
335
+// function onstatechange()
336
+// {
337
+// 	console.log('事件:状态变化----------------------------------------------------');
338
+// 	queryAgentState();
339
+// }
340
 function onmystatechange(jso)
340
 function onmystatechange(jso)
341
 {
341
 {
342
 	console.log('事件:状态变化----------------------------------------------------');
342
 	console.log('事件:状态变化----------------------------------------------------');

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

@@ -275,13 +275,13 @@
275
                     </div> -->
275
                     </div> -->
276
                 <!-- </div> -->
276
                 <!-- </div> -->
277
                 <div class="know-text-group clearfix">
277
                 <div class="know-text-group clearfix">
278
-                    <div class="know-text-group_block fr" style="font-size: 16px;">
278
+                    <div class="know-text-group_block fl" style="font-size: 16px;">
279
                         <div class="know-text-group_item fl">实时工单情况<strong></strong></div>
279
                         <div class="know-text-group_item fl">实时工单情况<strong></strong></div>
280
                         <div class="know-text-group_item fl">今日建单数:<strong class="know-text-group_strong" ng-click="goTo('app.incident.list',{tab:'all',date:'today'})">{{managerIndexInfo.createOrders}}</strong></div>
280
                         <div class="know-text-group_item fl">今日建单数:<strong class="know-text-group_strong" ng-click="goTo('app.incident.list',{tab:'all',date:'today'})">{{managerIndexInfo.createOrders}}</strong></div>
281
                         <div class="know-text-group_item fl">所有待接单数:<strong class="know-text-group_strong" ng-click="goTo('app.incident.list',{tab:'all',state:'1543'})">{{managerIndexInfo.waitOrders}}</strong></div>
281
                         <div class="know-text-group_item fl">所有待接单数:<strong class="know-text-group_strong" ng-click="goTo('app.incident.list',{tab:'all',state:'1543'})">{{managerIndexInfo.waitOrders}}</strong></div>
282
                         <div class="know-text-group_item fl">所有处理中:<strong class="know-text-group_strong" ng-click="goTo('app.incident.list',{tab:'all',state:'1544'})">{{managerIndexInfo.doingOrders}}</strong></div>
282
                         <div class="know-text-group_item fl">所有处理中:<strong class="know-text-group_strong" ng-click="goTo('app.incident.list',{tab:'all',state:'1544'})">{{managerIndexInfo.doingOrders}}</strong></div>
283
                     </div>
283
                     </div>
284
-                    <div class="know-text-group_block fl">
284
+                    <div class="know-text-group_block fr">
285
                         <div class="know-text-group_item fl">今日应到运维人员:<strong>{{managerIndexInfo.usersCount}}</strong></div>
285
                         <div class="know-text-group_item fl">今日应到运维人员:<strong>{{managerIndexInfo.usersCount}}</strong></div>
286
                         <div class="know-text-group_item fl">实到:<strong>{{managerIndexInfo.onlineCount}}</strong></div>
286
                         <div class="know-text-group_item fl">实到:<strong>{{managerIndexInfo.onlineCount}}</strong></div>
287
                         <div class="know-text-group_item fl">迟到:<strong>{{managerIndexInfo.errorOnlineCount}}</strong></div>
287
                         <div class="know-text-group_item fl">迟到:<strong>{{managerIndexInfo.errorOnlineCount}}</strong></div>

+ 134 - 0
assets/views/incident/tpl/tel.html

@@ -9,6 +9,140 @@
9
     .hj .body .rigt .div{
9
     .hj .body .rigt .div{
10
         height: 100px!important;
10
         height: 100px!important;
11
     }
11
     }
12
+
13
+    .hj {
14
+        position: absolute;
15
+        left: 50%;
16
+        top: 50%;
17
+        transform: translate(-50%,-50%);
18
+        display: flex;
19
+        flex-direction: column;
20
+        width: 340px;
21
+        z-index: 11;
22
+        background-color: white;
23
+        border-radius: 4px;
24
+        transition-duration: 0.8s
25
+    }
26
+
27
+    /* 头部 */
28
+    .hj .head {
29
+        text-align: center;
30
+        height: 40px;
31
+        line-height: 40px;
32
+        border-bottom: 1px #d1d1d1 solid
33
+    }
34
+
35
+    /* 交叉 */
36
+    .hj .head .jiaocha {
37
+        float: right;
38
+        width: 14px;
39
+        height: 14px;
40
+        line-height: 12px;
41
+        text-align: center;
42
+        border: 1px #6e6e6e solid;
43
+        border-radius: 50%;
44
+        margin-right: 20px;
45
+        margin-top: 15px;
46
+        cursor: pointer;
47
+    }
48
+
49
+    /* 主体 */
50
+    .hj .body {
51
+        overflow: auto;
52
+        width: 298px;
53
+        max-height: 400px;
54
+        background-color: #f5f5f5;
55
+        border: 1px #d1d1d1 solid;
56
+        margin: 0 auto;
57
+        border-radius: 2px;
58
+        margin-top: 10px;
59
+        flex:1;
60
+    }
61
+    .hj .body::-webkit-scrollbar {         /*滚动条整体样式*/
62
+        width:3px;
63
+        height:3px;
64
+    }
65
+    .hj .body::-webkit-scrollbar-thumb {   /*滚动条里面小方块样式*/
66
+        border-radius:100px;
67
+        box-shadow:inset 0 0 5px rgba(0,0,0,0.2);
68
+        background:rgba(0,0,0,0.1);;
69
+    } 
70
+    .hj .body::-webkit-scrollbar-track {   /*滚动条里面轨道样式*/
71
+        box-shadow:inset 0 0 5px rgba(0,0,0,0.2);
72
+        border-radius:0;
73
+        background:rgba(0,0,0,0.1);
74
+    }
75
+
76
+    .hj .body .xing {
77
+        color: red;
78
+        float: left;
79
+        width: 20px;
80
+        text-align: center;
81
+        margin-top: 12px
82
+    }
83
+
84
+    .hj .body .xing div {
85
+        height: 70px;
86
+        font-size: 16px
87
+    }
88
+
89
+    .hj .body .rigt {
90
+        float: left;
91
+        margin-top: 12px
92
+    }
93
+
94
+    .hj .body .rigt .div {
95
+        height: 70px;
96
+    }
97
+
98
+    .hj .body .rigt span {
99
+        font-size: 13px;
100
+        font-weight: bold
101
+    }
102
+
103
+    .hj .body .rigt .xiala {
104
+        margin-top: 4px;
105
+        width: 258px !important;
106
+        height: auto;
107
+        background-color: #f5f5f5
108
+    }
109
+
110
+    .hj .body .rigt .xialaipt {
111
+        margin-top: 4px;
112
+        width: 258px !important;
113
+        height: 32px;
114
+    }
115
+    .hj .body .rigt .price {
116
+        margin-top: 4px;
117
+        width: 100px !important;
118
+        height: 32px;
119
+    }
120
+
121
+    .hj .submi {
122
+        text-align: center;
123
+    }
124
+
125
+    .hj .submi input {
126
+        margin-top: 10px;
127
+        margin-bottom: 10px;
128
+        width: 78px;
129
+        height: 32px;
130
+        border: none;
131
+    }
132
+
133
+    /* 保存 */
134
+    .hj .submi .preservation {
135
+        background-color: #123f8f !important;
136
+        color: white;
137
+        border: 1px #123f8f solid
138
+    }
139
+
140
+    /* 取消 */
141
+    .hj .submi .cancel {
142
+        background-color: #f2f2f2;
143
+        color: #373737;
144
+        border: 1px #d1d1d1 solid
145
+    }
12
 </style>
146
 </style>
13
 <div class="new new_after hj">
147
 <div class="new new_after hj">
14
     <div class="head">
148
     <div class="head">

+ 9 - 14
assets/views/incident/tpl/toAssign.tpl.html

@@ -5,12 +5,12 @@
5
     </div>
5
     </div>
6
 </div>
6
 </div>
7
 <div class="modal-body center">
7
 <div class="modal-body center">
8
-    <div class="form-group incidentsearch" style="margin:0 auto;width: 380px;">
8
+    <div class="form-group incidentsearch" style="margin:0 auto;width: 300px;">
9
         <div class=" input-group" style="margin:8px 0 0;">
9
         <div class=" input-group" style="margin:8px 0 0;">
10
             <div class="control-label pull-left margin-top-5 margin-right-5">
10
             <div class="control-label pull-left margin-top-5 margin-right-5">
11
                 <label class="demoincident">工作组</label>:</div>
11
                 <label class="demoincident">工作组</label>:</div>
12
             <div class="pull-right">
12
             <div class="pull-right">
13
-                <ui-select class="pull-left" style="width:310px" ng-model="assignGroup" theme="bootstrap" ng-change="onChangeRotateGroup($select.selected)">
13
+                <ui-select class="pull-left" style="width:230px" ng-model="assignGroup" theme="bootstrap" ng-change="onChangeRotateGroup($select.selected)">
14
                     <ui-select-match placeholder="">
14
                     <ui-select-match placeholder="">
15
                         {{$select.selected.groupName}}
15
                         {{$select.selected.groupName}}
16
                     </ui-select-match>
16
                     </ui-select-match>
@@ -21,17 +21,17 @@
21
             </div>
21
             </div>
22
         </div>
22
         </div>
23
     </div>
23
     </div>
24
-    <div class="form-group incidentsearch" style="margin:0 auto;width: 380px;">
24
+    <div class="form-group incidentsearch" style="margin:0 auto;width: 300px;">
25
         <div class=" input-group" style="margin:8px 0 0;">
25
         <div class=" input-group" style="margin:8px 0 0;">
26
             <div class="control-label pull-left margin-top-5 margin-right-5">
26
             <div class="control-label pull-left margin-top-5 margin-right-5">
27
                 <label class="demoincident">指派对象</label>:</div>
27
                 <label class="demoincident">指派对象</label>:</div>
28
             <div class="pull-right">
28
             <div class="pull-right">
29
-                <ui-select class="pull-left" style="width:310px" ng-model="assignUser" theme="bootstrap" ng-change="onChangeRotateUser($select.selected)">
29
+                <ui-select class="pull-left" style="width:230px" ng-model="assignUser" theme="bootstrap" ng-change="onChangeRotateUser($select.selected)">
30
                     <ui-select-match placeholder="">
30
                     <ui-select-match placeholder="">
31
-                        {{$select.selected.userTaskCount}}
31
+                        {{$select.selected.name + '【'+$select.selected.taskCount+'】'}}
32
                     </ui-select-match>
32
                     </ui-select-match>
33
                     <ui-select-choices repeat="item in user | filter:{$:$select.search}">
33
                     <ui-select-choices repeat="item in user | filter:{$:$select.search}">
34
-                        <div ng-bind-html="item.userTaskCount | highlight: $select.search"></div>
34
+                        <div ng-bind-html="(item.name + '【'+item.taskCount+'】') | highlight: $select.search"></div>
35
                     </ui-select-choices>
35
                     </ui-select-choices>
36
                 </ui-select>
36
                 </ui-select>
37
             </div>
37
             </div>
@@ -39,11 +39,6 @@
39
     </div>
39
     </div>
40
 </div>
40
 </div>
41
 <div class="modal-footer modelfooter-hint pointfont">
41
 <div class="modal-footer modelfooter-hint pointfont">
42
-    <div class="hintfooterleft pull-left" ng-click="ok()" translate="modal.button.OK ">OK</div>
43
-    <div class="hintfooterright pull-right" ng-click="cancel() " translate="modal.button.CANCEL ">Cancel</div>
44
-</div>
45
-<style>
46
-    .modal-dialog{
47
-        width: 450px!important;
48
-    }
49
-</style>
42
+    <div class="hintfooterleft pull-left" ng-click="ok()">确定</div>
43
+    <div class="hintfooterright pull-right" ng-click="cancel()">取消</div>
44
+</div>

+ 3 - 3
assets/views/partials/off-sidebar2.html

@@ -2,13 +2,14 @@
2
 <tabset class="sidebar-wrapper" justified="true">
2
 <tabset class="sidebar-wrapper" justified="true">
3
   <tab>
3
   <tab>
4
     <tab-heading>
4
     <tab-heading>
5
-      <i class="fa fa-phone"></i>
5
+      当前绑定分机:<i class="fa fa-phone"></i>{{phoneNumber}}
6
     </tab-heading>
6
     </tab-heading>
7
     <div class="tab-pane" id="getup">
7
     <div class="tab-pane" id="getup">
8
       <div class="users-list fontsizes-14">
8
       <div class="users-list fontsizes-14">
9
         <div style="padding: 0 15px;" class="col-xs-12" ng-if="jry_state!='weiqianru'&&jry_state!='laidian'&&jry_state!='tonghuazhong'">
9
         <div style="padding: 0 15px;" class="col-xs-12" ng-if="jry_state!='weiqianru'&&jry_state!='laidian'&&jry_state!='tonghuazhong'">
10
           <input type="button" ng-if="jry_state=='shixian'" style="margin-left: 8px;" value="示忙" ng-click="jry_shimang()" class="jry_btn">
10
           <input type="button" ng-if="jry_state=='shixian'" style="margin-left: 8px;" value="示忙" ng-click="jry_shimang()" class="jry_btn">
11
           <input type="button" ng-if="jry_state=='shimang'" style="margin-left: 8px;" value="示闲" ng-click="jry_shixian()" class="jry_btn">
11
           <input type="button" ng-if="jry_state=='shimang'" style="margin-left: 8px;" value="示闲" ng-click="jry_shixian()" class="jry_btn">
12
+          <input type="button" style="margin-left:8px;" value="签出" ng-click="jry_qianchu()" class="jry_btn">
12
         </div>
13
         </div>
13
         <div ng-if="jry_state=='weiqianru'" class="row form-group fontcolor-two" style="margin-top:30px" id="updata">
14
         <div ng-if="jry_state=='weiqianru'" class="row form-group fontcolor-two" style="margin-top:30px" id="updata">
14
           <div class="col-xs-12 fontsizes-14">
15
           <div class="col-xs-12 fontsizes-14">
@@ -53,7 +54,7 @@
53
             <div class="col-xs-12">
54
             <div class="col-xs-12">
54
               <input type="button" style="margin-left:8px;" value="呼叫" ng-click="tlaCallagc()"
55
               <input type="button" style="margin-left:8px;" value="呼叫" ng-click="tlaCallagc()"
55
                 ng-if="jry_state!='laidian'" class="jry_btn">
56
                 ng-if="jry_state!='laidian'" class="jry_btn">
56
-              <input type="button" style="margin-left:8px;" value="签出" ng-click="jry_qianchu()" class="jry_btn">
57
+              
57
             </div>
58
             </div>
58
           </div>
59
           </div>
59
         </div>
60
         </div>
@@ -77,7 +78,6 @@
77
             </div>
78
             </div>
78
             <div class="col-xs-12">
79
             <div class="col-xs-12">
79
               <input type="button" style="margin-left:8px;" value="转接" ng-click="tlaTransfertoagc()" class="jry_btn">
80
               <input type="button" style="margin-left:8px;" value="转接" ng-click="tlaTransfertoagc()" class="jry_btn">
80
-              <input type="button" style="margin-left:8px;" value="签出" ng-click="jry_qianchu()" class="jry_btn">
81
             </div>
81
             </div>
82
           </div>
82
           </div>
83
         </div>
83
         </div>

+ 11 - 1
assets/views/partials/top-navbar.html

@@ -55,7 +55,7 @@
55
         <!-- <li class="dropdown current-user" dropdown style="width:100px">
55
         <!-- <li class="dropdown current-user" dropdown style="width:100px">
56
             <div class="newOrderBtn" ng-click="newOrder()">快速建单</div>
56
             <div class="newOrderBtn" ng-click="newOrder()">快速建单</div>
57
         </li> -->
57
         </li> -->
58
-        <li class="dropdown current-user" dropdown style="width:100px" ng-if="isFuwutai">
58
+        <li class="dropdown current-user" dropdown style="width:120px" ng-if="isFuwutai">
59
             <div>
59
             <div>
60
                 <!-- 东经呼叫中心 -->
60
                 <!-- 东经呼叫中心 -->
61
                 <!-- 来电  -->
61
                 <!-- 来电  -->
@@ -104,6 +104,16 @@
104
                     <img src="assets/images/connection.png" class="image-widthh-34"><span
104
                     <img src="assets/images/connection.png" class="image-widthh-34"><span
105
                         class="round connectioncolor fontsizes-14">●</span><span
105
                         class="round connectioncolor fontsizes-14">●</span><span
106
                         class="fontcolor-six fontsizes-14">通话中</span> </div>
106
                         class="fontcolor-six fontsizes-14">通话中</span> </div>
107
+                <!--正在外呼  -->
108
+                <div ng-if="jry_state=='zhengzaiwaihu'" class="margin-top-15">
109
+                    <img src="assets/images/connection.png" class="image-widthh-34"><span
110
+                        class="round connectioncolor fontsizes-14">●</span><span
111
+                        class="fontcolor-six fontsizes-14">正在外呼</span> </div>
112
+                <!--正在转移  -->
113
+                <div ng-if="jry_state=='zhengzaizhuanyi'" class="margin-top-15">
114
+                    <img src="assets/images/connection.png" class="image-widthh-34"><span
115
+                        class="round connectioncolor fontsizes-14">●</span><span
116
+                        class="fontcolor-six fontsizes-14">正在转移</span> </div>
107
             </div>
117
             </div>
108
         </li>
118
         </li>
109
         <li class="dropdown current-user" dropdown on-toggle="toggled(open)">
119
         <li class="dropdown current-user" dropdown on-toggle="toggled(open)">