plan-count.html 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257
  1. <!doctype html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>规划数据统计</title>
  6. <meta name="viewport"
  7. content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
  8. <!-- 引入mui样式 -->
  9. <link rel="stylesheet" type="text/css" href="../css/mui.css" />
  10. <!-- 引入弹窗及选择器样式 -->
  11. <link rel="stylesheet" type="text/css" href="../css/mui.picker.min.css" />
  12. <link rel="stylesheet" type="text/css" href="../css/mui.poppicker.css" />
  13. <!-- 引入app样式 -->
  14. <link rel="stylesheet" type="text/css" href="../css/app.css" />
  15. <link rel="stylesheet" href="../css/app.new.css">
  16. <!-- 引入字体 -->
  17. <link rel="stylesheet" type="text/css" href="../fonts/TTTGB-Medium.css" />
  18. <link rel="stylesheet" type="text/css" href="../fonts/font-time.css" />
  19. </head>
  20. <body>
  21. <div class="jt-count-echarts-panel">
  22. <div class="jt-title">规划地类统计</div>
  23. <div class="jt-content" id="divCountBar_DL"></div>
  24. <div class="jt-title">规划管制区占比分析</div>
  25. <div class="jt-content" id="divCountPie_GZQ"></div>
  26. <div class="jt-title">规划地类乡镇统计</div>
  27. <div class="jt-content" id="divCountPie_DL_SSXZ" style="height: 700px;"></div>
  28. </div>
  29. </body>
  30. </html>
  31. <!-- 引入mui脚本 -->
  32. <script src="../js/mui.js" type="text/javascript" charset="utf-8"></script>
  33. <!-- 引入jQuery脚本 -->
  34. <script src="../js/jquery.js" type="text/javascript" charset="utf-8"></script>
  35. <!-- 引入通用脚本 -->
  36. <script src="../js/common.js" type="text/javascript" charset="utf-8"></script>
  37. <!-- 进入webview脚本 -->
  38. <script src="../js/webview.js" type="text/javascript" charset="utf-8"></script>
  39. <!-- 引入存储脚本 -->
  40. <script src="../js/save.js" type="text/javascript" charset="utf-8"></script>
  41. <!-- 引入ajax脚本 -->
  42. <script src="../js/ajax.js" type="text/javascript" charset="utf-8"></script>
  43. <!-- 图表脚本 -->
  44. <script src="../js/ECharts/echarts.js" type="text/javascript" charset="utf-8"></script>
  45. <!-- 自定义图表脚本 -->
  46. <script src="../js/CRECharts.js" type="text/javascript" charset="utf-8"></script>
  47. <!-- 本页独有脚本 -->
  48. <script type="text/javascript">
  49. /* mui初始化 */
  50. mui.init();
  51. /* 页面尺寸 */
  52. var pageSize = getPageSize();
  53. /* 初始化完成 */
  54. plusInit(function() {
  55. /* 重置图表的尺寸 */
  56. echartsSizeInit();
  57. /* 统计 */
  58. getCountData();
  59. });
  60. /**
  61. * 获取统计数据
  62. */
  63. function getCountData() {
  64. var iData = {}
  65. sendAjax({
  66. url: 'appCountPlanData',
  67. waitMessage: '分析中...',
  68. data: iData,
  69. success: function(resData) {
  70. showCountBar_DL(resData[0].planLandCountList);
  71. showCountPie_GZQ(resData[0].planRegulateCountList);
  72. showCountBar_DL_SSXZ(resData[0].planLandTownCountList);
  73. },
  74. error: function(err) {
  75. muiAlertError(err);
  76. }
  77. })
  78. }
  79. /* 统计组件 */
  80. var CountBar_DL = undefined;
  81. var CountPie_GZQ = undefined;
  82. var CountPie_DL_SSXZ = undefined;
  83. /**
  84. * 释放图表资源
  85. * @param {Object} obj 图表控件
  86. */
  87. function eChartsDispose(obj) {
  88. if (obj != null && obj != "" && obj != undefined) obj.dispose();
  89. }
  90. /**
  91. * 展示规划管制区占比分析结果
  92. * @param {JSON} data 展示数据
  93. */
  94. function showCountPie_GZQ(data) {
  95. var countPieData = [];
  96. for (var i in data) {
  97. countPieData.push({
  98. value: data[i].selName,
  99. name: data[i].selCode,
  100. });
  101. }
  102. var pieRadiusWidth = '65%';
  103. if (pageSize.width <= PageSize.smartSize) {
  104. pieRadiusWidth = '55%';
  105. }
  106. eChartsDispose(CountPie_GZQ);
  107. CountPie_GZQ = new CrCharts({
  108. domId: 'divCountPie_GZQ',
  109. });
  110. CountPie_GZQ.createPie({
  111. data: countPieData,
  112. isAria: false,
  113. lineColor: 'rgb(133, 215, 253)',
  114. labelColor: 'rgb(255,255,255)',
  115. perLabelColor: 'rgb(129,181,218)',
  116. radius: [5, pieRadiusWidth],
  117. minAngle: 20,
  118. roseType: false,
  119. unit: '公顷',
  120. }, '面积统计');
  121. }
  122. /**
  123. * 规划地类统计
  124. * @param {JSON} data 数据
  125. */
  126. function showCountBar_DL(data) {
  127. var dataZoomX = undefined;
  128. if (pageSize.width <= PageSize.smartSize) dataZoomX = true;
  129. /* 标签 */
  130. var labels = [];
  131. /* 数据集 */
  132. var datas = [{
  133. name: '地类',
  134. data: [],
  135. }];
  136. /* 单位集合 */
  137. var units = [];
  138. for (var i in data) {
  139. var item = data[i];
  140. labels.push(item.selCode);
  141. units.push('亩');
  142. datas[0].data.push(item.selName);
  143. }
  144. /* 展示柱状图 */
  145. var bbsData = {
  146. title: '分析',
  147. labels: labels,
  148. datas: datas,
  149. xrotate: 30,
  150. gridBottom: 90,
  151. gridTop: 60,
  152. dataZoomX: dataZoomX,
  153. }
  154. eChartsDispose(CountBar_DL);
  155. CountBar_DL = new CrCharts({
  156. domId: 'divCountBar_DL',
  157. labelColor: 'rgb(255,255,255)',
  158. legendTextColor: 'rgb(255,255,255)',
  159. xAxisLineColor: 'rgba(255,255,255,1.0)',
  160. yAxisLineColor: 'rgb(133, 215, 253)',
  161. splitLineColor: 'rgba(255,255,255,0.3)',
  162. xAxisLabel: {
  163. color: "rgba(255,255,255,1.0)",
  164. fontSize: 12,
  165. fontFamily: 'TTTGB-Medium',
  166. interval: 0,
  167. },
  168. yAxisLabel: {
  169. color: "rgb(133, 215, 253)",
  170. fontSize: 12,
  171. fontFamily: 'TTTGB-Medium',
  172. interval: 0,
  173. }
  174. });
  175. CountBar_DL.createVerticalBar(bbsData, 80, false, units);
  176. }
  177. /**
  178. * 展示规划地类所属乡镇统计数据
  179. * @param {JSON} jsonData 数据集
  180. */
  181. function showCountBar_DL_SSXZ(jsonData) {
  182. var dataZoomX = undefined;
  183. if (pageSize.width <= PageSize.smartSize) dataZoomX = true;
  184. /* 标签 */
  185. var labels = [];
  186. /* 数据集 */
  187. var datas = [];
  188. /* 单位集合 */
  189. var units = [];
  190. for (var i in jsonData) {
  191. var item = jsonData[i];
  192. labels.push(item.landName);
  193. units.push('亩');
  194. for (var idx in item.countList) {
  195. var cntList = item.countList[idx];
  196. var isExists = false;
  197. for (var dIdx in datas) {
  198. var data = datas[dIdx];
  199. if (data.name == cntList.selCode) {
  200. data.values.push(cntList.selName);
  201. isExists = true;
  202. break;
  203. }
  204. }
  205. if (!isExists) {
  206. /* 如果不存在 */
  207. datas.push({
  208. name: cntList.selCode,
  209. values: [cntList.selName],
  210. lblPosition: 'right',
  211. })
  212. }
  213. }
  214. }
  215. eChartsDispose(CountPie_DL_SSXZ);
  216. CountPie_DL_SSXZ = new CrCharts({
  217. domId: 'divCountPie_DL_SSXZ',
  218. labelColor: 'rgb(255,255,255)',
  219. legendTextColor: 'rgb(255,255,255)',
  220. xAxisLineColor: 'rgba(255,255,255,1.0)',
  221. yAxisLineColor: 'rgb(133, 215, 253)',
  222. splitLineColor: 'rgba(255,255,255,0.3)',
  223. xAxisLabel: {
  224. color: "rgba(255,255,255,1.0)",
  225. fontSize: 12,
  226. fontFamily: 'TTTGB-Medium',
  227. interval: 0,
  228. },
  229. yAxisLabel: {
  230. color: "rgb(133, 215, 253)",
  231. fontSize: 12,
  232. fontFamily: 'TTTGB-Medium',
  233. interval: 0,
  234. },
  235. });
  236. CountPie_DL_SSXZ.createHorizontalBar({
  237. labels: labels,
  238. datas: datas,
  239. enabledAria: false,
  240. dataZoomY: true,
  241. zoomEndValue: 1,
  242. grid: {
  243. left: 60,
  244. top: 30,
  245. bottom: 40,
  246. right: 60
  247. }
  248. }, units);
  249. }
  250. </script>