Echarts_test.aspx 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343
  1. <%@ Page Title="" Language="C#" MasterPageFile="~/MasterPage/ErpView.master" AutoEventWireup="true" CodeFile="Echarts_test.aspx.cs" Inherits="ECharts_Echarts_test" %>
  2. <asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server">
  3. <script src="https://cdn.bootcss.com/echarts/3.7.1/echarts.min.js"></script>
  4. <script type="text/javascript">
  5. var weekAddTag = 0;
  6. var monthAddTag = 0;
  7. var _startTime = "";
  8. var _endTime = "";
  9. //月每天总销量option
  10. var optionBar = {
  11. title: {
  12. text: '本月每日销量',
  13. subtext: '',
  14. x: 'center'
  15. },
  16. legend: {
  17. type: 'scroll'
  18. },
  19. color: ['#3398DB'],
  20. tooltip: {
  21. trigger: 'axis',
  22. axisPointer: { // 坐标轴指示器,坐标轴触发有效
  23. type: 'shadow' // 默认为直线,可选为:'line' | 'shadow'
  24. }
  25. },
  26. grid: {
  27. left: '3%',
  28. right: '4%',
  29. bottom: '3%',
  30. containLabel: true
  31. },
  32. xAxis: [
  33. {
  34. type: 'category',
  35. data: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '30'],
  36. axisTick: {
  37. alignWithLabel: true
  38. }
  39. }
  40. ],
  41. yAxis: [
  42. {
  43. type: 'value'
  44. }
  45. ],
  46. series: [
  47. {
  48. name: '日总销量',
  49. type: 'bar',
  50. barWidth: 15,
  51. barGap: '80%',/*多个并排柱子设置柱子之间的间距*/
  52. barCategoryGap: '50%',
  53. data: [10, 52, 200, 334, 390, 330, 220, 10, 52, 200, 334, 390, 330, 220, 10, 52, 200, 334, 390, 330, 220, 10, 52, 200, 334, 390, 330, 220, 200, 334]
  54. }
  55. ]
  56. };
  57. //各个店铺每天销量
  58. var optionLine = {
  59. tooltip: {
  60. trigger: 'axis',
  61. axisPointer: {
  62. type: 'cross',
  63. label: {
  64. backgroundColor: '#6a7985'
  65. }
  66. }
  67. },
  68. legend: {
  69. data: ['不干胶', '海报']
  70. },
  71. toolbox: {
  72. feature: {
  73. saveAsImage: {}
  74. }
  75. },
  76. grid: {
  77. left: '3%',
  78. right: '4%',
  79. bottom: '3%',
  80. containLabel: true
  81. },
  82. xAxis: [
  83. {
  84. type: 'category',
  85. boundaryGap: false,
  86. data: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '30']
  87. }
  88. ],
  89. yAxis: [
  90. {
  91. type: 'value'
  92. }
  93. ],
  94. series: [
  95. {
  96. name: '不干胶',
  97. type: 'line',
  98. stack: '总量',
  99. areaStyle: { normal: {} },
  100. data: [10, 52, 200, 334, 390, 330, 220, 10, 52, 200, 334, 390, 330, 220, 10, 52, 200, 334, 390, 330, 220, 10, 52, 200, 334, 390, 330, 220, 200, 334]
  101. },
  102. {
  103. name: '海报',
  104. type: 'line',
  105. stack: '总量',
  106. label: {
  107. normal: {
  108. show: true,
  109. position: 'top'
  110. }
  111. },
  112. areaStyle: { normal: {} },
  113. data: [820, 932, 901, 934, 1290, 1330, 1320, 820, 932, 901, 934, 1290, 1330, 1320, 820, 932, 901, 934, 1290, 1330, 1320, 820, 932, 901, 934, 1290, 1330, 1320,555,666]
  114. }
  115. ]
  116. };
  117. var optionBar_province = {
  118. title: {
  119. text: '全国省份销量',
  120. subtext: '',
  121. x: 'center'
  122. },
  123. legend: {
  124. type: 'scroll'
  125. },
  126. color: ['#91cc75'],
  127. tooltip: {
  128. trigger: 'axis',
  129. axisPointer: { // 坐标轴指示器,坐标轴触发有效
  130. type: 'shadow' // 默认为直线,可选为:'line' | 'shadow'
  131. }
  132. },
  133. grid: {
  134. left: '3%',
  135. right: '4%',
  136. bottom: '3%',
  137. containLabel: true
  138. },
  139. xAxis: [
  140. {
  141. type: 'category',
  142. data: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '30'],
  143. axisTick: {
  144. alignWithLabel: true
  145. }
  146. }
  147. ],
  148. yAxis: [
  149. {
  150. type: 'value'
  151. }
  152. ],
  153. series: [
  154. {
  155. name: '日总销量',
  156. type: 'bar',
  157. barWidth: 15,
  158. barGap: '80%',/*多个并排柱子设置柱子之间的间距*/
  159. barCategoryGap: '50%',
  160. data: [10, 52, 200, 334, 390, 330, 220, 10, 52, 200, 334, 390, 330, 220, 10, 52, 200, 334, 390, 330, 220, 10, 52, 200, 334, 390, 330, 220, 200, 334]
  161. }
  162. ]
  163. };
  164. var optionPie = {
  165. title: {
  166. text: '订单占比',
  167. subtext: '',
  168. x: 'center'
  169. },
  170. tooltip: {
  171. trigger: 'item',
  172. formatter: "{a} <br/>{b} : {c} ({d}%)"
  173. },
  174. legend: {
  175. orient: 'vertical',
  176. left: 'left',
  177. data: ['普通单', '拿样单', '微信单']
  178. },
  179. series: [
  180. {
  181. name: '单量占比',
  182. type: 'pie',
  183. radius: '55%',
  184. center: ['50%', '60%'],
  185. data: [
  186. { value: 335, name: '普通单' },
  187. { value: 310, name: '拿样单' },
  188. { value: 1234, name: '微信单' }
  189. ],
  190. itemStyle: {
  191. emphasis: {
  192. shadowBlur: 10,
  193. shadowOffsetX: 0,
  194. shadowColor: 'rgba(0, 0, 0, 0.5)'
  195. }
  196. }
  197. }
  198. ]
  199. };
  200. function setPieData() {
  201. var parms = new Object();
  202. parms.date1 = _startTime;
  203. parms.date2 = _endTime;
  204. postAjax("get_time_type_order_count", parms, function (data) {
  205. var pieOp = optionPie;
  206. var pData = [
  207. { value: data.nomal, name: '普通单' },
  208. { value: data.sample, name: '拿样单' },
  209. { value: data.wechat, name: '微信单' }
  210. ];
  211. pieOp.series[0].data = pData;
  212. var chartPie = echarts.init(document.getElementById('chartPie'));
  213. chartPie.setOption(pieOp);
  214. });
  215. }
  216. function setDayData() {
  217. var parms = new Object();
  218. parms.date1 = _startTime;
  219. parms.date2 = _endTime;
  220. postAjax("get_report_time_order_count", parms, function (data) {
  221. console.log("xxxxxxxxxxxx", data);
  222. var barOp = optionBar;
  223. var tData = [];
  224. var vData = [];
  225. for (var idt of data) {
  226. vData.push(idt.count);
  227. tData.push(idt.ctime);
  228. }
  229. barOp.xAxis[0].data = tData;
  230. barOp.series[0].data = vData;
  231. var chartBar = echarts.init(document.getElementById('chartBar'));
  232. chartBar.setOption(barOp);
  233. });
  234. }
  235. function setProvinceData() {
  236. var parms = new Object();
  237. parms.date1 = _startTime;
  238. parms.date2 = _endTime;
  239. postAjax("get_report_province_order_count", parms, function (data) {
  240. console.log("xxxxxxxxxxxxprovince", data);
  241. var barOp = optionBar_province;
  242. var tData = [];
  243. var vData = [];
  244. for (var idt of data) {
  245. vData.push(idt.count);
  246. tData.push(idt.province);
  247. }
  248. barOp.xAxis[0].data = tData;
  249. barOp.series[0].data = vData;
  250. var provinceBar = echarts.init(document.getElementById('chartBar2'));
  251. provinceBar.setOption(barOp);
  252. });
  253. }
  254. function clickPreNextDate(btnType) {
  255. var dateList = "";
  256. if (btnType == 1) {
  257. monthAddTag = monthAddTag - 1;
  258. dateList = getMonthStartAndEnd(monthAddTag);
  259. }
  260. else if (btnType == 2) {
  261. weekAddTag = weekAddTag - 1;
  262. dateList = getWeekStartAndEnd(weekAddTag);
  263. }
  264. else if (btnType == 3) {
  265. weekAddTag = weekAddTag + 1;
  266. dateList = getWeekStartAndEnd(weekAddTag);
  267. }
  268. else if (btnType == 4) {
  269. monthAddTag = monthAddTag + 1;
  270. dateList = getMonthStartAndEnd(monthAddTag);
  271. }
  272. _startTime = dateList[0];
  273. _endTime = dateList[1];
  274. mini.get("txtChartDate1").setValue(_startTime);
  275. mini.get("txtChartDate2").setValue(_endTime);
  276. setPieData();
  277. setDayData();
  278. setProvinceData();
  279. }
  280. $(function () {
  281. var dateList = getMonthStartAndEnd(0);
  282. _startTime = dateList[0];
  283. _endTime = dateList[1];
  284. mini.get("txtChartDate1").setValue(_startTime);
  285. mini.get("txtChartDate2").setValue(_endTime);
  286. setPieData();
  287. setDayData();
  288. setProvinceData();
  289. var chartLine = echarts.init(document.getElementById('chartLine'));
  290. chartLine.setOption(optionLine);
  291. //var chartBar2 = echarts.init(document.getElementById('chartBar2'));
  292. ////optionBar.color = ["#91cc75"];
  293. //optionBar.xAxis[0].data = ["福建", "广东", "湖南", "福建", "广东", "湖南", "福建", "广东", "湖南", "福建", "广东", "湖南", "福建", "广东", "湖南", "福建", "广东", "湖南", "福建", "广东", "湖南", "福建", "广东", "湖南", "福建", "广东", "湖南", "福建", "广东", "湖南"]
  294. //chartBar2.setOption(optionBar);
  295. //var chartPie = echarts.init(document.getElementById('chartPie'));
  296. //chartPie.setOption(optionPie);
  297. });
  298. </script>
  299. </asp:Content>
  300. <asp:Content ID="Content2" ContentPlaceHolderID="btn" runat="Server">
  301. </asp:Content>
  302. <asp:Content ID="Content4" ContentPlaceHolderID="content" runat="Server">
  303. <div class="filter_item" id="f_chart_ime" style="width: 100%;border-bottom:1px solid lightgray;">
  304. <a class="mini-button" style="background-color:#ECF6ED;color:#088615;border:1px solid #66E873;" iconCls="icon-upload" onclick="clickPreNextDate(1)">上一月</a>
  305. <a class="mini-button" style="background-color:#F3F7F7;color:#16AAF7;border:1px solid #90D3F6;" iconCls="icon-upload" onclick="clickPreNextDate(2)">上一周</a>
  306. <input id="txtChartDate1" name="date1" class="mini-datepicker inp-time" />
  307. <span class="sp">-</span>
  308. <input id="txtChartDate2" name="date2" class="mini-datepicker inp-time" />
  309. <a class="mini-button" style="background-color:#F3F7F7;color:#16AAF7;border:1px solid #90D3F6;" iconCls="icon-download" onclick="clickPreNextDate(3)">下一周</a>
  310. <a class="mini-button" style="background-color:#ECF6ED;color:#088615;border:1px solid #66E873;" iconCls="icon-download" onclick="clickPreNextDate(4)">下一月</a>
  311. </div>
  312. <div id="content" style="width: 100%; display: flex; flex-direction: row; margin-top:60px;">
  313. <div id="chartBar" style="width: 48%; height: 360px;"></div>
  314. <div class="ct" id="chartPie" style="height: 360px; width: 50%;"></div>
  315. </div>
  316. <div id="content2" style="width: 100%; display: flex; flex-direction: row;">
  317. <div id="chartLine" style="width: 48%; height: 360px;"></div>
  318. <div id="chartBar2" style="width: 48%; height: 360px;"></div>
  319. </div>
  320. </asp:Content>