Nav apraksta

index.js 7.8KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186
  1. /**
  2. * Created by TT on 2017/4/6.
  3. */
  4. ;
  5. spa_define(function () {
  6. return $.use(["spa", "code", "form", "util", "dict"], function (spa, code, form, util, dict) {
  7. return {
  8. main: function () {
  9. var root = spa.findInMain(".sys_chart_index");
  10. var cr = code.parseCode(root.find(".dt-tpl"));
  11. var cr2 = code.parseCode(root.find(".dt-tpl-2"));
  12. var cr3 = form.build(root.find(".newForm"));
  13. var myChart = echarts.init(document.getElementById('type'));
  14. var tableData = {data: []}, tableData2 = {data: []}, tableData3 = {data: []}
  15. allData = [];
  16. cr.shell("userType", function (env) {
  17. var v = env.cd[this.k];
  18. return v === 1 ? "专家用户" : (v === 0 ? "普通用户" : "");
  19. });
  20. cr2.shell("userRole", function (env) {
  21. var v = env.cd[this.k];
  22. if (v === 0) {
  23. return "普通用户";
  24. }
  25. if (v === 1) {
  26. return "科研工作者";
  27. }
  28. if (v === 2) {
  29. return "企业高管";
  30. }
  31. if (v === 3) {
  32. return "在校生";
  33. }
  34. if (v === 4) {
  35. return "技术人员";
  36. }
  37. if (v === 5) {
  38. return "HR/猎头";
  39. }
  40. if (v === 6) {
  41. return "销售人员";
  42. }
  43. if (v === 7) {
  44. return "投资方";
  45. }
  46. if (v === 8) {
  47. return "咨询顾问";
  48. }
  49. return "其他身份";
  50. });
  51. var query = function () {
  52. if (allData.byType != null) {
  53. tableData.data = allData.byType;
  54. }
  55. cr.val(tableData.data);
  56. };
  57. var query2 = function () {
  58. if (allData.byRole != null) {
  59. tableData2.data = allData.byRole;
  60. }
  61. cr2.val(tableData2.data);
  62. };
  63. var query3 = function () {
  64. if (allData != null) {
  65. tableData3.data = allData;
  66. }
  67. cr3.val(tableData3.data);
  68. };
  69. var load = function () {
  70. util.get("../ajax/operation/statist/user", null, function (data) {
  71. allData = data || [];
  72. query();
  73. query2();
  74. query3();
  75. var option = {
  76. title: {
  77. text: '用户角色统计',
  78. // subtext: '纯属虚构',
  79. x: 'center'
  80. },
  81. tooltip: {
  82. trigger: 'item',
  83. formatter: "{a} <br/>{b} : {c} ({d}%)"
  84. },
  85. toolbox: {
  86. show: true,
  87. feature: {
  88. mark: {show: true},
  89. dataView: {show: true, readOnly: false},
  90. magicType: {
  91. show: true,
  92. type: ['pie']
  93. },
  94. restore: {show: true},
  95. saveAsImage: {show: true}
  96. }
  97. },
  98. calculable: true,
  99. series: [
  100. {
  101. name: '用户类型',
  102. type: 'pie',
  103. radius: '55%',
  104. center: ['25%', '60%'],
  105. data: Type()
  106. },
  107. {
  108. name: '用户角色',
  109. type: 'pie',
  110. radius: '55%',
  111. center: ['75%', '60%'],
  112. data: Role()
  113. }
  114. ]
  115. };
  116. function Type() {
  117. var t = [];
  118. var showType = function (data) {
  119. if (data.code === 1) {
  120. return "专家用户";
  121. }
  122. return "普通用户";
  123. };
  124. for (var i = 0; i < allData.byType.length; i++) {
  125. // option.series[0].data[i].value = allData.byType[i].num;
  126. // option.series[0].data[i].name = showType(allData.byType[i]);
  127. t.push({value: allData.byType[i].num, name: showType(allData.byType[i])});
  128. }
  129. return t
  130. }
  131. function Role() {
  132. var r = [];
  133. var showRole = function (data) {
  134. if (data.code === 0) {
  135. return "普通用户";
  136. }
  137. if (data.code === 1) {
  138. return "科研工作者";
  139. }
  140. if (data.code === 2) {
  141. return "企业高管";
  142. }
  143. if (data.code === 3) {
  144. return "在校生";
  145. }
  146. if (data.code === 4) {
  147. return "技术人员";
  148. }
  149. if (data.code === 5) {
  150. return "HR/猎头";
  151. }
  152. if (data.code === 6) {
  153. return "销售人员";
  154. }
  155. if (data.code === 7) {
  156. return "投资方";
  157. }
  158. if (data.code === 8) {
  159. return "咨询顾问";
  160. }
  161. return "其他身份";
  162. };
  163. for (var i = 0; i < allData.byRole.length; i++) {
  164. // option.series[1].data[i].value = allData.byRole[i].num;
  165. // option.series[1].data[i].name = showRole(allData.byRole[i]);
  166. r.push({value: allData.byRole[i].num, name: showRole(allData.byRole[i])});
  167. }
  168. return r;
  169. }
  170. myChart.setOption(option);
  171. }, {});
  172. };
  173. cr.listen(dict.doTransfer);
  174. load();
  175. },
  176. mainDestory: function () {
  177. }
  178. };
  179. });
  180. });