Açıklama Yok

outBoundAllo.js 7.9KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263
  1. /**
  2. * 外呼分配
  3. * */
  4. var isallot = '';//是否分配
  5. $(function() {
  6. //$('.tool_bars').authorizeButton();
  7. laydate.render({
  8. elem: '#sc_times',
  9. range: '~',
  10. theme: '#249fea',
  11. });
  12. initOutcryTable();
  13. //搜索
  14. $("#sc_btns").click(function() {
  15. initOutcryTable();
  16. });
  17. });
  18. //绑定切换
  19. $(document).on('click', '#tab_head_left li', tabs);
  20. //切换操作
  21. function tabs() {
  22. var tab_index = $(this).index();
  23. $(this).addClass('tab_head_active').siblings().removeClass('tab_head_active');
  24. $('#tab_contents .tabs_details').eq(tab_index).addClass('showtabs').siblings().removeClass('showtabs');
  25. isallot = $(this).attr('data-isallot');
  26. initOutcryTable();
  27. }
  28. /**
  29. * 外呼计划列表
  30. * isallot 是否分配 0待分配,1已分配
  31. * */
  32. function initOutcryTable() {
  33. //先销毁表格
  34. $('#outcryTable').bootstrapTable('destroy');
  35. //初始化表格,动态从服务器加载数据
  36. $('#outcryTable').bootstrapTable({
  37. method: "get", //使用get请求到服务器获取数据
  38. url: huayi.config.callcenter_url + "callcenterapi/api/autocallouttask/getlistbypage", //获取数据的Servlet地址
  39. contentType: "application/x-www-form-urlencoded",
  40. striped: true, //表格显示条纹
  41. pagination: true, //启动分页
  42. pageSize: 10, //每页显示的记录数
  43. pageNumber: 1, //当前第几页
  44. pageList: [10, 20, 50, 100], //记录数可选列表
  45. detailView: true,
  46. detailFormatter: detailUserFormatter,
  47. icons: {
  48. detailOpen: 'glyphicon glyphicon-chevron-down',
  49. detailClose: 'glyphicon glyphicon-chevron-up'
  50. },
  51. onClickRow: function(row, ele) {
  52. $('.success').removeClass('success'); //去除之前选中的行的,选中样式
  53. $(ele).addClass('success'); //添加当前选中的 success样式用于区别
  54. },
  55. onCheck: function(row, el) {
  56. if($(el).parent().parent().siblings().find('i.glyphicon').hasClass('glyphicon-chevron-up')) {
  57. $(el).parent().parent().siblings().find('i.glyphicon-chevron-up').parent().parent().siblings().find('input[name="btSelectItem"]').trigger('click');
  58. }
  59. var index = $(el).attr('data-index');
  60. $('#outcryTable').bootstrapTable('expandRow', index); //展开
  61. //参与坐席信息赋值
  62. setPersonInfos(row.id);
  63. },
  64. onUncheck: function(row, el) {
  65. var index = $(el).attr('data-index');
  66. $('#outcryTable').bootstrapTable('collapseRow', index); //收起
  67. },
  68. search: false, //是否启用查询
  69. showColumns: false, //显示下拉框勾选要显示的列
  70. showRefresh: false, //显示刷新按钮
  71. sidePagination: "server", //表示服务端请求
  72. //设置为undefined可以获取pageNumber,pageSize,searchText,sortName,sortOrder
  73. //设置为limit可以获取limit, offset, search, sort, order
  74. queryParamsType: "undefined",
  75. queryParams: function queryParams(params) { //设置查询参数
  76. var param = {
  77. pageindex: params.pageNumber, //否 int 页码
  78. pagesize: params.pageSize, //否 int 条数
  79. key: $('#sc_keyWords').val(), // 否 string 任务名称,可模糊查询
  80. taskstate: $('#sc_taskState').val(), // 否 int 任务状态 (不传值时查询所有状态)
  81. stime: $('#sc_times').val() && $('#sc_times').val().split(' ~ ')[0], // 否 string 开始时间
  82. etime: $('#sc_times').val() && $('#sc_times').val().split(' ~ ')[1], // 否 string 结束时间
  83. isallot: isallot//, 否 int 分配状态 (不传值时查询所有状态)
  84. };
  85. return param;
  86. },
  87. // responseHandler: function(res) {
  88. // return {
  89. // "total": res.data && res.data.total, //总页数
  90. // "rows": res.data && res.data.rows //数据
  91. // };
  92. // },
  93. onLoadSuccess: function(res) { //加载成功时执行
  94. //layer.msg("加载成功");
  95. if(res.total != 0) {
  96. $('#outcryTable').find('.detail').hide();
  97. $('#outcryTable').find('tr').find('td:first').hide();
  98. }
  99. if(res.totalcount >= 100) {
  100. res.totalcount = '99+';
  101. }
  102. if(res.wfpcount >= 100) {
  103. res.wfpcount = '99+';
  104. }
  105. if(res.fpcount >= 100) {
  106. res.fpcount = '99+';
  107. }
  108. $('.audit_all').text(res.totalcount); //全部
  109. $('.audit_wait').text(res.wfpcount); //待分配
  110. $('.audit_done').text(res.fpcount); //已分配
  111. $('.tool_downs').authorizeOperateButton();
  112. },
  113. onLoadError: function() { //加载失败时执行
  114. //layer.msg("加载数据失败", { time: 1500, icon: 2 });
  115. }
  116. });
  117. }
  118. //格式化编号
  119. function setCode(val, row, index) {
  120. return index + 1;
  121. }
  122. //格式化 计划状态
  123. function formatterState(val, row) {
  124. //0未启动,1已启动,2暂停,3处理完成,4撤销,5完成
  125. var stateClass = 'timeout_default';
  126. var stateTxt = '-';
  127. switch(val) {
  128. case 0:
  129. stateClass = 'timeout_wait';
  130. stateTxt = '未启动';
  131. break;
  132. case 1:
  133. stateClass = 'timeout_success';
  134. stateTxt = '已启动';
  135. break;
  136. case 2:
  137. stateClass = 'timeout_refuse';
  138. stateTxt = '暂停';
  139. break;
  140. case 3:
  141. stateClass = 'timeout_doned';
  142. stateTxt = '处理完成';
  143. break;
  144. case 4:
  145. stateClass = 'timeout_revoke';
  146. stateTxt = '撤销';
  147. break;
  148. case 5:
  149. stateClass = 'timeout_end';
  150. stateTxt = '完成';
  151. break;
  152. default:
  153. break;
  154. }
  155. return '<span class="' + stateClass + '">' + stateTxt + '</span>';
  156. }
  157. //格式化 上架状态
  158. function formatterIsonline(val, row) {
  159. //任务是否上线,1为上线
  160. var stateClass = 'timeout_default';
  161. var stateTxt = '-';
  162. switch(val) {
  163. case 0:
  164. stateClass = 'timeout_revoke';
  165. stateTxt = '已下架';
  166. break;
  167. case 1:
  168. stateClass = 'timeout_success';
  169. stateTxt = '已上架';
  170. break;
  171. default:
  172. break;
  173. }
  174. return '<span class="' + stateClass + '">' + stateTxt + '</span>';
  175. }
  176. //格式化 外呼计划操作
  177. function formatterOperateL(val, row) {
  178. //任务是否上线,1为上线
  179. var tplHtml = '';
  180. tplHtml += '<ul class="tool_downs">';
  181. // if(row.isonline === 0) {
  182. // tplHtml += '<li><a class="aBtn" authorize="yes" id="HY_start_' + row.id + '" onclick="btn_start(\'' + row.id + '\',event)">上架</a><li>';
  183. // } else {
  184. // tplHtml += '<li><a class="aBtn" authorize="yes" id="HY_end_' + row.id + '" onclick="btn_end(\'' + row.id + '\',event)">下架</a><li>';
  185. // }
  186. tplHtml += '<li><a class="aBtn" authorize="yes" id="HY_allot_' + row.id + '" onclick="btn_allot(\'' + row.id + '\',event)">分配</a><li>' +
  187. '</ul>';
  188. return tplHtml;
  189. }
  190. //分配
  191. function btn_allot(edit_id, event) {
  192. event.stopPropagation();
  193. layer.open({
  194. maxmin: true, //开启最大化最小化按钮
  195. type: 2,
  196. content: "template/allocationTask.html?edit_id=" + edit_id, //iframe的url,no代表不显示滚动条
  197. title: '外呼计划分配',
  198. area: ['80%', '90%'], //宽高
  199. });
  200. }
  201. //格式化人员信息详情
  202. function detailUserFormatter(index, row) {
  203. var detailTpl = '<div class="table_allocationTask1" id="seat_lists_'+ row.id +'">'+
  204. '</div>';
  205. return detailTpl;
  206. }
  207. /**
  208. * 参与坐席信息赋值
  209. * tid 计划的id
  210. * */
  211. function setPersonInfos(tid) {
  212. if(tid) {
  213. $.ajax({
  214. type: "get",
  215. url: huayi.config.callcenter_url + "callcenterapi/api/autocallouttask/getfplist",
  216. async: true,
  217. dataType: 'json',
  218. data: {
  219. // joinflag: 1, //传值1获取在参与的
  220. taskid: tid,// 是 string 任务id
  221. },
  222. success: function (data) {
  223. if(data.state.toLowerCase() === "success"){
  224. data = data.data;
  225. if(data && data.length > 0){
  226. $('#seat_lists_'+ tid).html('');
  227. $.each(data, function(i, v) {
  228. $('#seat_lists_'+ tid).append('<div class="col-md-3 clearfix"><div class="seat_item">'+
  229. '<ul class="seat_content clearfix">'+
  230. '<li><span>参与坐席:</span><span>'+ v.usercode +'</span></li>'+
  231. '<li><span>分配者:</span><span>'+ v.createusercode +'</span></li>'+
  232. '<li style="width:100%"><span>分配时间:</span><span>'+ v.createtime +'</span></li>'+
  233. '</ul>'+
  234. '</div></div>');
  235. });
  236. }else{
  237. $('#seat_lists_'+ tid).html('<p class="text-center col-md-12">还没有分配坐席。。。</p>');
  238. }
  239. }
  240. }
  241. });
  242. }
  243. }