SPPMB02200_소프트폰연동.xfdl 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220
  1. <?xml version="1.0" encoding="utf-8" standalone="no"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SPPMB02200" position="absolute 0 0 103 101" titletext="소프트폰연동">
  5. <Layouts>
  6. <Layout>
  7. <ActiveX id="cWebCaller" progid="{84D3389B-A1BC-4794-AD4F-AE7A84611D5D}" position="absolute 30 35 60 60" style="" anchor="default" windowed="true" GetEventonCustInfoChanged-ani--dnis--uui-="cWebCaller_GetEventonCustInfoChanged-ani--dnis--uui-" GetEventonAgentStatusChanged-status-="cWebCaller_GetEventonAgentStatusChanged-status-"/>
  8. <Edit id="input1" position="absolute 6 0 81 20" style="" anchor="default"/>
  9. <Edit id="input2" position="absolute 5 25 95 45" style="" anchor="default"/>
  10. <Edit id="input3" position="absolute 5 50 95 70" style="" anchor="default"/>
  11. <Edit id="input4" position="absolute 5 75 95 95" style="" anchor="default"/>
  12. </Layout>
  13. </Layouts>
  14. <Objects>
  15. <Dataset id="ds_main" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  16. <ColumnInfo/>
  17. </Dataset>
  18. <Dataset id="ds_main_callerpatinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  19. <ColumnInfo>
  20. <Column id="rrgstno1" type="STRING" size="256"/>
  21. <Column id="rrgstno2" type="STRING" size="256"/>
  22. <Column id="pid" type="STRING" size="256"/>
  23. <Column id="status" type="STRING" size="256"/>
  24. <Column id="check" type="STRING" size="256"/>
  25. </ColumnInfo>
  26. </Dataset>
  27. </Objects>
  28. <Bind>
  29. <BindItem id="item0" compid="input1" propid="value" datasetid="ds_main_callerpatinfo" columnid="status"/>
  30. <BindItem id="item1" compid="input2" propid="value" datasetid="ds_main_callerpatinfo" columnid="rrgstno1"/>
  31. <BindItem id="item2" compid="input3" propid="value" datasetid="ds_main_callerpatinfo" columnid="rrgstno2"/>
  32. <BindItem id="item3" compid="input4" propid="value" datasetid="ds_main_callerpatinfo" columnid="pid"/>
  33. </Bind>
  34. <Script type="xscript4.0"><![CDATA[
  35. //softpone관련 calltest
  36. var gTimer;
  37. var gCallType;
  38. var gAngenStatus;
  39. /*상담원 상태
  40. 0 : Ringing
  41. 1 : 상담원과 통화연결
  42. 2 : 상담원 대기중
  43. 3 : 상담원 자리비움
  44. 4 : Transfer
  45. 5 : Hold
  46. 6 : UnHold
  47. 7 : 업무처리
  48. 8 : Outgoing Call
  49. 9 : DisConnect
  50. A : 로그인
  51. B : 로그아웃
  52. C : 큐에 들어간 상태
  53. D : PDS 대기 상태*/
  54. function onLoadPage(){
  55. //formMain.txtagentStatus.value = cWebCaller.GetAgentStatus();
  56. input1.text = cWebCaller.GetAgentStatus();
  57. }
  58. function agentStatusChanged(status){
  59. // formMain.txtagentStatus.value = formMain.txtagentStatus.value + " - " + status;
  60. // input4.value= input4.value + "-" + status;
  61. input1.text = status;
  62. JuminNoInfoSet();
  63. //model.refresh();
  64. }
  65. /*Call 인입시 전화번호와 고객정보 얻는 이벤트*/
  66. function custInfoChanged(ani, dnis, uui){
  67. /*현재상태가 벨울림이 아니면 고객정보조회 안함*/
  68. if (cWebCaller.GetAgentStatus() != "0") return;
  69. //if (ds_callcenter.getColumn(0, "status") != "0"){ //return;
  70. /*콜 타입 얻기 - 일반콜=CM_PSTN, PDS콜=CM_PDS*/
  71. gCallType = cWebCaller.GetCallMediaCode(1);
  72. /* UUI 샘플 --> 6634c906-db96-4aa7-bf53-a125ee6a8ee8|DNIS=7830905|ANI=027613194|CUSTID=00000000|CAMPID=00000000 */
  73. var jumin = uui;
  74. var no = jumin.indexOf("JUMIN=");
  75. var pidno = jumin.indexOf("PTID=");
  76. var end = jumin.indexOf("|CODE=");
  77. var len1 = end-pidno-5;
  78. /*
  79. model.alert(no);
  80. model.alert(pidno);
  81. model.alert(end);
  82. model.alert(len1);
  83. */
  84. ds_main_callerpatinfo.clearData(); ds_main_callerpatinfo.addRow();
  85. //주민번호가 입력되었을 경우
  86. if(len1 == "0" ){
  87. var str1 = no+6;
  88. var jumin1 = "";
  89. var jumin2 = "";
  90. var juminno = (jumin).substr(str1,13);
  91. jumin1 = (juminno).substr(0,6);
  92. jumin2 = (juminno).substr(6,12);
  93. /*
  94. model.alert(juminno);
  95. model.alert(jumin1);
  96. model.alert(jumin2);
  97. */
  98. dsf_makeValue( ds_main_callerpatinfo, "rrgstno1", "string", "" );
  99. dsf_makeValue( ds_main_callerpatinfo, "rrgstno2", "string", "" );
  100. ds_main_callerpatinfo.setColumn( 0, "check", "R");
  101. ds_main_callerpatinfo.setColumn( 0, "rrgstno1", jumin1);
  102. ds_main_callerpatinfo.setColumn( 0, "rrgstno2", jumin2);
  103. }else{ //등록번호가 입력되었을 경우
  104. var str2 = pidno+5;
  105. //var pid = (jumin).substr(str2,str2+len1);
  106. var pid = (jumin).substr(str2, len1);
  107. dsf_makeValue( ds_main_callerpatinfo, "pid", "string", "" );
  108. ds_main_callerpatinfo.setColumn( 0, "check", "P");
  109. ds_main_callerpatinfo.setColumn( 0, "pid", pid);
  110. }
  111. //model.refresh();
  112. }
  113. //상담원과 통화 연결시 주민번호_등록번호 자동조회
  114. function JuminNoInfoSet(){
  115. if (ds_main_callerpatinfo.getColumn(0, "status") == "1"){
  116. if(ds_main_callerpatinfo.getColumn(0, "check") == "R"){
  117. dsf_makeValue( ds_main_patinfo_patinfolist, "rrgstno1", "string", "" );
  118. dsf_makeValue( ds_main_patinfo_patinfolist, "rrgstno2", "string", "" );
  119. opener.ds_main_patinfo_patinfolist.setColumn( 0, "rrgstno1", ds_main_callerpatinfo.getColumn(0, "rrgstno1"));
  120. opener.ds_main_patinfo_patinfolist.setColumn( 0, "rrgstno2", ds_main_callerpatinfo.getColumn(0, "rrgstno2"));
  121. //opener.ipt_rrgstno2.setFocus();
  122. //opener.model.refresh();
  123. opener.javascript.fRgstno2EnterEvent();
  124. ds_main_patinfo_patinfolist.clearData();
  125. //ds_main_patinfo_patinfolist.clearData(); ds_main_patinfo_patinfolist.addRow();
  126. /*
  127. ds_main_callerpatinfo_callerpatinfolist.setColumn( 0, "rrgstno1", ds_callcenter.getColumn(0, "rrgstno1"));
  128. ds_main_callerpatinfo_callerpatinfolist.setColumn( 0, "rrgstno2", ds_callcenter.getColumn(0, "rrgstno2"));
  129. ipt_rrgstno2.setFocus();
  130. //model.refresh();
  131. fRgstno2EnterEvent();
  132. //model.refresh();
  133. */
  134. }else if(ds_main_callerpatinfo.getColumn(0, "check") == "P"){
  135. //model.makeNode("
  136. //ipt_pid.setFocus();
  137. dsf_makeValue( ds_main_patinfo_patinfolist, "pid", "string", "" );
  138. opener.ds_main_patinfo_patinfolist.setColumn( 0, "pid", ds_main_callerpatinfo.getColumn(0, "pid"));
  139. opener.ipt_pid.setFocus();
  140. //opener.model.refresh();
  141. opener.fPidEnterEvent();
  142. //ipt_pid.setFocus();
  143. ds_main_patinfo_patinfolist.clearData();
  144. //ds_main_patinfo_patinfolist.clearData(); ds_main_patinfo_patinfolist.addRow();
  145. //fPidEnterEvent();
  146. //opener.javascript.BaseInfoSet();
  147. //model.setValues("ds_main_callerpatinfo_callerpatinfolist_pid", ds_main_callerpatinfo.getColumn(0, "pid"));
  148. //opener.javascript.BaseInfoSet();
  149. //
  150. //opener.model.refresh();
  151. /*
  152. ds_main_callerpatinfo_callerpatinfolist.setColumn( 0, "pid", ds_callcenter.getColumn(0, "pid"));
  153. ipt_pid.setFocus();
  154. //model.refresh();
  155. fPidEnterEvent();
  156. //model.refresh();
  157. */
  158. }
  159. }
  160. }
  161. function cWebCaller_GetEventonCustInfoChanged(ani, dnis, uui) {
  162. //opener.javascript.custInfoChanged(ani, dnis, uui);
  163. custInfoChanged(ani, dnis, uui);
  164. }
  165. function cWebCaller_GetEventonAgentStatusChanged(status) {
  166. //opener.javascript.agentStatusChanged(status);
  167. agentStatusChanged(status);
  168. }
  169. ]]></Script>
  170. </Form>
  171. </FDL>