开封利通水务前端

index.js 24KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862
  1. var isFirstShowTopMsg = true;
  2. $(document).ready(function() {
  3. if (/mobile/i.test(navigator.userAgent) || /android/i.test(navigator.userAgent)) {
  4. $(".title-box").hide();
  5. }
  6. if ($.cookie("token") == null) {
  7. window.location.href = "login.html";
  8. }
  9. obj.AgentExten = $.cookie("extno");
  10. if (obj.AgentExten == undefined) {
  11. $(".Gnumbox").hide();
  12. }
  13. $(".Gnum").text(obj.AgentExten);
  14. // 获取顶部获取消息
  15. getTopMsgs();
  16. setInterval(function() {
  17. getTopMsgs();
  18. }, huayi.config.topMsgTime);
  19. $.getJSON(huayi.config.callcenter_url + 'UserAccount/GetNowUser', {
  20. "token": $.cookie("token")
  21. }, function(result) {
  22. if (result.state.toLowerCase() == "success") {
  23. // console.log(result);
  24. // $.cookie("userType", result.data.usertype, {
  25. // expires: 7
  26. // });
  27. $.cookie("userRoleId", result.data.role.F_RoleId, {
  28. expires: 7
  29. });
  30. $.cookie("userRoleCode", result.data.role.F_RoleCode, {
  31. expires: 7
  32. });
  33. $(".username").text(result.data.user.F_UserName);
  34. $('.user_code').text(result.data.user.F_UserCode);
  35. localStorage.setItem('F_UserCode', result.data.user.F_UserCode)
  36. $('.group').text(result.data.user.F_SeartGroup);
  37. if (result.data.role) {
  38. // console.log(result.data);
  39. $(".rolename").text(result.data.role.F_RoleName);
  40. }
  41. $(".yhtx").attr("src", huayi.config.callcenter_url.substr(0, huayi.config.callcenter_url.length - 1) + result.data
  42. .user.F_See);
  43. obj.AgentGroup = result.data.user.F_SeartGroupID;
  44. obj.AgentID = result.data.user.F_UserCode;
  45. //obj.AgentExten = result.data.user.F_WorkNumber;
  46. if (result.data.user.F_SeatFlag) {
  47. Connect();
  48. $("#top-search").show();
  49. $(".phoneBZ").show();
  50. $(".zts").show();
  51. }
  52. }
  53. })
  54. //分机号
  55. //话务相关
  56. $("#top-search li").click(function() {
  57. if ($(this).find("i").hasClass("active")) {
  58. if (obj.AgentID) {
  59. var fun = $(this).attr("datafun");
  60. obj.Type = fun;
  61. switch (fun) {
  62. case "Login":
  63. // obj.AgentGroup = "364";
  64. obj.AgentType = "0";
  65. Send();
  66. break; //签入
  67. case "MakeCall":
  68. obj.Type = "SayFree";
  69. Send(); //备注:用户要求外呼立刻置闲
  70. $(".hidCallID").val("");
  71. $("#hidwhtype").val(fun);
  72. whtp();
  73. //obj.DestinationNumber = "1012";
  74. break; //外呼
  75. case "Meeting":
  76. $("#hidwhtype").val(fun);
  77. whtp();
  78. //obj.DestinationNumber = "1012";
  79. break; //多方通话
  80. case "Transfer":
  81. $("#hidwhtype").val(fun);
  82. whtp();
  83. //obj.DestinationNumber = "1012";
  84. break; //转移
  85. default:
  86. Send();
  87. break;
  88. }
  89. }
  90. }
  91. });
  92. //关闭外呼弹屏
  93. $(".closes").click(function() {
  94. $(".WH").removeClass("fadeInDown").addClass("fadeOutUp");
  95. $(".WH").addClass("hidens");
  96. })
  97. $(".J_menuTabs").on("click" ,'.fa',function(){
  98. $(".SayBusy").addClass("active");
  99. $(".SayFree").removeClass("active");
  100. $(".zxzt").removeClass("br").removeClass("by").addClass("bl");
  101. $(".hwzt").text('空闲');
  102. obj.Type = "SayFree";
  103. Send();
  104. });
  105. //键盘事件外呼
  106. document.onkeydown = function(e) {
  107. var theEvent = window.event || e;
  108. var code = theEvent.keyCode || theEvent.which;
  109. if (code == 13) {
  110. $(".CallOut").click();
  111. }
  112. }
  113. //外呼呼出
  114. $(".CallOut").click(function(event) {
  115. event.stopPropagation();
  116. if ($("#Result").val()) {
  117. $.ajax({
  118. type: "get",
  119. url: huayi.config.callcenter_url + "CallOutOpt/GetCallOutprefix",
  120. async: true,
  121. dataType: 'json',
  122. data: {
  123. token: $.cookie("token"),
  124. phone: $("#Result").val()
  125. },
  126. success: function(result) {
  127. // result = $.parseJSON(result);
  128. if (result.state.toLowerCase() == "success") {
  129. var guid = uuid();
  130. obj.Type = $("#hidwhtype").val();
  131. obj.DestinationNumber = result.data.phone;
  132. obj.Header = result.data.fix;
  133. top.obj.TaskType = "0"; //0:拨号外呼;1:95005回访外呼;2:电销回访外呼
  134. top.obj.TaskPhoneID = ""; //回访的电话ID
  135. top.obj.TaskID = guid; //回访记录编号
  136. Send();
  137. $('#Result').val('');
  138. $(".WH").addClass("hidens");
  139. }
  140. }
  141. });
  142. // obj.Type = $("#hidwhtype").val();
  143. // obj.DestinationNumber = $("#Result").val();
  144. // Send();
  145. }
  146. })
  147. //外呼弹屏数字键盘样式
  148. $(".Num_ul div").mousedown(function() {
  149. $(this).addClass("actives");
  150. $(".img").removeClass("hidens");
  151. }).mouseup(function() {
  152. $(this).removeClass("actives");
  153. })
  154. //外呼弹屏数字键盘号码输入
  155. $(".Num_ul li div").click(function() {
  156. var rt = $("#Result").val() + "";
  157. if (rt.length < 18) {
  158. rt = rt + $(this).find("a").text();
  159. $("#Result").val(rt);
  160. }
  161. });
  162. //外呼弹屏数字键盘号码截取
  163. $(".img").click(function() {
  164. var Result = $("#Result").val() + "";
  165. Result = Result.substr(0, Result.length - 1);
  166. $("#Result").val(Result);
  167. if (Result.length == 0) {
  168. $(".img").addClass("hidens");
  169. }
  170. })
  171. //外呼电话列表
  172. $(".bg_title li").click(function() {
  173. $(this).addClass("lactive").siblings().removeClass("lactive");
  174. loadWH();
  175. })
  176. $(".ty").click(function() {
  177. loadWH();
  178. });
  179. //加载左侧导航菜单
  180. loadMenu();
  181. workcount();
  182. setInterval(function() {
  183. workcount();
  184. $.cookie("token", $.cookie("token"), {expires: 7});
  185. }, huayi.config.menuworktime);
  186. //修改密码开始
  187. $('.shezhi').click(function() {
  188. Dialog('dialogDrag', 'dialogMove');
  189. showDialog();
  190. //侦听浏览器窗口大小变化
  191. window.onresize = function() {
  192. if ($('#dialogMove').is(':visible')) {
  193. showDialog();
  194. }
  195. }
  196. $.ajax({
  197. type: "get",
  198. url: huayi.config.callcenter_url + "UserAccount/GetNowUser",
  199. async: true,
  200. dataType: 'json',
  201. data: {
  202. token: $.cookie("token")
  203. },
  204. success: function(result) {
  205. if (result.state.toLowerCase() == "success") {
  206. var con = result.data.user;
  207. // console.log(con)
  208. $('.mgh').val(con.F_UserId);
  209. $('.mn').val(con.F_UserName);
  210. $('.mobile').val(con.F_Mobile);
  211. $('.fenji').val($.cookie("extno"));
  212. //$('.wxno').val(con.F_WXNo);
  213. // $('.spwd').val(con.F_Password);
  214. }
  215. }
  216. });
  217. })
  218. //tab切换
  219. $('.perTab li').click(function() {
  220. $(this).addClass('sel').siblings().removeClass('sel');
  221. var index = $(this).index();
  222. $('.perTab_con').children('div').eq(index).show().siblings().hide();
  223. })
  224. //编辑个人资料
  225. $('.grzl tbody>tr>td input.zhidu').attr('readonly', true);
  226. $('.grbj').click(function() {
  227. $('.grzl tbody>tr>td input.zhidu').attr('readonly', false);
  228. $('.grzl tbody>tr>td input.zhidu').css('border-bottom', "1px solid #b3b3b3");
  229. $('.grbtn').attr('disabled', false);
  230. })
  231. //取消编辑
  232. $('.grqx').click(function() {
  233. $('.grzl tbody>tr>td input.zhidu').attr('readonly', true);
  234. $('.grzl tbody>tr>td input.zhidu').css('border-bottom', "none");
  235. $('.grbtn').attr('disabled', true);
  236. })
  237. //关闭按钮
  238. $('.ptr').click(function() {
  239. hideDialog();
  240. })
  241. $('.grbtn').click(function() {
  242. var gh = $('.mgh').val();
  243. var xm = $('.mn').val();
  244. var ymm = $('.spwd').val();
  245. var xmm = $('.npwd').val();
  246. var qmm = $('.epwd').val();
  247. if (xmm !== qmm) {
  248. $('.wrong').show();
  249. $('.npwd').val('')
  250. $('.epwd').val('')
  251. } else if (xmm == '') {
  252. layer.msg("密码不允许为空!");
  253. } else {
  254. $('.wrong').hide();
  255. $('.grzl tbody>tr>td input').attr('readonly', true);
  256. $('.grzl tbody>tr>td input').css('border-bottom', "none");
  257. $.ajax({
  258. type: "post",
  259. url: huayi.config.callcenter_url + "UserAccount/UpdatePwd",
  260. async: true,
  261. dataType: 'json',
  262. data: {
  263. token: $.cookie("token"),
  264. usercode: gh,
  265. pwd: xmm,
  266. oldpwd: ymm,
  267. mobile: $('.mobile').val()
  268. },
  269. success: function(result) {
  270. // result = $.parseJSON(result);
  271. if (result.state.toLowerCase() == "success") {
  272. layer.msg("修改成功!");
  273. }
  274. }
  275. });
  276. }
  277. })
  278. //图片裁剪
  279. var o = $(".image-crop > img");
  280. $(o).cropper({
  281. aspectRatio: 1 / 1,
  282. resizable: false,
  283. dragCrop: false,
  284. preview: ".img-preview",
  285. done: function() {}
  286. });
  287. var r = $("#inputImage");
  288. if (window.FileReader) {
  289. r.change(function() {
  290. var e, i = new FileReader,
  291. t = this.files;
  292. if (t.length && (e = t[0], /^image\/\w+$/.test(e.type))) {
  293. i.readAsDataURL(e);
  294. i.onload = function() {
  295. r.val("");
  296. o.cropper("reset", !0).cropper("replace", this.result);
  297. }
  298. } else {
  299. alert("请选择图片文件");
  300. }
  301. });
  302. $("#setDrag").click(function() {
  303. o.cropper("setDragMode", "crop");
  304. var img = o.cropper("getDataURL");
  305. $.post(huayi.config.callcenter_url + "Index/UploadTX64", {
  306. dataurl: encodeURIComponent(img),
  307. "token": $.cookie("token")
  308. }, function(result) {
  309. result = $.parseJSON(result);
  310. if (result.state.toLowerCase() == "success") {
  311. $(".yhtx").attr("src", huayi.config.callcenter_url.substr(0, huayi.config.callcenter_url.length - 1) +
  312. result.data);
  313. layer.msg("上传成功");
  314. hideDialog();
  315. }
  316. })
  317. });
  318. $("#zoomIn").click(function() {
  319. o.cropper("zoom", .1)
  320. });
  321. $("#zoomOut").click(function() {
  322. o.cropper("zoom", -.1)
  323. });
  324. $("#rotateLeft").click(function() {
  325. o.cropper("rotate", 45)
  326. });
  327. $("#rotateRight").click(function() {
  328. o.cropper("rotate", -45)
  329. });
  330. } else {
  331. r.addClass("hide");
  332. }
  333. //新工单提示开始
  334. $('.add_blank').click(function(){
  335. $('.add_blank').css('display','none')
  336. });
  337. function timeout() {
  338. var res;
  339. $.ajax({
  340. url:huayi.config.callcenter_url +'WorkOrder/GetList',
  341. type:'get',
  342. async:false,
  343. data:{
  344. ltype:1,
  345. token: $.cookie("token")
  346. },
  347. success:function (data) {
  348. var data=JSON.parse(data);
  349. res = data.total;
  350. window.localStorage.setItem('order_total',res)
  351. }
  352. });
  353. return res;
  354. }
  355. var i=timeout();
  356. console.log(i);
  357. function newOrderList() {
  358. $.ajax({
  359. url:huayi.config.callcenter_url +'WorkOrder/GetList',
  360. type:'get',
  361. async:false,
  362. data:{
  363. ltype:1,
  364. token: $.cookie("token")
  365. },
  366. success:function (result) {
  367. var result=JSON.parse(result).total;
  368. var a=window.localStorage.getItem('order_total')
  369. if (result > a){
  370. a = result;
  371. $(".add_blank").show();
  372. window.localStorage.setItem('order_total',a);
  373. playSaveHandler();
  374. }
  375. }
  376. });
  377. }
  378. setInterval(newOrderList,10000);
  379. setInterval(function(){
  380. $(".add_blank").hide();
  381. },9000);
  382. //新工单弹屏提示结束
  383. //新工单声音提示
  384. function playSaveHandler() {
  385. //播放语音
  386. var promise = $('#btn_audio')[0].play();
  387. if (promise !== undefined) {
  388. promise.then(function() {
  389. $('#btn_audio')[0].play();
  390. }).catch(function(error) {
  391. var context = new(window.AudioContext || window.webkitAudioContext)();
  392. playAudio(context, 'audio/orderTips.wav');
  393. });
  394. }
  395. }
  396. })
  397. //菜单数字
  398. function workcount() {
  399. $.getJSON(huayi.config.callcenter_url + 'Index/GetWorkOrderCount', {
  400. "token": $.cookie("token")
  401. }, function(result) {
  402. if (result.state.toLowerCase() == "success") {
  403. $(".dpd").text(result.data.dpd); //待指派
  404. $(".yzp").text(result.data.yzp); //已指派
  405. $(".djd").text(result.data.djd); //待接单
  406. $(".dcl").text(result.data.dcl); //待处理
  407. $(".ycl").text(result.data.ycl); //已处理
  408. $(".wyc").text(result.data.wyc); //已参与
  409. $(".cq").text(result.data.cq); //超期工单
  410. $(".wx").text(result.data.wx); //微信工单
  411. $(".dhf").text(result.data.dhf); //待回访
  412. $(".yhf").text(result.data.yhf); //已回访
  413. //"dpd":2,"djd":0,"dcl":0,"ycl":2,"wyc":6,"cq":0
  414. }
  415. })
  416. }
  417. //上传头像
  418. function uploadtx() {
  419. if (document.getElementById("upFile").files.length > 0) {
  420. var formData = new FormData();
  421. formData.append("upFile", document.getElementById("upFile").files[0]);
  422. formData.append("token", $.cookie("token"));
  423. $.ajax({
  424. url: huayi.config.callcenter_url + "Index/UploadTX",
  425. type: "POST",
  426. data: formData,
  427. /**
  428. *必须false才会自动加上正确的Content-Type
  429. */
  430. contentType: false,
  431. /**
  432. * 必须false才会避开jQuery对 formdata 的默认处理
  433. * XMLHttpRequest会对 formdata 进行正确的处理
  434. */
  435. processData: false,
  436. success: function(result) {
  437. document.getElementById("upFile").outerHTML = document.getElementById("upFile").outerHTML;
  438. $("#upFile").change(function() {
  439. uploadtx();
  440. });
  441. var r = $.parseJSON(result);
  442. if (r.state.toLowerCase() == "success") {
  443. $(".yhtx").attr("src", huayi.config.callcenter_url.substr(0, huayi.config.callcenter_url.length - 1) + r.data);
  444. layer.msg("上传成功");
  445. }
  446. }
  447. });
  448. } else {
  449. layer.confirm('请上传文件!', {
  450. btn: ['确定']
  451. });
  452. }
  453. }
  454. //格式化呼叫状态
  455. function GetCallState(val) {
  456. if (val == '1') {
  457. return '已接通';
  458. } else {
  459. return '未接通';
  460. }
  461. }
  462. //外呼弹屏
  463. function whtp() {
  464. $("#Result").val("");
  465. if ($(".WH").hasClass("fadeOutUp")) {
  466. $(".WH").removeClass("fadeOutUp").addClass("fadeInDown");
  467. }
  468. $(".WH").removeClass("hidens");
  469. $('.first').removeClass('first');
  470. $('.WH').addClass('first');
  471. loadWH();
  472. }
  473. //加载外呼电话列表
  474. function loadWH() {
  475. $(".phonediv").hide();
  476. var n = $(".bg_title .lactive").attr("itemid");
  477. switch (n) {
  478. case '0':
  479. var obj = $(".phonediv").eq(0);
  480. obj.show();
  481. //先销毁表格
  482. var table = obj.find(".phonelist");
  483. table.bootstrapTable('destroy');
  484. //初始化表格,动态从服务器加载数据
  485. table.bootstrapTable({
  486. method: "get", //使用get请求到服务器获取数据
  487. url: huayi.config.callcenter_url + "CallOutScreen/GetPhoneList", //获取数据的Servlet地址
  488. contentType: 'application/x-www-form-urlencoded',
  489. striped: true, //表格显示条纹
  490. pagination: true, //启动分页
  491. pageSize: 10, //每页显示的记录数
  492. pageNumber: 1, //当前第几页
  493. pageList: [10, 20, 50, 100], //记录数可选列表
  494. search: false, //是否启用查询
  495. showColumns: false, //显示下拉框勾选要显示的列
  496. showRefresh: false, //显示刷新按钮
  497. sidePagination: "server", //表示服务端请求
  498. //设置为undefined可以获取pageNumber,pageSize,searchText,sortName,sortOrder
  499. //设置为limit可以获取limit, offset, search, sort, order
  500. queryParamsType: "undefined",
  501. queryParams: function queryParams(params) { //设置查询参数
  502. var param = {
  503. page: params.pageNumber,
  504. pagesize: params.pageSize,
  505. tel: $("#lastphone").val(),
  506. token: $.cookie("token")
  507. };
  508. return param;
  509. },
  510. onLoadSuccess: function() { //加载成功时执行
  511. //layer.msg("加载成功");
  512. },
  513. onLoadError: function() { //加载失败时执行
  514. //layer.msg("加载数据失败", { time: 1500, icon: 2 });
  515. }
  516. });
  517. break;
  518. case '1':
  519. var obj = $(".phonediv").eq(1);
  520. obj.show();
  521. getDepts(); //获取部门下拉
  522. var table = obj.find(".phonelist");
  523. table.bootstrapTable('destroy');
  524. //初始化表格,动态从服务器加载数据
  525. table.bootstrapTable({
  526. method: "get", //使用get请求到服务器获取数据
  527. url: huayi.config.callcenter_url + "CallOutScreen/GetUserList", //获取数据的Servlet地址
  528. contentType: 'application/x-www-form-urlencoded',
  529. striped: true, //表格显示条纹
  530. pagination: true, //启动分页
  531. pageSize: 10, //每页显示的记录数
  532. pageNumber: 1, //当前第几页
  533. pageList: [10, 20, 50, 100], //记录数可选列表
  534. search: false, //是否启用查询
  535. showColumns: false, //显示下拉框勾选要显示的列
  536. showRefresh: false, //显示刷新按钮
  537. sidePagination: "server", //表示服务端请求
  538. //设置为undefined可以获取pageNumber,pageSize,searchText,sortName,sortOrder
  539. //设置为limit可以获取limit, offset, search, sort, order
  540. queryParamsType: "undefined",
  541. queryParams: function queryParams(params) { //设置查询参数
  542. var param = {
  543. page: params.pageNumber,
  544. pagesize: params.pageSize,
  545. zxzid: $('#s_department').val(),
  546. tel: $("#gsphone").val(),
  547. name: $("#gsname").val(),
  548. token: $.cookie("token")
  549. };
  550. return param;
  551. },
  552. onLoadSuccess: function() { //加载成功时执行
  553. //layer.msg("加载成功");
  554. },
  555. onLoadError: function() { //加载失败时执行
  556. //layer.msg("加载数据失败", { time: 1500, icon: 2 });
  557. }
  558. });
  559. break;
  560. case '2':
  561. var obj = $(".phonediv").eq(2);
  562. obj.show();
  563. var table = obj.find(".phonelist");
  564. table.bootstrapTable('destroy');
  565. //初始化表格,动态从服务器加载数据
  566. table.bootstrapTable({
  567. method: "get", //使用get请求到服务器获取数据
  568. url: huayi.config.callcenter_url + "CallOutScreen/GetCustomerList", //获取数据的Servlet地址
  569. contentType: 'application/x-www-form-urlencoded',
  570. striped: true, //表格显示条纹
  571. pagination: true, //启动分页
  572. pageSize: 10, //每页显示的记录数
  573. pageNumber: 1, //当前第几页
  574. pageList: [10, 20, 50, 100], //记录数可选列表
  575. search: false, //是否启用查询
  576. showColumns: false, //显示下拉框勾选要显示的列
  577. showRefresh: false, //显示刷新按钮
  578. sidePagination: "server", //表示服务端请求
  579. //设置为undefined可以获取pageNumber,pageSize,searchText,sortName,sortOrder
  580. //设置为limit可以获取limit, offset, search, sort, order
  581. queryParamsType: "undefined",
  582. queryParams: function queryParams(params) { //设置查询参数
  583. var param = {
  584. page: params.pageNumber,
  585. pagesize: params.pageSize,
  586. tel: $("#khphone").val(),
  587. name: $("#khname").val(),
  588. token: $.cookie("token")
  589. };
  590. return param;
  591. },
  592. onLoadSuccess: function() { //加载成功时执行
  593. //layer.msg("加载成功");
  594. },
  595. onLoadError: function() { //加载失败时执行
  596. //layer.msg("加载数据失败", { time: 1500, icon: 2 });
  597. }
  598. });
  599. break;
  600. }
  601. }
  602. //格式化最近电话处理方式
  603. function formatterDealType(val, row) {
  604. //处理方式0:IVR处理1骚扰电话2自助服务3转值班电话4留言5呼损6人工处理
  605. var str = '-';
  606. switch (val) {
  607. case 0:
  608. str = 'IVR处理';
  609. break;
  610. case 1:
  611. str = '骚扰电话';
  612. break;
  613. case 2:
  614. str = '自助服务';
  615. break;
  616. case 3:
  617. str = '转值班电话';
  618. break;
  619. case 4:
  620. str = '留言';
  621. break;
  622. case 5:
  623. str = '呼损';
  624. break;
  625. case 6:
  626. str = '人工处理';
  627. break;
  628. }
  629. return str;
  630. }
  631. //获取外呼公司电话下 部门下拉
  632. function getDepts() {
  633. $.getJSON(huayi.config.callcenter_url + "SeatGroup/GetList", {
  634. token: $.cookie("token"),
  635. }, function(data) {
  636. if (data.rows && data.rows.length > 0) {
  637. $('#s_department').html('');
  638. $('#s_department').append('<option value="">请选择</option>');
  639. $.each(data.rows, function(i, v) {
  640. $('<option value="' + v.F_ZXZID + '">' + v.F_ZXZName + '</option>').appendTo($('#s_department'));
  641. });
  642. }
  643. });
  644. }
  645. //格式化 电话号码 分机号
  646. function view(val) {
  647. var str = '';
  648. if (val) {
  649. str = '<a onclick="call(\'' + val + '\')">' + val + '</a>';
  650. }
  651. return str;
  652. }
  653. function call(val) {
  654. $("#Result").val(val);
  655. $(".img").removeClass("hidens");
  656. }
  657. function logout() {
  658. if (!$('.Logout').hasClass('active')) {
  659. $.ajax({
  660. url: huayi.config.callcenter_url + "Login/Logout",
  661. data: {
  662. token: $.cookie("token")
  663. },
  664. dataType: "json",
  665. success: function(res) {
  666. if (res.state) {
  667. location.href = "./login.html";
  668. }
  669. }
  670. });
  671. } else {
  672. layer.msg("退出失败!");
  673. }
  674. }
  675. //加载左侧导航菜单
  676. function loadMenu() {
  677. $.ajaxSettings.async = false;
  678. $.getJSON(huayi.config.callcenter_url + 'Index/GetMenu', {
  679. "token": $.cookie("token")
  680. }, function(result) {
  681. $.ajaxSettings.async = true;
  682. if (result.state.toLowerCase() == "success") {
  683. var data = result.data;
  684. var _html = "";
  685. $.each(data, function(i) {
  686. var row = data[i];
  687. if (row.F_ParentID == "0") {
  688. _html += '<li>';
  689. _html += '<a class="Click"data-id="Menu_' + row.F_ModuleId + '" href="' + row.F_OptUrl +
  690. '"><i class="fa iconfont">' + row.F_ImgUrl + '</i><span class="nav-label">' + row.F_ModuleName +
  691. '</span><span class="fa arrow"></span></a>';
  692. var childNodes = row.ChildNodes; //二级
  693. if (childNodes.length > 0) {
  694. _html += '<ul class="nav nav-second-level">';
  695. $.each(childNodes, function(i) {
  696. var subrow = childNodes[i];
  697. var childNodsThird = subrow.ChildNodes; //三级
  698. if (childNodsThird.length > 0) {
  699. _html += '<li>';
  700. _html += '<a href="' + subrow.F_OptUrl + '">';
  701. _html += '<span class="nav-label">' + subrow.F_ModuleName + '</span>';
  702. _html += '<span class="fa arrow"></span>';
  703. _html += '</a>';
  704. _html += '<ul class="nav nav-third-level">';
  705. $.each(childNodsThird, function(i) {
  706. var subrowThird = childNodsThird[i];
  707. _html += '<li>';
  708. _html += '<a class="J_menuItem" data-id="Menu_' + subrowThird.F_ModuleId + '" href="' + subrowThird.F_OptUrl +
  709. '" >' + subrowThird.F_ModuleName + '</a>';
  710. _html += '</li>';
  711. });
  712. _html += '</ul>';
  713. } else {
  714. _html += '<li>';
  715. _html += '<a class="J_menuItem" data-id="Menu_' + subrow.F_ModuleId + '" href="' + subrow.F_OptUrl +
  716. '" >' + subrow.F_ModuleName + '</a>';
  717. if (subrow.F_Button != '') {
  718. _html += '<span class="' + subrow.F_Button + '"></span>';
  719. }
  720. _html += '</li>';
  721. }
  722. });
  723. _html += '</ul>';
  724. }
  725. _html += '</li>';
  726. }
  727. });
  728. // $("#sidebar-nav ul").prepend(_html);
  729. $(_html).appendTo("#side-menu");
  730. //绑定点击事件 添加点击的样式
  731. $('#side-menu').find('.J_menuItem').on('click', function() {
  732. $(this).parent().addClass('sub_active').siblings().removeClass('sub_active');
  733. });
  734. } else {
  735. window.location.href = "/login.html";
  736. }
  737. })
  738. }
  739. //跳转
  740. function Jumps() {
  741. //window.parent.frames[ "iframe0"].location.reload();
  742. $("iframe:visible")[0].src = "widgets.html"
  743. $(".J_menuTab").eq(0).addClass("active").text('首页');
  744. $(".J_menuTab").eq(0).attr("data-id", 'widgets.html');
  745. $(".J_mainContent .J_iframe0").attr("data-id", "widgets.html");
  746. }
  747. // 顶部消息
  748. function showTopMsgs() {
  749. $('#top_notices_lists').toggle();
  750. // if ($('#top_notices_lists').is(':visible')) {
  751. // $('#top_notices_lists').hide();
  752. // } else {
  753. // $('#top_notices_lists').show();
  754. // }
  755. }
  756. // 获取顶部消息(只展示未读消息 0未读 1已读)
  757. function getTopMsgs() {
  758. $.getJSON(huayi.config.callcenter_url + 'Msg/GetServerMsg', {
  759. token: $.cookie("token")
  760. }, function(result) {
  761. if(result.state.toLowerCase() === 'success'){
  762. $('#top_notices_lists').empty();
  763. result = result.data;
  764. var str = '';
  765. if (result && result.length) {
  766. if(isFirstShowTopMsg){
  767. $('#top_notices_lists').show();
  768. isFirstShowTopMsg = false;
  769. }
  770. $('#top_notices_num').text(result.length);
  771. for (var i = 0; i < result.length; i++) {
  772. str += '<li class="top_notices_item">' +
  773. '<span class="top_notices_con">'+ result[i].Detail +'</span>' +
  774. '<button type="button" class="btn btn-primary btn-sm" onclick="signRead('+ result[i].ID +', event)">未读</button>' +
  775. '</li>' +
  776. '<li class="divider"></li>';
  777. }
  778. } else {
  779. str = '<li class="top_notices_item">' +
  780. '<span class="top_notices_con">暂无消息!</span>' +
  781. '</li>';
  782. $('#top_notices_num').text(0);
  783. }
  784. $('#top_notices_lists').append(str);
  785. $('#top_notices_lists').find('.divider:last').remove();
  786. }
  787. });
  788. }
  789. // 标记消息状态
  790. function signRead(signid, e) {
  791. e.stopPropagation();
  792. layer.confirm('确认已读后该条消息将不再提示,请慎重', {
  793. icon: 7,
  794. btn: ['确认', '取消'] //按钮
  795. }, function(index) {
  796. $.ajax({
  797. type: "get",
  798. url: huayi.config.callcenter_url + "Msg/UpdateState",
  799. dataType: 'json',
  800. async: true,
  801. data: {
  802. ids: signid,
  803. state: 1, //状态,0未读 1已读
  804. token: $.cookie("token")
  805. },
  806. success: function(data) {
  807. if (data.state.toLowerCase() === "success") {
  808. // 更新顶部消息内容和数量
  809. getTopMsgs();
  810. $('#top_notices_lists').hide();
  811. layer.close(index);
  812. }
  813. }
  814. });
  815. });
  816. }
  817. $(document).click(function(e) {
  818. if($(e.target).is($('.top_notices_lists')) || $(e.target).is($('.top_notices_item')) || $(e.target).is($('.top_notices_con')) || $(e.target).is($('.divider'))) {
  819. $('#top_notices_lists').show();
  820. }
  821. })