Nessuna descrizione

unCallBackRecord.html 10KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8" />
  5. <script src="../Script/Common/huayi.load.js"></script>
  6. <script src="../Script/Common/huayi.config.js"></script>
  7. <link rel="stylesheet" href="../css/init.css" />
  8. <link rel="stylesheet" href="./css/search.css" />
  9. <title>工单列表</title>
  10. </head>
  11. <body>
  12. <div class="wrapper wrapper-content animated fadeInRight">
  13. <div class="daoHang clearfix">
  14. <div class="dhLeft">
  15. <sapn>
  16. <i class="syIcon"></i>位置:
  17. <a href="javaScript:;" id="ReIndex">首页</a>&gt;
  18. <a href="javaScript:;">话务管理</a>&gt;
  19. <a href="" class="nowPosition">未回拨记录</a>
  20. </sapn>
  21. </div>
  22. <div class="dhRight">
  23. <a href="" title="刷新"><i class="fa fa-refresh"></i></a>
  24. </div>
  25. </div>
  26. <div class="th-box">
  27. <div class="box_content">
  28. <table id="sqzx" style="width: 100%" border="0">
  29. <tbody>
  30. <tr>
  31. <th>电话号码:</th>
  32. <td><input id="tel" class="form-control" type="text" /></td>
  33. <th>电话类别:</th>
  34. <td>
  35. <select class="form-control" id="phoneType">
  36. <option value="">请选择</option>
  37. </select>
  38. </td>
  39. <td colspan="3">
  40. <a class="sc_btn Ss">搜索</a>
  41. </td>
  42. </tr>
  43. </tbody>
  44. </table>
  45. </div>
  46. </div>
  47. <div style="width: 100%;padding: 10px;">
  48. <table id="orderlist" data-row-style="rowStyle" data-query-params="queryParams" data-pagination="true">
  49. <thead>
  50. <tr>
  51. <th data-field="" data-align="center" data-formatter="Code">编号</th>
  52. <th data-field="CallNumber" data-align="center" data-formatter="formatterCallNum">电话号码</th>
  53. <th data-field="FilePath" data-formatter="setCode" data-align="center">录音</th>
  54. <th data-field="CallState" data-formatter="states" data-align="center">呼叫状态</th>
  55. <th data-field="UserCode" data-align="center">坐席工号</th>
  56. <th data-field="UserName1" data-align="center">坐席姓名</th>
  57. <th data-field="BeginTime" data-align="center">开始时间</th>
  58. <th data-field="TalkStartTime" data-align="center">通话开始时间</th>
  59. <th data-field="TalkEndTime" data-align="center">通话结束时间</th>
  60. <th data-field="EndTime" data-align="center">结束时间</th>
  61. <th data-field="CallNumber" data-align="center" data-formatter="operationFormatter">操作</th>
  62. </tr>
  63. </thead>
  64. <tbody class="list"></tbody>
  65. </table>
  66. </div>
  67. </div>
  68. <script src="../js/guid.js"></script>
  69. <script src="../js/sm2/sm2.js"></script>
  70. <script src="../js/sm2/decrypt.js"></script>
  71. <script>
  72. var callId = helper.request.queryString("callId");
  73. $(document).ready(function () {
  74. load();
  75. // 电话类别
  76. getPhoneType($("#phoneType"));
  77. });
  78. //搜索
  79. $(".Ss").click(function () {
  80. load();
  81. });
  82. //获取查询信息
  83. function load() {
  84. //先销毁表格
  85. $('#orderlist').bootstrapTable('destroy');
  86. //初始化表格,动态从服务器加载数据
  87. $("#orderlist").bootstrapTable({
  88. method: "get", //使用get请求到服务器获取数据
  89. url: huayi.config.callcenter_url + "Callrecords/GetCallBackList", //获取数据的Servlet地址
  90. contentType: "application/x-www-form-urlencoded",
  91. striped: true, //表格显示条纹
  92. pagination: true, //启动分页
  93. pageSize: 10, //每页显示的记录数
  94. pageNumber: 1, //当前第几页
  95. pageList: [10, 20, 50, 100], //记录数可选列表
  96. search: false, //是否启用查询
  97. showColumns: false, //显示下拉框勾选要显示的列
  98. showRefresh: false, //显示刷新按钮
  99. sidePagination: "server", //表示服务端请求
  100. //设置为undefined可以获取pageNumber,pageSize,searchText,sortName,sortOrder
  101. //设置为limit可以获取limit, offset, search, sort, order
  102. queryParamsType: "undefined",
  103. queryParams: function queryParams(params) { //设置查询参数
  104. var param = {
  105. page: params.pageNumber,
  106. pagesize: params.pageSize,
  107. phone:$("#tel").val(),
  108. phoneType:$("#phoneType").val(),
  109. token: $.cookie("token")
  110. };
  111. return param;
  112. },
  113. responseHandler: function (res) {
  114. return {
  115. "total": res.total,
  116. "rows": res.rows,
  117. }
  118. },
  119. onLoadSuccess: function (data) { //加载成功时执行
  120. },
  121. onLoadError: function () { //加载失败时执行
  122. //layer.msg("加载数据失败", { time: 1500, icon: 2 });
  123. }
  124. });
  125. }
  126. //音频
  127. function setCode(val) {
  128. if (val) {
  129. return '<div class="imgs">' +
  130. '<img src="../img/vice.png" alt="" onclick="helper.luyin.view(this)" item="' + val + '" />' +
  131. '</div>';
  132. } else {
  133. return '';
  134. }
  135. }
  136. //编号
  137. function Code(val, row, index) {
  138. return index + 1;
  139. }
  140. // 电话号码
  141. function formatterCallNum(val, row) {
  142. var phoneNumber
  143. var callNumber = decryptFn(row.CallNumberShow)
  144. if (callNumber.length === 12) {
  145. callNumber = callNumber.slice(1)
  146. } else if (callNumber.length === 13) {
  147. callNumber = callNumber.slice(2)
  148. } else {
  149. callNumber = callNumber
  150. }
  151. if (callNumber) {
  152. return '<a class="operation" onclick="backDial(\'' + callNumber + '\',\'' + row.CallId +'\')" title="">'+
  153. '<img src="../img/phones.png" style="display:inline-block"></img>'+val+'</a>'
  154. }
  155. }
  156. function states(val, row) {
  157. if (val == 0) {
  158. if (row.CallType == 0 && !row.UserCode) {
  159. return '<div class="imgs">主动放弃</div>';
  160. } else {
  161. return '<div class="imgs">未接通</div>';
  162. }
  163. } else if (val == 1) {
  164. return '<div class="imgs">已接通</div>';
  165. } else if (val == 2) {
  166. return '<div class="imgs">接通未达</div>';
  167. }
  168. }
  169. // 操作
  170. function operationFormatter(val) {
  171. // CallType ===0呼入 row.CallState ===0 未接通
  172. if (val) {
  173. return '<a class="operation" onclick="updateCallback(\'' + val + '\')" title="">无需回拨</a>'
  174. }
  175. }
  176. function updateCallback(phone){
  177. $.ajax({
  178. type: "get",
  179. url: huayi.config.callcenter_url + "Callrecords/UpdateCallbackid",
  180. async: true,
  181. dataType: "json",
  182. data: {
  183. token: $.cookie("token"),
  184. phone:phone,
  185. type:1
  186. },
  187. success: function (result) {
  188. if (result.state.toLowerCase() == "success") {
  189. load();
  190. }
  191. },
  192. });
  193. }
  194. // 外呼
  195. function backDial(phoneNumber, callId) {
  196. $.ajax({
  197. type: "get",
  198. url: huayi.config.callcenter_url + "CallOutOpt/GetCallOutprefix",
  199. async: true,
  200. dataType: "json",
  201. data: {
  202. token: $.cookie("token"),
  203. phone: phoneNumber,
  204. },
  205. success: function (result) {
  206. if (result.state.toLowerCase() == "success") {
  207. top.callbackState = true
  208. var guid = uuid();
  209. top.obj.Type = "MakeCall";
  210. top.obj.DestinationNumber = result.data.phone;
  211. top.obj.Header = result.data.fix;
  212. top.obj.TaskType = "2"; //0:拨号外呼;1:未接来电外呼;2:回访外呼
  213. top.obj.TaskPhoneID = callId; //回访的电话ID
  214. top.obj.TaskID = guid; //回访记录编号
  215. top.obj.Callee = phoneNumber; //被叫号码
  216. top.obj.Caller = $.cookie("extno"); //操作人分机号
  217. top.Send();
  218. }
  219. },
  220. });
  221. }
  222. //电话类别
  223. function getPhoneType(obj) {
  224. obj.empty();
  225. $("<option value=''>请选择</option>").appendTo(obj);
  226. $.ajax({
  227. type: "get",
  228. url: huayi.config.callcenter_url + "Dictionary/GetDicValueListById",
  229. dataType: "json",
  230. async: true,
  231. data: {
  232. "token": $.cookie("token"),
  233. id: 2498,
  234. },
  235. success: function (data) {
  236. if (data.state.toLowerCase() == "success") {
  237. var content = data.data;
  238. $(content).each(function (i, n) {
  239. $("<option value='" + n.F_Value + "'>" + n.F_Remark + "</option>")
  240. .appendTo(obj);
  241. })
  242. }
  243. }
  244. });
  245. }
  246. </script>
  247. </body>
  248. </html>