开封利通水务前端

call.js 46KB

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