No Description

CallRecord.html 9.8KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>通话记录管理</title>
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <script src="../Script/Common/huayi.load.js"></script>
  8. <link href="../css/init.css" rel="stylesheet" />
  9. <link href="../css/Table/table1.css" rel="stylesheet" />
  10. <link href="../js/bootstrap-select/css/bootstrap-select.css" rel="stylesheet" />
  11. <style>
  12. .shade_k {
  13. z-index: 10005;
  14. width: 50%;
  15. margin: 10% auto;
  16. background-color: #fff;
  17. box-shadow: 1px 1px 50px rgba(0, 0, 0, .3);
  18. border-radius: 5px;
  19. }
  20. .shade_title {
  21. padding: 0 80px 0 20px;
  22. height: 42px;
  23. line-height: 42px;
  24. border-bottom: 1px solid #eee;
  25. font-size: 16px;
  26. color: #FFFFFF;
  27. overflow: hidden;
  28. background-color: #249fea;
  29. border-radius: 2px 2px 0 0;
  30. position: relative;
  31. }
  32. .shade_content {
  33. padding: 10px;
  34. }
  35. .tool_bars a {
  36. padding-top: 8px;
  37. padding-bottom: 8px;
  38. }
  39. </style>
  40. </head>
  41. <body class="gray-bg">
  42. <div class="daoHang clearfix">
  43. <div class="dhLeft">
  44. <sapn>
  45. <i class="syIcon"></i>位置:
  46. <a href="javaScript:;" id="ReIndex">首页</a>&gt;
  47. <a href="javaScript:;">话务管理</a>&gt;
  48. <a href="javascript:location.reload()" class="now_position">通话记录</a>
  49. </sapn>
  50. </div>
  51. </div>
  52. <div class="wrapper wrapper-content animated fadeInRight">
  53. <div class="th-box">
  54. <div class="form-inline clearfix th-bar">
  55. <div class="form-group time-box">
  56. <i class="tub fa fa-search"></i>
  57. <input type="text" class="form-control" id="tel" placeholder="请输入电话号码">
  58. </div>
  59. <div class="form-group">
  60. <select class="form-control selectpicker" id="seat" data-live-search="true"></select>
  61. </div>
  62. <div class="form-group">
  63. <select class="form-control" id="ss_hjzt">
  64. <option value="">请选择呼叫状态</option>
  65. <option value="0">未接通</option>
  66. <option value="1">已接通</option>
  67. </select>
  68. </div>
  69. <div class="form-group">
  70. <select class="form-control" id="ss_hcfx">
  71. <option value="">请选择呼出方向</option>
  72. <option value="0">呼入</option>
  73. <option value="1">呼出</option>
  74. </select>
  75. </div>
  76. <div class="form-group time-box">
  77. <i class="tub fa fa-calendar"></i>
  78. <input class="form-control search_time" type="text" id="ss_kssj" placeholder="请选择开始时间">
  79. </div>
  80. <div class="form-group time-box">
  81. <i class="tub fa fa-calendar"></i>
  82. <input class="form-control search_time" type="text" id="ss_jssj" placeholder="请选择结束时间">
  83. </div>
  84. <div class="form-group pull-right tool_bars">
  85. <input type="button" class="btn_gray" id="sc_btns" value="搜索" />
  86. <a class="btn_gray" authorize="yes" id="HY_export" onclick="btn_export()">导出</a>
  87. </div>
  88. </div>
  89. </div>
  90. <div style="width: 100%;padding: 10px;">
  91. <table id="list" data-row-style="rowStyle" data-query-params="queryParams" data-pagination="true">
  92. <thead>
  93. <tr>
  94. <th data-field="CallNumber" data-align="center" data-formatter="Code">编号</th>
  95. <th data-field="CallNumber" data-align="center">电话号码</th>
  96. <th data-field="FilePath" data-formatter="setCode" data-align="center">录音</th>
  97. <th data-field="CallType" data-formatter="callType" data-align="center">呼叫方向</th>
  98. <!--<th data-field="DealType" data-formatter="dealType" data-align="center">是否回访</th>-->
  99. <th data-field="CallState" data-formatter="states" data-align="center">呼叫状态</th>
  100. <!--<th data-field="IsDeal" data-formatter="isDeal" data-align="center">是否处理</th>-->
  101. <th data-field="UserCode" data-align="center">坐席工号</th>
  102. <th data-field="UserName" data-align="center">坐席姓名</th>
  103. <th data-field="TalkStartTime" data-align="center">通话开始时间</th>
  104. <th data-field="TalkEndTime" data-align="center">通话结束时间</th>
  105. <th data-field="TalkLongTime" data-align="center">通话时长(S)</th>
  106. <!--<th data-field="BusinessType" data-align="center">按键</th>-->
  107. </tr>
  108. </thead>
  109. </table>
  110. </div>
  111. </div>
  112. <!--下载框-->
  113. <div class="t-shade">
  114. <div class="shade_k">
  115. <div class="shade_title">
  116. <span>录音播放与下载<srong class="cknum"></srong></span>
  117. <span class="setwin"><a>x</a></span>
  118. </div>
  119. <div class="shade_content">
  120. <div class="Ly_box audiojs">
  121. </div>
  122. </div>
  123. </div>
  124. </div>
  125. <script src="../Script/Common/huayi.config.js"></script>
  126. <script src="../Script/Common/regexs.js"></script>
  127. <script src="../js/audiojs/audio.min.js"></script>
  128. <script src="../js/laydate/laydate.js"></script>
  129. <script src="../js/bootstrap-select/js/bootstrap-select.js"></script>
  130. <script src="../js/bootstrap-select/js/i18n/defaults-zh_CN.js"></script>
  131. <script>
  132. var seatlist = [];
  133. $(document).ready(function() {
  134. $('.tool_bars').authorizeButton();
  135. /*获取选中行对象*/
  136. $('#list').on("click-row.bs.table", function(e, row, ele) {
  137. $('.success').removeClass('success'); //去除之前选中的行的,选中样式
  138. $(ele).addClass('success'); //添加当前选中的 success样式用于区别
  139. });
  140. $(".setwin").click(function() {
  141. $(".t-shade").removeClass("cx");
  142. $('audio')[0].pause();
  143. });
  144. getSeatList();
  145. //搜索
  146. $("#sc_btns").click(function() {
  147. // if(!regexs.phone.test($.trim($("#tel").val()))) {
  148. // layer.confirm('请输入有效的电话号码', {
  149. // icon: 2,
  150. // btn: ['确定'] //按钮
  151. // });
  152. // return;
  153. // }
  154. initTable();
  155. });
  156. laydate.render({
  157. elem: '#ss_kssj',
  158. theme: '#249fea',
  159. });
  160. laydate.render({
  161. elem: '#ss_jssj',
  162. theme: '#249fea',
  163. });
  164. initTable();
  165. })
  166. function initTable() {
  167. //先销毁表格
  168. $('#list').bootstrapTable('destroy');
  169. //初始化表格,动态从服务器加载数据
  170. $("#list").bootstrapTable({
  171. method: "get", //使用get请求到服务器获取数据
  172. url: huayi.config.call_url + "Callrecords/GetList", //获取数据的Servlet地址
  173. async:true,
  174. striped: true, //表格显示条纹
  175. pagination: true, //启动分页
  176. pageSize: 10, //每页显示的记录数
  177. pageNumber: 1, //当前第几页
  178. pageList: [10, 20, 50, 100], //记录数可选列表
  179. search: false, //是否启用查询
  180. showColumns: false, //显示下拉框勾选要显示的列
  181. showRefresh: false, //显示刷新按钮
  182. sidePagination: "server", //表示服务端请求
  183. //设置为undefined可以获取pageNumber,pageSize,searchText,sortName,sortOrder
  184. //设置为limit可以获取limit, offset, search, sort, order
  185. queryParamsType: "undefined",
  186. queryParams: function queryParams(params) { //设置查询参数
  187. var param = {
  188. page: params.pageNumber,
  189. pagesize: params.pageSize,
  190. // token: window.localStorage.getItem('token')
  191. };
  192. param.usercode = $("#seat").val();
  193. param.phone = $("#tel").val();
  194. param.callstate = $("#ss_hjzt").val();
  195. param.calltype = $("#ss_hcfx").val();
  196. param.starttime = $("#ss_kssj").val();
  197. param.endtime = $("#ss_jssj").val();
  198. return param;
  199. },
  200. onLoadSuccess: function() { //加载成功时执行
  201. //layer.msg("加载成功");
  202. },
  203. onLoadError: function() { //加载失败时执行
  204. //layer.msg("加载数据失败", { time: 1500, icon: 2 });
  205. }
  206. });
  207. }
  208. //音频
  209. function setCode(val) {
  210. if(val) {
  211. return '<div class="imgs">' +
  212. '<img src="../img/vice.png" alt="" onclick= ck(this) item="' + val + '" />' +
  213. '</div>';
  214. } else {
  215. return '';
  216. }
  217. }
  218. //编号
  219. function Code(val, row, index) {
  220. return index + 1;
  221. }
  222. //方向呼出
  223. function callType(val) {
  224. if(val == 0) {
  225. return '<div class="imgs">呼入</div>';
  226. } else {
  227. return '<div class="imgs">呼出</div>';
  228. }
  229. }
  230. function states(val) {
  231. if(val == 0) {
  232. return '<div class="imgs">未接通</div>';
  233. } else {
  234. return '<div class="imgs">已接通</div>';
  235. }
  236. }
  237. //回访
  238. function dealType(val) {
  239. if(val == 1) {
  240. return '<div >已回访</div>';
  241. } else {
  242. return '';
  243. }
  244. }
  245. //处理
  246. function isDeal(val) {
  247. if(val == 0) {
  248. return '<div >未处理</div>';
  249. } else {
  250. return '<div >已处理</div>';
  251. }
  252. }
  253. //录音
  254. function ck(val) {
  255. var path = $(val).attr("item");
  256. $(".t-shade").addClass("cx");
  257. $(".Ly_box").empty();
  258. $('<audio style="width:100%;"class=" " src="' + path + '" loop="loop" controls="controls"></audio>').appendTo(".Ly_box");
  259. }
  260. //导出
  261. function btn_export() {
  262. dcexcel(this);
  263. }
  264. function dcexcel(obj) {
  265. var a = $("#department").val()
  266. if(a) {
  267. } else {
  268. a = '';
  269. }
  270. var url = huayi.config.call_url + "Callrecords/GetListExpt";
  271. url += "&usercode=" + $("#seat").val() +
  272. "&phone=" + $("#tel").val() +
  273. "&callstate=" + $("#ss_hjzt").val() +
  274. "&calltype=" + $("#ss_hcfx").val() +
  275. "&starttime=" + $("#ss_kssj").val() +
  276. "&endtime=" + $("#ss_jssj").val() +
  277. "&dept=" + a +
  278. "&username=" + $("#ss_zxxm").val();
  279. obj.href = url;
  280. }
  281. //获取坐席下拉列表
  282. function getSeatList() {
  283. $.getJSON(huayi.config.call_url + "UserAccount/GetSeatList", {
  284. }, function(result) {
  285. if(result.state.toLowerCase() == "success") {
  286. var seatlist = result.data;
  287. $("#seat").empty();
  288. $("#seat").append('<option value=" ">请选择坐席工号</option>');
  289. $(seatlist).each(function(i, n) {
  290. $("#seat").append('<option value="' + n.F_UserCode + '">' + n.F_UserCode + '('+ n.F_UserName +')' + '</option>');
  291. })
  292. $('#seat').selectpicker('refresh');
  293. }
  294. });
  295. }
  296. </script>
  297. </body>
  298. </html>