dashboard.js 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201
  1. define(['jquery', 'bootstrap', 'backend', 'addtabs', 'table', 'echarts', 'echarts-theme'], function ($, undefined, Backend, Datatable, Table, Echarts, undefined) {
  2. var Controller = {
  3. index: function () {
  4. // 基于准备好的dom,初始化echarts实例
  5. var orderNum = Echarts.init(document.getElementById('orderNum'), 'walden');
  6. var orderMoney = Echarts.init(document.getElementById('orderMoney'), 'walden');
  7. // 指定图表的配置项和数据
  8. var optionOrderNum = {
  9. title: {
  10. text: '',
  11. subtext: ''
  12. },
  13. color: [
  14. "#18d1b1",
  15. "#3fb1e3",
  16. "#626c91",
  17. "#a0a7e6",
  18. "#c4ebad",
  19. "#96dee8"
  20. ],
  21. tooltip: {
  22. trigger: 'axis'
  23. },
  24. legend: {
  25. data: [__('Order quantity')]
  26. },
  27. toolbox: {
  28. show: false,
  29. feature: {
  30. magicType: {show: true, type: ['stack', 'tiled']},
  31. saveAsImage: {show: true}
  32. }
  33. },
  34. xAxis: {
  35. type: 'category',
  36. boundaryGap: false,
  37. data: [] // 日期
  38. },
  39. yAxis: {},
  40. grid: [{
  41. left: 'left',
  42. top: 'top',
  43. right: '10',
  44. bottom: 30
  45. }],
  46. series: [{
  47. name: __('Order quantity'),
  48. type: 'line',
  49. smooth: true,
  50. areaStyle: {
  51. normal: {}
  52. },
  53. lineStyle: {
  54. normal: {
  55. width: 1.5
  56. }
  57. },
  58. data: [] // 数据
  59. }]
  60. };
  61. // 指定图表的配置项和数据
  62. var optionOrderMoney = {
  63. title: {
  64. text: '',
  65. subtext: ''
  66. },
  67. color: [
  68. "#18d1b1",
  69. "#3fb1e3",
  70. "#626c91",
  71. "#a0a7e6",
  72. "#c4ebad",
  73. "#96dee8"
  74. ],
  75. tooltip: {
  76. trigger: 'axis'
  77. },
  78. legend: {
  79. data: [__('Total amount')]
  80. },
  81. toolbox: {
  82. show: false,
  83. feature: {
  84. magicType: {show: true, type: ['stack', 'tiled']},
  85. saveAsImage: {show: true}
  86. }
  87. },
  88. xAxis: {
  89. type: 'category',
  90. boundaryGap: false,
  91. data: [] // 日期
  92. },
  93. yAxis: {},
  94. grid: [{
  95. left: 'left',
  96. top: 'top',
  97. right: '10',
  98. bottom: 30
  99. }],
  100. series: [{
  101. name: __('Total amount'),
  102. type: 'line',
  103. smooth: true,
  104. areaStyle: {
  105. normal: {}
  106. },
  107. lineStyle: {
  108. normal: {
  109. width: 1.5
  110. }
  111. },
  112. data: [] // 数据
  113. }]
  114. };
  115. // 收入明细表格
  116. // 初始化表格参数配置
  117. Table.api.init({
  118. extend: {
  119. income_url: 'unishop/dashboard/income' + location.search,
  120. goods_url: 'unishop/dashboard/goods' + location.search,
  121. },
  122. exportOptions: {
  123. ignoreColumn: ['xxx'] //全导出
  124. }
  125. });
  126. var table = $("#table");
  127. // 初始化表格
  128. table.bootstrapTable({
  129. url: $.fn.bootstrapTable.defaults.extend.income_url,
  130. pk: '',
  131. sortName: 'date_time',
  132. sortOrder:'desc',
  133. //可以控制是否默认显示搜索单表,false则隐藏,默认为false
  134. searchFormVisible: true,
  135. commonSearch: true, //是否启用通用搜索
  136. search:false,
  137. columns: [
  138. [
  139. {field: 'date_time', title: __('Date'), formatter: Table.api.formatter.datetime, datetimeFormat: 'YYYY-MM-DD', operate: 'RANGE', addclass: 'datetimerange', sortable: true},
  140. {field: 'order_nums', title: __('Order quantity'), operate:false},
  141. {field: 'order_amount', title: __('Total amount'), operate:false},
  142. ]
  143. ],
  144. onLoadSuccess:function(res) {
  145. optionOrderNum.xAxis.data = res.join_date
  146. optionOrderNum.series[0].data = res.order_nums
  147. optionOrderMoney.xAxis.data = res.join_date
  148. optionOrderMoney.series[0].data = res.order_amount
  149. // 使用刚指定的配置项和数据显示图表。
  150. orderNum.setOption(optionOrderNum);
  151. orderMoney.setOption(optionOrderMoney);
  152. }
  153. });
  154. // 为表格绑定事件
  155. Table.api.bindevent(table);
  156. var tableGoods = $("#tableGoods");
  157. // 初始化表格
  158. tableGoods.bootstrapTable({
  159. url: $.fn.bootstrapTable.defaults.extend.goods_url,
  160. pk: '',
  161. sortName: 'date_time',
  162. sortOrder:'desc',
  163. //可以控制是否默认显示搜索单表,false则隐藏,默认为false
  164. searchFormVisible: true,
  165. commonSearch: true, //是否启用通用搜索
  166. search:false,
  167. columns: [
  168. [
  169. {field: 'date_time', title: __('Date'), formatter: Table.api.formatter.datetime, datetimeFormat: 'YYYY-MM-DD', operate: 'RANGE', addclass: 'datetimerange', sortable: true},
  170. {field: 'product_name', title: __('Goods name'), operate:false},
  171. {field: 'sell_total', title: __('Sales'), operate:false},
  172. ]
  173. ]
  174. });
  175. // 监听页面大小变化
  176. $(window).resize(function () {
  177. orderNum.resize();
  178. orderMoney.resize();
  179. });
  180. },
  181. api: {
  182. bindevent: function () {
  183. Form.api.bindevent($("form[role=form]"));
  184. }
  185. }
  186. };
  187. return Controller;
  188. });