12345市长热线标准版-前端

index.js 43KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275
  1. 
  2. $(document).ready(function () {
  3. if ($.cookie("token") == null) {
  4. window.location.href = "login.html";
  5. }
  6. //来电弹屏
  7. if (/mobile/i.test(navigator.userAgent) || /android/i.test(navigator.userAgent)) {
  8. $(".title-box").hide();
  9. }
  10. obj.AgentExten = $.cookie("extno");
  11. if (obj.AgentExten == undefined) {
  12. $(".Gnumbox").hide();
  13. }
  14. $(".Gnum").text(obj.AgentExten);
  15. $.getJSON(huayi.config.callcenter_url + 'UserAccount/GetNowUser', {
  16. "token": $.cookie("token")
  17. }, function (result) {
  18. if (result.state.toLowerCase() == "success") {
  19. $("#RoleCode").val(result.data.user.F_RoleCode);
  20. $("#GroupCode").val(result.data.user.F_GroupCode);
  21. //console.log($("#RoleCode").val());
  22. $(".username").text(result.data.user.F_UserName);
  23. $('.user_code').text(result.data.user.F_UserCode);
  24. $('.group').text(result.data.user.F_SeartGroup);
  25. if (result.data.role) {
  26. $(".rolename").text(result.data.role.F_RoleName);
  27. }
  28. $(".yhtx").attr("src", huayi.config.callcenter_url.substr(0, huayi.config.callcenter_url.length - 1) + result.data.user.F_See);
  29. obj.AgentID = result.data.user.F_UserCode;
  30. //obj.AgentExten = result.data.user.F_WorkNumber;
  31. $('.mgh').val(result.data.user.F_UserCode);
  32. $('.mn').val(result.data.user.F_UserName);
  33. if (result.data.user.F_SeatFlag) {
  34. Connect();
  35. //heartbeat = setInterval(function() {
  36. // Heart()
  37. //}, 60000);
  38. $("#top-search").show();
  39. $(".phoneBZ").show();
  40. $(".zts").show();
  41. if( $("#RoleCode").val()=='DBHWY'){
  42. obj.AgentGroup = "1";
  43. $('.db_show').show();
  44. $('.hw_show').hide();
  45. }else{
  46. obj.AgentGroup = "364";
  47. $('.db_show').hide();
  48. $('.hw_show').show();
  49. }
  50. //签入
  51. //obj.Type = "Login";
  52. //obj.AgentGroup = "364";
  53. //obj.AgentType = "0";
  54. //Send();
  55. }
  56. }
  57. });
  58. $.ajaxSettings.async = false;
  59. $.getJSON(huayi.config.callcenter_url + 'Index/GetMenu', {
  60. "token": $.cookie("token")
  61. }, function (result) {
  62. $.ajaxSettings.async = true;
  63. if (result.state.toLowerCase() == "success") {
  64. $(result.data).each(function (i, n) {
  65. var html = '<li><a href="#" dataid=' + n.F_FunctionId + '><i class="fa iconfont">&#xe614;</i><span class="nav-label">' + n.F_FunctionName + '</span><span class="fa arrow"></span></a>';
  66. html += '<ul class="nav nav-second-level">';
  67. $(n.item).each(function (j, m) {
  68. html += '<li><a class="J_menuItem" dataid=' + m.F_FunctionId + ' href="' + m.F_OptUrl + '">' + m.F_FunctionName + '</a></li>';
  69. })
  70. html += '</ul></li>';
  71. $(html).appendTo($("#side-menu"));
  72. })
  73. $(".J_menuItem").click(function () {
  74. if ($(this).text() == "来电弹屏") {
  75. $('.maxOpen').trigger("click");
  76. $('.head-pic .lahei .la-before').show();
  77. $('.head-pic .lahei .la-after').hide();
  78. }
  79. })
  80. }
  81. })
  82. //话务相关
  83. $("#top-search li").click(function () {
  84. if ($(this).find("i").hasClass("active")) {
  85. if (obj.AgentID) {
  86. var fun = $(this).attr("datafun");
  87. obj.Type = fun;
  88. switch (fun) {
  89. case "Login":
  90. // obj.AgentGroup = "364";
  91. obj.AgentType = "0";
  92. Send();
  93. break; //签入
  94. case "MakeCall":
  95. $(".hidCallID").val("");
  96. $("#hidwhtype").val(fun);
  97. whtp();
  98. //obj.DestinationNumber = "1012";
  99. break; //外呼
  100. case "Meeting":
  101. $("#hidwhtype").val(fun);
  102. whtp();
  103. //obj.DestinationNumber = "1012";
  104. break; //多方通话
  105. case "Transfer":
  106. $("#hidwhtype").val(fun);
  107. whtp();
  108. //obj.DestinationNumber = "1012";
  109. break; //转移
  110. case "Consult"://协商呼叫
  111. $("#hidwhtype").val(fun);
  112. whtp();
  113. break;
  114. case "ConfirmTransfer"://确认转移
  115. obj.EndParmer = "1";
  116. Send();
  117. break;
  118. case "CancelTransfer"://取消转移
  119. // $("#hidwhtype").val(ConfirmTransfer);
  120. obj.Type="ConfirmTransfer";
  121. obj.EndParmer = "3";
  122. Send();
  123. break;
  124. case "TurnIvr"://转IVR
  125. obj.IvrName = "TurnIvr";
  126. obj.IvrPos = "1";
  127. Send();
  128. break;
  129. default:
  130. Send();
  131. break;
  132. }
  133. }
  134. }
  135. });
  136. //关闭外呼弹屏
  137. $(".closes").click(function () {
  138. $(".WH").removeClass("fadeInDown").addClass("fadeOutUp");
  139. $(".WH").addClass("hidens");
  140. })
  141. //外呼呼出
  142. $(".CallOut").click(function (event) {
  143. event.stopPropagation();
  144. if ($("#Result").val()) {
  145. $.ajax({
  146. type: "get",
  147. url: huayi.config.callcenter_url + "CallOutOpt/GetCallOutprefix",
  148. async: true,
  149. dataType: 'json',
  150. data: {
  151. token: $.cookie("token"),
  152. phone: $("#Result").val()
  153. },
  154. success: function (result) {
  155. if (result.state.toLowerCase() == "success") {
  156. var guid = uuid();
  157. obj.Type = $("#hidwhtype").val();
  158. obj.DestinationNumber = result.data.phone;
  159. obj.Header = result.data.fix;
  160. obj.TaskType = "0"; //0:拨号外呼;1:未接来电外呼;2:回访外呼
  161. obj.TaskPhoneID = ""; //回访的电话ID
  162. obj.TaskID = guid; //回访记录编号
  163. obj.Callee = $("#Result").val();//被叫号码
  164. obj.Caller = $.cookie("extno"); //操作人分机号
  165. Send();
  166. $('#Result').val('');
  167. $(".WH").addClass("hidens");
  168. }
  169. }
  170. });
  171. }
  172. })
  173. //外呼弹屏数字键盘样式
  174. $(".Num_ul div").mousedown(function () {
  175. $(this).addClass("actives");
  176. $(".img").removeClass("hidens");
  177. }).mouseup(function () {
  178. $(this).removeClass("actives");
  179. })
  180. //外呼弹屏数字键盘号码输入
  181. $(".Num_ul li div").click(function () {
  182. var rt = $("#Result").val() + "";
  183. if (rt.length < 18) {
  184. rt = rt + $(this).find("a").text();
  185. $("#Result").val(rt);
  186. }
  187. });
  188. //外呼弹屏数字键盘号码截取
  189. $(".img").click(function () {
  190. var Result = $("#Result").val() + "";
  191. Result = Result.substr(0, Result.length - 1);
  192. $("#Result").val(Result);
  193. if (Result.length == 0) {
  194. $(".img").addClass("hidens");
  195. }
  196. })
  197. //外呼电话列表
  198. $(".bg_title li").click(function () {
  199. $(this).addClass("lactive").siblings().removeClass("lactive");
  200. loadWH();
  201. })
  202. $(".ty").click(function () {
  203. loadWH();
  204. })
  205. //加载左侧导航菜单
  206. //loadMenu();
  207. //关闭录音弹出
  208. $(".setwin").click(function () {
  209. $(".t-shade").removeClass("cx");
  210. $('audio')[0].pause();
  211. });
  212. //修改密码开始====================================================================
  213. $('.shezhi').click(function () {
  214. $('.personal').show();
  215. })
  216. //tab切换
  217. $('.perTab li').click(function () {
  218. $(this).addClass('sel').siblings().removeClass('sel');
  219. var index = $(this).index();
  220. $('.perTab_con').children('div').eq(index).show().siblings().hide();
  221. })
  222. //编辑个人资料
  223. $('.grzl tbody>tr>td input.zhidu').attr('readonly', true);
  224. $('.grbj').click(function () {
  225. $('.grzl tbody>tr>td input.zhidu').attr('readonly', false);
  226. $('.grzl tbody>tr>td input.zhidu').css('border-bottom', "1px solid #b3b3b3");
  227. })
  228. //取消编辑
  229. $('.grqx').click(function () {
  230. $('.grzl tbody>tr>td input.zhidu').attr('readonly', true);
  231. $('.grzl tbody>tr>td input.zhidu').css('border-bottom', "none");
  232. })
  233. //关闭按钮
  234. $('.ptr').click(function () {
  235. $('.personal').hide();
  236. })
  237. //修改密码
  238. $('.grbtn').click(function () {
  239. var gh = $('.mgh').val();
  240. var xm = $('.mn').val();
  241. var ymm = $('.spwd').val();
  242. var xmm = $('.npwd').val();
  243. var qmm = $('.epwd').val();
  244. if (xmm !== qmm) {
  245. $('.wrong').show();
  246. $('.npwd').val('')
  247. $('.epwd').val('')
  248. } else if (xmm == '') {
  249. layer.msg("密码不允许为空!");
  250. } else {
  251. $('.wrong').hide();
  252. $('.grzl tbody>tr>td input').attr('readonly', true);
  253. $('.grzl tbody>tr>td input').css('border-bottom', "none");
  254. $.ajax({
  255. type: "post",
  256. url: huayi.config.callcenter_url + "UserAccount/UpdatePwd",
  257. async: true,
  258. dataType: 'json',
  259. data: {
  260. token: $.cookie("token"),
  261. usercode: gh,
  262. pwd: $.md5(xmm),
  263. oldpwd: $.md5(ymm)
  264. },
  265. success: function (result) {
  266. if (result.state.toLowerCase() == "success") {
  267. layer.msg("修改成功!");
  268. }
  269. }
  270. });
  271. }
  272. })
  273. //图片裁剪
  274. var o = $(".image-crop > img");
  275. $(o).cropper({
  276. aspectRatio: 1 / 1,
  277. resizable: false,
  278. dragCrop: false,
  279. preview: ".img-preview",
  280. done: function () { }
  281. });
  282. var r = $("#inputImage");
  283. if (window.FileReader) {
  284. r.change(function () {
  285. var e, i = new FileReader,
  286. t = this.files;
  287. if (t.length && (e = t[0], /^image\/\w+$/.test(e.type))) {
  288. i.readAsDataURL(e);
  289. i.onload = function () {
  290. r.val("");
  291. o.cropper("reset", !0).cropper("replace", this.result);
  292. }
  293. } else {
  294. layer.msg("请选择图片文件");
  295. }
  296. });
  297. $("#setDrag").click(function () {
  298. o.cropper("setDragMode", "crop");
  299. var img = o.cropper("getDataURL");
  300. $.post(huayi.config.callcenter_url + "Index/UploadTX64", {
  301. dataurl: encodeURIComponent(img),
  302. "token": $.cookie("token")
  303. }, function (result) {
  304. result = $.parseJSON(result);
  305. if (result.state.toLowerCase() == "success") {
  306. $(".yhtx").attr("src", huayi.config.callcenter_url.substr(0, huayi.config.callcenter_url.length - 1) + result.data);
  307. layer.msg("上传成功");
  308. $('.personal').hide();
  309. }
  310. })
  311. });
  312. $("#zoomIn").click(function () {
  313. o.cropper("zoom", .1)
  314. });
  315. $("#zoomOut").click(function () {
  316. o.cropper("zoom", -.1)
  317. });
  318. $("#rotateLeft").click(function () {
  319. o.cropper("rotate", 45)
  320. });
  321. $("#rotateRight").click(function () {
  322. o.cropper("rotate", -45)
  323. });
  324. } else {
  325. r.addClass("hide");
  326. }
  327. $("#zxTable tbody").on('click', 'tr', function () {
  328. $(this).addClass('tr_bg')
  329. $(this).siblings().removeClass('tr_bg')
  330. $('#Result').val($(this).attr('fjh'));
  331. })
  332. //工单
  333. //当即办理
  334. //$(".Nows").change(function () {
  335. // $(".Nows_box").toggle();
  336. //});
  337. //加载来电类型 默认是 已受理并发送id
  338. GetDicValueList();
  339. $('.right-tab li').click(function () {
  340. messages($(this).index());
  341. })
  342. //全部已读
  343. $('.readed').click(function () {
  344. $.ajax({
  345. type: "get",
  346. url: huayi.config.callcenter_url + "Index/CloseChat",
  347. async: true,
  348. dataType: 'json',
  349. data: {
  350. token: $.cookie("token"),
  351. id: 0
  352. },
  353. success: function (data) {
  354. if (data.total > 0) {
  355. messages()
  356. } else {
  357. layer.msg("设置失败!");
  358. }
  359. }
  360. });
  361. })
  362. //主动发消息
  363. $('.sele_send').click(function () {
  364. layer.open({
  365. type: 2,
  366. content: "replyChat.html", //iframe的url,no代表不显示滚动条
  367. title: '发送消息',
  368. area: ['50%', '60%'], //宽高
  369. });
  370. })
  371. var ru, rd, msgs;
  372. $('.mid').val(0);
  373. var mid = $('.mid').val();
  374. $('.tuBiao').click(function () {
  375. if ($(".drm").css("display") == 'block') {
  376. $(".drm").css("display", "none");
  377. } else {
  378. $(".drm").css("display", "block");
  379. }
  380. })
  381. $('#small-chat').click(function () {
  382. if ($(".small-chat-box").hasClass("active")) {
  383. rightDown();
  384. rd = setInterval(rightDown, 60000);
  385. }
  386. else {
  387. clearInterval(rd);
  388. }
  389. })
  390. //即时通讯 消息总数
  391. message_total();
  392. setInterval(message_total, 5000);
  393. function message_total(){
  394. helper.init.isload = 0;
  395. $.ajax({
  396. type: "get",
  397. url: huayi.config.callcenter_url + "Index/GetChatCount",
  398. async: true,
  399. dataType: 'json',
  400. data: {
  401. token: $.cookie("token"),
  402. top: 50
  403. },
  404. success: function (data) {
  405. helper.init.isload=1;
  406. if (data.total <= 0) {
  407. $('.chat_count').hide();
  408. $('.chat').removeClass("come_mess");
  409. } else {
  410. $('.chat_count').show();
  411. $('.chat_count').html(data.total);
  412. $('.chat').addClass("come_mess");
  413. }
  414. }
  415. });
  416. }
  417. $('.chat').click(function () {
  418. $("#right-sidebar").toggleClass("sidebar-open");
  419. if ($("#right-sidebar").hasClass("sidebar-open")) {
  420. messages();
  421. msgs = setInterval(messages, 5000, 0);//未读消息定时刷新
  422. }
  423. else {
  424. clearInterval(msgs);
  425. }
  426. })
  427. rightUp();
  428. setInterval(rightUp, 60000);
  429. })
  430. //清空
  431. function Clean() {
  432. //左侧
  433. //debugger;
  434. $('.ldname').val('');//投诉人
  435. $('#khid').val('');
  436. $('.tsdh').val('');//投诉电话
  437. $('.ldlocation').text('未知');//归属地
  438. $('.lxr').val('');//联系人
  439. $('.lxdh').val('');//联系电话
  440. $('.postcode').val('');//邮编
  441. $('.email').val('');//email
  442. $('.ldtime').val('');//来电时间
  443. //右侧
  444. $("#cusname").val(''); //=投诉人姓名
  445. $("#cussex").val('');
  446. $("#cusphone").val(''); //=投诉人电话
  447. $("#email").val('');
  448. $("#zipcode").val('');
  449. $("#conphone").val('');
  450. $("#title").val('');
  451. $("#content").val('');
  452. $("#sourcearea").val(); //=事发地域id
  453. $('#sourceaddress').val(''); //=事发详细地址
  454. $("input[name='baomi'][value='1']").prop("checked", true); //=(0转办1直办)
  455. $("#type option:first").prop("selected", 'selected');
  456. $("#level option:first").prop("selected", 'selected');
  457. $("#keys option:first").prop("selected", 'selected');
  458. $("#sourcearea option:first").prop("selected", 'selected');
  459. $('#result').val('');
  460. }
  461. function clearworkorder() {
  462. $("#xxlb").val("");
  463. $("#xxlb").trigger("change");
  464. $("#FArea").val("");
  465. $("#FArea").trigger("change");
  466. $("#sfdz").val("");
  467. $("#tskh").val("");
  468. $("#tsdh").val("");
  469. $("#email").val("");
  470. $("#postcode").val("");
  471. $("#lxr").val("");
  472. $("#lxdh").val("");
  473. $("#content").val("");
  474. $("#result").val("");
  475. $("#JArea").val("");
  476. $("#JArea").trigger("change");
  477. $("#remark").val("");
  478. $("#khid").val("");
  479. $(".khmc").val("");
  480. $(".tsdh").val("");
  481. $(".lxr").val("");
  482. $(".lxdh").val("");
  483. $(".postcode").val("");
  484. $(".email").val("");
  485. }
  486. function GetCallState(val) {
  487. if (val == '1') {
  488. return '已接通';
  489. } else {
  490. return '未接通';
  491. }
  492. }
  493. //音频
  494. function setCode(val) {
  495. if (val) {
  496. return '<div class="imgs" style="cursor: pointer;">' +
  497. '<img src="./img/vice.png" alt="" onclick= ck(this) item="' + val + '" />' +
  498. '</div>';
  499. } else {
  500. return '';
  501. }
  502. }
  503. //录音
  504. function ck(val) {
  505. var path = $(val).attr("item");
  506. $(".t-shade").addClass("cx");
  507. $(".Ly_box").empty();
  508. $(".LY_box").empty();
  509. $(".down").attr("href", path);
  510. $('<audio style="width: 100%;"class=" " src="' + path + '" loop="loop" controls="controls" ></audio>').appendTo(".Ly_box");
  511. if ($("#RoleCode").val() == "GLY" || $("#RoleCode").val() == "ZXBZ") {
  512. $('<a href="' + path + '" class="sc_btn LY "download="' + path + '">下载录音</a>').appendTo(".LY_box");
  513. }
  514. $('.shade_k').css({
  515. 'top': $(document).scrollTop() + ($(window).height() - $('.shade_k').height() - 289) / 2,
  516. 'left': ($(window).width() - $('.shade_k').width()) / 2,
  517. 'position': 'absolute'
  518. });
  519. }
  520. function GetLink(val) {
  521. if (val) {
  522. return '<a onclick="ckxq(' + val + ')">' + val + '</a>';
  523. } else {
  524. return '';
  525. }
  526. }
  527. //查看详情
  528. function ckxq(str) {
  529. layer.open({
  530. type: 2,
  531. content: "CommonHtml/WorkDatil.html?wid=" + str, //iframe的url,no代表不显示滚动条
  532. title: '工单详情',
  533. area: ['85%', '80%'], //宽高
  534. });
  535. }
  536. //截取字符串
  537. function GetCont(val) {
  538. if (val) {
  539. var str = '<div '
  540. if (val.length > 10) {
  541. str = str + ' title="' + val + '" ';
  542. val = val.substr(0, 10) + "...";
  543. }
  544. return str + '>' + val + '</div>';
  545. } else {
  546. return '';
  547. }
  548. }
  549. //加载字典
  550. function loadDic(obj, pid) {
  551. obj.empty();
  552. obj.append('<option selected="selected" value="">请选择</option>');
  553. if (!pid) {
  554. pid = -1;
  555. }
  556. $.getJSON(huayi.config.callcenter_url + "Dictionary/GetDicValueListByParentId", {
  557. "token": $.cookie("token"),
  558. pid: pid
  559. }, function (data) {
  560. if (data.state.toLowerCase() == "success") {
  561. var content = data.data;
  562. $(content).each(function (i, n) {
  563. $("<option value='" + n.F_ValueId + "'>" + n.F_Value + "</option>").appendTo(obj);
  564. })
  565. }
  566. })
  567. }
  568. //加载区域
  569. function loadArea(obj) {
  570. obj.empty();
  571. obj.append('<option selected="selected" value="">请选择</option>');
  572. $.getJSON(huayi.config.callcenter_url + "Department/GetAreaList", {
  573. "token": $.cookie("token")
  574. }, function (data) {
  575. if (data.state.toLowerCase() == "success") {
  576. var content = data.data;
  577. $(content).each(function (i, n) {
  578. $("<option value='" + n.F_AreaId + "'>" + n.F_AreaName + "</option>").appendTo(obj);
  579. })
  580. }
  581. })
  582. }
  583. //获取知识库
  584. //function loadZSK() {
  585. // $.getJSON(huayi.config.callcenter_url + 'CallInScreen/GetZSKList', {
  586. // "keywords": $(".search").val(),
  587. // "token": $.cookie("token")
  588. // }, function (result) {
  589. // if (result.state.toLowerCase() == "success") {
  590. // $(".ldcr-bottom .detail-con ul").empty();
  591. // $(result.data).each(function (i, n) {
  592. // var key_w = $(".search").val();
  593. // if (key_w) {
  594. // var after_w = n.F_Title.replace(key_w, '<span style="color:red;">' + key_w + '</span>');
  595. // var html = '<li>' +
  596. // ' <div class="zhishi-title clearfix">' +
  597. // ' <a href="javascript:void(0);" class="titless" >' + after_w + '</a>' +
  598. // ' <em >' + n.F_CreateOn + '</em>' +
  599. // ' </div>' +
  600. // ' <div class="explancon">' +
  601. // n.F_Content +
  602. // ' </div>' +
  603. // '</li>';
  604. // } else {
  605. // var html = '<li>' +
  606. // ' <div class="zhishi-title clearfix">' +
  607. // ' <a href="javascript:void(0);" class="titless" >' + n.F_Title + '</a>' +
  608. // ' <em >' + n.F_CreateOn + '</em>' +
  609. // ' </div>' +
  610. // ' <div class="explancon">' +
  611. // n.F_Content +
  612. // ' </div>' +
  613. // '</li>';
  614. // }
  615. //
  616. //
  617. // $(html).appendTo($(".ldcr-bottom .detail-con ul")).find(".zhishi-title").click(function (event) {
  618. // event.stopPropagation();
  619. // if ($(this).hasClass("active")) {
  620. // $(this).removeClass("active")
  621. // } else {
  622. // $(".zhishi-title").removeClass("active");
  623. // $(this).addClass("active");
  624. // }
  625. // })
  626. // })
  627. // }
  628. //
  629. // })
  630. //}
  631. //
  632. //外呼弹屏
  633. function whtp() {
  634. $("#Result").val("");
  635. if ($(".WH").hasClass("fadeOutUp")) {
  636. $(".WH").removeClass("fadeOutUp").addClass("fadeInDown");
  637. }
  638. $(".WH").removeClass("hidens");
  639. $('.first').removeClass('first');
  640. $('.WH').addClass('first');
  641. loadWH();
  642. }
  643. //加载外呼电话列表
  644. function loadWH() {
  645. $(".phonediv").hide();
  646. var n = $(".bg_title .lactive").attr("itemid");
  647. switch (n) {
  648. case '0':
  649. var obj0 = $(".phonediv").eq(0);
  650. obj0.show();
  651. //先销毁表格
  652. var table = obj0.find(".phonelist");
  653. table.bootstrapTable('destroy');
  654. //初始化表格,动态从服务器加载数据
  655. table.bootstrapTable({
  656. method: "get", //使用get请求到服务器获取数据
  657. url: huayi.config.callcenter_url + "CallOutScreen/GetPhoneList", //获取数据的Servlet地址
  658. contentType: "application/x-www-form-urlencoded",
  659. striped: true, //表格显示条纹
  660. pagination: true, //启动分页
  661. pageSize: 10, //每页显示的记录数
  662. pageNumber: 1, //当前第几页
  663. pageList: [10, 20, 50, 100], //记录数可选列表
  664. search: false, //是否启用查询
  665. showColumns: false, //显示下拉框勾选要显示的列
  666. showRefresh: false, //显示刷新按钮
  667. sidePagination: "server", //表示服务端请求
  668. //设置为undefined可以获取pageNumber,pageSize,searchText,sortName,sortOrder
  669. //设置为limit可以获取limit, offset, search, sort, order
  670. queryParamsType: "undefined",
  671. queryParams: function queryParams(params) { //设置查询参数
  672. var param = {
  673. page: params.pageNumber,
  674. pagesize: params.pageSize,
  675. tel: $("#lastphone").val(),
  676. token: $.cookie("token")
  677. };
  678. return param;
  679. },
  680. onLoadSuccess: function () { //加载成功时执行
  681. //layer.msg("加载成功");
  682. },
  683. onLoadError: function () { //加载失败时执行
  684. //layer.msg("加载数据失败", { time: 1500, icon: 2 });
  685. }
  686. });
  687. break;
  688. case '1':
  689. var obj1 = $(".phonediv").eq(1);
  690. obj1.show();
  691. var table = obj1.find(".phonelist");
  692. table.bootstrapTable('destroy');
  693. //初始化表格,动态从服务器加载数据
  694. table.bootstrapTable({
  695. method: "get", //使用get请求到服务器获取数据
  696. url: huayi.config.callcenter_url + "CallOutScreen/GetUserList", //获取数据的Servlet地址
  697. contentType: "application/x-www-form-urlencoded",
  698. striped: true, //表格显示条纹
  699. pagination: true, //启动分页
  700. pageSize: 10, //每页显示的记录数
  701. pageNumber: 1, //当前第几页
  702. pageList: [10, 20, 50, 100], //记录数可选列表
  703. search: false, //是否启用查询
  704. showColumns: false, //显示下拉框勾选要显示的列
  705. showRefresh: false, //显示刷新按钮
  706. sidePagination: "server", //表示服务端请求
  707. //设置为undefined可以获取pageNumber,pageSize,searchText,sortName,sortOrder
  708. //设置为limit可以获取limit, offset, search, sort, order
  709. queryParamsType: "undefined",
  710. queryParams: function queryParams(params) { //设置查询参数
  711. var param = {
  712. page: params.pageNumber,
  713. pagesize: params.pageSize,
  714. tel: $("#gsphone").val(),
  715. name: $("#gsname").val(),
  716. token: $.cookie("token")
  717. };
  718. return param;
  719. },
  720. onLoadSuccess: function () { //加载成功时执行
  721. //layer.msg("加载成功");
  722. },
  723. onLoadError: function () { //加载失败时执行
  724. //layer.msg("加载数据失败", { time: 1500, icon: 2 });
  725. }
  726. });
  727. break;
  728. case '2':
  729. var obj2 = $(".phonediv").eq(2);
  730. obj2.show();
  731. var table = obj2.find(".phonelist");
  732. table.bootstrapTable('destroy');
  733. //初始化表格,动态从服务器加载数据
  734. table.bootstrapTable({
  735. method: "get", //使用get请求到服务器获取数据
  736. url: huayi.config.callcenter_url + "CallOutScreen/GetCustomerList", //获取数据的Servlet地址
  737. contentType: "application/x-www-form-urlencoded",
  738. striped: true, //表格显示条纹
  739. pagination: true, //启动分页
  740. pageSize: 10, //每页显示的记录数
  741. pageNumber: 1, //当前第几页
  742. pageList: [10, 20, 50, 100], //记录数可选列表
  743. search: false, //是否启用查询
  744. showColumns: false, //显示下拉框勾选要显示的列
  745. showRefresh: false, //显示刷新按钮
  746. sidePagination: "server", //表示服务端请求
  747. //设置为undefined可以获取pageNumber,pageSize,searchText,sortName,sortOrder
  748. //设置为limit可以获取limit, offset, search, sort, order
  749. queryParamsType: "undefined",
  750. queryParams: function queryParams(params) { //设置查询参数
  751. var param = {
  752. page: params.pageNumber,
  753. pagesize: params.pageSize,
  754. tel: $("#khphone").val(),
  755. name: $("#khname").val(),
  756. token: $.cookie("token")
  757. };
  758. return param;
  759. },
  760. onLoadSuccess: function () { //加载成功时执行
  761. //layer.msg("加载成功");
  762. },
  763. onLoadError: function () { //加载失败时执行
  764. //layer.msg("加载数据失败", { time: 1500, icon: 2 });
  765. }
  766. });
  767. break;
  768. case '3':
  769. $(".phonediv").eq(3).show();
  770. $("#zxTable tbody").html('');
  771. if (obj.AgentID) {
  772. obj.Type = "GetAgentList";
  773. Send();
  774. }
  775. break;
  776. }
  777. }
  778. function view(val) {
  779. var str = '';
  780. if (val) {
  781. str = '<a onclick="call(\'' + val + '\')">' + val + '</a>';
  782. }
  783. return str;
  784. }
  785. function call(val) {
  786. $("#Result").val(val);
  787. $(".img").removeClass("hidens");
  788. }
  789. function ftime(val) {
  790. if (val) {
  791. return helper.DateFormat.getFormatTime(val);
  792. } else {
  793. return '';
  794. }
  795. }
  796. function logout() {
  797. $.ajax({
  798. url: huayi.config.callcenter_url + "Login/Logout",
  799. data: {
  800. token: $.cookie("token")
  801. },
  802. dataType: "json",
  803. success: function (res) {
  804. if (res.state) {
  805. location.href = "./login.html";
  806. }
  807. }
  808. });
  809. }
  810. //跳转
  811. function Jumps() {
  812. $("iframe:visible")[0].src = "widgets.html"
  813. }
  814. ////子页面返回主页
  815. //function home_index() {
  816. // top.$("iframe:visible")[0].src = "widgets.html";
  817. //}
  818. //通知公告
  819. function QY(obj) {
  820. obj.empty();
  821. obj.append('<option selected="selected" value="">请选择</option>');
  822. $.getJSON(huayi.config.callcenter_url + "Area/GetAreaListById", {
  823. "token": $.cookie("token"),
  824. }, function (data) {
  825. if (data.state.toLowerCase() == "success") {
  826. var content = data.data;
  827. $(content).each(function (i, n) {
  828. $("<option value='" + n.F_AreaId + "'>" + n.F_AreaName + "</option>").appendTo(obj);
  829. })
  830. }
  831. })
  832. }
  833. //来源
  834. function LY(obj) {
  835. obj.empty();
  836. $.getJSON(huayi.config.callcenter_url + "Dictionary/GetDicValueListById", {
  837. "token": $.cookie("token"),
  838. id: 1
  839. }, function (data) {
  840. if (data.state.toLowerCase() == "success") {
  841. var content = data.data;
  842. $(content).each(function (i, n) {
  843. $("<option value='" + n.F_ValueId + "'>" + n.F_Value + "</option>").appendTo(obj);
  844. })
  845. }
  846. })
  847. }
  848. //类别
  849. function LB(obj) {
  850. obj.empty();
  851. $.getJSON(huayi.config.callcenter_url + "Dictionary/GetDicValueListById", {
  852. "token": $.cookie("token"),
  853. id: 2
  854. }, function (data) {
  855. if (data.state.toLowerCase() == "success") {
  856. var content = data.data;
  857. $(content).each(function (i, n) {
  858. $("<option value='" + n.F_ValueId + "'>" + n.F_Value + "</option>").appendTo(obj);
  859. })
  860. }
  861. })
  862. }
  863. //主题
  864. function ZT(obj) {
  865. obj.empty();
  866. $.getJSON(huayi.config.callcenter_url + "Dictionary/GetDicValueListById", {
  867. "token": $.cookie("token"),
  868. id: 3
  869. }, function (data) {
  870. if (data.state.toLowerCase() == "success") {
  871. var content = data.data;
  872. $(content).each(function (i, n) {
  873. $("<option value='" + n.F_ValueId + "'>" + n.F_Value + "</option>").appendTo(obj);
  874. })
  875. }
  876. })
  877. }
  878. //获取来电类型
  879. function GetDicValueList() {
  880. $('#dicValueList ul').html('');
  881. $.getJSON(huayi.config.callcenter_url + 'Dictionary/GetDicValueListById', {
  882. id: 45,
  883. token: $.cookie("token")
  884. }, function (result) {
  885. if (result.state.toLowerCase() == "success") {
  886. for (var i = 0; i < result.data.length; i++) {
  887. $('#dicValueList ul').append('<li><label data-valDic="' + result.data[i].F_ValueId + '" id="unit' + i + '">' + result.data[i].F_Value + '</label></li>');
  888. }
  889. }
  890. })
  891. }
  892. //点击来电类型
  893. var dicTypeid = 46;//默认是 已受理
  894. $(document).on('click', '#dicValueList li label', function () {
  895. if (!$(this).hasClass('checkedDept')) {
  896. var $that = $(this);
  897. if ($(".hidCallID").val()) {
  898. dicTypeid = 46;//默认是 已受理
  899. dicTypeid = $(this).attr('data-valDic') != 46 ? $(this).attr('data-valDic') : 46;
  900. $.post(huayi.config.callcenter_url + 'CallInScreen/UpdateCallInType', {
  901. callid: $(".hidCallID").val(),
  902. // callid: 59054,
  903. typeid: dicTypeid,
  904. "token": $.cookie("token")
  905. }, function (result) {
  906. //debugger;
  907. var results = JSON.parse(result);
  908. if (results.state.toLowerCase() == "success") {
  909. //console.info('传递来电类型成功,ID为:'+ dicTypeid);
  910. $that.addClass('checkedDept').parent().siblings().children().removeClass('checkedDept');
  911. if (dicTypeid != 46) {
  912. $('#dicForms').hide();
  913. layer.msg('来电类型保存成功!');
  914. if (dicTypeid == 50) {//催单
  915. $('.ldtp-cr ul.ld-service li:last-child').addClass("cr-click").siblings().removeClass("cr-click");
  916. loadOld();
  917. }
  918. } else {
  919. $('#dicForms').show();
  920. }
  921. }
  922. })
  923. } else {
  924. //console.info('传递来电类型失败');
  925. }
  926. } else {
  927. //$(this).removeClass('checkedDept');
  928. //layer.msg('来电类型已经保存成功!不用重复点击提交');
  929. }
  930. });
  931. //催单操作
  932. function setReminder(val, row) {
  933. if (dicTypeid == 50) {
  934. return '<a class="xg" onclick="reminder(' + row.F_WorkOrderId + ')" title="催单">催单</a>';
  935. } else {
  936. return '';
  937. }
  938. }
  939. function reminder(str) {
  940. layer.open({
  941. type: 2,
  942. content: "./CommonHtml/reminder.html?wid=" + str + "&callid=" + $(".hidCallID").val() + "", //iframe的url,no代表不显示滚动条
  943. title: '催单内容',
  944. area: ['40%', '40%'], //宽高
  945. });
  946. }
  947. //跳转超期共单列表
  948. $('.surIcon').click(function(){
  949. top.$("iframe:visible")[0].src = "./Appeal/expiredWorkOrders.html";
  950. })
  951. //右上角消息列表
  952. function rightUp() {
  953. helper.init.isload = 0;
  954. $('.drm').html('');
  955. $.ajax({
  956. type: "get",
  957. url: huayi.config.callcenter_url + "Index/GetNoDealOrder",
  958. async: true,
  959. dataType: 'json',
  960. data: {
  961. token: $.cookie("token"),
  962. top: 5
  963. //mid:$('.mid').val()
  964. },
  965. success: function (data) {
  966. helper.init.isload = 1;
  967. $('.mid').val(data.maxid)
  968. // helper.cookies.set("mid", data.maxid, 7);
  969. // console.log(data.maxid)
  970. // console.log($('.mid').val())
  971. $('.xx_count').html(data.total);
  972. $('.sur_count').html(data.timeoutcount);
  973. if (data.rows) {
  974. $.each(data.rows, function (i, n) {
  975. if (i < 10) {
  976. $('<li>' +
  977. '<a href="javaScript:;" class="xx" onclick="ckxq(' + n.F_WorkOrderId + ')">' +
  978. '<div class="tipCon">' + n.F_ComContent + '</div>' +
  979. '<div class="order_time clearfix">' +
  980. '<span class="work_order">订单号:' + n.F_WorkOrderId + '</span>' +
  981. '<span class="ort">' + n.F_CreateTime + '</span>' +
  982. '</div>' +
  983. '</a></li><li class="divider"></li>').appendTo('.drm');
  984. }
  985. });
  986. }
  987. $('<li><a href="javaScript:;" class="seeMore" onclick="goDC()">' +
  988. '<div class="order_time clearfix">' +
  989. '<span class="work_order">查看更多</span>' +
  990. '<span class="ort"> ' +
  991. '>>' +
  992. '</span>' +
  993. '</div>' +
  994. '</a></li>').appendTo('.drm');
  995. }
  996. });
  997. }
  998. function goDC() {
  999. top.$("iframe:visible")[0].src = "Business/WorkDC.html";
  1000. }
  1001. function ckxq(str) {
  1002. layer.open({
  1003. type: 2,
  1004. content: "CommonHtml/WorkDatil.html?wid=" + str, //iframe的url,no代表不显示滚动条
  1005. title: '工单详情',
  1006. area: ['85%', '80%'], //宽高
  1007. });
  1008. }
  1009. //右下角消息弹框
  1010. function rightDown() {
  1011. helper.init.isload = 0;
  1012. $(".rightDown_list").html('');
  1013. var tota = 0;
  1014. $.ajax({
  1015. type: "get",
  1016. url: huayi.config.callcenter_url + "Index/GetNoDealWorkTotal",
  1017. async: true,
  1018. dataType: 'json',
  1019. data: {
  1020. token: $.cookie("token")
  1021. },
  1022. success: function (data) {
  1023. helper.init.isload = 1;
  1024. var con = data.data;
  1025. $(con).each(function (i, n) {
  1026. var sts = "";
  1027. switch (n.state) {
  1028. case 0: sts = "待处理"; break;
  1029. case 1: sts = "待交办"; break;
  1030. case 2: sts = "待查收"; break;
  1031. case 3: sts = "退回审核中"; break;
  1032. case 4: sts = "办理中(主办)"; break;
  1033. case 5: sts = "延时审核中"; break;
  1034. case 6: sts = "待回访"; break;
  1035. case 7: sts = "已回访"; break;
  1036. case 8: sts = "重办中"; break;
  1037. case 9: sts = "已结案"; break;
  1038. case 10: sts = "办理中(协办)"; break;
  1039. default: sts = "其他"; break;
  1040. }
  1041. // console.log(typeof(n.state))
  1042. $('<li onclick="turnTo(this)">' +
  1043. '<a href="javaScript:;" data-index="' + n.state + '">' +
  1044. '<div>' + sts + '<span class="pull-right text-muted small">' + n.con + '条</span>' +
  1045. '</div>' +
  1046. '</a>' +
  1047. '</li>').appendTo(".rightDown_list");
  1048. tota = tota + parseInt(n.con);
  1049. })
  1050. $('.messageTotal').html(tota);
  1051. }
  1052. });
  1053. }
  1054. function turnTo(a) {
  1055. var state = $(a).children("a").attr("data-index");
  1056. switch (state) {
  1057. case "0": $("iframe:visible")[0].src = "Business/ZXDCL.html"; break;
  1058. case "1": $("iframe:visible")[0].src = "Business/LeaderDCL.html?states=" + state; break;//代交办
  1059. case "2": $("iframe:visible")[0].src = "Business/WorkDC.html?states=" + state; break;//待查收
  1060. case "3": $("iframe:visible")[0].src = "Business/LeaderDCL.html?states=" + state; break;//退回审核中
  1061. case "4": $("iframe:visible")[0].src = "Business/WorkDC.html?states=" + state; break;//办理中(主办)
  1062. case "5": $("iframe:visible")[0].src = "Business/LeaderDCL.html?states=" + state; break;//延时审核中
  1063. case "6": $("iframe:visible")[0].src = "Business/ZXDCL.html?states=" + state; break;
  1064. case "7": $("iframe:visible")[0].src = "Business/LeaderDCL.html?states=" + state; break;//已回访
  1065. case "8": $("iframe:visible")[0].src = "Business/WorkDC.html?states=" + state; break;//重办中
  1066. case "10": $("iframe:visible")[0].src = "Business/WorkDCCO.html?states=" + state; break;//办理中协办
  1067. default: sts = "其他"; break;
  1068. }
  1069. }
  1070. ///拖拽效果
  1071. //拖动事件
  1072. var box = document.getElementById("box");
  1073. //鼠标按下的函数
  1074. box.onmousedown = function (ev) {
  1075. var oEvent = ev || event;
  1076. //求出鼠标和box的位置差值
  1077. var x = oEvent.clientX - box.offsetLeft;
  1078. var y = oEvent.clientY - box.offsetTop;
  1079. console.log(x);
  1080. //鼠标移动的函数
  1081. //把事件加在document上,解决因为鼠标移动太快时,
  1082. //鼠标超过box后就没有了拖拽的效果的问题
  1083. document.onmousemove = function (ev) {
  1084. var oEvent = ev || event;
  1085. //保证拖拽框一直保持在浏览器窗口内部,不能被拖出的浏览器窗口的范围
  1086. var l = oEvent.clientX - x;
  1087. var t = oEvent.clientY - y;
  1088. if (l < 0) {
  1089. l = 0;
  1090. } else if (l > document.documentElement.clientWidth - box.offsetWidth) {
  1091. l = document.documentElement.clientWidth - box.offsetWidth;
  1092. }
  1093. if (t < 0) {
  1094. t = 0;
  1095. } else if (t > document.documentElement.clientHeight - box.offsetHeight) {
  1096. t = document.documentElement.clientHeight - box.offsetHeight;
  1097. }
  1098. box.style.left = l + "px";
  1099. box.style.top = t + "px";
  1100. }
  1101. //鼠标抬起的函数
  1102. document.onmouseup = function () {
  1103. document.onmousemove = null;
  1104. document.onmouseup = null;
  1105. }
  1106. //火狐浏览器在拖拽空div时会出现bug
  1107. //return false阻止默认事件,解决火狐的bug
  1108. // return false;
  1109. }
  1110. function messages(type) {
  1111. if (!type) {
  1112. type = $('.right-tab li.active').index();
  1113. }
  1114. var html = $('#tab-' + (type + 1)).find('.chat_box');
  1115. html.html('');
  1116. helper.init.isload = 0;
  1117. $.ajax({
  1118. type: "get",
  1119. url: huayi.config.callcenter_url + "Index/GetChatLists",
  1120. async: true,
  1121. dataType: 'json',
  1122. data: {
  1123. token: $.cookie("token"),
  1124. isread: type,
  1125. top: 50,
  1126. fromid: 0
  1127. },
  1128. success: function (data) {
  1129. helper.init.isload = 1;
  1130. $('#tab-1').find('.message_count').html(data.total);
  1131. if (type == 0) {
  1132. if (data.total == 0) {
  1133. $('.readed').hide();
  1134. } else {
  1135. $('.readed').show();
  1136. }
  1137. $('.close_chat').show();
  1138. }
  1139. $(data.rows).each(function (i, n) {
  1140. var str = '';
  1141. str = '<div class="sidebar-message">' +
  1142. '<a href="#">' +
  1143. '<div class="pull-left text-center">' +
  1144. '<img alt="image" class="img-circle message-avatar" src="img/chat_pic.jpg">' +
  1145. '<div class="m-t-xs">' + n.F_UserName + '</div>' +
  1146. '</div>' +
  1147. '<div class="media-body">' +
  1148. '<div class="chat_content">' + GetCont(n.Content) + '</div>' +
  1149. '<small class="text-muted">' + n.CreateDate + '</small>' +
  1150. '<span class="reply" data-FromUserId="' + n.FromUserId + '" data-ToUserId="' + n.ToUserId + '" data-roleId="' + n.F_RoleId + '" onclick="resply(this)">回复</span>'
  1151. if (n.IsRead != 1) {
  1152. str += '<span class="reply close_chat" data-index="' + n.Id + '" onclick="closed(this)">关闭</span>'
  1153. }
  1154. '</div>' +
  1155. '</a>' +
  1156. '</div>'
  1157. html.append(str);
  1158. })
  1159. }
  1160. });
  1161. }
  1162. function closed(a) {
  1163. var id = $(a).attr('data-index');
  1164. $.ajax({
  1165. type: "post",
  1166. url: huayi.config.callcenter_url + "Index/CloseChat",
  1167. async: true,
  1168. dataType: 'json',
  1169. data: {
  1170. token: $.cookie("token"),
  1171. id: id
  1172. },
  1173. success: function (data) {
  1174. if (data.total > 0) {
  1175. messages()
  1176. } else {
  1177. layer.msg("关闭消息失败!");
  1178. }
  1179. }
  1180. });
  1181. }
  1182. function resply(a) {
  1183. var userId = $(a).attr('data-FromUserId')
  1184. var toId = $(a).attr('data-ToUserId')
  1185. var roleId = $(a).attr('data-roleId')
  1186. layer.open({
  1187. type: 2,
  1188. content: "replyChat.html?userId=" + userId + "&roleId=" + roleId + "&toId=" + toId, //iframe的url,no代表不显示滚动条
  1189. title: '回复消息',
  1190. area: ['50%', '60%'], //宽高
  1191. });
  1192. }