Commit 158b334a099b626253e76795588cefc809823ec5

Authored by 潘钊
1 parent fdcdcbce

update...

src/main/resources/static/real_control_v2/js/safe_driv/call_phone.js
1 var gb_call_phone = function () { 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 * 0 已挂断 4 * 0 已挂断
@@ -128,14 +12,32 @@ var gb_call_phone = function () { @@ -128,14 +12,32 @@ var gb_call_phone = function () {
128 var agentID; 12 var agentID;
129 var dn; 13 var dn;
130 var wrap = '.voip_call_info_panel'; 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 var init = function (nbbm) { 19 var init = function (nbbm) {
  20 + $stateBtnTxt = $('.state_txt>button', wrap);
  21 +
132 _nbbm = nbbm; 22 _nbbm = nbbm;
133 agentID = $('[name=agentID]', wrap).val(); 23 agentID = $('[name=agentID]', wrap).val();
134 dn = $('[name=dn]', wrap).val(); 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 var eq = EventProxy.create('pluginInit', 'getSimNo', function () { 41 var eq = EventProxy.create('pluginInit', 'getSimNo', function () {
140 simNo = ('9' + simNo); 42 simNo = ('9' + simNo);
141 $simInput.val(simNo); 43 $simInput.val(simNo);
@@ -143,10 +45,13 @@ var gb_call_phone = function () { @@ -143,10 +45,13 @@ var gb_call_phone = function () {
143 $stateBtnTxt.text('获取SIM卡号失败!'); 45 $stateBtnTxt.text('获取SIM卡号失败!');
144 return; 46 return;
145 } 47 }
146 - $stateBtnTxt.text('正在拨号...') 48 +
  49 + _t = 0;
  50 + $stateBtnTxt.text('正在拨号(0)')
147 .attr('disabled', 'disabled'); 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,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 var talking = function () { 103 var talking = function () {
165 console.log('talking'); 104 console.log('talking');
  105 + clearTimeout(timer);
  106 + timer = null;
166 phoneStatus = 1; 107 phoneStatus = 1;
167 -  
168 setTimeout(function () { 108 setTimeout(function () {
169 var $stateBtnTxt = $('.state_txt>button', wrap); 109 var $stateBtnTxt = $('.state_txt>button', wrap);
170 $stateBtnTxt.text('已接通,点击挂断!') 110 $stateBtnTxt.text('已接通,点击挂断!')
@@ -206,8 +146,10 @@ var gb_call_phone = function () { @@ -206,8 +146,10 @@ var gb_call_phone = function () {
206 cb && cb(); 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 return; 153 return;
212 console.log('hangup...'); 154 console.log('hangup...');
213 $.CallCenterPublicFun.Hangup(); 155 $.CallCenterPublicFun.Hangup();