封丘民意调查

CallRecord.html 11KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359
  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. <link href="../css/init.css" rel="stylesheet" />
  8. <link href="../css/Table/table1.css" rel="stylesheet" />
  9. <link rel="stylesheet" href="../js/select2/css/select2.min.css" />
  10. <script src="../Script/Common/huayi.load.js"></script>
  11. <script src="../Script/Common/huayi.config.js"></script>
  12. <script src="../js/select2/js/select2.min.js"></script>
  13. <script src="../js/laydate/laydate.js"></script>
  14. <link rel="stylesheet" type="text/css" href="./css/callRecord.css"/>
  15. </head>
  16. <body class="gray-bg">
  17. <div class="wrapper wrapper-content animated fadeInRight">
  18. <div class="daoHang clearfix">
  19. <div class="dhLeft">
  20. <sapn><i class="syIcon"></i>位置:
  21. <a href="javaScript:;" id="ReIndex">首页</a>&gt;
  22. <a href="javaScript:;">话务管理</a>&gt;
  23. <a href="" style="color: #000;">通话记录</a>
  24. </sapn>
  25. </div>
  26. </div>
  27. <div class="th-box">
  28. <div class="th-bar clearfix">
  29. <!--<a class="sc_btn btn-info" id="moves">批量删除</a>-->
  30. <div class="seach-box fr">
  31. <ul>
  32. <li style="position: relative;">
  33. <label for="ss_kssj">开始时间:</label>
  34. <i class="tub fa fa-calendar"></i>
  35. <input type="text" id="ss_kssj" class="laydate-icon" placeholder="请选择时间" />
  36. </li>
  37. <li>
  38. <label for="">呼叫状态:</label>
  39. <select id="ss_hjzt" class="selects callstate">
  40. <option value="">全部</option>
  41. <option value="0">未接通</option>
  42. <option value="1">已接通</option>
  43. </select>
  44. </li>
  45. <li>
  46. <label for="">呼叫方向:</label>
  47. <select id="ss_hcfx" class=" selects calltype">
  48. <option value="">全部</option>
  49. <option value="0">呼入</option>
  50. <option value="1">呼出</option>
  51. </select>
  52. </li>
  53. <li class='BMs'>
  54. <label for="">部门:</label>
  55. <select name="" id="bumen" class="x-color select usercode">
  56. <option value="">请选择</option>
  57. </select>
  58. </li>
  59. <li class="ZXs">
  60. <label for="">坐席工号:</label>
  61. <select style="width: 130px;" class="x-color select usercode" id="seat">
  62. <option value="">全部</option>
  63. </select>
  64. </li>
  65. <li>
  66. <label for="">电话号码:</label>
  67. <input id="tel" class="photo x-color" type="text" /></li>
  68. </ul>
  69. <div class="clearfix btn_boxs fr">
  70. <a class="sc_btn Ss Block">搜索</a>
  71. <a class="sc_btn export Block">导出</a>
  72. </div>
  73. </div>
  74. </div>
  75. </div>
  76. <div style="width: 100%;padding: 10px;">
  77. <table id="list" data-row-style="rowStyle" data-query-params="queryParams" data-pagination="true">
  78. <thead>
  79. <tr>
  80. <th data-field="CallNumber" data-align="center" data-formatter="Code">编号</th>
  81. <th data-field="CallNumber" data-align="center">电话号码</th>
  82. <th data-field="FilePath" data-formatter="setCode" data-align="center">录音</th>
  83. <th data-field="CallType" data-formatter="callType" data-align="center">呼叫方向</th>
  84. <!--<th data-field="DealType" data-formatter="dealType" data-align="center">是否回访</th>-->
  85. <th data-field="CallState" data-formatter="states" data-align="center">呼叫状态</th>
  86. <!--<th data-field="IsDeal" data-formatter="isDeal" data-align="center">是否处理</th>-->
  87. <th data-field="UserCode" data-align="center">坐席工号</th>
  88. <th data-field="UserName" data-align="center">坐席姓名</th>
  89. <th data-field="BeginTime" data-align="center">开始时间</th>
  90. <th data-field="TalkStartTime" data-align="center">通话开始时间</th>
  91. <th data-field="TalkEndTime" data-align="center">通话结束时间</th>
  92. <th data-field="EndTime" data-align="center">结束时间</th>
  93. <th data-field="TalkLongTime" data-align="center">通话时长(S)</th>
  94. <!--<th data-field="BusinessType" data-align="center">按键</th>-->
  95. </tr>
  96. </thead>
  97. </table>
  98. <!--高级搜索框-->
  99. </div>
  100. </div>
  101. <!--下载框-->
  102. <div class="t-shade">
  103. <div class="shade_k">
  104. <div class="shade_title">
  105. <span>录音播放与下载<srong class="cknum"></srong></span>
  106. <span class="setwin"><a>x</a></span>
  107. </div>
  108. <div class="shade_content">
  109. <div class="Ly_box audiojs "></div>
  110. <div class="boxCon LY_box"></div>
  111. </div>
  112. </div>
  113. </div>
  114. <script>
  115. var stype = 1;
  116. var seatlist = [];
  117. var RoleId;
  118. $(document).ready(function() {
  119. laydate.render({
  120. elem: '#ss_kssj',
  121. range: '~',
  122. //type: 'datetime',
  123. //max : 31,
  124. //min: 0,
  125. calendar: true,
  126. theme: '#1ab394',
  127. });
  128. $.getJSON(huayi.config.callcenter_url + 'UserAccount/GetNowUser', {
  129. "token": $.cookie("token")
  130. }, function(result) {
  131. if(result.state.toLowerCase() == "success") {
  132. RoleId = result.data.role.F_RoleId
  133. if(RoleId != "17") { //非系统管理员显示
  134. $('.BMs').hide();
  135. $('.SZBN').hide();
  136. }
  137. }
  138. })
  139. /*获取选中行对象*/
  140. $('#list').on("click-row.bs.table", function(e, row, ele) {
  141. $('.success').removeClass('success'); //去除之前选中的行的,选中样式
  142. $(ele).addClass('success'); //添加当前选中的 success样式用于区别
  143. });
  144. $(".setwin").click(function() {
  145. $(".t-shade").removeClass("cx");
  146. $('audio')[0].pause();
  147. });
  148. //坐席
  149. $.getJSON(huayi.config.callcenter_url + "UserAccount/GetSeatList", {
  150. token: $.cookie("token")
  151. }, function(result) {
  152. if(result.state.toLowerCase() == "success") {
  153. seatlist = result.data;
  154. bindseat($("#seat"));
  155. }
  156. });
  157. getDepart($("#bumen"))
  158. //部门下拉数据
  159. function getDepart(obj) {
  160. obj.empty();
  161. let str = '<option value="">请选择</option>'
  162. $.getJSON(huayi.config.callcenter_url + 'CallOutPlan/GetDepartList', {
  163. "token": $.cookie("token")
  164. }, function(result) {
  165. if(result.state.toLowerCase() == "success") {
  166. result.data.forEach(function(v, n) {
  167. str += '<option value="' + v.F_DeptId + '">' + v.F_DeptName + '</option>'
  168. })
  169. obj.html(str)
  170. }
  171. })
  172. }
  173. // $("#bumen").select2({
  174. // width: 'resolve',
  175. // minimumResultsForSearch: -1,
  176. // ajax: {
  177. // type: "get",
  178. // url: huayi.config.callcenter_url + "Department/GetDeptList",
  179. // async: true,
  180. // dataType: "json",
  181. // data: function(params) {
  182. // return {
  183. // token: $.cookie("token"),
  184. // pid: params.id
  185. // }
  186. // },
  187. // processResults: function(data) {
  188. // return {
  189. // results: data.data
  190. // }
  191. // },
  192. // cache: true
  193. // },
  194. // placeholder: "请选择",
  195. // });
  196. //搜索
  197. $(".Ss").click(function() {
  198. stype = 1;
  199. initTable();
  200. });
  201. //回车搜索
  202. $('#tel').on('keypress',function(e){
  203. if(e.keyCode==13){
  204. initTable();
  205. }
  206. })
  207. initTable();
  208. })
  209. function bindseat(obj) {
  210. obj.empty();
  211. obj.append('<option value="">全部</option>');
  212. $(seatlist).each(function(i, n) {
  213. obj.append('<option value="' + n.F_UserCode + '">' + n.F_UserName + '</option>');
  214. })
  215. }
  216. function initTable() {
  217. //先销毁表格
  218. $('#list').bootstrapTable('destroy');
  219. //初始化表格,动态从服务器加载数据
  220. $("#list").bootstrapTable({
  221. method: "get", //使用get请求到服务器获取数据
  222. url: huayi.config.callcenter_url + "Callrecords/GetList", //获取数据的Servlet地址
  223. contentType: 'application/x-www-form-urlencoded',
  224. striped: true, //表格显示条纹
  225. pagination: true, //启动分页
  226. pageSize: 10, //每页显示的记录数
  227. pageNumber: 1, //当前第几页
  228. pageList: [10, 20, 50, 100], //记录数可选列表
  229. search: false, //是否启用查询
  230. showColumns: false, //显示下拉框勾选要显示的列
  231. showRefresh: false, //显示刷新按钮
  232. sidePagination: "server", //表示服务端请求
  233. //设置为undefined可以获取pageNumber,pageSize,searchText,sortName,sortOrder
  234. //设置为limit可以获取limit, offset, search, sort, order
  235. queryParamsType: "undefined",
  236. queryParams: function queryParams(params) { //设置查询参数
  237. var param = {
  238. page: params.pageNumber,
  239. pagesize: params.pageSize,
  240. usercode: $("#seat").val(),
  241. phone: $("#tel").val().trim(),
  242. dept: $("#bumen").val(),
  243. callstate: $("#ss_hjzt").val(),
  244. calltype: $("#ss_hcfx").val(),
  245. starttime: $('#ss_kssj').val() && $('#ss_kssj').val().split(' ~ ')[0],
  246. endtime: $('#ss_kssj').val() && $('#ss_kssj').val().split(' ~ ')[1],
  247. token: $.cookie("token")
  248. };
  249. return param;
  250. },
  251. onLoadSuccess: function() { //加载成功时执行
  252. //layer.msg("加载成功");
  253. },
  254. onLoadError: function() { //加载失败时执行
  255. //layer.msg("加载数据失败", { time: 1500, icon: 2 });
  256. }
  257. });
  258. }
  259. //音频
  260. function setCode(val, row) {
  261. if(val) {
  262. return '<div class="imgs">' +
  263. '<img src="../img/vice.png" alt="" onclick= ck(this,"' + row.CallId + '") item="' + val + '" />' +
  264. '</div>';
  265. } else {
  266. return '';
  267. }
  268. }
  269. //编号
  270. function Code(val, row, index) {
  271. return index + 1;
  272. }
  273. //方向呼出
  274. function callType(val) {
  275. if(val == 0) {
  276. return '<div class="imgs">呼入</div>';
  277. } else {
  278. return '<div class="imgs">呼出</div>';
  279. }
  280. }
  281. function states(val) {
  282. if(val == 0) {
  283. return '<div class="imgs">未接通</div>';
  284. } else {
  285. return '<div class="imgs">已接通</div>';
  286. }
  287. }
  288. //回访
  289. function dealType(val) {
  290. if(val == 1) {
  291. return '<div >已回访</div>';
  292. } else {
  293. return '';
  294. }
  295. }
  296. //处理
  297. function isDeal(val) {
  298. if(val == 0) {
  299. return '<div >未处理</div>';
  300. } else {
  301. return '<div >已处理</div>';
  302. }
  303. }
  304. //录音
  305. function ck(val, callId) {
  306. var path = $(val).attr("item");
  307. $(".t-shade").addClass("cx");
  308. $(".Ly_box").empty();
  309. $(".LY_box").empty();
  310. $('<audio style="width:100%;"class=" " type="audio/v3" src="' + path + '" loop="loop" controls="controls"></audio>').appendTo(".Ly_box");
  311. // $('<a href="' + path + '" class="sc_btn LY "download="' + path + '">下载录音</a>').appendTo(".LY_box");//20180511 by fanlongfei 隐藏文字下载按钮
  312. // 回放录屏
  313. }
  314. //导出
  315. $('.export').click(function() {
  316. dcexcel(this);
  317. })
  318. function dcexcel(obj) {
  319. var url = huayi.config.callcenter_url + "Callrecords/GetListExpt?token=" + $.cookie("token");
  320. url += "&usercode=" + $("#seat").val() +
  321. "&phone=" + $("#tel").val() +
  322. "&callstate=" + $("#ss_hjzt").val() +
  323. "&calltype=" + $("#ss_hcfx").val() +
  324. "&starttime=" + ($('#ss_kssj').val() && $('#ss_kssj').val().split(' ~ ')[0]) +
  325. "&endtime=" + ($('#ss_kssj').val() && $('#ss_kssj').val().split(' ~ ')[1]) +
  326. "&dept=" + $("#bumen").val();
  327. obj.href = url;
  328. }
  329. $('#ReIndex').click(function() {
  330. top.$("iframe:visible")[0].src = "widgets.html";
  331. // top.home_index();
  332. })
  333. </script>
  334. </body>
  335. </html>