郑州颐和随访系统UI

call.js 36KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210
  1. /**
  2. * 来电弹屏
  3. * */
  4. //来电时传输的数据
  5. var phoneNumber = helper.request.queryString("Number");
  6. var CallID = helper.request.queryString("CallID");
  7. var KHid;
  8. var UserCode;
  9. var timestamp = Date.parse(new Date());
  10. //通话中执行变化
  11. var timer, n = 0;
  12. //测试数据
  13. // var phoneNumber = "15235457488";
  14. // var CallID = "148";
  15. $(function() {
  16. //初始化一些数据
  17. $(".hidCallID").val(CallID);
  18. $(".tel").text(phoneNumber); //左侧来电号码
  19. $("#order_tel").val(phoneNumber); //右侧工单电话
  20. $(".ldtime").text(top.getNowFormatDate()); //左侧来电时间
  21. $(".thsc").text("00:00"); //通话时间
  22. autosize($('textarea'));
  23. //初始化时间
  24. laydate.render({
  25. elem: '#old_startTime',
  26. theme: '#1ab394',
  27. calendar: true
  28. });
  29. laydate.render({
  30. elem: '#old_endTime',
  31. theme: '#1ab394',
  32. calendar: true
  33. });
  34. laydate.render({
  35. elem: '#con_startTime',
  36. theme: '#1ab394',
  37. calendar: true
  38. });
  39. laydate.render({
  40. elem: '#con_endTime',
  41. theme: '#1ab394',
  42. calendar: true
  43. });
  44. laydate.render({
  45. elem: '#order_time',
  46. // range: '~',
  47. type: 'datetime',
  48. theme: '#1ab394',
  49. // calendar: true
  50. });
  51. laydate.render({
  52. elem: '#order_chucetime',
  53. // range: '~',
  54. type: 'datetime',
  55. theme: '#1ab394',
  56. // calendar: true
  57. });
  58. /*左侧 部分*/
  59. //获取电话所属地 order_time
  60. if(phoneNumber) {
  61. getPhoneLocation(); //获取来电归属地
  62. getCustomer(); //获取来电客户信息
  63. }
  64. //根据关键词搜索公司
  65. $('#companySearch').on('click', getSearchCustomer);
  66. //保存来电客户信息
  67. $('#head_form_btn_save').on('click', headFormSave);
  68. //清空来电客户信息
  69. $('#head_form_btn_reset').on('click', headFormReset);
  70. //点击IVR
  71. $('#head_black_ivr').click(function() {
  72. top.obj.Type = "TurnIvr";
  73. top.obj.IvrName = "MYD";
  74. top.obj.IvrPos = "1";
  75. top.Send();
  76. });
  77. //点击拉黑 加入黑名单
  78. $('#head_black_btn').click(function() {
  79. if(!phoneNumber) {
  80. layer.confirm('来电号码为空!', {
  81. icon: 2,
  82. btn: ['确定']
  83. });
  84. return;
  85. }
  86. $("#time-word").val('');
  87. $('.ldtp-con .hei-list').show();
  88. });
  89. //拉黑 关闭
  90. $('.hei-list .bacha').click(function() {
  91. $('.ldtp-con .hei-list').hide();
  92. $("#time-word").val('');
  93. });
  94. //拉黑 保存
  95. $('#bc').on('click', saveBlack);
  96. //取消黑名单
  97. $('.retur').on('click', cancelBlack);
  98. /*右侧 部分*/
  99. //加载历史记录、历史工单
  100. loadOldOrComplain('0');
  101. //获取知识库
  102. loadZSK();
  103. //弹屏右侧切换效果
  104. $(".ldtp-cr ul.ld-service li").click(function() {
  105. var tabIndex = $(this).index() + '';
  106. //console.log(tabIndex);
  107. $(this).addClass("cr-click").siblings().removeClass("cr-click");
  108. loadOldOrComplain(tabIndex);
  109. });
  110. //获取工单来源
  111. // helper.getDropList.getlistDropByDic($('#order_source'), 'GDLY').then(function() {
  112. // $('#order_source').selectpicker('val', '468').trigger('change');
  113. // });
  114. //获取业务办理
  115. helper.getDropList.getlistDropByDic($('#order_handle'), 'YWLX');
  116. //获取工单类型
  117. // helper.getDropList.getOrderRadios($('#order_type'), 'GDLX', 'inlineRadioOptions').then(function() {
  118. $('#order_type').find('input[type="radio"]').on('change', function() {
  119. if($(this).val() === "1") { //业务办理 dispatch
  120. $('#order_pointment').hide();
  121. $('#Tousik').hide();
  122. $('#Tojon').hide();
  123. $("#insurance").hide();
  124. $("#dispatch").hide();
  125. $("#zhujkeshi").hide();
  126. $("#yukshi").hide();
  127. $("#yusjian").hide();
  128. $("#yubzhu").hide();
  129. $("#tration").hide();
  130. }else if($(this).val() === "2"){
  131. $('#order_pointment').show();
  132. $('#Tousik').hide();
  133. $('#Tojon').hide();
  134. $("#insurance").hide();
  135. $("#dispatch").hide();
  136. $("#zhujkeshi").hide();
  137. $("#yukshi").hide();
  138. $("#yusjian").hide();
  139. $("#yubzhu").hide();
  140. $("#tration").hide();
  141. }else if($(this).val() === "3"){
  142. $('#order_pointment').hide();
  143. $('#Tousik').show();
  144. $('#Tojon').show();
  145. $("#dispatch").hide();
  146. $("#insurance").hide();
  147. $("#zhujkeshi").show(); //tration insurance yubzhu
  148. $("#yukshi").hide();
  149. $("#yusjian").hide();
  150. $("#yubzhu").show();
  151. $("#tration").hide();
  152. }else if($(this).val() === "4"){
  153. $('#order_pointment').hide();
  154. $('#Tousik').hide();
  155. $('#Tojon').show();
  156. $("#insurance").hide();
  157. $("#dispatch").hide();
  158. $("#zhujkeshi").hide();
  159. $("#yukshi").hide();
  160. $("#yusjian").hide();
  161. $("#yubzhu").show();
  162. $("#tration").hide();
  163. }
  164. });
  165. // });
  166. //预约类别 显示内容
  167. $("#order_category").change(function(){
  168. if($("#order_category").find("option:selected").val()=="预约挂号"){
  169. $("#tration").show();
  170. $("#insurance").hide();
  171. $("#bunk").hide();
  172. $("#dispatch").hide();
  173. $("#yukshi").show();
  174. $("#yusjian").show();
  175. $("#yubzhu").show();
  176. $("#zhujkeshi").hide();
  177. }else if($("#order_category").find("option:selected").text()=="预约检查"){
  178. $("#tration").hide();
  179. $("#insurance").show();
  180. $("#bunk").hide();
  181. $("#dispatch").hide();
  182. $("#zhujkeshi").show();
  183. $("#yukshi").hide();
  184. $("#yusjian").hide();
  185. $("#yubzhu").show();
  186. }else if($("#order_category").find("option:selected").text()=="预约床位"){
  187. $("#tration").hide(); //bunk dispatch zhujkeshi
  188. $("#insurance").hide();
  189. $("#bunk").show();
  190. $("#dispatch").hide();
  191. $("#yukshi").show();
  192. $("#yusjian").hide();
  193. $("#yubzhu").show();
  194. $("#zhujkeshi").show();
  195. }else if($("#order_category").find("option:selected").text()=="预约车辆"){
  196. $("#tration").hide();
  197. $("#insurance").hide();
  198. $("#bunk").hide();
  199. $("#dispatch").show();
  200. $("#yukshi").show();
  201. $("#yusjian").hide();
  202. $("#yubzhu").show();
  203. $("#zhujkeshi").hide();
  204. }
  205. })
  206. //工单有效性
  207. $('#order_iseffective').find('input[type="radio"]').on('change', function() {
  208. //是否有效工单项(0有效,1无效)
  209. if($(this).val() === "1") { //无效
  210. $('.order_note').show();
  211. $('#order_isover_box').hide();
  212. $('#order_isover').find('input[type="radio"][value="1"]').prop('checked', true).trigger('change');
  213. } else {
  214. $('.order_note').hide();
  215. $('#order_isover_box').show();
  216. $('#order_isover').find('input[type="radio"][value="0"]').prop('checked', true).trigger('change');
  217. }
  218. });
  219. //获取接收部门
  220. getDepts('reginsTreeView', 'order_transfer_dept');
  221. // 立即处理
  222. $('#order_isover').find('input[type="radio"]').on('change', function(){
  223. if($(this).val() === '1'){
  224. $('#order_transfer_depts').hide();
  225. }else{
  226. $('#order_transfer_depts').show();
  227. }
  228. });
  229. //新增工单创建
  230. $('#save_order').on('click', orderSave);
  231. //知识库查询
  232. $(".searIcon").click(function() {
  233. loadZSK();
  234. });
  235. //历史记录/历史工单 查询
  236. $(".searchbtn").click(function() {
  237. var tabIndex = $(this).attr('itemtype');
  238. loadOldOrComplain(tabIndex);
  239. });
  240. //关闭录音弹出
  241. $(".setwin").click(function() {
  242. $(".t-shade").removeClass("cx");
  243. $('audio')[0].pause();
  244. });
  245. });
  246. function clearInter() {
  247. clearInterval(timer);
  248. }
  249. function headFormReset(){
  250. $("#head_form_name").val('');
  251. $("#order_iso").val('');
  252. $("#head_site").val('');
  253. $("#head_phone").val('');
  254. }
  255. function calling() {
  256. $(".td-call").show();
  257. n = 0;
  258. clearInterval(timer);
  259. timer = setInterval(function() {
  260. n++;
  261. var m = parseInt(n / 60 % 60);
  262. var s = parseInt(n % 60);
  263. //var thsc=toDub(m) + ":" + toDub(s);
  264. $(".thsc").text(toDub(m) + ":" + toDub(s));
  265. }, 1000);
  266. }
  267. function toDub(i) {
  268. return i < 10 ? "0" + i : "" + i;
  269. }
  270. //获取电话所属地
  271. function getPhoneLocation() {
  272. $.getJSON(huayi.config.callcenter_url + 'CallInScreen/GetPhoneLocation', {
  273. "tel": phoneNumber,
  274. "token": $.cookie("token")
  275. }, function(result) {
  276. if(result.state.toLowerCase() == "success") {
  277. $(".khgsd").text(result.data);
  278. }
  279. });
  280. }
  281. //根据关键词搜索公司
  282. function getSearchCustomer() {
  283. $.ajax({
  284. url: huayi.config.callcenter_url + 'CustomerNew/GetListByKey',
  285. type: 'get',
  286. data: {
  287. keywords: $('#head_form_search').val(),// 关键词
  288. token: $.cookie("token")
  289. },
  290. dataType: "json",
  291. async: true,
  292. success: function(data) {
  293. if(data.state.toLowerCase() === 'success') {
  294. var customerBase = data.data;
  295. if(customerBase){
  296. $('#head_form_customer_id').val(customerBase.F_CustomerId); //客户id
  297. $('#head_form_cmpname').val(customerBase.F_CompanyName);//公司名称
  298. $('#head_form_cmpaddress').val(customerBase.F_CompanyAddress);//公司地址
  299. $('#head_form_legname').val(customerBase.F_LegalName);//法人姓名
  300. $('#head_form_legtel').val(customerBase.F_LegalTel);//法人电话
  301. $('#head_form_subtrade').val(customerBase.F_SubTrade);//所属行业
  302. //获取对应的联系人信息
  303. getCustomerLists(1, customerBase.F_CustomerId);
  304. $('#order_company').val(customerBase.F_CompanyName); //给工单的公司名称赋值
  305. }
  306. }
  307. },
  308. });
  309. }
  310. /**
  311. * 根据电话获取 客户信息
  312. * */
  313. function getCustomer(){
  314. $.ajax({
  315. url: huayi.config.callcenter_url + 'CustomerNew/GetCustomerByTel',
  316. type: 'get',
  317. data: {
  318. tel: phoneNumber, //否 string 来电电话 例如:13663801989
  319. token: $.cookie("token")
  320. },
  321. dataType: "json",
  322. async: true,
  323. success: function(data) {
  324. if(data.state.toLowerCase() === 'success') {
  325. var customerBase = data.data && data.data.CustomerBase;
  326. if(customerBase){
  327. $('#head_form_customer_id').val(customerBase.F_CustomerId); //客户id
  328. $('#head_form_cmpname').val(customerBase.F_CompanyName);//公司名称
  329. $('#head_form_cmpaddress').val(customerBase.F_CompanyAddress);//公司地址
  330. $('#head_form_legname').val(customerBase.F_LegalName);//法人姓名
  331. $('#head_form_legtel').val(customerBase.F_LegalTel);//法人电话
  332. $('#head_form_subtrade').val(customerBase.F_SubTrade);//所属行业
  333. //获取对应的联系人信息
  334. getCustomerLists(1, customerBase.F_CustomerId);
  335. $('#order_company').val(customerBase.F_CompanyName); //给工单的公司名称赋值
  336. }
  337. }
  338. },
  339. });
  340. }
  341. /**
  342. * 根据电话获取 客户联系人列表
  343. * paramPage: 页数请求的是第几页
  344. * cid: 客户的id
  345. * */
  346. function getCustomerLists(paramPage, cid) {
  347. $('#head_customer_info').html('');
  348. $.ajax({
  349. url: huayi.config.callcenter_url + 'CustomerNew/GetConList',
  350. type: 'get',
  351. data: {
  352. cusid: cid, //客户id
  353. pageindex: paramPage, //第几页
  354. pagesize: 2,
  355. tel: phoneNumber, //否 string 来电电话 例如:13663801989
  356. token: $.cookie("token")
  357. },
  358. dataType: "json",
  359. async: true,
  360. success: function(returnValue) {
  361. var tableDatas = returnValue.rows;
  362. //异步获取列表数据
  363. if(tableDatas && tableDatas.length > 0) {
  364. $('#head_form_name').val(tableDatas[0].F_Name);//左侧姓名
  365. $('#head_form_name').prop('readonly', true);
  366. $('#order_name').val(tableDatas[0].F_Name);//右侧工单姓名
  367. //加载内容
  368. $('#head_customer_info').html('');
  369. for(var i = 0, tableDatasLength = tableDatas.length; i < tableDatasLength; i++) {
  370. var itmeHtml = '<div class="head_customer_info_item clearfix">' +
  371. '<div class="head_customer_info_item_l pull-left">' +
  372. '<p class="clearfix">' +
  373. '<span>姓名</span>' +
  374. '<span>' + tableDatas[i].F_Name + '</span>' +
  375. '</p>' +
  376. '<p>' +
  377. '<span>电话</span>' +
  378. '<span>' + tableDatas[i].F_Telephone + '</span>' +
  379. '</p>' +
  380. '<p>' +
  381. '<span>是否主要联系人</span>' +
  382. '<span>' + (tableDatas[i].F_IsMain === true ? '是' : '否') + '</span>' +
  383. '</p>' +
  384. '</div>' +
  385. '<div class="head_customer_info_item_r pull-left" id="customerBtn_' + i + '">'+
  386. // '选择' +
  387. '</div>' +
  388. '</div>'
  389. $('#head_customer_info').append(itmeHtml);
  390. }
  391. if(tableDatasLength > 0) {
  392. $.jqPaginator('#pagination', {
  393. totalCounts: returnValue.total,
  394. pageSize: 2,
  395. currentPage: paramPage,
  396. visiblePages: 10,
  397. prev: '<li class="prev"><a href="javascript:;">上一页</a></li>',
  398. next: '<li class="next"><a href="javascript:;">下一页</a></li>',
  399. //page: '<li class="page"><a href="javascript:;">{{page}}</a></li>',
  400. onPageChange: function(num, type) {
  401. $('#page_number').text(num + "/" + Math.ceil(returnValue.total / 2));
  402. //console.log(type + ':' + num);
  403. if(type == 'change') {
  404. getCustomerLists(num);
  405. }
  406. }
  407. });
  408. } else {
  409. $('.head_customer_info_title').hide();
  410. }
  411. } else {
  412. $('.head_customer_info_title').hide();
  413. $('#head_form_name').val('');//联系人姓名
  414. $('#head_form_name').prop('readonly', false);
  415. }
  416. },
  417. });
  418. }
  419. //清空head_form
  420. function headFormClean() {
  421. //左侧信息清空;
  422. // $('#head_form_customer_id').val('');
  423. $('.head_form').find('.form-control').val('');
  424. $('#head_form_tel').val(phoneNumber);
  425. }
  426. //保存来电客户信息
  427. function headFormSave() {
  428. // if(!$.trim($('#head_form_name').val())) {
  429. // layer.confirm('请输入姓名!', {
  430. // icon: 2,
  431. // btn: ['确定']
  432. // });
  433. // return;
  434. // }
  435. // if(!regexs.phone.test($.trim($('#head_form_tel').val()))) {
  436. // layer.confirm('请输入正确的电话!', {
  437. // icon: 2,
  438. // btn: ['确定']
  439. // });
  440. // return;
  441. // }
  442. $.post(huayi.config.callcenter_url + 'Customer/AddCustomer', {
  443. // F_CustomerId: $('#head_form_customer_id').val(),// int客户id
  444. F_LegalName: $('#head_form_name').val(),//客户姓名
  445. // F_Telephone: phoneNumber,// string电话
  446. F_Gender:$('#order_xieton').find('input[type="radio"]:checked').val(),//性别
  447. F_LegalTel:$('#head_phone').val(),//客户电话
  448. F_Address:$('#head_site').val(),//地址
  449. token: $.cookie("token")
  450. }, function(result) {
  451. result = $.parseJSON(result);
  452. if(result.state.toLowerCase() === "success") {
  453. //给 右侧新增工单赋值
  454. $('#order_name').val($('#head_form_name').val()); //客户姓名
  455. $('#order_tel').val($('#head_phone').val()); //客户电话
  456. $('#order_company').val($('#head_site').val()); //客户地址
  457. layer.msg("保存成功");
  458. }
  459. })
  460. }
  461. //获取知识库
  462. function loadZSK() {
  463. $.getJSON(huayi.config.callcenter_url + 'CallInScreen/GetZSKList', {
  464. "keywords": $(".search").val(),
  465. "token": $.cookie("token")
  466. }, function(result) {
  467. if(result.state.toLowerCase() == "success") {
  468. $(".ldcr-bottom .detail-con ul").empty();
  469. $(result.data).each(function(i, n) {
  470. var html = '<li>' +
  471. ' <div class="zhishi-title clearfix">' +
  472. ' <a href="javascript:void(0);" >' + n.F_Title + '</a>' +
  473. ' <em >' + n.F_CreateOn + '</em>' +
  474. ' </div>' +
  475. ' <div class="explancon">' +
  476. n.F_Content +
  477. ' </div>' +
  478. '</li>';
  479. $(html).appendTo($(".ldcr-bottom .detail-con ul")).find(".zhishi-title").click(function(event) {
  480. event.stopPropagation();
  481. if($(this).hasClass("active")) {
  482. $(this).removeClass("active")
  483. } else {
  484. $(".zhishi-title").removeClass("active");
  485. $(this).addClass("active");
  486. }
  487. })
  488. })
  489. }
  490. })
  491. }
  492. //加载 历史记录或历史工单
  493. function loadOldOrComplain(tabIndex) {
  494. $(".complain").hide();
  495. switch(tabIndex) {
  496. case '0':
  497. $(".complain").eq(0).show();
  498. break;
  499. case '1':
  500. getOldList()
  501. break;
  502. case '2':
  503. getComplainList()
  504. break;
  505. case '3':
  506. $(".complain").eq(3).show();
  507. if($('#head_form_customer_id').val() != ''){
  508. getCustomerDetail(); // 获取客户详情
  509. // getTaxDetail(); // 获取财税情况
  510. }
  511. break;
  512. default:
  513. break;
  514. }
  515. }
  516. //获取客户详情
  517. function getCustomerDetail() {
  518. $.getJSON(huayi.config.callcenter_url + "CustomerNew/GetCustomer", {
  519. // cusid: $('#head_form_customer_id').val(), //客户id
  520. token: $.cookie("token")
  521. }, function(data) {
  522. if (data.state.toLowerCase() == "success") {
  523. var cusBase = data.data && data.data.CustomerBase;
  524. $('#customer_bedept').text(data.data && data.data.BeDeptName); // int 客户归属部门
  525. if (cusBase) {
  526. $('#customer_code').text(cusBase.F_CustomerCode); //string 客户编号
  527. $('#customer_companyname').text(cusBase.F_LegalName); //string 公司名称
  528. $('#customer_comaddress').text(cusBase.F_LegalTel); //string 公司地址
  529. $('#customer_legalName').text(cusBase.F_Address); //string 姓名
  530. $('#customer_lehalTel').text(cusBase.F_CreatedOn); //string 创建时间
  531. $('#customer_subtrade').text(cusBase.F_Gender); //string 客户地址
  532. // if(cusBase.F_LegalTel){
  533. // $('#customer_lehalTel').html('<a href="jvascript:;" onclick="calloutopt('+ cusBase.F_LegalTel +')">'+ cusBase.F_LegalTel +'<img src="../img/Phones.png" alt="phone" /></a>'); //string 法人电话
  534. // }
  535. }
  536. var cusLists = data.data && data.data.ContactList;
  537. if (cusLists && cusLists.length > 0) {
  538. $('#cusLists').empty();
  539. $('#conectLits').show();
  540. for (var i = 0; i < cusLists.length; i++) {
  541. var tplstr = '';
  542. tplstr = '<div class="clearfix cusListItem">'+
  543. '<li class="col-md-3 col-sm-4">' +
  544. '<label>姓名:</label>' +
  545. '<span>'+ cusLists[i].F_Name +'</span>' +
  546. '</li>'+
  547. '<li class="col-md-3 col-sm-4">' +
  548. '<label>电话:</label>' +
  549. '<a href="jvascript:;" onclick="calloutopt('+ cusLists[i].F_Telephone +')">'+ cusLists[i].F_Telephone +'<img src="../img/Phones.png" alt="phone" /></a>'+
  550. '</li>'+
  551. '<li class="col-md-3 col-sm-4">' +
  552. '<label>邮箱:</label>' +
  553. '<span>'+ cusLists[i].F_Email +'</span>' +
  554. '</li>'+
  555. '<li class="col-md-3 col-sm-4">' +
  556. '<label>职务:</label>' +
  557. '<span>'+ cusLists[i].F_Duties +'</span>' +
  558. '</li>'+
  559. '<li class="col-md-3 col-sm-4">' +
  560. '<label>QQ:</label>' +
  561. '<span>'+ cusLists[i].F_QQ +'</span>' +
  562. '</li>'+
  563. '<li class="col-md-3 col-sm-4">' +
  564. '<label>MSN:</label>' +
  565. '<span>'+ cusLists[i].F_MSN +'</span>' +
  566. '</li>'+
  567. '<li class="col-md-12 col-sm-12">' +
  568. '<label>备注:</label>' +
  569. '<span>'+ cusLists[i].F_Remark +'</span>' +
  570. '</li>'+
  571. '<li class="col-md-12 col-sm-12">'+
  572. '<label for="customer_F_IsMain">是否主要联系人:</label>'+
  573. '<span>'+ (cusLists[i].F_IsMain === true ? '是' : '否') +'</span>'+
  574. '</li>'+
  575. '</div>';
  576. $('#cusLists').append(tplstr);
  577. }
  578. }
  579. }
  580. });
  581. }
  582. //获取财税情况
  583. function getTaxDetail(){
  584. $.getJSON(huayi.config.callcenter_url + "CustomerNew/GetFinc",{
  585. cusid: $('#head_form_customer_id').val(), // 客户id
  586. token: $.cookie("token")
  587. },function(data){
  588. if(data.state.toLowerCase() === 'success'){
  589. data = data.data;
  590. $('#tax_code').text(data.F_CustomerCode); // string 客户编号
  591. $('#tax_MonthState').text(data.F_MonthState); // string 本月财税情况:已结清/未结清
  592. $('#tax_AnnualIncome').text(data.F_AnnualIncome); // string 本年收入(元)
  593. $('#tax_AnnualProfit').text(data.F_AnnualProfit); // string 本年利润
  594. $('#tax_AnnualCost').text(data.F_AnnualCost); // string 本年费用
  595. $('#tax_AnnualPersonCount').text(data.F_AnnualPersonCount); // string 本年人数
  596. $('#tax_AnnualWages').text(data.F_AnnualWages); // string 本年工资
  597. $('#tax_QuarterlyCost').text(data.F_QuarterlyCost); // string 本季费用
  598. $('#tax_QuarterlyPersonCount').text(data.F_QuarterlyPersonCount); // string 本季人数
  599. $('#tax_QuarterlyWages').text(data.F_QuarterlyWages); // string 本季工资
  600. $('#tax_QuarterlyIncome').text(data.F_QuarterlyIncome); // string 本季收入
  601. $('#tax_QPVAT').text(data.F_QPVAT); // string 本季应交税额-增值税
  602. $('#tax_QPSurtax').text(data.F_QPSurtax); // string 本季应交税额-附加税
  603. $('#tax_QPTaxes').text(data.F_QPTaxes); // string 本季应交税额-企业所得税
  604. $('#tax_QPConTax').text(data.F_QPConTax); // string 本季应交税额-文化事业建设税
  605. $('#tax_QPPerinTax').text(data.F_QPPerinTax); // string 本季应交税额-个税
  606. $('#tax_QPStampTax').text(data.F_QPStampTax); // string 本季应交税额-其他税额
  607. }
  608. });
  609. }
  610. //获取历史记录
  611. function getOldList() {
  612. $(".complain").eq(1).show();
  613. //先销毁表格
  614. $('#oldlist').bootstrapTable('destroy');
  615. //初始化表格,动态从服务器加载数据
  616. $("#oldlist").bootstrapTable({
  617. method: "get", //使用get请求到服务器获取数据
  618. url: huayi.config.callcenter_url + "CallInScreen/GetOldList", //获取数据的Servlet地址
  619. contentType: 'application/x-www-form-urlencoded',
  620. striped: true, //表格显示条纹
  621. pagination: true, //启动分页
  622. pageSize: 5, //每页显示的记录数
  623. pageNumber: 1, //当前第几页
  624. pageList: [5, 10, 50, 100], //记录数可选列表
  625. search: false, //是,//否启用查询
  626. showColumns: false, //显示下拉框勾选要显示的列
  627. showRefresh: false, //显示刷新按钮
  628. sidePagination: "server", //表示服务端请求
  629. //设置为undefined可以获取pageNumber,pageSize,searchText,sortName,sortOrder
  630. //设置为limit可以获取limit, offset, search, sort, order
  631. queryParamsType: "undefined",
  632. queryParams: function queryParams(params) { //设置查询参数
  633. var param = {
  634. page: params.pageNumber,
  635. pagesize: params.pageSize,
  636. tel: phoneNumber,
  637. starttime: $("#old_startTime").val(),
  638. endtime: $("#old_endTime").val(),
  639. token: $.cookie("token")
  640. };
  641. return param;
  642. },
  643. onLoadSuccess: function() { //加载成功时执行
  644. //layer.msg("加载成功");
  645. },
  646. onLoadError: function() { //加载失败时执行
  647. //layer.msg("加载数据失败", { time: 1500, icon: 2 });
  648. }
  649. });
  650. }
  651. //获取历史工单
  652. function getComplainList() {
  653. $(".complain").eq(2).show();
  654. //先销毁表格
  655. $('#orderlist').bootstrapTable('destroy');
  656. //初始化表格,动态从服务器加载数据
  657. $("#orderlist").bootstrapTable({
  658. method: "get", //使用get请求到服务器获取数据
  659. url: huayi.config.callcenter_url + "WorkOrderNew/GetList", //获取数据的Servlet地址
  660. contentType: 'application/x-www-form-urlencoded',
  661. striped: true, //表格显示条纹
  662. pagination: true, //启动分页
  663. pageSize: 5, //每页显示的记录数
  664. pageNumber: 1, //当前第几页
  665. pageList: [5, 10, 50, 100], //记录数可选列表
  666. search: false, //是,//否启用查询
  667. showColumns: false, //显示下拉框勾选要显示的列
  668. showRefresh: false, //显示刷新按钮
  669. sidePagination: "server", //表示服务端请求
  670. //设置为undefined可以获取pageNumber,pageSize,searchText,sortName,sortOrder
  671. //设置为limit可以获取limit, offset, search, sort, order
  672. queryParamsType: "undefined",
  673. queryParams: function queryParams(params) { //设置查询参数
  674. var param = {
  675. pageindex: params.pageNumber,
  676. pagesize: params.pageSize,
  677. keyword: phoneNumber, //否 string 模糊搜索可输入客户姓名,电话,工单号,反馈内容
  678. starttime: $("#con_startTime").val(), //否 string 工单起止时间
  679. endtime: $("#con_endTime").val(), //否 string 工单起止时间
  680. token: $.cookie("token"),
  681. };
  682. return param;
  683. },
  684. onLoadSuccess: function() { //加载成功时执行
  685. //layer.msg("加载成功");
  686. },
  687. onLoadError: function() { //加载失败时执行
  688. //layer.msg("加载数据失败", { time: 1500, icon: 2 });
  689. }
  690. });
  691. }
  692. //格式化内处理方式
  693. function formatterDealType(val, row) {
  694. //处理方式0:IVR处理1骚扰电话2自助服务3转值班电话4留言5呼损6人工处理
  695. var str = '-';
  696. switch(val) {
  697. case 0:
  698. str = 'IVR处理';
  699. break;
  700. case 1:
  701. str = '骚扰电话';
  702. break;
  703. case 2:
  704. str = '自助服务';
  705. break;
  706. case 3:
  707. str = '转值班电话';
  708. break;
  709. case 4:
  710. str = '留言';
  711. break;
  712. case 5:
  713. str = '呼损';
  714. break;
  715. case 6:
  716. str = '人工处理';
  717. break;
  718. }
  719. return str;
  720. }
  721. //格式化工单编号
  722. function formatterWorkOrderID(val, row) {
  723. return '<div class="imgs" ><a class="xg" onclick="btn_detail(\'' + row.ID + '\',\'' + row.State + '\',\'' + row.IsAdminSend + '\')">' + val + '</a></div>'
  724. }
  725. function btn_detail(oid, isdeal, proid) {
  726. layer.open({
  727. type: 2,
  728. title: '工单详情',
  729. //maxmin: true, //开启最大化最小化按钮
  730. area: ['80%', '90%'],
  731. content: '../commonTpl/seeWorkOrderDetail.html?oid=' + oid + '&isdeal=' + isdeal + '&proid=' + proid
  732. });
  733. }
  734. //格式化内容
  735. function formatterDetail(val) {
  736. if(val) {
  737. var codeContent = decodeURIComponent(val);
  738. var cc = codeContent.length > 10 ? codeContent.substr(0, 10) + '...' : codeContent;
  739. return '<div title="' + codeContent + '">' + cc + '</div>';
  740. } else {
  741. return '-';
  742. }
  743. }
  744. //格式化呼叫状态
  745. function formatterCallState(val) {
  746. if(val == '1') {
  747. return '已接通';
  748. } else {
  749. return '未接通';
  750. }
  751. }
  752. //格式化音频
  753. function formatterRecord(val) {
  754. if(val) {
  755. return '<div class="imgs" style="cursor: pointer;">' +
  756. '<img src="../img/vice.png" alt="" onclick= ck(this) item="' + val + '" />' +
  757. '</div>';
  758. } else {
  759. return '';
  760. }
  761. }
  762. //点击录音
  763. function ck(val) {
  764. var path = $(val).attr("item");
  765. $(".t-shade").addClass("cx");
  766. $(".Ly_box").empty();
  767. $(".down").attr("href", path);
  768. $('<audio style="width: 100%;"class=" " src="' + path + '" loop="loop" controls="controls" ></audio>').appendTo(".Ly_box");
  769. }
  770. //格式化 工单状态
  771. function formatterState(val) {
  772. //工单状态0待指派,1待处理,2已处理 原来的状态 不用!!!!
  773. // 0新工单待指派,1已指派待接单,2已接单待处理,3已退回待处理,4异常退回待处理,5处理中,10已完结
  774. var stateStr = '-';
  775. var stateClass = '';
  776. switch(val) {
  777. case 0:
  778. stateStr = '待指派';
  779. stateClass = 'audit_wait';
  780. break;
  781. case 1:
  782. stateStr = '待接单';
  783. stateClass = 'audit_refuse';
  784. break;
  785. case 2:
  786. stateStr = '待处理';
  787. stateClass = 'audit_revoke';
  788. break;
  789. case 3:
  790. stateStr = '已退回';
  791. stateClass = 'audit_termination';
  792. break;
  793. case 4:
  794. stateStr = '异常退回';
  795. stateClass = 'audit_termination';
  796. break;
  797. case 5:
  798. stateStr = '处理中';
  799. stateClass = 'audit_doned';
  800. break;
  801. case 10:
  802. stateStr = '已完结';
  803. stateClass = 'audit_done';
  804. break;
  805. default:
  806. break;
  807. }
  808. return '<div class="' + stateClass + '">' + stateStr + '</div>';
  809. }
  810. //格式化 工单有效性
  811. function formatterIsEffective(val) {
  812. var stateStr = '-';
  813. var stateClass = '';
  814. switch(val) { //是否有效工单项(0有效,1无效)
  815. case 0:
  816. stateStr = '有效';
  817. stateClass = 'audit_done';
  818. break;
  819. case 1:
  820. stateStr = '无效';
  821. stateClass = 'audit_revoke';
  822. break;
  823. default:
  824. break;
  825. }
  826. return '<div class="' + stateClass + '">' + stateStr + '</div>';
  827. }
  828. //格式化接收人
  829. function formatterAuditUser(val) {
  830. if(val === "0") {
  831. return '-';
  832. } else {
  833. return val;
  834. }
  835. }
  836. // var yuke;
  837. // var zhjie;
  838. // function typepitu(){
  839. // atypen = $('#order_category').val();
  840. // if(atypen==="预约挂号"){
  841. //
  842. // yuke = $('#order_office').val(); //预约科室
  843. // zhjie = '';//转接科室
  844. //
  845. // }else if(atypen==="预约检查"){
  846. //
  847. // yuke = '';//预约科室
  848. // zhjie = $('#order_strtil').val();//转接科室
  849. // }else if(atypen==="预约床位"){
  850. //
  851. // yuke = $('#order_berth').val(); //预约科室
  852. // zhjie = $('#order_thstr').val(); //转接科室
  853. // }else if(atypen==="预约车辆"){
  854. //
  855. // yuke = $('#order_hicle').val(); //预约科室
  856. // zhjie = '';//转接科室
  857. // }
  858. //
  859. // }
  860. //
  861. //新建工单 保存
  862. function orderSave() {
  863. if(!regexs.userNameReg.test($.trim($('#order_name').val()))) {
  864. layer.confirm('请输入有效的客户姓名(2-20位汉字可以包含·•)!', {
  865. icon: 2,
  866. btn: ['确定']
  867. });
  868. return;
  869. }
  870. $.post(huayi.config.callcenter_url + 'WorkOrderNew/Add', {
  871. // callid: CallID,//string; -此参数可根据来电弹屏时的客户绑定
  872. // customerid: $('#head_form_customer_id').attr('data-cid'),//int 客户id; -此参数可根据来电弹屏时的客户绑定
  873. TypeClass:$('#order_type').find('input[type="radio"]:checked').val(), //反馈类型
  874. CustomerName:$('#order_name').val(), //客户姓名
  875. CustomerTel:$('#order_tel').val(), //客户电话
  876. Gender:$('#order_sexte').find('input[type="radio"]:checked').val(), //性别
  877. Location:$('#order_company').val(), //客户地址
  878. IsOver:$('#order_isover').find('input[type="radio"]:checked').val(), //是否处理
  879. DealContents:$('#order_conduct').val(), //处理内容
  880. Problem:$('#order_reception').val(), //问题描述
  881. Reservation:$('#order_category').val(), //预约类型
  882. IDnumber:$('#order_number').val(), //身份证
  883. Expert:$('#order_expert').val(), //预约专家
  884. IsMedical:$('#order_advice').find('input[type="radio"]:checked').val(), //是否来院就医
  885. Project:$('#order_utilities').val(), //预约项目
  886. AboutcarMan:$('#order_About').val(), //约车人
  887. CarTel:$('#order_lephone').val(), //约车电话
  888. TreatmentAddress:$('#order_ocation').val(), //接诊地址
  889. IsCar:$('#order_chuch').find('input[type="radio"]:checked').val(), //是否出车
  890. Condition:$('#order_Huebig').val(), //患者病情
  891. Department:$('#order_office').val(), //预约科室 1111111111111111111111111111111111111
  892. TranDepartment:$('#order_strtil').val(), //转接科室 222222222222222222222222222
  893. Remarks:$('#order_strative').val(),//备注
  894. AppointmentTime:$('#order_time').val(),//预约时间
  895. DriveoutTime:$('#order_chucetime').val(),//出车时间
  896. ComplaintDepartment:$('#order_Betou').val(), //被投诉科室
  897. ComplaintTarget:$('#order_Betxia').val(), //被投诉对象
  898. IsRelevant:$('#order_xibum').find('input[type="radio"]:checked').val(), //是否转相关部门
  899. token: $.cookie("token")
  900. }, function(result) {
  901. result = $.parseJSON(result);
  902. if(result.state.toLowerCase() === "success") {
  903. cleanOrderForm(); //清空新增工单的数据
  904. $('.ld-service').find('li.KF').trigger('click'); //进入历史工单页面
  905. top.workcount();
  906. layer.msg("保存成功");
  907. }
  908. })
  909. }
  910. //清空新增工单的数据
  911. function cleanOrderForm() {
  912. $('#order_form').find('input.form-control').val('');
  913. $('#order_form').find('textarea.form-control').val('');
  914. $('#order_form').find('select.form-control').val('0');
  915. $('#order_type').find("input[type='radio'][value='107']").prop("checked", true).trigger('change');
  916. $('#order_iseffective').find("input[type='radio'][value='0']").prop("checked", true).trigger('change');
  917. $('#order_transfer_dept').val('').trigger('keyup');
  918. $('#order_transfer_dept').attr('placeholder', '请选择部门');
  919. $('#order_transfer_dept').attr('data-id', 0);
  920. $('#order_receiveUser').selectpicker('destroy');
  921. $('#order_receiveUser').empty();
  922. $('#order_receiveUser').append('<option value="0">请选择接收人</option>');
  923. $('#order_receiveUser').selectpicker('refresh');
  924. $('#order_form').find('.selectpicker.form-control').selectpicker('val', '0').trigger('change');
  925. $('#order_source').selectpicker('val', '468').trigger('change');
  926. $('#order_isover').find("input[type='radio'][value='0']").prop("checked", true);
  927. }
  928. //拉黑 保存
  929. function saveBlack() {
  930. var reg = /^\+?[1-9][0-9]*$/;
  931. var n = $("#time-word").val();
  932. var val = $("input[name='time']:checked").val();
  933. if(n) {
  934. if(!(reg.test(n))) {
  935. layer.confirm('请输入整数时间!', {
  936. btn: ['确定']
  937. });
  938. return;
  939. }
  940. } else {
  941. if(val == '4') {
  942. n = 0;
  943. } else {
  944. layer.confirm('请输入整数时间!', {
  945. btn: ['确定']
  946. });
  947. return;
  948. }
  949. }
  950. $.post(huayi.config.callcenter_url + 'CallInScreen/AddBlack', {
  951. tel: phoneNumber,
  952. num: n,
  953. type: val,
  954. "token": $.cookie("token")
  955. }, function(result) {
  956. result = $.parseJSON(result);
  957. if(result.state.toLowerCase() == "success") {
  958. layer.msg("拉入黑名单成功");
  959. $('.head_black_btn').text('取消');
  960. $('.ldtp-con .hei-list').hide();
  961. $('.la-before').hide();
  962. $('.retur').show();
  963. }
  964. })
  965. }
  966. //取消黑名单
  967. function cancelBlack() {
  968. $.getJSON(huayi.config.callcenter_url + 'CallInScreen/DelBlack', {
  969. tel: phoneNumber,
  970. "token": $.cookie("token")
  971. }, function(result) {
  972. if(result.state.toLowerCase() == "success") {
  973. layer.msg("取消黑名单成功");
  974. $('.head_black_btn').text('黑名单');
  975. $('.retur').hide();
  976. $('.la-before').show();
  977. }
  978. })
  979. }
  980. /**
  981. * 获取接收部门 获取投诉类型
  982. * el1, 树形结构元素id名 reginsTreeView
  983. * el2, 搜索框元素id名 order_transfer_dept
  984. * */
  985. function getDepts(el1, el2) {
  986. //初始化 样式
  987. $('#' + el2).on('focus click', function() {
  988. $('#' + el1).removeClass('hidden').addClass('show');
  989. });
  990. $('#' + el2).on('keyup', function() {
  991. if($(this).val() == '') {
  992. $('#' + el1).treeview('uncheckAll', {
  993. silent: true
  994. });
  995. $(this).attr('data-id', '0');
  996. }
  997. });
  998. $('#' + el2 + ' .caret').on('click', function() {
  999. $('#' + el1).removeClass('hidden').addClass('show');
  1000. });
  1001. $('#' + el1).mouseleave(function() {
  1002. $(this).removeClass('show').addClass('hidden');
  1003. });
  1004. $.getJSON(huayi.config.callcenter_url + 'Department/GetDeptList', {
  1005. token: $.cookie("token")
  1006. }, function(result) {
  1007. if(result.state.toLowerCase() == "success") {
  1008. var defaultDatas = helper.methods.buildTree(result.data);
  1009. var sortChildrenArr = helper.methods.objToArray(defaultDatas[0].children);
  1010. sortChildrenArr.sort(helper.methods.compare('sort'));
  1011. var sortChildrenObj = helper.methods.arrayToObj(sortChildrenArr);
  1012. defaultDatas[0].children = sortChildrenObj;
  1013. if(defaultDatas) {
  1014. var $sTree = $('#' + el1).treeview({
  1015. color: "#1ab394",
  1016. selectedBackColor: '#1ab394',
  1017. expandIcon: 'glyphicon glyphicon-chevron-right',
  1018. collapseIcon: 'glyphicon glyphicon-chevron-down',
  1019. nodeIcon: 'fa fa-folder-o',
  1020. //selectedIcon: "glyphicon glyphicon-stop",
  1021. //icon: "glyphicon glyphicon-stop",
  1022. //emptyIcon: 'glyphicon',
  1023. //showCheckbox: true,
  1024. selectable: true,
  1025. state: {
  1026. selected: true
  1027. },
  1028. data: defaultDatas,
  1029. onNodeSelected: function(event, node) {
  1030. $sTree.treeview('clearSearch');
  1031. $('#' + el2).val(node.text);
  1032. $('#' + el2).attr('data-id', node.id);
  1033. $('#' + el1).removeClass('show').addClass('hidden');
  1034. //获取接收人员
  1035. getReceiveUser($('#order_receiveUser'), node.id);
  1036. },
  1037. onNodeUnselected: function(event, node) {
  1038. $('#' + el2).attr('data-id', 0);
  1039. $('#' + el2).attr('placeholder', '请选择接收部门');
  1040. $('#order_receiveUser').empty();
  1041. $('#order_receiveUser').append('<option value="0">请选择接收人</option>');
  1042. $('#order_receiveUser').selectpicker('refresh');
  1043. }
  1044. });
  1045. // $('#' + el1).treeview('collapseAll', {
  1046. // silent: true
  1047. // });
  1048. $('#' + el1).treeview('expandAll', { levels: 2, silent: true });
  1049. var findSNodes = function() {
  1050. return $sTree.treeview('search', [$('#' + el2).val(), {
  1051. ignoreCase: false,
  1052. exactMatch: false
  1053. }]);
  1054. };
  1055. $('#' + el2).on('keyup focus', function(e) {
  1056. var selectableNodes = findSNodes();
  1057. //var m = $('#' + el1).treeview('getParent', selectableNodes);
  1058. //$('#' + el1).treeview('selectNode', [ m, { silent: true } ]);
  1059. });
  1060. }
  1061. }
  1062. })
  1063. }
  1064. //获取接收人员
  1065. function getReceiveUser(obj, deptid) {
  1066. $.ajax({
  1067. url: huayi.config.callcenter_url + 'UserAccount/GetDeptUserList',
  1068. type: 'get',
  1069. data: {
  1070. deptid: deptid,
  1071. token: $.cookie("token")
  1072. },
  1073. dataType: "json",
  1074. async: true,
  1075. success: function(res) {
  1076. obj.empty();
  1077. if(res.state.toLowerCase() === "success") {
  1078. res = res.data;
  1079. if(res && res.length > 0) {
  1080. obj.append('<option value="0">请选择接收人</option>');
  1081. res.forEach(function(v, i) {
  1082. obj.append('<option value="' + v.F_UserId + '" data-code="'+ v.F_UserCode +'">' + v.F_UserName + '('+ v.F_UserCode +')</option>');
  1083. });
  1084. obj.selectpicker('refresh');
  1085. }
  1086. }
  1087. },
  1088. });
  1089. }
  1090. //外呼
  1091. function calloutopt(telphone) {
  1092. event.stopPropagation();
  1093. if(telphone) {
  1094. $.ajax({
  1095. type: "get",
  1096. url: huayi.config.callcenter_url + "CallOutOpt/GetCallOutprefix",
  1097. async: true,
  1098. dataType: 'json',
  1099. data: {
  1100. phone: telphone,
  1101. token: $.cookie("token")
  1102. },
  1103. success: function(result) {
  1104. if(result.state.toLowerCase() === "success") {
  1105. top.obj.Type = "MakeCall";
  1106. top.obj.DestinationNumber = result.data.phone;
  1107. top.obj.Header = result.data.fix;
  1108. top.obj.TaskType = "0"; //0:拨号外呼;1:问卷外呼;
  1109. top.obj.TaskPhoneID = ''; // 原来是 回访的电话工单ID
  1110. top.Send();
  1111. }
  1112. }
  1113. });
  1114. }
  1115. }