暫無描述

index.js 23KB

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