郑州第一人民医院UI

callTotalCount.js 4.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201
  1. var myChart;
  2. var tabIndex = 0;
  3. $(document).ready(function() {
  4. $('#sc_times').val(getNowYear())
  5. layui.use('laydate', function() {
  6. var laydate = layui.laydate;
  7. //日期
  8. laydate.render({
  9. elem: '#sc_times',
  10. type: "year",
  11. theme: '#249fea',
  12. });
  13. });
  14. //tab切换
  15. $('.hu-tab li').click(function() {
  16. $(this).addClass('active')
  17. .siblings().removeClass('active');
  18. tabIndex = $(this).index();
  19. $('.hu-content >div').eq(tabIndex).show()
  20. .siblings().hide();
  21. loadDatas();
  22. });
  23. //柱形图
  24. //基于准备好的dom,初始化echarts实例
  25. myChart = echarts.init(document.getElementById('huData'));
  26. // myChart.clear();
  27. // myChart.showLoading();
  28. option = {
  29. color: ['#88bceb'],
  30. tooltip: {
  31. trigger: 'axis',
  32. axisPointer: { // 坐标轴指示器,坐标轴触发有效
  33. type: 'line' // 默认为直线,可选为:'line' | 'shadow'
  34. }
  35. },
  36. toolbox: {
  37. show: true,
  38. },
  39. calculable: true,
  40. grid: {
  41. left: '5%',
  42. right: '5%',
  43. bottom: '5%',
  44. // containLabel: true
  45. },
  46. xAxis: [{
  47. type: 'category',
  48. name: '月份',
  49. splitLine: {
  50. show: false
  51. }, //去除网格线
  52. data: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'],
  53. axisTick: {
  54. alignWithLabel: true
  55. }
  56. }],
  57. yAxis: [{
  58. type: 'value',
  59. name: '通话量',
  60. nameLocation: 'end',
  61. splitLine: {
  62. show: false
  63. } //去除网格线
  64. }],
  65. series: [{
  66. name: '通话量',
  67. type: 'bar',
  68. barWidth: '30%', //图形宽度
  69. data: [],
  70. itemStyle: {
  71. normal: {
  72. label: {
  73. show: true,
  74. textStyle: {
  75. color: '#800080' //顶部数据颜色
  76. }
  77. }
  78. }
  79. },
  80. label: {
  81. normal: {
  82. show: true,
  83. position: 'top' //顶部数据显示位置
  84. }
  85. }
  86. }
  87. ]
  88. };
  89. // 使用刚指定的配置项和数据显示图表。
  90. myChart.setOption(option);
  91. //搜索事件
  92. $("#sc_btns").click(function() {
  93. loadDatas();
  94. });
  95. loadDatas();
  96. })
  97. function getDataList() {
  98. var loadindex = layer.load();
  99. layui.use('table', function() {
  100. var table = layui.table;
  101. //方法级渲染
  102. table.render({
  103. elem: '#t_callTotal',
  104. url: huayi.config.callcenter_url + "callcenterapi/api/totalcall/getdata",
  105. method: 'get', //如果无需自定义HTTP类型,可不加该参数
  106. skin: 'row', //line (行边框风格) row (列边框风格) nob (无边框风格)
  107. even: true, //开启隔行背景
  108. size: 'lg', //sm,lg尺寸的表格
  109. where: {
  110. years: $("#sc_times").val()
  111. }, //如果无需传递额外参数,可不加该参数
  112. //request: {}, //如果无需自定义请求参数,可不加该参数
  113. response: {
  114. statusName: 'state', //数据状态的字段名称,默认:code
  115. statusCode: 'success', //成功的状态码,默认:0
  116. msgName: 'message', //状态信息的字段名称,默认:msg
  117. //countName: 'total', //数据总数的字段名称,默认:count
  118. //dataName: 'rows', //数据列表的字段名称,默认:data
  119. }, //如果无需自定义数据响应名称,可不加该参数
  120. cols: [
  121. [{
  122. field: '月份',
  123. title: '月份',
  124. fixed: true,
  125. align: 'center',
  126. width: 200,
  127. }, {
  128. field: '日期',
  129. title: '日期',
  130. align: 'center',
  131. sort: true,
  132. //width: '30%',
  133. }, {
  134. field: '总数',
  135. title: '总数(次)',
  136. align: 'center',
  137. //width: '30%',
  138. }]
  139. ],
  140. height: 'full-230',
  141. done: function() {
  142. layer.close(loadindex);
  143. }
  144. });
  145. });
  146. }
  147. //获取图形数据
  148. function getChartData() {
  149. $.ajax({
  150. type: "get",
  151. url: huayi.config.callcenter_url + "callcenterapi/api/totalcall/getchartdata",
  152. async: true,
  153. dataType: 'json',
  154. data: {
  155. years: $("#sc_times").val(),
  156. },
  157. success: function(data) {
  158. // myChart.hideLoading();
  159. if(data.data) {
  160. myChart.setOption({
  161. series: [{
  162. data: data.data
  163. }]
  164. });
  165. }
  166. }
  167. });
  168. }
  169. function loadDatas() {
  170. if(tabIndex == 0) {
  171. getChartData(); //加载图形
  172. } else if(tabIndex == 1) {
  173. getDataList(); //加载表格
  174. }
  175. }
  176. function getNowYear() {
  177. //获取当前年份
  178. var myDate = new Date();
  179. return myDate.getFullYear(); //获取完整的年份(4位,1970-????)
  180. }
  181. //导出
  182. function dcexcel(obj) {
  183. var url = huayi.config.callcenter_url + "callcenterapi/api/totalcall/exportexcel?years="+ $("#sc_times").val();
  184. obj.href = url;
  185. }