Commit 158b334a099b626253e76795588cefc809823ec5

Authored by 潘钊
1 parent fdcdcbce

update...

src/main/resources/static/real_control_v2/js/safe_driv/call_phone.js
1 1 var gb_call_phone = function () {
2   - /*
3   -
4   - var basePath = "http://180.168.57.114:4244";
5   - var wsUri = "ws://180.168.57.114:21892/";
6   -
7   - var nbbm2tel = {
8   - "S0E-178":"915618938041",
9   - "S0E-179":"915618937546",
10   - "S0E-182":"915618938047",
11   - "S0E-183":"915618937940",
12   - "S0E-186":"915601989452",
13   - "S0E-187":"915618846405",
14   - "S0E-043":"915618847457",
15   - "S0E-044":"915618845487",
16   - "S2F-070":"915618846479",
17   - "S2F-071":"915601989461",
18   - "S2F-072":"915618937945",
19   - "S2F-073":"915618937845",
20   - "S2F-075":"915618847416",
21   - "S2F-076":"915618847410",
22   - "S2F-077":"915618847413",
23   - "S2F-078":"915618847415",
24   - "S2F-079":"915618847417",
25   - "S2F-080":"915618847418",
26   - "S2F-083":"915618847420",
27   - "S2F-119":"915601987406",
28   - "W0F-018":"915618209534",
29   - "W0F-019":"915601987405",
30   - "W0F-020":"915618278604",
31   - "W0F-021":"915618278614",
32   - "W0F-022":"915618012546",
33   - "W0F-023":"915618278704",
34   - "W0F-024":"915618278594",
35   - "W0F-025":"915601989450",
36   - "W0F-026":"915618209194",
37   - "W0F-027":"915618208724",
38   - "W0F-028":"915618278624",
39   - "W0F-029":"915601988491",
40   - "W0F-030":"915618936848",
41   - "W0F-031":"915618928940",
42   - "W0F-069":"915618011142",
43   - "W0F-070":"915618279534",
44   - "W0F-071":"915601989439",
45   - "W0F-072":"915618011245",
46   - "W0F-073":"915618010242",
47   - "W0F-074":"915618279594",
48   - "W0F-075":"915618010947",
49   - "W0F-089":"915618011747",
50   - "W0F-090":"915618279574",
51   - "S2F-069":"915618938143",
52   - "S2F-081":"915601986481"
53   - };
54   -
55   - var locData = window.localStorage.getItem('test_nbbm2tel_json');
56   - if(locData){
57   - nbbm2tel = JSON.parse(locData);
58   - }
59   -
60   - var login = function (cb) {
61   - var agentID = '1002';
62   - var dn = '6002';
63   -
64   - var options = {
65   - AgentID: agentID,
66   - DN: dn,
67   - wsUri: wsUri,
68   - setbtnStatus: function (stateName) {
69   - //setState(stateName);
70   - console.log('stateName', stateName);
71   -
72   - cb && cb(stateName)
73   - }
74   - };
75   - $.CallCenterInit(options);
76   - };
77   -
78   - var call = function (nbbm, loginSucc, loginFailed, callSucc) {
79   - var telNumber = nbbm2tel[nbbm];
80   - if(!telNumber){
81   - alert('没有该车辆的对照表..');
82   - loginFailed && loginFailed();
83   - return;
84   - }
85   - login(function (sname) {
86   - if(sname=='login'){
87   - loginSucc && loginSucc();
88   -
89   - $.CallCenterPublicFun.Dialing(telNumber);
90   - setTimeout(function () {
91   - callSucc && callSucc();
92   - }, 1000);
93   - }
94   - else{
95   - //loginFailed && loginFailed();
96   - }
97   - });
98   - };
99   -
100   - var hangup = function () {
101   - console.log('hangup...');
102   - $.CallCenterPublicFun.Hangup();
103   - $.CallCenterPublicFun.LoginOff();
104   - };
105   -
106   - return {
107   - call: call,
108   - hangup: hangup,
109   - setNbbm2tel: function (json) {
110   - nbbm2tel = json;
111   -
112   - window.localStorage.setItem('test_nbbm2tel_json', JSON.stringify(nbbm2tel));
113   - },
114   - getNbbm2tel: function () {
115   - return nbbm2tel;
116   - }
117   - }*/
118 2  
119 3 /**
120 4 * 0 已挂断
... ... @@ -128,14 +12,32 @@ var gb_call_phone = function () {
128 12 var agentID;
129 13 var dn;
130 14 var wrap = '.voip_call_info_panel';
  15 + var storage = window.localStorage;
  16 + var loc_dn_key = 'control_sd_voip_dn';
  17 + var callMaxTime = 7;//拨号超时时间-秒
  18 + var $stateBtnTxt;
131 19 var init = function (nbbm) {
  20 + $stateBtnTxt = $('.state_txt>button', wrap);
  21 +
132 22 _nbbm = nbbm;
133 23 agentID = $('[name=agentID]', wrap).val();
134 24 dn = $('[name=dn]', wrap).val();
135 25  
136   - var $stateBtnTxt = $('.state_txt>button', wrap);
137   - var $simInput = $('[name=simNo]', wrap);
  26 + //从本地读取分机号
  27 + var locDn = storage.getItem(loc_dn_key);
  28 + if(!dn && locDn){
  29 + dn = locDn;
  30 + $('[name=dn]', wrap).val(locDn);
  31 + }
  32 +
  33 + if(!dn){
  34 + waitInputDn();
  35 + return;
  36 + }
138 37  
  38 + //将分机号写入本地
  39 + storage.setItem(loc_dn_key, $('[name=dn]', wrap).val());
  40 + var $simInput = $('[name=simNo]', wrap);
139 41 var eq = EventProxy.create('pluginInit', 'getSimNo', function () {
140 42 simNo = ('9' + simNo);
141 43 $simInput.val(simNo);
... ... @@ -143,10 +45,13 @@ var gb_call_phone = function () {
143 45 $stateBtnTxt.text('获取SIM卡号失败!');
144 46 return;
145 47 }
146   - $stateBtnTxt.text('正在拨号...')
  48 +
  49 + _t = 0;
  50 + $stateBtnTxt.text('正在拨号(0)')
147 51 .attr('disabled', 'disabled');
148 52 //拨号
149   - $.PhonePluginFun.Dialing("913052310315");
  53 + $.PhonePluginFun.Dialing(simNo);
  54 + startTimer();
150 55 });
151 56  
152 57 //初始化插件
... ... @@ -161,10 +66,45 @@ var gb_call_phone = function () {
161 66 });
162 67 };
163 68  
  69 + var waitInputDn = function () {
  70 + $stateBtnTxt.text('输入分机号,点击拨号!')
  71 + .removeAttr('disabled')
  72 + .addClass('uk-button-primary')
  73 + .one('click', function () {
  74 + init(_nbbm);
  75 + });;
  76 + $('[name=dn]', wrap).focus();
  77 + };
  78 +
  79 + /**
  80 + * 开始计时器
  81 + */
  82 + var _t = 0, timer;
  83 + var startTimer = function () {
  84 + if(_t >= callMaxTime){
  85 + shutdown();
  86 + return;
  87 + }
  88 + _t ++;
  89 + $stateBtnTxt.text('正在拨号('+_t+')');
  90 + timer = setTimeout(startTimer, 1000);
  91 + };
  92 +
  93 + var shutdown = function () {
  94 + _hangup(true);
  95 + $stateBtnTxt.text('已超时,点击重拨!')
  96 + .removeAttr('disabled')
  97 + .addClass('uk-button-primary')
  98 + .one('click', function () {
  99 + init(_nbbm);
  100 + });;
  101 + };
  102 +
164 103 var talking = function () {
165 104 console.log('talking');
  105 + clearTimeout(timer);
  106 + timer = null;
166 107 phoneStatus = 1;
167   -
168 108 setTimeout(function () {
169 109 var $stateBtnTxt = $('.state_txt>button', wrap);
170 110 $stateBtnTxt.text('已接通,点击挂断!')
... ... @@ -206,8 +146,10 @@ var gb_call_phone = function () {
206 146 cb && cb();
207 147 };
208 148  
209   - var _hangup = function () {
210   - if(phoneStatus==0)
  149 + var _hangup = function (flag) {
  150 + clearTimeout(timer);
  151 + timer = null;
  152 + if(!flag && phoneStatus==0)
211 153 return;
212 154 console.log('hangup...');
213 155 $.CallCenterPublicFun.Hangup();
... ...