admin_index.js 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386
  1. (function(){
  2. /* 基础 */
  3. // 基于准备好的dom,初始化echarts实例
  4. var echarts_basic = echarts.init(document.getElementById('echarts_basic'));
  5. // 指定图表的配置项和数据
  6. var echarts_basic_option = {
  7. tooltip: {
  8. trigger: 'axis'
  9. },
  10. grid: {
  11. left: '3%',
  12. right: '4%',
  13. bottom: '3%',
  14. containLabel: true
  15. },
  16. xAxis: {
  17. type: 'category',
  18. boundaryGap: false,
  19. data: data_basic.name
  20. },
  21. yAxis: {
  22. type: 'value'
  23. },
  24. series: [
  25. {
  26. type:'line',
  27. symbolSize: 8,
  28. itemStyle:{
  29. color:'#00b7ee',
  30. },
  31. data:data_basic.data
  32. }
  33. ]
  34. };
  35. // 使用刚指定的配置项和数据显示图表。
  36. echarts_basic.setOption(echarts_basic_option);
  37. /* 设备终端 */
  38. // 基于准备好的dom,初始化echarts实例
  39. var echarts_source = echarts.init(document.getElementById('echarts_source'));
  40. // 指定图表的配置项和数据
  41. var echarts_source_option = {
  42. title: {
  43. text: '已注册用户使用设备类型占比',
  44. left:'center',
  45. textStyle:{
  46. color:'#969696'
  47. }
  48. },
  49. tooltip : {
  50. trigger: 'auto',
  51. axisPointer : {
  52. type : 'shadow'
  53. }
  54. },
  55. xAxis : [
  56. {
  57. type : 'category',
  58. data : data_source.name,
  59. nameTextStyle:{
  60. color: '#323232',
  61. fontSize:30
  62. },
  63. axisTick: {
  64. alignWithLabel: true
  65. }
  66. }
  67. ],
  68. yAxis : [
  69. {
  70. max:'100',
  71. type : 'value',
  72. axisLabel: {
  73. show: true,
  74. interval: 'auto',
  75. color:'#323232',
  76. formatter: '{value}%'
  77. }
  78. }
  79. ],
  80. series : [
  81. {
  82. type:'bar',
  83. barWidth: '60%',
  84. data:data_source.nums_per,
  85. color: function (params){
  86. var colorList = data_source.color;
  87. return colorList[params.dataIndex];
  88. },
  89. label: {
  90. show: true, //开启显示
  91. position: 'top', //在上方显示
  92. formatter: '{c}%',
  93. textStyle: { //数值样式
  94. color: '#323232',
  95. fontSize: 16
  96. }
  97. }
  98. }
  99. ]
  100. };
  101. // 使用刚指定的配置项和数据显示图表。
  102. echarts_source.setOption(echarts_source_option);
  103. /* 注册渠道 */
  104. // 基于准备好的dom,初始化echarts实例
  105. var echarts_reg = echarts.init(document.getElementById('echarts_reg'));
  106. // 指定图表的配置项和数据
  107. var echarts_reg_option = {
  108. title: {
  109. text: '总注册量:'+users_total,
  110. left:'10%',
  111. bottom:'0',
  112. textStyle:{
  113. color:'#969696'
  114. }
  115. },
  116. tooltip : {
  117. trigger: 'item',
  118. formatter: "{c}"
  119. },
  120. legend: {
  121. orient : 'vertical',
  122. left : '70%',
  123. top:40,
  124. itemWidth:10,
  125. itemHeight:10,
  126. formatter: '{name}',
  127. textStyle:{
  128. color: '#000000',
  129. fontSize:16
  130. },
  131. data:data_type.name
  132. }
  133. ,
  134. calculable : true,
  135. series : [
  136. {
  137. type:'pie',
  138. radius : '70%',//饼图的半径大小
  139. center: ['35%', '40%'],//饼图的位置
  140. label:{ //饼图图形上的文本标签
  141. show:true,
  142. position:'inner', //标签的位置
  143. textStyle : {
  144. fontWeight : 300 ,
  145. fontSize : 16 //文字的字体大小
  146. },
  147. formatter:'{d}%'
  148. },
  149. data:data_type.v_n
  150. }
  151. ]
  152. };
  153. // 使用刚指定的配置项和数据显示图表。
  154. echarts_reg.setOption(echarts_reg_option);
  155. /* 财务 */
  156. // 基于准备好的dom,初始化echarts实例
  157. var echarts_charge = echarts.init(document.getElementById('echarts_charge'));
  158. // 指定图表的配置项和数据
  159. var echarts_charge_option = {
  160. tooltip : {
  161. trigger: 'auto',
  162. axisPointer : {
  163. type : 'shadow'
  164. }
  165. },
  166. xAxis : [
  167. {
  168. type : 'category',
  169. data : data_charge.name,
  170. nameTextStyle:{
  171. color: '#323232',
  172. fontSize:30
  173. },
  174. axisTick: {
  175. alignWithLabel: true
  176. }
  177. }
  178. ],
  179. yAxis : [
  180. {
  181. name:'(元)',
  182. type : 'value',
  183. axisLabel: {
  184. show: true,
  185. interval: 'auto',
  186. color:'#323232',
  187. formatter: '{value}'
  188. },
  189. axisLine:{
  190. show:false,
  191. }
  192. }
  193. ],
  194. series : [
  195. {
  196. type:'bar',
  197. barWidth: '60%',
  198. data:data_charge.money,
  199. color: function (params){
  200. var colorList = data_charge.color;
  201. return colorList[params.dataIndex];
  202. },
  203. label: {
  204. show: true, //开启显示
  205. position: 'top', //在上方显示
  206. formatter: function(a) {
  207. var result = [],
  208. counter = 0,
  209. num = a.data;
  210. num = num.toString().replace(/\$|\,/g,'');
  211. if(isNaN(num)){
  212. num = "0";
  213. }
  214. sign = (num == (num = Math.abs(num)));
  215. num = Math.floor(num*100+0.50000000001);
  216. cents = num%100;
  217. num = Math.floor(num/100).toString();
  218. if(cents<10)
  219. cents = "0" + cents;
  220. for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
  221. num = num.substring(0,num.length-(4*i+3))+','+
  222. num.substring(num.length-(4*i+3));
  223. return (((sign)?'':'-') + num + '.' + cents);
  224. },
  225. textStyle: { //数值样式
  226. color: '#323232',
  227. fontSize: 16
  228. }
  229. }
  230. }
  231. ]
  232. };
  233. // 使用刚指定的配置项和数据显示图表。
  234. echarts_charge.setOption(echarts_charge_option);
  235. /* ajax */
  236. function getData(request_data){
  237. $.ajax({
  238. url:'/admin/Main/getdata',
  239. type:'POST',
  240. data:request_data,
  241. dataType:'json',
  242. success:function(data){
  243. var code=data.code;
  244. var info=data.info;
  245. var msg=data.msg;
  246. if(code!=0){
  247. alert(msg);
  248. return !1;
  249. }
  250. var action=request_data.action;
  251. switch(action){
  252. case '1':
  253. /* 基本指标 */
  254. $(".basic_list li[data-type='"+request_data.basic_type+"'] .basic_list_n span").text(info.nums);
  255. if(request_data.basic_type==3){
  256. echarts_basic_option.yAxis.name='分钟';
  257. }else{
  258. echarts_basic_option.yAxis.name='';
  259. }
  260. echarts_basic_option.xAxis.data=info.name,
  261. echarts_basic_option.series[0].data=info.data,
  262. echarts_basic.setOption(echarts_basic_option);
  263. break;
  264. case '2':
  265. /* 用户画像 */
  266. break;
  267. case '3':
  268. /* 主播数据 */
  269. $("#anchor_live_today").text(info.anchor_live_today);
  270. $("#anchor_live_long_today").text(info.anchor_live_long_today);
  271. break;
  272. case '4':
  273. /* 财务 */
  274. echarts_charge_option.series[0].data=info.money,
  275. echarts_charge.setOption(echarts_charge_option);
  276. break;
  277. case '5':
  278. /* 提现 */
  279. $("#cash_apply").text(info.cash_apply);
  280. $("#cash_adopt").text(info.cash_adopt);
  281. $("#cash_anchor").text(info.cash_anchor);
  282. break;
  283. }
  284. },
  285. error:function(){
  286. }
  287. })
  288. }
  289. /* 天数选择 */
  290. $(".dropdown_input").click(function(){
  291. var _this=$(this);
  292. _this.siblings(".dropdown_list").toggle();
  293. })
  294. $(".dropdown_list li").click(function(){
  295. var _this=$(this);
  296. var type=_this.data('type');
  297. var li_text=_this.text();
  298. _this.parents('.dropdown').find(".dropdown_input").text(li_text);
  299. var action=_this.parents('.bd_title').find(".action").val();
  300. _this.parents(".dropdown_list").toggle();
  301. _this.parents('.bd_title').find(".dropdown_input").data('type',type);
  302. _this.parents('.bd_title').find("input[name=start_time]").val('');
  303. _this.parents('.bd_title').find("input[name=end_time]").val('');
  304. var basic_type=0;
  305. if(action==1){
  306. var basic_type=_this.parents('.basic').find(".basic_list li.on").data('type');
  307. }
  308. var start_time=0;
  309. var end_time=0;
  310. var request_data={action:action,type:type,start_time:start_time,end_time:end_time,basic_type:basic_type};
  311. getData(request_data);
  312. })
  313. $(".search").click(function(){
  314. var _this=$(this);
  315. var start_time=_this.parents('.bd_title').find("input[name=start_time]").val();
  316. var end_time=_this.parents('.bd_title').find("input[name=end_time]").val();
  317. if(!start_time){
  318. alert('请选择时间');
  319. return !1;
  320. }
  321. if(!end_time){
  322. alert('请选择时间');
  323. return !1;
  324. }
  325. var type=0;
  326. _this.parents('.bd_title').find(".dropdown_input").data('type',type);
  327. var action=_this.parents('.bd_title').find(".action").val();
  328. var basic_type=0;
  329. if(action==1){
  330. var basic_type=_this.parents('.basic').find(".basic_list li.on").data('type');
  331. }
  332. var request_data={action:action,type:type,start_time:start_time,end_time:end_time,basic_type:basic_type};
  333. getData(request_data);
  334. })
  335. $(".basic_list li.active").click(function(){
  336. var _this=$(this);
  337. _this.siblings().removeClass("on");
  338. _this.addClass("on");
  339. var basic_type=$(this).data('type');
  340. var type=_this.parents('.basic').find(".dropdown_input").data('type');
  341. var action=_this.parents('.basic').find(".action").val();
  342. var start_time=_this.parents('.basic').find("input[name=start_time]").val();
  343. var end_time=_this.parents('.basic').find("input[name=end_time]").val();
  344. var request_data={action:action,type:type,start_time:start_time,end_time:end_time,basic_type:basic_type};
  345. getData(request_data);
  346. })
  347. $(".export").click(function(){
  348. var _this=$(this);
  349. var type=_this.parents('.bd_title').find(".dropdown_input").data('type');
  350. var action=_this.parents('.bd_title').find(".action").val();
  351. var start_time=_this.parents('.bd_title').find("input[name=start_time]").val();
  352. var end_time=_this.parents('.bd_title').find("input[name=end_time]").val();
  353. var basic_type=0;
  354. if(action==1){
  355. var basic_type=_this.parents('.basic').find(".basic_list li.on").data('type');
  356. }
  357. location.href='/admin/Main/export?action='+action+'&type='+type+'&start_time='+start_time+'&end_time='+end_time+'&basic_type='+basic_type;
  358. })
  359. })()