LandExpropriate-count-area.html 8.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332
  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="divCountDL_SSXZ"></div>
  24. <div class="jt-title">涉及建设用地地类占比分析</div>
  25. <div class="jt-content" id="divCountPie_JSYD"></div>
  26. <div class="jt-title">
  27. <button class="jt-select" id="selSSXZ" value="义堂镇">义堂镇</button>
  28. 征收项目地类占比
  29. </div>
  30. <div class="jt-content" id="divCountBarXMMC_SSXZ"></div>
  31. </div>
  32. </body>
  33. </html>
  34. <!-- 引入mui脚本 -->
  35. <script src="../js/mui.js" type="text/javascript" charset="utf-8"></script>
  36. <!-- 引入弹窗及选择器脚本 -->
  37. <script src="../js/mui.picker.min.js" type="text/javascript" charset="utf-8"></script>
  38. <script src="../js/mui.poppicker.js" type="text/javascript" charset="utf-8"></script>
  39. <!-- 引入jQuery脚本 -->
  40. <script src="../js/jquery.js" type="text/javascript" charset="utf-8"></script>
  41. <!-- 引入通用脚本 -->
  42. <script src="../js/common.js" type="text/javascript" charset="utf-8"></script>
  43. <!-- 进入webview脚本 -->
  44. <script src="../js/webview.js" type="text/javascript" charset="utf-8"></script>
  45. <!-- 引入存储脚本 -->
  46. <script src="../js/save.js" type="text/javascript" charset="utf-8"></script>
  47. <!-- 引入ajax脚本 -->
  48. <script src="../js/ajax.js" type="text/javascript" charset="utf-8"></script>
  49. <!-- 图表脚本 -->
  50. <script src="../js/ECharts/echarts.js" type="text/javascript" charset="utf-8"></script>
  51. <!-- 自定义图表脚本 -->
  52. <script src="../js/CRECharts.js" type="text/javascript" charset="utf-8"></script>
  53. <!-- 本页独有脚本 -->
  54. <script type="text/javascript">
  55. /* mui初始化 */
  56. mui.init();
  57. /* 页面尺寸 */
  58. var pageSize = getPageSize();
  59. /* 初始化完成 */
  60. plusInit(function() {
  61. /* 绑定选择器 */
  62. bindListenerToSelectButton('selSSXZ', 'map_gzq_grid', 'xzqmc', onSelectSSXZ);
  63. /* 重置图表的尺寸 */
  64. echartsSizeInit();
  65. /* 统计 */
  66. countLeDL_SSXZ();
  67. });
  68. /**
  69. * 所属镇街选择器选择事件
  70. * @param {string} text 文本
  71. * @param {string} value 值
  72. */
  73. function onSelectSSXZ(text, value) {
  74. countLeXMMC_SSXZ(text);
  75. }
  76. /**
  77. * 征收土地地类占比分析
  78. */
  79. function countLeDL_SSXZ() {
  80. var iData = {
  81. type: 'dl',
  82. cntType: 'area',
  83. }
  84. sendAjax({
  85. url: 'appZdAnalysis',
  86. waitMessage: '分析中...',
  87. data: iData,
  88. success: function(resData) {
  89. updateCountDL_SSXZ(resData);
  90. countLe_JSYD();
  91. },
  92. error: function(err) {
  93. muiAlertError(err);
  94. }
  95. })
  96. }
  97. /**
  98. * 建设用地地类占比分析
  99. */
  100. function countLe_JSYD() {
  101. var iData = {
  102. type: 'jsyd',
  103. cntType: 'area',
  104. }
  105. sendAjax({
  106. url: 'appZdAnalysis',
  107. waitMessage: '分析中...',
  108. data: iData,
  109. success: function(resData) {
  110. countLeXMMC_SSXZ('义堂镇');
  111. updateCount_JSYD(resData);
  112. },
  113. error: function(err) {
  114. muiAlertError(err);
  115. }
  116. })
  117. }
  118. /**
  119. * 分析区域内征地项目的占地情况
  120. * @param {string} areaName 区域名称
  121. */
  122. function countLeXMMC_SSXZ(areaName) {
  123. var iData = {
  124. areaName: areaName,
  125. cntType: 'area',
  126. }
  127. sendAjax({
  128. url: 'appZdAnalysisItem',
  129. waitMessage: '分析中...',
  130. data: iData,
  131. success: function(resData) {
  132. updateCountXMMC_SSXZ(resData);
  133. },
  134. error: function(err) {
  135. muiAlertError(err);
  136. },
  137. nodata: function(msg) {
  138. muiAlert(msg, "敬告");
  139. }
  140. })
  141. }
  142. /* 统计组件 */
  143. var countBarDL_SSXZ = undefined;
  144. var countBarXMMC_SSXZ = undefined;
  145. var countPie_JSYD = undefined;
  146. /**
  147. * 释放图表资源
  148. * @param {Object} obj 图表控件
  149. */
  150. function eChartsDispose(obj) {
  151. if (obj != null && obj != "" && obj != undefined) obj.dispose();
  152. }
  153. /**
  154. * 征收土地地类占比分析
  155. * @param {JSON} data 数据集
  156. */
  157. function updateCountDL_SSXZ(data) {
  158. var dataZoomX = undefined;
  159. if (pageSize.width <= PageSize.smartSize) dataZoomX = true;
  160. /* 标签 */
  161. var labels = [];
  162. /* 数据集 */
  163. var datas = [];
  164. /* 单位集合 */
  165. var units = [];
  166. for (var i in data) {
  167. var item = data[i];
  168. labels.push(item.dlName);
  169. for (var idx in item.areaList) {
  170. var areaItem = item.areaList[idx];
  171. var dataExists = false;
  172. for (var dataIdx in datas) {
  173. var dataItem = datas[dataIdx];
  174. if (dataItem.name == areaItem.selCode) {
  175. dataItem.data.push(areaItem.selName);
  176. dataExists = true;
  177. break;
  178. }
  179. }
  180. if (!dataExists) {
  181. datas.push({
  182. name: areaItem.selCode,
  183. data: [areaItem.selName],
  184. });
  185. units.push('公顷');
  186. }
  187. }
  188. }
  189. /* 展示柱状图 */
  190. var bbsData = {
  191. title: '分析',
  192. labels: labels,
  193. datas: datas,
  194. xrotate: 0,
  195. gridBottom: 80,
  196. gridTop: 60,
  197. dataZoomX: dataZoomX,
  198. zoomEndValue: '0',
  199. }
  200. eChartsDispose(countBarDL_SSXZ)
  201. countBarDL_SSXZ = new CrCharts({
  202. domId: 'divCountDL_SSXZ',
  203. labelColor: 'rgb(255,255,255)',
  204. legendTextColor: 'rgb(255,255,255)',
  205. xAxisLineColor: 'rgba(255,255,255,1.0)',
  206. yAxisLineColor: 'rgb(133, 215, 253)',
  207. splitLineColor: 'rgba(255,255,255,0.3)',
  208. xAxisLabel: {
  209. color: "rgba(255,255,255,1.0)",
  210. fontSize: 12,
  211. fontFamily: 'TTTGB-Medium',
  212. interval: 0,
  213. },
  214. yAxisLabel: {
  215. color: "rgb(133, 215, 253)",
  216. fontSize: 12,
  217. fontFamily: 'TTTGB-Medium',
  218. interval: 0,
  219. }
  220. });
  221. countBarDL_SSXZ.createVerticalBar(bbsData, 60, false, units);
  222. }
  223. /**
  224. * 征收项目建设用地地类占比分析
  225. * @param {JSON} data 数据集
  226. */
  227. function updateCount_JSYD(data) {
  228. var countPieData = [];
  229. for (var i in data) {
  230. countPieData.push({
  231. value: data[i].selName,
  232. name: data[i].selCode,
  233. });
  234. }
  235. var pieRadiusWidth = '65%';
  236. if (pageSize.width <= PageSize.smartSize) {
  237. pieRadiusWidth = '55%';
  238. }
  239. eChartsDispose(countPie_JSYD);
  240. countPie_JSYD = new CrCharts({
  241. domId: 'divCountPie_JSYD',
  242. });
  243. countPie_JSYD.createPie({
  244. data: countPieData,
  245. isAria: false,
  246. lineColor: 'rgb(133, 215, 253)',
  247. labelColor: 'rgb(255,255,255)',
  248. perLabelColor: 'rgb(129,181,218)',
  249. radius: [5, pieRadiusWidth],
  250. minAngle: 20,
  251. roseType: false,
  252. unit: '公顷',
  253. }, '建设用地面积');
  254. }
  255. /**
  256. * 区域征地项目占地分析结果展示
  257. * @param {string} resData 数据集
  258. */
  259. function updateCountXMMC_SSXZ(resData) {
  260. var labels = [];
  261. var datas = [];
  262. var units = [];
  263. for (var i in resData) {
  264. var item = resData[i];
  265. labels.push(item.dlName);
  266. for (var dIdx in item.areaList) {
  267. var itemData = item.areaList[dIdx];
  268. var isExists = false;
  269. for (var idx in datas) {
  270. var data = datas[idx];
  271. if (data.name == itemData.selCode) {
  272. data.values.push(itemData.selName);
  273. isExists = true;
  274. break;
  275. }
  276. }
  277. if (!isExists) {
  278. datas.push({
  279. name: itemData.selCode,
  280. values: [itemData.selName],
  281. // color: ['rgb(255,255,0)', 'rgb(255,0,0)'],
  282. lblPosition: 'right',
  283. })
  284. units.push('公顷');
  285. }
  286. }
  287. }
  288. eChartsDispose(countBarXMMC_SSXZ);
  289. countBarXMMC_SSXZ = new CrCharts({
  290. domId: 'divCountBarXMMC_SSXZ',
  291. labelColor: 'rgb(255,255,255)',
  292. legendTextColor: 'rgb(255,255,255)',
  293. xAxisLineColor: 'rgba(255,255,255,1.0)',
  294. yAxisLineColor: 'rgb(133, 215, 253)',
  295. splitLineColor: 'rgba(255,255,255,0.3)',
  296. xAxisLabel: {
  297. color: "rgba(255,255,255,1.0)",
  298. fontSize: 10,
  299. fontFamily: 'TTTGB-Medium',
  300. interval: 0,
  301. },
  302. yAxisLabel: {
  303. color: "rgb(133, 215, 253)",
  304. fontSize: 12,
  305. fontFamily: 'TTTGB-Medium',
  306. interval: 0,
  307. },
  308. });
  309. countBarXMMC_SSXZ.createHorizontalBar({
  310. labels: labels,
  311. datas: datas,
  312. enabledAria: false,
  313. dataZoomY: true,
  314. grid: {
  315. left: 100,
  316. top: 30,
  317. bottom: 40,
  318. right: 60
  319. }
  320. }, units);
  321. }
  322. </script>