Bez popisu

LookMessage.js 7.8KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269
  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. });
  18. //外呼
  19. function calloutopt(telphone) {
  20. event.stopPropagation();
  21. if(telphone) {
  22. $.ajax({
  23. type: "get",
  24. url: huayi.config.callcenter_url + "CallOutOpt/GetCallOutprefix",
  25. async: true,
  26. dataType: 'json',
  27. data: {
  28. token: $.cookie("token"),
  29. phone: telphone
  30. },
  31. success: function(result) {
  32. if(result.state.toLowerCase() == "success") {
  33. var guid = uuid();
  34. $("#TelCode").val(guid);
  35. top.obj.Type = "MakeCall";
  36. top.obj.DestinationNumber = result.data.phone;
  37. top.obj.Header = result.data.fix;
  38. top.obj.TaskType = "1"; //0:拨号外呼;1:问卷外呼;
  39. top.obj.TaskPhoneID = $("#F_Id").val(); //回访的电话工单ID
  40. top.Send();
  41. }
  42. }
  43. });
  44. }
  45. }
  46. $('input[name="man"]').change(function() {
  47. if($('input[name="man"]:checked').val() == "不满意") {
  48. $("#qta").show();
  49. } else {
  50. $("#qta").hide();
  51. }
  52. })
  53. $('input[name="man"]').change(function() {
  54. if($('input[name="man"]:checked').val() == "备注") {
  55. $(".comment").show();
  56. } else {
  57. $(".comment").hide();
  58. }
  59. })
  60. $('input[name="fwu"]').change(function() {
  61. if($('input[name="fwu"]:checked').val() == "其他") {
  62. $("#otherone").show();
  63. } else {
  64. $("#otherone").hide();
  65. }
  66. })
  67. // 分值
  68. scoreCount($('#npscore'))
  69. scoreCount($('#qualityscore'))
  70. scoreCount($('#resultscore'))
  71. scoreCount($('#servicescore'))
  72. scoreCount($('#effectscore'))
  73. function scoreCount(dom){
  74. let scoreNum = [{value:'0', score:'0分'},{value:'1', score:'1分'},{value:'2', score:'2分'},{value:'3', score:'3分'},{value:'4', score:'4分'},
  75. {value:'5', score:'5分'},{value:'6', score:'6分'},{value:'7', score:'7分'},{value:'8', score:'8分'},{value:'9', score:'9分'}]
  76. let str ='<option value="">请选择分值</option>'
  77. scoreNum.forEach(function(v){
  78. str += '<option value = "'+v.value+'">'+v.score+'</option>'
  79. })
  80. dom.html(str)
  81. }
  82. var attr;
  83. //提交问卷
  84. function submitPages() {
  85. var attre;
  86. var noSati;
  87. if($('input[name="man"]:checked').val() == "备注") {
  88. attre = $(".comment").val();
  89. } else {
  90. attre = $('input[name="man"]:checked').val();
  91. }
  92. if(!$('input[name="check"]:checked').val()) {
  93. layer.confirm('呼叫结果必须选择!', {
  94. icon: 2,
  95. btn: ['确定']
  96. });
  97. return;
  98. }
  99. //请求
  100. $.ajax({
  101. type: "POST",
  102. url: huayi.config.callcenter_url + "WorkOrderNew/ReturnvisitOrder",
  103. dataType: 'json',
  104. data: {
  105. cont: attre, //回访结果
  106. orderid: wid, // 是 string 工单来源
  107. reason: $('input[name="fwu"]:checked').val(),
  108. call: $('input[name="check"]:checked').val(), //呼叫结果ID
  109. isover: $('input[name="wan"]:checked').val(), //是否完结
  110. sms: $('input[name="duxin"]:checked').val(), //是否发送短信
  111. F_VisitRemarks: $('#remarks').val(), //底部备注
  112. npscore: $('#npscore').val(), //nps得分
  113. qualityscore: $('#qualityscore').val(), //产品质量
  114. servicescore: $('#servicescore').val(), //服务态度
  115. effectscore: $('#effectscore').val(), //处理时效
  116. resultscore: $('#resultscore').val(), //处理结果
  117. token: $.cookie("token")
  118. },
  119. beforeSend: function() {
  120. $("#btn_submit").attr("disabled", true);
  121. $("#btn_submit").text("提交中");
  122. loadIndex = layer.load();
  123. },
  124. async: true,
  125. success: function(data) {
  126. if(data.state === "success") {
  127. $("#btn_submit").attr("disabled", false);
  128. $("#btn_submit").text("提交");
  129. layer.close(loadIndex);
  130. var index = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
  131. parent.layer.close(index); //再执行关闭
  132. parent.$('#workorderlist').bootstrapTable('refresh');
  133. parent.layer.msg('提交成功');
  134. } else {
  135. $("#btn_submit").attr("disabled", false);
  136. $("#btn_submit").text("提交");
  137. layer.close(loadIndex);
  138. }
  139. },
  140. });
  141. }
  142. //获取工单信息
  143. function getWorkOrderInfo() {
  144. $.getJSON(huayi.config.callcenter_url + 'WorkOrderNew/GetDetails', {
  145. id: wid,
  146. "token": $.cookie("token")
  147. }, function(result) {
  148. if(result.state.toLowerCase() == "success") {
  149. if(result.rows && result.rows.length > 0) {
  150. var data = result.rows[0];
  151. $("#F_WorkOrderCode").text(data.F_WorkOrderCode), //工单编号
  152. $("#F_Type").text(data.F_TypeName); //工单类型
  153. $("#F_State").text(data.F_StateName); //工单状态
  154. $("#F_Source").text(data.F_SourceName); //工单来源
  155. $('#F_CusName').text(data.F_CusName); //客户姓名
  156. $('#CallOut').text(data.F_CusPhone); //客户电话
  157. $('#F_BranchName').text(data.F_CompanyName); //分公司
  158. $('#F_Salesman').text(data.F_Salesman); // 业务员
  159. $('#F_SalesPhone').text(data.F_SalesPhone); // 业务员电话
  160. $('#F_Model').text(data.F_Model); //型号
  161. $("#F_DealBy").text(data.F_DealBy); //处理人
  162. $("#F_DealContent").text(data.F_DealContent); //处理内容
  163. if(data.TypeClass === 107) { //咨询
  164. $('.visit_complain').hide();
  165. } else if(data.TypeClass === 108) { //投诉
  166. $('.visit_complain').show();
  167. data.ComplaintDepartment = data.ComplaintDepartment === null ? '' : data.ComplaintDepartment;
  168. data.CustomerTypeName = data.CustomerTypeName === null ? '' : data.CustomerTypeName;
  169. $("#visit_fkdep").text(data.ComplaintDepartment + data.CustomerTypeName); //投诉类型
  170. if(data.ResponDept != "-1") {
  171. data.ResponDept = data.ResponDept === 1 ? '是' : '否';
  172. } else {
  173. data.ResponDept = '保密';
  174. }
  175. $("#visit_isquality").text(data.ResponDept); //是否过质保
  176. data.AuditUserNameRel = data.AuditUserNameRel === "" ? '——' : data.AuditUserNameRel;
  177. $("#visit_responseUser").text(data.AuditUserNameRel); //接收人
  178. }
  179. $("#visit_code").text(data.CreateUserNameRel); //创建人
  180. $("#visit_detail").html(decodeURIComponent(data.Detail)); //反馈内容
  181. $("#visit_clcontent").html(decodeURIComponent(data.clcontent)); //处理内容
  182. if(data.IsEffective === 0) {
  183. $('.visit_notes').hide();
  184. } else {
  185. $('.visit_notes').show();
  186. $("#visit_note").text(data.Province); //无效原因
  187. }
  188. }
  189. }
  190. });
  191. }
  192. //格式化 工单状态
  193. function formatterState(val) {
  194. var stateStr = '-';
  195. var stateClass = '';
  196. switch(val) { //工单状态0待指派,1待处理,2已处理
  197. case 0:
  198. stateStr = '待指派';
  199. stateClass = 'audit_wait';
  200. break;
  201. case 1:
  202. stateStr = '待处理';
  203. stateClass = 'audit_revoke';
  204. break;
  205. case 2:
  206. stateStr = '已处理';
  207. stateClass = 'audit_done';
  208. break;
  209. default:
  210. break;
  211. }
  212. return '<span class="' + stateClass + '">' + stateStr + '</span>';
  213. }
  214. //格式化 工单有效性
  215. function formatterIsEffective(val) {
  216. var stateStr = '-';
  217. var stateClass = '';
  218. switch(val) { //是否有效工单项(0有效,1无效)
  219. case 0:
  220. stateStr = '有效';
  221. stateClass = 'audit_done';
  222. break;
  223. case 1:
  224. stateStr = '无效';
  225. stateClass = 'audit_revoke';
  226. break;
  227. default:
  228. break;
  229. }
  230. return '<span class="' + stateClass + '">' + stateStr + '</span>';
  231. }
  232. //获取呼叫结果
  233. function GetHJJG() {
  234. $.ajax({
  235. type: "get",
  236. url: huayi.config.callcenter_url + "Dictionary/GetDicValueListByFlag",
  237. dataType: 'json',
  238. data: {
  239. flag: 'HJJG',
  240. token: $.cookie("token")
  241. },
  242. async: true,
  243. success: function(data) {
  244. var Count = data.data;
  245. for(var i = 0; i < Count.length; i++) {
  246. var listItem = '<li>' +
  247. '<input id="listR_' + i + '" type="radio" name="check" value="' + Count[i].F_Name + '" />' +
  248. '<label for="listR_' + i + '">' + Count[i].F_Name + '</label>' +
  249. '</li>';
  250. $(listItem).appendTo($("#Tgetruset"));
  251. }
  252. }
  253. });
  254. }