Nessuna descrizione

LookMessage.js 11KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374
  1. /**
  2. * 回访 问卷信息
  3. * */
  4. var wid = helper.request.queryString("oid");
  5. $(document).ready(function() {
  6. if(wid != null && wid != undefined && wid != "") {
  7. getWorkOrderInfo(); //获取工单信息
  8. GetHJJG(); //获取呼叫结果
  9. }
  10. $('#btn_submit').on('click', submitPages);
  11. //点击电话号码外呼
  12. $("#CallOut").click(function(event) {
  13. if($("#visit_tel").text()) {
  14. calloutopt($("#visit_tel").text());
  15. }
  16. });
  17. // $("#npscore input[type=radio][value='10']").prop("checked", true);
  18. // $("#qualityscore input[type=radio][value='10']").prop("checked", true);
  19. // $("#resultscore input[type=radio][value='10']").prop("checked", true);
  20. // $("#servicescore input[type=radio][value='10']").prop("checked", true);
  21. // $("#effectscore input[type=radio][value='10']").prop("checked", true);
  22. // $('#npscore').val(10)
  23. // $('#qualityscore').val(10)
  24. // $('#resultscore').val(10)
  25. // $('#servicescore').val(10)
  26. // $('#effectscore').val(10)
  27. });
  28. var score1;
  29. var score2;
  30. var score3;
  31. var score4;
  32. var score5;
  33. $("#npscore button").click(function() {
  34. $(this).addClass('btnActive').siblings().removeClass('btnActive')
  35. score1 = $(this).val()
  36. })
  37. $("#qualityscore button").click(function() {
  38. $(this).addClass('btnActive').siblings().removeClass('btnActive')
  39. score2 = $(this).val()
  40. })
  41. $("#resultscore button").click(function() {
  42. $(this).addClass('btnActive').siblings().removeClass('btnActive')
  43. score3 = $(this).val()
  44. })
  45. $("#servicescore button").click(function() {
  46. $(this).addClass('btnActive').siblings().removeClass('btnActive')
  47. score4 = $(this).val()
  48. })
  49. $("#effectscore button").click(function() {
  50. $(this).addClass('btnActive').siblings().removeClass('btnActive')
  51. score5 = $(this).val()
  52. })
  53. //外呼
  54. function calloutopt(telphone) {
  55. event.stopPropagation();
  56. if(telphone) {
  57. $.ajax({
  58. type: "get",
  59. url: huayi.config.callcenter_url + "CallOutOpt/GetCallOutprefix",
  60. async: true,
  61. dataType: 'json',
  62. data: {
  63. token: $.cookie("token"),
  64. phone: telphone
  65. },
  66. success: function(result) {
  67. if(result.state.toLowerCase() == "success") {
  68. var guid = uuid();
  69. $("#TelCode").val(guid);
  70. top.obj.Type = "MakeCall";
  71. top.obj.DestinationNumber = result.data.phone;
  72. top.obj.Header = result.data.fix;
  73. top.obj.TaskType = "1"; //0:拨号外呼;1:问卷外呼;
  74. top.obj.TaskPhoneID = $("#F_Id").val(); //回访的电话工单ID
  75. top.Send();
  76. }
  77. }
  78. });
  79. }
  80. }
  81. $('input[name="man"]').change(function() {
  82. if($('input[name="man"]:checked').val() == "不满意") {
  83. $("#qta").show();
  84. } else {
  85. $("#qta").hide();
  86. }
  87. })
  88. $('input[name="man"]').change(function() {
  89. if($('input[name="man"]:checked').val() == "备注") {
  90. $(".comment").show();
  91. } else {
  92. $(".comment").hide();
  93. }
  94. })
  95. $('input[name="fwu"]').change(function() {
  96. if($('input[name="fwu"]:checked').val() == "其他") {
  97. $("#otherone").show();
  98. } else {
  99. $("#otherone").hide();
  100. }
  101. })
  102. // 分值
  103. //scoreCount($('#npscore'), 'nps')
  104. //scoreCount($('#qualityscore'), 'quality')
  105. //scoreCount($('#resultscore'), 'result')
  106. //scoreCount($('#servicescore'), 'service')
  107. //scoreCount($('#effectscore'), 'effect')
  108. //scoreCount($('#ceshi'), 'nps')
  109. function scoreCount(dom, index) {
  110. let scoreNum = [{
  111. value: '-1',
  112. score: '未评价'
  113. }, {
  114. value: '1',
  115. score: '1分'
  116. }, {
  117. value: '2',
  118. score: '2分'
  119. }, {
  120. value: '3',
  121. score: '3分'
  122. }, {
  123. value: '4',
  124. score: '4分'
  125. }, {
  126. value: '5',
  127. score: '5分'
  128. },
  129. {
  130. value: '6',
  131. score: '6分'
  132. }, {
  133. value: '7',
  134. score: '7分'
  135. }, {
  136. value: '8',
  137. score: '8分'
  138. }, {
  139. value: '9',
  140. score: '9分'
  141. }, {
  142. value: '10',
  143. score: '10分'
  144. }
  145. ]
  146. // let str ='<option value="">请选择分值</option>'
  147. scoreNum.forEach(function(v) {
  148. $("<a style='margin-right:12px'><input type='radio' name='" + index + "' value='" + v.value + "'>" + v.score + "</input></a>").appendTo(dom);
  149. // $('<div class="btn-group"><button type="button" class="btn btn-default" value="'+v.value+'">'+v.score+'</button></div>').appendTo(dom)
  150. // str += '<input type="radio" value = "'+v.value+'">'+v.score+'</input>'
  151. })
  152. // dom.append(str)
  153. }
  154. var attr;
  155. //提交问卷
  156. function submitPages() {
  157. var attre;
  158. var noSati;
  159. if($('input[name="man"]:checked').val() == "备注") {
  160. attre = $(".comment").val();
  161. } else {
  162. attre = $('input[name="man"]:checked').val();
  163. }
  164. if(!$('input[name="check"]:checked').val()) {
  165. layer.confirm('呼叫结果必须选择!', {
  166. icon: 2,
  167. btn: ['确定']
  168. });
  169. return;
  170. }
  171. //请求
  172. $.ajax({
  173. type: "POST",
  174. url: huayi.config.callcenter_url + "WorkOrderNew/ReturnvisitOrder",
  175. dataType: 'json',
  176. data: {
  177. cont: attre, //回访结果
  178. orderid: wid, // 是 string 工单来源
  179. reason: $('input[name="fwu"]:checked').val(),
  180. call: $('input[name="check"]:checked').val(), //呼叫结果ID
  181. isover: $('input[name="wan"]:checked').val(), //是否完结
  182. sms: $('input[name="duxin"]:checked').val(), //是否发送短信
  183. F_VisitRemarks: $('#remarks').val(), //底部备注
  184. npscore:score1,
  185. qualityscore:score2,
  186. resultscore:score3,
  187. servicescore:score4,
  188. effectscore:score5,
  189. // npscore: $('#npscore').find('input[type="radio"]:checked').val(), //nps得分
  190. // qualityscore: $('#qualityscore').find('input[type="radio"]:checked').val(), //产品质量
  191. // resultscore: $('#resultscore').find('input[type="radio"]:checked').val(), //处理结果
  192. // servicescore: $('#servicescore').find('input[type="radio"]:checked').val(), //服务态度
  193. // effectscore: $('#effectscore').find('input[type="radio"]:checked').val(), //处理时效
  194. token: $.cookie("token")
  195. },
  196. beforeSend: function() {
  197. $("#btn_submit").attr("disabled", true);
  198. $("#btn_submit").text("提交中");
  199. loadIndex = layer.load();
  200. },
  201. async: true,
  202. success: function(data) {
  203. if(data.state === "success") {
  204. $("#btn_submit").attr("disabled", false);
  205. $("#btn_submit").text("提交");
  206. layer.close(loadIndex);
  207. var index = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
  208. parent.layer.close(index); //再执行关闭
  209. parent.$('#workorderlist').bootstrapTable('refresh');
  210. parent.layer.msg('提交成功');
  211. } else {
  212. $("#btn_submit").attr("disabled", false);
  213. $("#btn_submit").text("提交");
  214. layer.close(loadIndex);
  215. }
  216. },
  217. });
  218. }
  219. //获取工单信息
  220. function getWorkOrderInfo() {
  221. $.getJSON(huayi.config.callcenter_url + 'WorkOrderNew/GetDetails', {
  222. id: wid,
  223. "token": $.cookie("token")
  224. }, function(result) {
  225. if(result.state.toLowerCase() == "success") {
  226. if(result.rows && result.rows.length > 0) {
  227. var data = result.rows[0];
  228. $("#F_WorkOrderCode").text(data.F_WorkOrderCode), //工单编号
  229. $("#F_Type").text(data.F_TypeName); //工单类型
  230. $("#F_State").text(data.F_StateName); //工单状态
  231. $("#F_Source").text(data.F_SourceName); //工单来源
  232. $('#F_CusName').text(data.F_CusName); //客户姓名
  233. $('#CallOut').text(data.F_CusPhone); //客户电话
  234. $('#F_BranchName').text(data.F_CompanyName); //分公司
  235. $('#F_Salesman').text(data.F_Salesman); // 业务员
  236. $('#F_SalesPhone').text(data.F_SalesPhone); // 业务员电话
  237. $('#F_Model').text(data.F_Model); //型号
  238. $("#F_DealBy").text(data.F_DealBy); //处理人
  239. $("#F_DealContent").text(data.F_DealContent); //处理内容
  240. if(data.TypeClass === 107) { //咨询
  241. $('.visit_complain').hide();
  242. } else if(data.TypeClass === 108) { //投诉
  243. $('.visit_complain').show();
  244. data.ComplaintDepartment = data.ComplaintDepartment === null ? '' : data.ComplaintDepartment;
  245. data.CustomerTypeName = data.CustomerTypeName === null ? '' : data.CustomerTypeName;
  246. $("#visit_fkdep").text(data.ComplaintDepartment + data.CustomerTypeName); //投诉类型
  247. if(data.ResponDept != "-1") {
  248. data.ResponDept = data.ResponDept === 1 ? '是' : '否';
  249. } else {
  250. data.ResponDept = '保密';
  251. }
  252. $("#visit_isquality").text(data.ResponDept); //是否过质保
  253. data.AuditUserNameRel = data.AuditUserNameRel === "" ? '——' : data.AuditUserNameRel;
  254. $("#visit_responseUser").text(data.AuditUserNameRel); //接收人
  255. }
  256. $("#visit_code").text(data.CreateUserNameRel); //创建人
  257. $("#visit_detail").html(decodeURIComponent(data.Detail)); //反馈内容
  258. $("#visit_clcontent").html(decodeURIComponent(data.clcontent)); //处理内容
  259. if(data.IsEffective === 0) {
  260. $('.visit_notes').hide();
  261. } else {
  262. $('.visit_notes').show();
  263. $("#visit_note").text(data.Province); //无效原因
  264. }
  265. }
  266. }
  267. });
  268. }
  269. //格式化 工单状态
  270. function formatterState(val) {
  271. var stateStr = '-';
  272. var stateClass = '';
  273. switch(val) { //工单状态0待指派,1待处理,2已处理
  274. case 0:
  275. stateStr = '待指派';
  276. stateClass = 'audit_wait';
  277. break;
  278. case 1:
  279. stateStr = '待处理';
  280. stateClass = 'audit_revoke';
  281. break;
  282. case 2:
  283. stateStr = '已处理';
  284. stateClass = 'audit_done';
  285. break;
  286. default:
  287. break;
  288. }
  289. return '<span class="' + stateClass + '">' + stateStr + '</span>';
  290. }
  291. //格式化 工单有效性
  292. function formatterIsEffective(val) {
  293. var stateStr = '-';
  294. var stateClass = '';
  295. switch(val) { //是否有效工单项(0有效,1无效)
  296. case 0:
  297. stateStr = '有效';
  298. stateClass = 'audit_done';
  299. break;
  300. case 1:
  301. stateStr = '无效';
  302. stateClass = 'audit_revoke';
  303. break;
  304. default:
  305. break;
  306. }
  307. return '<span class="' + stateClass + '">' + stateStr + '</span>';
  308. }
  309. //获取呼叫结果
  310. function GetHJJG() {
  311. $.ajax({
  312. type: "get",
  313. url: huayi.config.callcenter_url + "Dictionary/GetDicValueListByFlag",
  314. dataType: 'json',
  315. data: {
  316. flag: 'HJJG',
  317. token: $.cookie("token")
  318. },
  319. async: true,
  320. success: function(data) {
  321. var Count = data.data;
  322. for(var i = 0; i < Count.length; i++) {
  323. var listItem = '<li>' +
  324. '<input id="listR_' + i + '" type="radio" name="check" value="' + Count[i].F_Name + '" />' +
  325. '<label for="listR_' + i + '">' + Count[i].F_Name + '</label>' +
  326. '</li>';
  327. $(listItem).appendTo($("#Tgetruset"));
  328. }
  329. }
  330. });
  331. }
  332. $('#Tgetruset').delegate($('input:radio[name="check"]'), 'change', function() {
  333. $("#cli button").removeClass('btnActive')
  334. if($('input[name="check"]:checked').val() == '正常接通') {
  335. $("#cli button[value=10]").addClass('btnActive')
  336. score1 = 10;
  337. score2 = 10;
  338. score3 = 10;
  339. score4 = 10;
  340. score5 = 10;
  341. // $("#npscore input[type=radio][value='10']").prop("checked", true);
  342. // $("#qualityscore input[type=radio][value='10']").prop("checked", true);
  343. // $("#resultscore input[type=radio][value='10']").prop("checked", true);
  344. // $("#servicescore input[type=radio][value='10']").prop("checked", true);
  345. // $("#effectscore input[type=radio][value='10']").prop("checked", true);
  346. } else {
  347. $("#cli button[value=-1]").addClass('btnActive')
  348. score1 = -1;
  349. score2 = -1;
  350. score3 = -1;
  351. score4 = -1;
  352. score5 = -1;
  353. // $("#npscore input[type=radio][value='-1']").prop("checked", true);
  354. // $("#qualityscore input[type=radio][value='-1']").prop("checked", true);
  355. // $("#resultscore input[type=radio][value='-1']").prop("checked", true);
  356. // $("#servicescore input[type=radio][value='-1']").prop("checked", true);
  357. // $("#effectscore input[type=radio][value='-1']").prop("checked", true);
  358. }
  359. })