开封利通水务前端

call.js 41KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407
  1. /**
  2. * 来电弹屏
  3. * */
  4. //来电时传输的数据
  5. var phoneNumber = helper.request.queryString("Number");
  6. var CallID = helper.request.queryString("CallID");
  7. var KHid;
  8. var UserCode;
  9. var timestamp = Date.parse(new Date());
  10. //通话中执行变化
  11. var timer, n = 0;
  12. //测试数据
  13. // var phoneNumber = "15235457488";
  14. // var CallID = "148";
  15. $(function() {
  16. //初始化一些数据
  17. $(".hidCallID").val(CallID);
  18. $(".tel").text(phoneNumber); //左侧来电号码
  19. $("#order_tel").val(phoneNumber); //右侧工单电话
  20. $(".ldtime").text(top.getNowFormatDate()); //左侧来电时间
  21. $(".thsc").text("00:00"); //通话时间
  22. autosize($('textarea'));
  23. //初始化时间
  24. laydate.render({
  25. elem: '#old_startTime',
  26. theme: '#1ab394',
  27. calendar: true
  28. });
  29. laydate.render({
  30. elem: '#old_endTime',
  31. theme: '#1ab394',
  32. calendar: true
  33. });
  34. laydate.render({
  35. elem: '#con_startTime',
  36. theme: '#1ab394',
  37. calendar: true
  38. });
  39. laydate.render({
  40. elem: '#con_endTime',
  41. theme: '#1ab394',
  42. calendar: true
  43. });
  44. laydate.render({
  45. elem: '#sc_time',
  46. // range: '~',
  47. type: 'datetime',
  48. theme: '#1ab394',
  49. // calendar: true
  50. });
  51. /*左侧 部分*/
  52. //获取电话所属地
  53. if(phoneNumber) {
  54. getPhoneLocation(); //获取来电归属地
  55. getCustomer(); //获取来电客户信息
  56. }
  57. //根据关键词搜索公司
  58. $('#companySearch').on('click', getSearchCustomer);
  59. //保存来电客户信息
  60. $('#head_form_btn_save').on('click', headFormSave);
  61. //清空来电客户信息
  62. // $('#head_form_btn_reset').on('click', headFormReset);
  63. //点击IVR
  64. $('#head_black_ivr').click(function() {
  65. top.obj.Type = "TurnIvr";
  66. top.obj.IvrName = "MYD";
  67. top.obj.IvrPos = "1";
  68. top.Send();
  69. });
  70. //点击拉黑 加入黑名单
  71. $('#head_black_btn').click(function() {
  72. if(!phoneNumber) {
  73. layer.confirm('来电号码为空!', {
  74. icon: 2,
  75. btn: ['确定']
  76. });
  77. return;
  78. }
  79. $("#time-word").val('');
  80. $('.ldtp-con .hei-list').show();
  81. });
  82. //拉黑 关闭
  83. $('.hei-list .bacha').click(function() {
  84. $('.ldtp-con .hei-list').hide();
  85. $("#time-word").val('');
  86. });
  87. //拉黑 保存
  88. $('#bc').on('click', saveBlack);
  89. //取消黑名单
  90. $('.retur').on('click', cancelBlack);
  91. /*右侧 部分*/
  92. //加载历史记录、历史工单
  93. loadOldOrComplain('0');
  94. //获取知识库
  95. loadZSK();
  96. //弹屏右侧切换效果
  97. $(".ldtp-cr ul.ld-service li").click(function() {
  98. var tabIndex = $(this).index() + '';
  99. //console.log(tabIndex);
  100. $(this).addClass("cr-click").siblings().removeClass("cr-click");
  101. loadOldOrComplain(tabIndex);
  102. });
  103. //获取工单来源
  104. helper.getDropList.getlistDropByDic($('#order_source'), 'GDLY')
  105. // .then(function() {
  106. // $('#order_source').selectpicker('val', '468').trigger('change');
  107. // });
  108. //获取业务办理
  109. helper.getDropList.getlistDropByDic($('#order_handle'), 'YWLX');
  110. //获取工单子类
  111. helper.getDropList.getlistDropByDic($('#order_godant'), 'GSZL');
  112. //获取工单类型
  113. helper.getDropList.getOrderRadios($('#order_type'), 'GDLX',);
  114. // 'inlineRadioOptions').then(function() {
  115. // $('#order_type').find('input[type="radio"]').on('change', function() {
  116. // if($(this).val() === "107") { //业务办理
  117. // $('#order_handles').show();
  118. // }else{
  119. // $('#order_handles').hide();
  120. // }
  121. // });
  122. // });
  123. //工单有效性
  124. $('#order_iseffective').find('input[type="radio"]').on('change', function() {
  125. //是否有效工单项(0有效,1无效)
  126. if($(this).val() === "1") { //无效
  127. $('.order_note').show();
  128. $('#order_isover_box').hide();
  129. $('#order_isover').find('input[type="radio"][value="1"]').prop('checked', true).trigger('change');
  130. } else {
  131. $('.order_note').hide();
  132. $('#order_isover_box').show();
  133. $('#order_isover').find('input[type="radio"][value="0"]').prop('checked', true).trigger('change');
  134. }
  135. });
  136. //获取接收部门
  137. getDepts('reginsTreeView', 'order_transfer_dept');
  138. // 立即处理
  139. $('#order_isover').find('input[type="radio"]').on('change', function(){
  140. if($(this).val() === '1'){
  141. $('#order_transfer_depts').hide();
  142. }else{
  143. $('#order_transfer_depts').show();
  144. }
  145. });
  146. //新增工单创建
  147. $('#save_order').on('click', orderSave);
  148. //知识库查询
  149. $(".searIcon").click(function() {
  150. loadZSK();
  151. });
  152. //历史记录/历史工单 查询
  153. $(".searchbtn").click(function() {
  154. var tabIndex = $(this).attr('itemtype');
  155. loadOldOrComplain(tabIndex);
  156. });
  157. //关闭录音弹出
  158. $(".setwin").click(function() {
  159. $(".t-shade").removeClass("cx");
  160. $('audio')[0].pause();
  161. });
  162. });
  163. function clearInter() {
  164. clearInterval(timer);
  165. }
  166. function calling() {
  167. $(".td-call").show();
  168. n = 0;
  169. clearInterval(timer);
  170. timer = setInterval(function() {
  171. n++;
  172. var m = parseInt(n / 60 % 60);
  173. var s = parseInt(n % 60);
  174. //var thsc=toDub(m) + ":" + toDub(s);
  175. $(".thsc").text(toDub(m) + ":" + toDub(s));
  176. }, 1000);
  177. }
  178. function toDub(i) {
  179. return i < 10 ? "0" + i : "" + i;
  180. }
  181. //获取电话所属地
  182. function getPhoneLocation() {
  183. $.getJSON(huayi.config.callcenter_url + 'CallInScreen/GetPhoneLocation', {
  184. "tel": phoneNumber,
  185. "token": $.cookie("token")
  186. }, function(result) {
  187. if(result.state.toLowerCase() == "success") {
  188. $(".khgsd").text(result.data);
  189. }
  190. });
  191. }
  192. //根据关键词搜索公司
  193. function getSearchCustomer() {
  194. $.ajax({
  195. url: huayi.config.callcenter_url + 'CustomerNew/GetListByKey',
  196. type: 'get',
  197. data: {
  198. keywords: $('#head_form_search').val(),// 关键词
  199. token: $.cookie("token")
  200. },
  201. dataType: "json",
  202. async: true,
  203. success: function(data) {
  204. if(data.state.toLowerCase() === 'success') {
  205. var customerBase = data.data;
  206. if(customerBase){
  207. $('#head_form_customer_id').val(customerBase.F_CustomerId); //客户id
  208. $('#head_form_name').val(customerBase.F_CompanyName);//公司名称
  209. $('#head_form_cmpaddress').val(customerBase.F_CompanyAddress);//公司地址
  210. $('#head_form_legname').val(customerBase.F_LegalName);//法人姓名
  211. $('#head_form_legtel').val(helper.filter.cutTel(customerBase.F_LegalTel));//法人电话
  212. $('#head_form_cmpaddress').val(customerBase.F_SubTrade);//所属行业
  213. //获取对应的联系人信息
  214. getCustomerLists(1, customerBase.F_CustomerId);
  215. $('#order_company').val(customerBase.F_CompanyName); //给工单的公司名称赋值
  216. }
  217. }
  218. },
  219. });
  220. }
  221. /**
  222. * 根据电话获取 客户信息
  223. * */
  224. function getCustomer(){
  225. $.ajax({
  226. url: huayi.config.callcenter_url + 'CustomerNew/GetCustomerByTel',
  227. type: 'get',
  228. data: {
  229. tel: phoneNumber, //否 string 来电电话 例如:13663801989
  230. token: $.cookie("token")
  231. },
  232. dataType: "json",
  233. async: true,
  234. success: function(data) {
  235. if(data.state.toLowerCase() === 'success') {
  236. var customerBase = data.data && data.data.CustomerBase;
  237. if(customerBase){
  238. $('#head_form_customer_id').val(customerBase.F_CustomerId); //客户id
  239. $('#head_form_name').val(customerBase.F_CompanyName);//客户姓名
  240. $('#head_form_cmpaddress').val(customerBase.F_CompanyAddress);//公司地址
  241. // $('#head_form_legname').val(customerBase.F_LegalName);//法人姓名
  242. // $('#head_form_legtel').val(helper.filter.cutTel(customerBase.F_LegalTel));//法人电话
  243. // $('#head_form_subtrade').val(customerBase.F_SubTrade);//所属行业
  244. //获取对应的联系人信息
  245. getCustomerLists(1, customerBase.F_CustomerId);
  246. // $('#order_company').val(customerBase.F_CompanyName); //给工单的公司名称赋值
  247. if($('#head_form_customer_id').val()==" "){
  248. $('#keBian').show();
  249. }else{
  250. $('#keBian').hide();
  251. }
  252. }
  253. }
  254. },
  255. });
  256. }
  257. /**
  258. * 根据电话获取 客户联系人列表
  259. * paramPage: 页数请求的是第几页
  260. * cid: 客户的id
  261. * */
  262. function getCustomerLists(paramPage, cid) {
  263. $('#head_customer_info').html('');
  264. $.ajax({
  265. url: huayi.config.callcenter_url + 'CustomerNew/GetConList',
  266. type: 'get',
  267. data: {
  268. cusid: cid, //客户id
  269. pageindex: paramPage, //第几页
  270. pagesize: 2,
  271. tel: phoneNumber, //否 string 来电电话 例如:13663801989
  272. token: $.cookie("token")
  273. },
  274. dataType: "json",
  275. async: true,
  276. success: function(returnValue) {
  277. var tableDatas = returnValue.rows;
  278. //异步获取列表数据
  279. if(tableDatas && tableDatas.length > 0) {
  280. $('#head_form_name').val(tableDatas[0].F_Name);//左侧姓名
  281. $('#head_form_name').prop('readonly', true);
  282. $('#order_name').val(tableDatas[0].F_Name);//右侧工单姓名
  283. //加载内容
  284. $('#head_customer_info').html('');
  285. for(var i = 0, tableDatasLength = tableDatas.length; i < tableDatasLength; i++) {
  286. var itmeHtml = '<div class="head_customer_info_item clearfix">' +
  287. '<div class="head_customer_info_item_l pull-left">' +
  288. '<p class="clearfix">' +
  289. '<span>姓名</span>' +
  290. '<span>' + tableDatas[i].F_Name + '</span>' +
  291. '</p>' +
  292. '<p>' +
  293. '<span>电话</span>' +
  294. '<span>' + helper.filter.cutTel(tableDatas[i].F_Telephone) + '</span>' +
  295. '</p>' +
  296. '<p>' +
  297. '<span>是否主要联系人</span>' +
  298. '<span>' + (tableDatas[i].F_IsMain === true ? '是' : '否') + '</span>' +
  299. '</p>' +
  300. '</div>' +
  301. '<div class="head_customer_info_item_r pull-left" id="customerBtn_' + i + '">'+
  302. // '选择' +
  303. '</div>' +
  304. '</div>'
  305. $('#head_customer_info').append(itmeHtml);
  306. }
  307. if(tableDatasLength > 0) {
  308. $.jqPaginator('#pagination', {
  309. totalCounts: returnValue.total,
  310. pageSize: 2,
  311. currentPage: paramPage,
  312. visiblePages: 10,
  313. prev: '<li class="prev"><a href="javascript:;">上一页</a></li>',
  314. next: '<li class="next"><a href="javascript:;">下一页</a></li>',
  315. //page: '<li class="page"><a href="javascript:;">{{page}}</a></li>',
  316. onPageChange: function(num, type) {
  317. $('#page_number').text(num + "/" + Math.ceil(returnValue.total / 2));
  318. //console.log(type + ':' + num);
  319. if(type == 'change') {
  320. getCustomerLists(num);
  321. }
  322. }
  323. });
  324. } else {
  325. $('.head_customer_info_title').hide();
  326. }
  327. } else {
  328. $('.head_customer_info_title').hide();
  329. $('#head_form_name').val('');//联系人姓名
  330. $('#head_form_name').prop('readonly', false);
  331. }
  332. },
  333. });
  334. }
  335. //清空head_form
  336. function headFormClean() {
  337. //左侧信息清空;
  338. $('#head_form_customer_id').val('');
  339. $('.head_form').find('.form-control').val('');
  340. $('#head_form_tel').val(helper.filter.cutTel(phoneNumber));
  341. }
  342. //保存来电客户信息
  343. function headFormSave() {
  344. if(!$.trim($('#head_form_name').val())) {
  345. layer.confirm('请输入姓名!', {
  346. icon: 2,
  347. btn: ['确定']
  348. });
  349. return;
  350. }
  351. // if(!regexs.phone.test($.trim($('#head_form_tel').val()))) {
  352. // layer.confirm('请输入正确的电话!', {
  353. // icon: 2,
  354. // btn: ['确定']
  355. // });
  356. // return;
  357. // }
  358. $.post(huayi.config.callcenter_url + 'CustomerNew/AddContact', {
  359. F_CustomerId: $('#head_form_customer_id').val(),// int客户id
  360. F_Name: $('#head_form_name').val(),//string 联系人姓名
  361. F_Telephone: phoneNumber,// string电话
  362. token: $.cookie("token")
  363. }, function(result) {
  364. result = $.parseJSON(result);
  365. if(result.state.toLowerCase() === "success") {
  366. //给 右侧新增工单赋值
  367. $('#order_name').val($('#head_form_name').val()); //客户姓名
  368. $('#order_company').val($('#head_form_cmpname').val()); //公司名称
  369. layer.msg("保存成功");
  370. }
  371. })
  372. }
  373. //获取知识库
  374. function loadZSK() {
  375. $.getJSON(huayi.config.callcenter_url + 'CallInScreen/GetZSKList', {
  376. "keywords": $(".search").val(),
  377. "token": $.cookie("token")
  378. }, function(result) {
  379. if(result.state.toLowerCase() == "success") {
  380. $(".ldcr-bottom .detail-con ul").empty();
  381. $(result.data).each(function(i, n) {
  382. var html = '<li>' +
  383. ' <div class="zhishi-title clearfix">' +
  384. ' <a href="javascript:void(0);" >' + n.F_Title + '</a>' +
  385. ' <em >' + n.F_CreateOn + '</em>' +
  386. ' </div>' +
  387. ' <div class="explancon">' +
  388. n.F_Content +
  389. ' </div>' +
  390. '</li>';
  391. $(html).appendTo($(".ldcr-bottom .detail-con ul")).find(".zhishi-title").click(function(event) {
  392. event.stopPropagation();
  393. if($(this).hasClass("active")) {
  394. $(this).removeClass("active")
  395. } else {
  396. $(".zhishi-title").removeClass("active");
  397. $(this).addClass("active");
  398. }
  399. })
  400. })
  401. }
  402. })
  403. }
  404. //加载 历史记录或历史工单
  405. function loadOldOrComplain(tabIndex) {
  406. $(".complain").hide();
  407. switch(tabIndex) {
  408. case '0':
  409. $(".complain").eq(0).show();
  410. break;
  411. case '1':
  412. getOldList()
  413. break;
  414. case '2':
  415. getComplainList()
  416. break;
  417. case '3':
  418. $(".complain").eq(3).show();
  419. if($('#head_form_customer_id').val() != ''){
  420. getCustomerDetail(); // 获取客户详情
  421. getTaxDetail(); // 获取财税情况
  422. }
  423. break;
  424. default:
  425. break;
  426. }
  427. }
  428. //获取客户详情
  429. function getCustomerDetail() {
  430. $.getJSON(huayi.config.callcenter_url + "CustomerNew/GetCustomer", {
  431. cusid: $('#head_form_customer_id').val(), //客户id
  432. token: $.cookie("token")
  433. }, function(data) {
  434. if (data.state.toLowerCase() == "success") {
  435. var cusBase = data.data && data.data.CustomerBase;
  436. // $('#customer_bedept').text(data.data && data.data.BeDeptName); // int 客户归属部门
  437. // if (cusBase) {
  438. $('#customer_code').text(cusBase.F_CustomerCode); //string 客户编号
  439. $('#customer_companyname').text(cusBase.F_LegalName); //string客户姓名
  440. $('#customer_comaddress').text(cusBase.F_LegalTel); //string 客户电话
  441. $('#customer_legalName').text(cusBase.F_Address); //string 客户地址
  442. // }
  443. }
  444. });
  445. }
  446. //获取财税情况
  447. function getTaxDetail(){
  448. $.getJSON(huayi.config.callcenter_url + "CustomerNew/GetFinc",{
  449. cusid: $('#head_form_customer_id').val(), // 客户id
  450. token: $.cookie("token")
  451. },function(data){
  452. if(data.state.toLowerCase() === 'success'){
  453. data = data.data;
  454. $('#tax_code').text(data.F_CustomerCode); // string 客户编号
  455. $('#tax_MonthState').text(data.F_MonthState); // string 本月财税情况:已结清/未结清
  456. $('#tax_AnnualIncome').text(data.F_AnnualIncome); // string 本年收入(元)
  457. $('#tax_AnnualProfit').text(data.F_AnnualProfit); // string 本年利润
  458. $('#tax_AnnualCost').text(data.F_AnnualCost); // string 本年费用
  459. $('#tax_AnnualPersonCount').text(data.F_AnnualPersonCount); // string 本年人数
  460. $('#tax_AnnualWages').text(data.F_AnnualWages); // string 本年工资
  461. $('#tax_QuarterlyCost').text(data.F_QuarterlyCost); // string 本季费用
  462. $('#tax_QuarterlyPersonCount').text(data.F_QuarterlyPersonCount); // string 本季人数
  463. $('#tax_QuarterlyWages').text(data.F_QuarterlyWages); // string 本季工资
  464. $('#tax_QuarterlyIncome').text(data.F_QuarterlyIncome); // string 本季收入
  465. $('#tax_QPVAT').text(data.F_QPVAT); // string 本季应交税额-增值税
  466. $('#tax_QPSurtax').text(data.F_QPSurtax); // string 本季应交税额-附加税
  467. $('#tax_QPTaxes').text(data.F_QPTaxes); // string 本季应交税额-企业所得税
  468. $('#tax_QPConTax').text(data.F_QPConTax); // string 本季应交税额-文化事业建设税
  469. $('#tax_QPPerinTax').text(data.F_QPPerinTax); // string 本季应交税额-个税
  470. $('#tax_QPStampTax').text(data.F_QPStampTax); // string 本季应交税额-其他税额
  471. }
  472. });
  473. }
  474. //获取历史记录
  475. function getOldList() {
  476. $(".complain").eq(1).show();
  477. //先销毁表格
  478. $('#oldlist').bootstrapTable('destroy');
  479. //初始化表格,动态从服务器加载数据
  480. $("#oldlist").bootstrapTable({
  481. method: "get", //使用get请求到服务器获取数据
  482. url: huayi.config.callcenter_url + "CallInScreen/GetOldList", //获取数据的Servlet地址
  483. contentType: 'application/x-www-form-urlencoded',
  484. striped: true, //表格显示条纹
  485. pagination: true, //启动分页
  486. pageSize: 5, //每页显示的记录数
  487. pageNumber: 1, //当前第几页
  488. pageList: [5, 10, 50, 100], //记录数可选列表
  489. search: false, //是,//否启用查询
  490. showColumns: false, //显示下拉框勾选要显示的列
  491. showRefresh: false, //显示刷新按钮
  492. sidePagination: "server", //表示服务端请求
  493. //设置为undefined可以获取pageNumber,pageSize,searchText,sortName,sortOrder
  494. //设置为limit可以获取limit, offset, search, sort, order
  495. queryParamsType: "undefined",
  496. queryParams: function queryParams(params) { //设置查询参数
  497. var param = {
  498. page: params.pageNumber,
  499. pagesize: params.pageSize,
  500. tel: phoneNumber,
  501. starttime: $("#old_startTime").val(),
  502. endtime: $("#old_endTime").val(),
  503. token: $.cookie("token")
  504. };
  505. return param;
  506. },
  507. onLoadSuccess: function() { //加载成功时执行
  508. //layer.msg("加载成功");
  509. },
  510. onLoadError: function() { //加载失败时执行
  511. //layer.msg("加载数据失败", { time: 1500, icon: 2 });
  512. }
  513. });
  514. }
  515. //获取历史工单
  516. function getComplainList() {
  517. $(".complain").eq(2).show();
  518. //先销毁表格
  519. $('#orderlist').bootstrapTable('destroy');
  520. //初始化表格,动态从服务器加载数据
  521. $("#orderlist").bootstrapTable({
  522. method: "get", //使用get请求到服务器获取数据
  523. url: huayi.config.callcenter_url + "WorkOrder/GetList", //获取数据的Servlet地址
  524. contentType: 'application/x-www-form-urlencoded',
  525. striped: true, //表格显示条纹
  526. pagination: true, //启动分页
  527. pageSize: 5, //每页显示的记录数
  528. pageNumber: 1, //当前第几页
  529. pageList: [5, 10, 50, 100], //记录数可选列表
  530. search: false, //是,//否启用查询
  531. showColumns: false, //显示下拉框勾选要显示的列
  532. showRefresh: false, //显示刷新按钮
  533. sidePagination: "server", //表示服务端请求
  534. //设置为undefined可以获取pageNumber,pageSize,searchText,sortName,sortOrder
  535. //设置为limit可以获取limit, offset, search, sort, order
  536. queryParamsType: "undefined",
  537. queryParams: function queryParams(params) { //设置查询参数
  538. var param = {
  539. page: params.pageNumber,
  540. pagesize: params.pageSize,
  541. keyword: phoneNumber, //否 string 模糊搜索可输入客户姓名,电话,工单号,反馈内容
  542. starttime: $("#con_startTime").val(), //否 string 工单起止时间
  543. endtime: $("#con_endTime").val(), //否 string 工单起止时间
  544. token: $.cookie("token"),
  545. };
  546. return param;
  547. },
  548. onLoadSuccess: function() { //加载成功时执行
  549. //layer.msg("加载成功");
  550. },
  551. onLoadError: function() { //加载失败时执行
  552. //layer.msg("加载数据失败", { time: 1500, icon: 2 });
  553. }
  554. });
  555. }
  556. //格式化内处理方式
  557. function formatterDealType(val, row) {
  558. //处理方式0:IVR处理1骚扰电话2自助服务3转值班电话4留言5呼损6人工处理
  559. var str = '-';
  560. switch(val) {
  561. case 0:
  562. str = 'IVR处理';
  563. break;
  564. case 1:
  565. str = '骚扰电话';
  566. break;
  567. case 2:
  568. str = '自助服务';
  569. break;
  570. case 3:
  571. str = '转值班电话';
  572. break;
  573. case 4:
  574. str = '留言';
  575. break;
  576. case 5:
  577. str = '呼损';
  578. break;
  579. case 6:
  580. str = '人工处理';
  581. break;
  582. }
  583. return str;
  584. }
  585. //格式化工单编号
  586. function formatterWorkOrderID(val, row) {
  587. return '<div class="imgs" ><a class="xg" onclick="btn_detail(\'' + row.ID + '\',\'' + row.State + '\',\'' + row.IsAdminSend + '\')">' + val + '</a></div>'
  588. }
  589. function btn_detail(oid, isdeal, proid) {
  590. layer.open({
  591. type: 2,
  592. title: '工单详情',
  593. //maxmin: true, //开启最大化最小化按钮
  594. area: ['80%', '90%'],
  595. content: '../commonTpl/seeWorkOrderDetail.html?oid=' + oid + '&isdeal=' + isdeal + '&proid=' + proid
  596. });
  597. }
  598. //格式化内容
  599. function formatterDetail(val) {
  600. if(val) {
  601. var codeContent = decodeURIComponent(val);
  602. var cc = codeContent.length > 10 ? codeContent.substr(0, 10) + '...' : codeContent;
  603. return '<div title="' + codeContent + '">' + cc + '</div>';
  604. } else {
  605. return '-';
  606. }
  607. }
  608. //格式化呼叫状态
  609. function formatterCallState(val) {
  610. if(val == '1') {
  611. return '已接通';
  612. } else {
  613. return '未接通';
  614. }
  615. }
  616. //格式化音频
  617. function formatterRecord(val) {
  618. if(val) {
  619. return '<div class="imgs" style="cursor: pointer;">' +
  620. '<img src="../img/vice.png" alt="" onclick= ck(this) item="' + val + '" />' +
  621. '</div>';
  622. } else {
  623. return '';
  624. }
  625. }
  626. //点击录音
  627. function ck(val) {
  628. var path = $(val).attr("item");
  629. $(".t-shade").addClass("cx");
  630. $(".Ly_box").empty();
  631. $(".down").attr("href", path);
  632. $('<audio style="width: 100%;"class=" " src="' + path + '" loop="loop" controls="controls" ></audio>').appendTo(".Ly_box");
  633. }
  634. //格式化 工单状态
  635. function formatterState(val) {
  636. //工单状态0待指派,1待处理,2已处理 原来的状态 不用!!!!
  637. // 0新工单待指派,1已指派待接单,2已接单待处理,3已退回待处理,4异常退回待处理,5处理中,10已完结
  638. var stateStr = '-';
  639. var stateClass = '';
  640. switch(val) {
  641. case 0:
  642. stateStr = '待指派';
  643. stateClass = 'audit_wait';
  644. break;
  645. case 1:
  646. stateStr = '待接单';
  647. stateClass = 'audit_refuse';
  648. break;
  649. case 2:
  650. stateStr = '待处理';
  651. stateClass = 'audit_revoke';
  652. break;
  653. case 3:
  654. stateStr = '已退回';
  655. stateClass = 'audit_termination';
  656. break;
  657. case 4:
  658. stateStr = '异常退回';
  659. stateClass = 'audit_termination';
  660. break;
  661. case 5:
  662. stateStr = '处理中';
  663. stateClass = 'audit_doned';
  664. break;
  665. case 10:
  666. stateStr = '已完结';
  667. stateClass = 'audit_done';
  668. break;
  669. default:
  670. break;
  671. }
  672. return '<div class="' + stateClass + '">' + stateStr + '</div>';
  673. }
  674. //格式化 工单有效性
  675. function formatterIsEffective(val) {
  676. var stateStr = '-';
  677. var stateClass = '';
  678. switch(val) { //是否有效工单项(0有效,1无效)
  679. case 0:
  680. stateStr = '有效';
  681. stateClass = 'audit_done';
  682. break;
  683. case 1:
  684. stateStr = '无效';
  685. stateClass = 'audit_revoke';
  686. break;
  687. default:
  688. break;
  689. }
  690. return '<div class="' + stateClass + '">' + stateStr + '</div>';
  691. }
  692. //格式化接收人
  693. function formatterAuditUser(val) {
  694. if(val === "0") {
  695. return '-';
  696. } else {
  697. return val;
  698. }
  699. }
  700. /**
  701. * 附件上传直接在知识库管理拿来用 开始
  702. * */
  703. var proimglist = []; //保存附件数组
  704. var uploader; //上传实例
  705. var limitNum = 6; //限制数量
  706. var edit_id = helper.request.queryString("edit_id");
  707. var token = $.cookie("token");
  708. $(function() {
  709. autosize($('textarea'));
  710. getChangeTree();
  711. if(edit_id) {
  712. getDetail();
  713. } else {
  714. $('#kn_type').val('顶级分类');
  715. $('#kn_type').attr('data-id', 0)
  716. uploaderImages();
  717. }
  718. //初始化 下拉
  719. $('.inps1').focus(function() {
  720. $('.xlAdd').css('display', 'block');
  721. });
  722. $('.xl_one').click(function() {
  723. if($('.xlAdd').css('display') == 'block') {
  724. $('.xlAdd').css('display', 'none')
  725. } else {
  726. $('.xlAdd').css('display', 'block')
  727. }
  728. });
  729. $('.addTree').mouseleave(function() {
  730. $(this).css('display', 'none')
  731. });
  732. $('#save_knowledge').on('click', saveKnowledge);
  733. });
  734. //修改弹出框内 下拉树形图参数配置项
  735. function getChangeTree() {
  736. var setting3 = {
  737. data: {
  738. key: {
  739. name: "text"
  740. },
  741. simpleData: {
  742. enable: true,
  743. idKey: "id",
  744. rootPId: 0
  745. }
  746. },
  747. callback: {
  748. onClick: changeTreeClick
  749. }
  750. }
  751. $.get(huayi.config.callcenter_url + 'KnowledgeClass/GetList', {
  752. // "pid": pid,
  753. "token": token,
  754. }, function(result) {
  755. result = $.parseJSON(result);
  756. $.fn.zTree.init($("#addTreeDemo"), setting3, result.data); //实例化树形图
  757. });
  758. }
  759. function changeTreeClick(event, treeId, treeNode) {
  760. $('#kn_type').val(treeNode.text);
  761. $('#kn_type').attr('data-id', treeNode.id);
  762. };
  763. //获取详情
  764. function getDetail() {
  765. var dtd = $.Deferred(); //在函数内部,新建一个Deferred对象
  766. $.ajax({
  767. type: "post",
  768. url: huayi.config.callcenter_url + "Knowledge/GetInfo",
  769. async: true,
  770. dataType: 'json',
  771. data: {
  772. infoid: edit_id,
  773. token: token
  774. },
  775. success: function(data) {
  776. var con = data.data;
  777. $('#kn_title').val(con.F_Title);
  778. $('#kn_key').val(con.F_KeyWords);
  779. $('#kn_content').val(con.F_Description);
  780. $('#kn_type').val(con.F_Expand1);
  781. $('#kn_type').attr('data-id', con.F_CategoryId);
  782. //附件
  783. var proimglists = con.FileUrls;
  784. proimglists = proimglists == null ? [] : proimglists;
  785. limitNum -= proimglists.length;
  786. uploaderImages(); //附件上传
  787. if(proimglists.length > 0) {
  788. $('#fileNum').text(proimglists.length);
  789. var $list = $("#fileList");
  790. $.each(proimglists, function(i, v) {
  791. proimglist.push(v.F_FileId);
  792. if(v.F_FileType.split("\/")[0] === 'image') {
  793. //原来的图片
  794. var $li = $(
  795. '<li><span class="img_mask"><i class="img_del"></i></span>' +
  796. '<img src="' + v.F_FileUrl + '" title="原来的图片"/>' +
  797. '<span class="file_name">' + v.F_FileName + '</span>' +
  798. '</li>'
  799. );
  800. $list.append($li);
  801. } else {
  802. var $liFile = $(
  803. '<li><span class="img_mask"><i class="img_del"></i></span>' +
  804. '<div class="noThumb" title="原来的文件"><i class="glyphicon glyphicon-paperclip"></i><p>无法预览</p></div>' +
  805. '<span class="file_name">' + v.F_FileName + '</span>' +
  806. '</li>'
  807. );
  808. $list.append($liFile);
  809. }
  810. });
  811. $list.find('li').off('click');
  812. $list.find('li').on('click', '.img_del', function() {
  813. $(this).parent().parent().remove();
  814. var itemFileName = $(this).parent().parent().find('.file_name').text();
  815. $.each(proimglists, function(i, v) {
  816. if(v && v.F_FileName == itemFileName) {
  817. proimglist.splice(i, 1);
  818. }
  819. });
  820. $('#fileNum').text(proimglist.length);
  821. limitNum = 6 - proimglist.length;
  822. uploaderImages();
  823. });
  824. }
  825. dtd.resolve(); // 改变Deferred对象的执行状态
  826. }
  827. });
  828. return dtd.promise(); // 返回promise对象
  829. }
  830. //保存
  831. function saveKnowledge() {
  832. var wUrl;
  833. if(!$.trim($('#kn_type').val())) {
  834. layer.confirm('所属分类不能为空', {
  835. icon: 2,
  836. btn: ['确定'] //按钮
  837. });
  838. return;
  839. }
  840. if(!$.trim($('#kn_title').val())) {
  841. layer.confirm('标题不能为空', {
  842. icon: 2,
  843. btn: ['确定'] //按钮
  844. });
  845. return;
  846. }
  847. if(edit_id) {
  848. wURL = "Knowledge/EditInfo";
  849. } else {
  850. wURL = "Knowledge/AddInfo";
  851. }
  852. $.ajax({
  853. type: "post",
  854. url: huayi.config.callcenter_url + wURL,
  855. dataType: 'json',
  856. async: true,
  857. beforeSend: function() { //触发ajax请求开始时执行
  858. $('#save_knowledge').attr("disabled", true);
  859. $('#save_knowledge').text('保存中...');
  860. $(document).off('click', '#save_knowledge', saveKnowledge);
  861. loadIndex = layer.load();
  862. },
  863. data: {
  864. infoid: edit_id,
  865. title: $('#kn_title').val(),
  866. key: $('#kn_key').val(),
  867. con: helper.filter.delHtmlTag($('#kn_content').val()),
  868. pid: $('#kn_type').attr('data-id'),
  869. fileids: proimglist && proimglist.join(','),
  870. token: token
  871. },
  872. success: function(result) {
  873. if(result.state.toLowerCase() === "success") {
  874. var index = parent.layer.getFrameIndex(window.name);
  875. parent.layer.close(index);
  876. parent.table.bootstrapTable('refresh');
  877. layer.msg("保存成功");
  878. }
  879. },
  880. error: function(textStatus) {
  881. layer.close(loadIndex);
  882. layer.confirm('网络繁忙,请稍后再试...', {
  883. icon: 7,
  884. closeBtn: 0,
  885. btn: ['确定'] //按钮
  886. });
  887. $('#save_knowledge').text('保存');
  888. $('#save_knowledge').attr("disabled", false);
  889. $(document).off('click', '#save_knowledge', saveKnowledge);
  890. $(document).on('click', '#save_knowledge', saveKnowledge);
  891. },
  892. complete: function(XMLHttpRequest, textStatus) {
  893. layer.close(loadIndex);
  894. if(textStatus == 'timeout') {
  895. var xmlhttp = window.XMLHttpRequest ? new window.XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHttp");
  896. xmlhttp.abort();
  897. layer.confirm('网络超时,请稍后再试...', {
  898. icon: 7,
  899. closeBtn: 0,
  900. btn: ['确定'] //按钮
  901. });    
  902. }
  903. $('#save_knowledge').text('保存');
  904. $('#save_knowledge').attr("disabled", false);
  905. $(document).off('click', '#save_knowledge', saveKnowledge);
  906. $(document).on('click', '#save_knowledge', saveKnowledge);
  907. },
  908. });
  909. }
  910. //上传附件
  911. function uploaderImages() {
  912. if(uploader) {
  913. uploader.destroy();
  914. }
  915. uploader = WebUploader.create({
  916. auto: true, // 选完文件后,是否自动上传
  917. swf: '../../js/webuploader/Uploader.swf', // swf文件路径
  918. server: huayi.config.callcenter_url + "Knowledge/UpLoadProcess", // 文件接收服务端
  919. pick: '#imgPicker', // 选择文件的按钮。可选
  920. formData: {
  921. token: token
  922. },
  923. // 多类型文件上传
  924. accept: {
  925. title: 'Files',
  926. extensions: 'gif,jpg,jpeg,bmp,png,pdf,doc,docx,txt,xls,xlsx,ppt,pptx,zip,mp3,mp4,text,csv',
  927. mimeTypes: 'image/*,text/*,audio/mpeg,audio/mp4, video/mp4'
  928. //word
  929. +',application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document'
  930. //excel
  931. +',application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
  932. //ppt
  933. +',application/vnd.ms-powerpoint,application/vnd.openxmlformats-officedocument.presentationml.presentation'
  934. +',application/pdf'
  935. +',application/zip'
  936. +',application/csv'
  937. // title: 'Images',
  938. // extensions: 'gif,jpg,jpeg,bmp,png',
  939. // mimeTypes: 'image/*'
  940. },
  941. compress: false, //webuploader默认压缩图片,设置compress:false,可以按照原始比例上传图片
  942. //fileVal: "upFile",//设置文件上传域的name。
  943. threads: limitNum, //上传并发数。允许同时最大上传进程数,为了保证文件上传顺序
  944. fileNumLimit: limitNum,
  945. fileSizeLimit: 180 * 1024 * 1024, // 180 M
  946. fileSingleSizeLimit: 30 * 1024 * 1024 // 30 M
  947. });
  948. uploader.on('fileQueued', function(file) {
  949. var $list = $("#fileList"),
  950. $li = $(
  951. '<li id="' + file.id + '"><span class="img_mask"><i class="img_del"></i></span>' +
  952. '<img/>' +
  953. '<span class="img_state"><i></i></span>' +
  954. '<span class="file_name">' + file.name + '</span>' +
  955. '</li>'
  956. ),
  957. $img = $li.find('img');
  958. // $list为容器jQuery实例
  959. $list.append($li);
  960. // 保存缩略图
  961. uploader.makeThumb(file, function(error, src) {
  962. if(error) {
  963. $img.replaceWith('<div class="noThumb"><i class="glyphicon glyphicon-paperclip"></i><p>无法预览</p></div>');
  964. return;
  965. }
  966. $img.attr('src', src);
  967. }, 109, 109); //109*109为缩略图尺寸
  968. //绑定删除
  969. $('#' + file.id).on('click', '.img_del', function() {
  970. uploader.removeFile(file);
  971. var $fileLi = $('#' + file.id);
  972. $fileLi.off().find('.img_del').off().end().remove();
  973. var itemFileName = $(this).parent().parent().find('.file_name').text();
  974. $.each(proimglist, function(i, v) {
  975. if(v && v.filename == itemFileName) {
  976. proimglist.splice(i, 1);
  977. //helper.methods.delImgs(v.filesmallurl, v.fileurl);
  978. }
  979. });
  980. $('#fileNum').text(proimglist.length);
  981. });
  982. });
  983. // 文件上传过程中保存进度条实时显示。
  984. uploader.on('uploadProgress', function(file, percentage) {
  985. var $li = $('#' + file.id),
  986. $percent = $li.find('.progress span');
  987. // 避免重复保存
  988. if(!$percent.length) {
  989. $percent = $('<div class="progress" style="">' +
  990. '<span class="text">0%</span>' +
  991. '<span class="percentage"></span>' +
  992. '</div>')
  993. .appendTo($li)
  994. .find('span');
  995. }
  996. $percent.eq(0).text(Math.round(percentage * 100) + '%');
  997. $percent.eq(1).css('width', Math.round(percentage * 100) + '%');
  998. });
  999. // 文件上传成功,给item添加成功class, 用样式标记上传成功。
  1000. uploader.on('uploadSuccess', function(file, res) {
  1001. proimglist.push(res.data.F_FileId);
  1002. $('#fileNum').text(proimglist.length);
  1003. $('#' + file.id).addClass('upload-state-done');
  1004. });
  1005. // 文件上传失败,显示上传出错。
  1006. uploader.on('uploadError', function(file) {
  1007. var $li = $('#' + file.id),
  1008. $error = $li.find('div.error');
  1009. // 避免重复创建
  1010. if(!$error.length) {
  1011. $error = $('<div class="error"></div>').appendTo($li);
  1012. }
  1013. $error.text('上传失败');
  1014. });
  1015. // 完成上传完了,成功或者失败,先删除进度条。
  1016. uploader.on('uploadComplete', function(file) {
  1017. $('#' + file.id).find('.progress').remove();
  1018. });
  1019. uploader.onError = function(code) {
  1020. // console.log('Error:' + code);
  1021. switch(code) {
  1022. case "Q_EXCEED_NUM_LIMIT":
  1023. layer.msg('只能上传六个文件。');
  1024. break;
  1025. case "Q_TYPE_DENIED":
  1026. layer.msg('文件类型不正确。');
  1027. break;
  1028. case "F_DUPLICATE":
  1029. layer.msg('该文件已上传,请选择其它文件。');
  1030. break;
  1031. case "F_EXCEED_SIZE":
  1032. layer.msg('单文件大小不能超过30M。');
  1033. break;
  1034. case "Q_EXCEED_SIZE_LIMIT":
  1035. layer.msg('总文件大小不能超过180M。');
  1036. break;
  1037. default:
  1038. break;
  1039. }
  1040. };
  1041. }
  1042. /**
  1043. * 附件上传直接在知识库管理拿来用 结束
  1044. * */
  1045. //新建工单 保存
  1046. function orderSave() {
  1047. // if(!regexs.userNameReg.test($.trim($('#order_name').val()))) {
  1048. // layer.confirm('请输入有效的客户姓名(2-20位汉字可以包含·•)!', {
  1049. // icon: 2,
  1050. // btn: ['确定']
  1051. // });
  1052. // return;
  1053. // }
  1054. var order_handle = $('#order_handles').is(':visible') ? $('#order_handle').val() : 0,
  1055. order_transfer_dept = $('#order_transfer_dept').attr('data-id'),//int 接收部门
  1056. order_receiveUser = $('#order_receiveUser').val();//int 接收人
  1057. if($('#order_isover').find('input[type="radio"]:checked').val() === '1'){
  1058. order_transfer_dept = 0;
  1059. order_receiveUser = 0;
  1060. }
  1061. $.post(huayi.config.callcenter_url + 'CallInScreen/AddWorkOrder', {
  1062. callid: CallID,//string; -此参数可根据来电弹屏时的客户绑定
  1063. customerid: $('#head_form_customer_id').attr('data-cid'),//int 客户id; -此参数可根据来电弹屏时的客户绑定
  1064. source: $('#order_source').val(),//int 工单来源-下拉,数据来源:数据字典GDLY;
  1065. gdlx: $('#order_type').find('input[type="radio"]:checked').val(),//int 工单类型-单选,数据来源:数据字典GDLX;
  1066. ywlx: order_handle,//int 业务办理-下拉,工单类型选择“业务办理”时数据来源:数据字典GDLX,工单类型选择“投诉”时数据是投诉,传值ID与工单类型一致
  1067. callCustomer: $('#order_name').val(),//string 客户姓名; -此参数可根据来电弹屏时的客户绑定
  1068. tel:$('#order_tel').val(), //phoneNumber,//string 联系电话 ; -此参数可根据来电弹屏时的客户绑定
  1069. company: $('#order_company').val(), // 公司名称
  1070. fkcont: $('#order_reception').val(),//string 反馈内容;
  1071. iseffective: $('#order_iseffective').find('input[type="radio"]:checked').val(),//int 是否有效工单项(0有效,1无效);
  1072. note: $('#order_note').val(),//string 无效工单必填备注;
  1073. limitdate:$('#sc_time').val(),//截止日期
  1074. files: proimglist && proimglist.join(','), //附件
  1075. clcontent:$("#order_zhipai").val(), //指派说明
  1076. ctype:$('#order_godant').val(),//工单子类
  1077. clbm: order_transfer_dept,//int 接收部门;
  1078. clid: order_receiveUser,//int 接收人;
  1079. auditusercode: $('#order_audit').val(),//string 审核人工号;
  1080. isover: $('#order_isover').find('input[type="radio"]:checked').val(), //int 是否立即处理(默认为0,立即处理为1,立即处理的工单无法指派接收人和接受部门)
  1081. token: $.cookie("token")
  1082. }, function(result) {
  1083. result = $.parseJSON(result);
  1084. if(result.state.toLowerCase() === "success") {
  1085. cleanOrderForm(); //清空新增工单的数据
  1086. // $('.ld-service').find('li.KF').trigger('click'); //进入历史工单页面
  1087. top.workcount();
  1088. layer.msg("保存成功");
  1089. }
  1090. })
  1091. }
  1092. //清空新增工单的数据
  1093. function cleanOrderForm() {
  1094. $('#order_form').find('input.form-control').val('');
  1095. $('#order_form').find('textarea.form-control').val('');
  1096. $('#order_form').find('select.form-control').val('0');
  1097. $('#order_type').find("input[type='radio'][value='107']").prop("checked", true).trigger('change');
  1098. $('#order_iseffective').find("input[type='radio'][value='0']").prop("checked", true).trigger('change');
  1099. $('#order_transfer_dept').val('').trigger('keyup');
  1100. $('#order_transfer_dept').attr('placeholder', '请选择部门');
  1101. $('#order_transfer_dept').attr('data-id', 0);
  1102. $('#order_receiveUser').selectpicker('destroy');
  1103. $('#order_receiveUser').empty();
  1104. $('#order_receiveUser').append('<option value="0">请选择接收人</option>');
  1105. $('#order_receiveUser').selectpicker('refresh');
  1106. $('#order_form').find('.selectpicker.form-control').selectpicker('val', '0').trigger('change');
  1107. $('#order_source').selectpicker('val', '468').trigger('change');
  1108. $('#order_isover').find("input[type='radio'][value='0']").prop("checked", true);
  1109. }
  1110. //拉黑 保存
  1111. function saveBlack() {
  1112. var reg = /^\+?[1-9][0-9]*$/;
  1113. var n = $("#time-word").val();
  1114. var val = $("input[name='time']:checked").val();
  1115. if(n) {
  1116. if(!(reg.test(n))) {
  1117. layer.confirm('请输入整数时间!', {
  1118. btn: ['确定']
  1119. });
  1120. return;
  1121. }
  1122. } else {
  1123. if(val == '4') {
  1124. n = 0;
  1125. } else {
  1126. layer.confirm('请输入整数时间!', {
  1127. btn: ['确定']
  1128. });
  1129. return;
  1130. }
  1131. }
  1132. $.post(huayi.config.callcenter_url + 'CallInScreen/AddBlack', {
  1133. tel: phoneNumber,
  1134. num: n,
  1135. type: val,
  1136. "token": $.cookie("token")
  1137. }, function(result) {
  1138. result = $.parseJSON(result);
  1139. if(result.state.toLowerCase() == "success") {
  1140. layer.msg("拉入黑名单成功");
  1141. $('.head_black_btn').text('取消');
  1142. $('.ldtp-con .hei-list').hide();
  1143. $('.la-before').hide();
  1144. $('.retur').show();
  1145. }
  1146. })
  1147. }
  1148. //取消黑名单
  1149. function cancelBlack() {
  1150. $.getJSON(huayi.config.callcenter_url + 'CallInScreen/DelBlack', {
  1151. tel: phoneNumber,
  1152. "token": $.cookie("token")
  1153. }, function(result) {
  1154. if(result.state.toLowerCase() == "success") {
  1155. layer.msg("取消黑名单成功");
  1156. $('.head_black_btn').text('黑名单');
  1157. $('.retur').hide();
  1158. $('.la-before').show();
  1159. }
  1160. })
  1161. }
  1162. /**
  1163. * 获取接收部门 获取投诉类型
  1164. * el1, 树形结构元素id名 reginsTreeView
  1165. * el2, 搜索框元素id名 order_transfer_dept
  1166. * */
  1167. function getDepts(el1, el2) {
  1168. //初始化 样式
  1169. $('#' + el2).on('focus click', function() {
  1170. $('#' + el1).removeClass('hidden').addClass('show');
  1171. });
  1172. $('#' + el2).on('keyup', function() {
  1173. if($(this).val() == '') {
  1174. $('#' + el1).treeview('uncheckAll', {
  1175. silent: true
  1176. });
  1177. $(this).attr('data-id', '0');
  1178. }
  1179. });
  1180. $('#' + el2 + ' .caret').on('click', function() {
  1181. $('#' + el1).removeClass('hidden').addClass('show');
  1182. });
  1183. $('#' + el1).mouseleave(function() {
  1184. $(this).removeClass('show').addClass('hidden');
  1185. });
  1186. $.getJSON(huayi.config.callcenter_url + 'Department/GetDeptList', {
  1187. token: $.cookie("token")
  1188. }, function(result) {
  1189. if(result.state.toLowerCase() == "success") {
  1190. var defaultDatas = helper.methods.buildTree(result.data);
  1191. var sortChildrenArr = helper.methods.objToArray(defaultDatas[0].children);
  1192. sortChildrenArr.sort(helper.methods.compare('sort'));
  1193. var sortChildrenObj = helper.methods.arrayToObj(sortChildrenArr);
  1194. defaultDatas[0].children = sortChildrenObj;
  1195. if(defaultDatas) {
  1196. var $sTree = $('#' + el1).treeview({
  1197. color: "#1ab394",
  1198. selectedBackColor: '#1ab394',
  1199. expandIcon: 'glyphicon glyphicon-chevron-right',
  1200. collapseIcon: 'glyphicon glyphicon-chevron-down',
  1201. nodeIcon: 'fa fa-folder-o',
  1202. //selectedIcon: "glyphicon glyphicon-stop",
  1203. //icon: "glyphicon glyphicon-stop",
  1204. //emptyIcon: 'glyphicon',
  1205. //showCheckbox: true,
  1206. selectable: true,
  1207. state: {
  1208. selected: true
  1209. },
  1210. data: defaultDatas,
  1211. onNodeSelected: function(event, node) {
  1212. $sTree.treeview('clearSearch');
  1213. $('#' + el2).val(node.text);
  1214. $('#' + el2).attr('data-id', node.id);
  1215. $('#' + el1).removeClass('show').addClass('hidden');
  1216. //获取接收人员
  1217. getReceiveUser($('#order_receiveUser'), node.id);
  1218. },
  1219. onNodeUnselected: function(event, node) {
  1220. $('#' + el2).attr('data-id', 0);
  1221. $('#' + el2).attr('placeholder', '请选择接收部门');
  1222. $('#order_receiveUser').empty();
  1223. $('#order_receiveUser').append('<option value="0">请选择接收人</option>');
  1224. $('#order_receiveUser').selectpicker('refresh');
  1225. }
  1226. });
  1227. // $('#' + el1).treeview('collapseAll', {
  1228. // silent: true
  1229. // });
  1230. $('#' + el1).treeview('expandAll', { levels: 2, silent: true });
  1231. var findSNodes = function() {
  1232. return $sTree.treeview('search', [$('#' + el2).val(), {
  1233. ignoreCase: false,
  1234. exactMatch: false
  1235. }]);
  1236. };
  1237. $('#' + el2).on('keyup focus', function(e) {
  1238. var selectableNodes = findSNodes();
  1239. //var m = $('#' + el1).treeview('getParent', selectableNodes);
  1240. //$('#' + el1).treeview('selectNode', [ m, { silent: true } ]);
  1241. });
  1242. }
  1243. }
  1244. })
  1245. }
  1246. //获取接收人员
  1247. function getReceiveUser(obj, deptid) {
  1248. $.ajax({
  1249. url: huayi.config.callcenter_url + 'UserAccount/GetDeptUserList',
  1250. type: 'get',
  1251. data: {
  1252. deptid: deptid,
  1253. token: $.cookie("token")
  1254. },
  1255. dataType: "json",
  1256. async: true,
  1257. success: function(res) {
  1258. obj.empty();
  1259. if(res.state.toLowerCase() === "success") {
  1260. res = res.data;
  1261. if(res && res.length > 0) {
  1262. obj.append('<option value="0">请选择接收人</option>');
  1263. res.forEach(function(v, i) {
  1264. obj.append('<option value="' + v.F_UserId + '" data-code="'+ v.F_UserCode +'">' + v.F_UserName + '('+ v.F_UserCode +')</option>');
  1265. });
  1266. obj.selectpicker('refresh');
  1267. }
  1268. }
  1269. },
  1270. });
  1271. }
  1272. //外呼
  1273. function calloutopt(telphone) {
  1274. event.stopPropagation();
  1275. if(telphone) {
  1276. $.ajax({
  1277. type: "get",
  1278. url: huayi.config.callcenter_url + "CallOutOpt/GetCallOutprefix",
  1279. async: true,
  1280. dataType: 'json',
  1281. data: {
  1282. phone: telphone,
  1283. token: $.cookie("token")
  1284. },
  1285. success: function(result) {
  1286. if(result.state.toLowerCase() === "success") {
  1287. top.obj.Type = "MakeCall";
  1288. top.obj.DestinationNumber = result.data.phone;
  1289. top.obj.Header = result.data.fix;
  1290. top.obj.TaskType = "0"; //0:拨号外呼;1:问卷外呼;
  1291. top.obj.TaskPhoneID = ''; // 原来是 回访的电话工单ID
  1292. top.Send();
  1293. }
  1294. }
  1295. });
  1296. }
  1297. }