region.html 29 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827
  1. <!DOCTYPE HTML>
  2. <html xmlns:th="http://www.thymeleaf.org"
  3. xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
  4. layout:decorate="~{admin/common/common}">
  5. <head>
  6. <title>全区统计</title>
  7. <style>
  8. .chartContent * {
  9. padding: 0;
  10. margin: 0;
  11. }
  12. .chartContent .title {
  13. border-left: 5px solid #2B9CF9;
  14. padding: 0 10px;
  15. line-height: 1.5em;
  16. color: #666;
  17. margin: 25px 0 15px;
  18. }
  19. .chartLiContent {
  20. overflow: hidden
  21. }
  22. .chartContent .chartLi {
  23. float: left;
  24. height: 200px;
  25. box-sizing: border-box;
  26. }
  27. .chartContent .tableHead {
  28. background: #2B9CF9;
  29. line-height: 1.5em;
  30. color: #fff;
  31. padding: 10px 0;
  32. text-align: center;
  33. }
  34. .chartContent .tableHead .tableHeadLi {
  35. float: left;
  36. }
  37. .chartContent .tableHead {
  38. overflow: hidden;
  39. }
  40. .chartContent .tableBody {
  41. }
  42. .chartContent .tableBodyLi {
  43. overflow: hidden;
  44. background: #eee;
  45. }
  46. .chartContent .tableBodyLi .liHead {
  47. overflow: hidden;
  48. }
  49. .chartContent .tableBodyLi .liHeadTopTd {
  50. float: left;
  51. line-height: 1.2em;
  52. padding: 5px 0px 5px 0px;
  53. font-size: 14px;
  54. color: #666;
  55. }
  56. .chartContent .tableBodyLi .liHeadTopTd i.close:before {
  57. content: "\e665";
  58. }
  59. .chartContent .tableBodyLi .liBodyLi .td {
  60. float: left;
  61. line-height: 1.2em;
  62. /*padding: 5px;*/
  63. /*color: #666;*/
  64. text-align: center;
  65. display: flex;
  66. align-items: center;
  67. justify-content: center;
  68. min-height: 30px;
  69. }
  70. .chartContent .date_line {
  71. border-bottom: 1px solid #e2e3e4;
  72. width: 90%;
  73. margin: 0 auto;
  74. padding-left: 20px;
  75. padding-right: 20px;
  76. position: relative;
  77. }
  78. .chartContent .date_line .pre_month {
  79. position: absolute;
  80. left: 0;
  81. top: 10px;
  82. font-weight: bold;
  83. cursor: pointer;
  84. }
  85. .chartContent .date_line .next_month {
  86. position: absolute;
  87. right: 0;
  88. top: 10px;
  89. font-weight: bold;
  90. cursor: pointer;
  91. overflow-x: hidden;
  92. }
  93. .chartContent .date_line .month_box {
  94. display: inline-block;
  95. margin-left: 15px;
  96. margin-right: 15px;
  97. border: 1px solid #e2e3e3;
  98. border-bottom: none;
  99. background-color: #eaeaea;
  100. padding: 10px 20px;
  101. cursor: pointer;
  102. margin-bottom: -1px;
  103. }
  104. .chartContent .date_line .active_month {
  105. background-color: #ffffff;
  106. color: #00a0e9;
  107. }
  108. .table001 * {
  109. padding: 0;
  110. margin: 0;
  111. }
  112. .table001 table, .table001 .table {
  113. display: table;
  114. border-collapse: collapse;
  115. border-spacing: 0;
  116. table-layout: fixed;
  117. }
  118. .table001 table td {
  119. border: 1px solid #999;
  120. padding: 5px;
  121. }
  122. .table001 table thead td {
  123. background: #2B9CF9;
  124. color: #fff;
  125. border-color: #2B9CF9;
  126. padding: 5px 10px;
  127. line-height: 1.5em;
  128. text-align: center;
  129. }
  130. .liBody {
  131. background-color: #ffffff;
  132. }
  133. .liBodyLi {
  134. border-bottom: 1px solid #eaeaea;
  135. }
  136. .clearfix:after { /*伪元素是行内元素 正常浏览器清除浮动方法*/
  137. content: "";
  138. display: block;
  139. height: 0;
  140. clear: both;
  141. visibility: hidden;
  142. }
  143. .clearfix {
  144. *zoom: 1; /*ie6清除浮动的方式 *号只有IE6-IE7执行,其他浏览器不执行*/
  145. }
  146. </style>
  147. <link rel="stylesheet" th:href="@{/home/ifont/iconfont.css}">
  148. </head>
  149. <body layout:fragment="content">
  150. <nav class="breadcrumb">
  151. <i class="Hui-iconfont">&#xe67f;</i>
  152. 首页
  153. <span class="c-gray en">&gt;</span>
  154. 用地服务
  155. <span class="c-gray en">&gt;</span>
  156. 用地管理统计
  157. <span class="c-gray en">&gt;</span>
  158. 全区统计
  159. </nav>
  160. <div class="chartContent">
  161. <div class="title">当前审核状态统计</div>
  162. <div class="chartLiContent">
  163. <div id="pending_pie" class="chartLi" style="width:30%;"></div>
  164. <div id="processing_bar" class="chartLi" style="width:40%;"></div>
  165. <div id="processed_pie" class="chartLi" style="width:30%;"></div>
  166. </div>
  167. </div>
  168. <div class="chartContent">
  169. <div class="title">月度分类统计</div>
  170. <div class="date_line">
  171. <i class="pre_month Hui-iconfont">&#xe63d;</i>
  172. <i class="next_month Hui-iconfont">&#xe67d;</i>
  173. <span class="active_month month_box">2019-05</span>
  174. <span class="month_box">2019-06</span>
  175. <span class="month_box">2019-07</span>
  176. <span class="month_box">2019-06</span>
  177. <span class="month_box">2019-07</span>
  178. <span class="month_box">2019-06</span>
  179. <span class="month_box">2019-07</span>
  180. <span class="month_box">2019-06</span>
  181. <span class="month_box">2019-07</span>
  182. <span class="month_box">2019-06</span>
  183. <span class="month_box">2019-07</span>
  184. <span class="month_box">2019-06</span>
  185. <span class="month_box">2019-07</span>
  186. </div>
  187. <div id="monthly_type_bar" style="width: 1200px; height: 400px"></div>
  188. </div>
  189. <div class="chartContent">
  190. <div class="title">月度审核结果对比</div>
  191. <div id="monthly_approve_bar" style="width: 1200px; height: 400px"></div>
  192. </div>
  193. <div class="chartContent">
  194. <div class="title">月度审核统计表</div>
  195. <input class="Wdate input-text" type="text" th:id="monthly_start_time" th:name="monthly_start_time"
  196. style="float:left; width: 150px;"
  197. onclick="WdatePicker({dateFmt:'yyyy-MM-dd',maxDate:'#F{$dp.$D(\'monthly_end_time\')}',isShowClear:true,readOnly:true,onpicked: function(){getMontylyApproveStatistic()} })"/>
  198. <input class="Wdate input-text" type="text" th:id="monthly_end_time" th:name="monthly_end_time"
  199. style="float:left; width: 150px;"
  200. onclick="WdatePicker({dateFmt:'yyyy-MM-dd',minDate:'#F{$dp.$D(\'monthly_start_time\')}',isShowClear:true,readOnly:true,onpicked: function(){getMontylyApproveStatistic()} })"/>
  201. <a th:onclick="'javascript:exportMonthlyStatistic();'"
  202. class="btn btn-secondary radius" type="button">导出</a>
  203. <div class="table001" style="width: 96%; margin-left: 2%;">
  204. <table id="monthly_approve_statistic" th:fragment="approve_statistic_monthly">
  205. <thead>
  206. <tr>
  207. <td>&nbsp;</td>
  208. <td colspan="3">存量工业用地房屋出租</td>
  209. <td colspan="3">存量工业用地用途依法改变</td>
  210. <td colspan="3">存量工业用地不动产权权属转移登记</td>
  211. <td colspan="3">存量工业用地项目公司股权(结构)变更登记</td>
  212. <td colspan="3">汇总</td>
  213. </tr>
  214. <tr>
  215. <td>&nbsp;</td>
  216. <td>提交数</td>
  217. <td>通过数</td>
  218. <td>通过率</td>
  219. <td>提交数</td>
  220. <td>通过数</td>
  221. <td>通过率</td>
  222. <td>提交数</td>
  223. <td>通过数</td>
  224. <td>通过率</td>
  225. <td>提交数</td>
  226. <td>通过数</td>
  227. <td>通过率</td>
  228. <td>提交数</td>
  229. <td>通过数</td>
  230. <td>通过率</td>
  231. </tr>
  232. </thead>
  233. <tbody>
  234. <tr th:each="model,iterStat:${list}" th:object="${model}">
  235. <td th:text="*{rowName}"></td>
  236. <td th:text="*{rentApplyNum}"></td>
  237. <td th:text="*{rentPassNum}"></td>
  238. <td th:text="*{rentPassRate + '%'}"></td>
  239. <td th:text="*{useChangeApplyNum}"></td>
  240. <td th:text="*{useChangePassNum}"></td>
  241. <td th:text="*{useChangePassRate + '%'}"></td>
  242. <td th:text="*{immovablesChangeApplyNum}"></td>
  243. <td th:text="*{immovablesChangePassNum}"></td>
  244. <td th:text="*{immovablesChangePassRate + '%'}"></td>
  245. <td th:text="*{equityStructureChangeApplyNum}"></td>
  246. <td th:text="*{equityStructureChangePassNum}"></td>
  247. <td th:text="*{equityStructureChangePassRate}"></td>
  248. <td th:text="*{totalApplyNum}"></td>
  249. <td th:text="*{totalPassNum}"></td>
  250. <td th:text="*{totalPassRate + '%'}"></td>
  251. </tr>
  252. </tbody>
  253. </table>
  254. </div>
  255. </div>
  256. <div class="chartContent">
  257. <div class="title">板块统计表</div>
  258. <input class="Wdate input-text" type="text" th:id="plate_start_time" th:name="plate_start_time"
  259. style="float:left; width: 150px;"
  260. onclick="WdatePicker({dateFmt:'yyyy-MM-dd',maxDate:'#F{$dp.$D(\'plate_end_time\')}',isShowClear:true,readOnly:true,onpicked: function(){getPlateStatistic()} })"/>
  261. <input class="Wdate input-text" type="text" th:id="plate_end_time" th:name="plate_end_time"
  262. style="float:left; width: 150px;"
  263. onclick="WdatePicker({dateFmt:'yyyy-MM-dd',minDate:'#F{$dp.$D(\'plate_start_time\')}',isShowClear:true,readOnly:true,onpicked: function(){getPlateStatistic()} })"/>
  264. <a th:onclick="'javascript:exportPlateStatistic();'"
  265. class="btn btn-secondary radius" type="button">导出</a>
  266. <div id="plate_approve_statistic" th:fragment="approve_statistic_plate">
  267. <div class="tableHead" style="width: 96%; margin-left: 2%;">
  268. <div class="tableHeadLi" style="width:9%;" th:each="model,iterStat:${head}" th:object="${model}"
  269. th:if="${iterStat.index==0}">&nbsp;
  270. </div>
  271. <div class="tableHeadLi" style="width:9%;" th:each="model,iterStat:${head}" th:object="${model}"
  272. th:text="*{name}" th:if="${iterStat.index!=0}">&nbsp;
  273. </div>
  274. <!-- <div class="tableHeadLi" style="width:10%;">狮山街道(含横塘)</div>-->
  275. <!-- <div class="tableHeadLi" style="width:10%;">枫桥街道</div>-->
  276. <!-- <div class="tableHeadLi" style="width:10%;">浒墅关镇</div>-->
  277. <!-- <div class="tableHeadLi" style="width:10%;">通安镇</div>-->
  278. <!-- <div class="tableHeadLi" style="width:10%;">浒墅关经开区</div>-->
  279. <!-- <div class="tableHeadLi" style="width:10%;">科技城(含东渚)</div>-->
  280. <!-- <div class="tableHeadLi" style="width:10%;">综合保税区</div>-->
  281. <!-- <div class="tableHeadLi" style="width:10%;">度假区(含镇湖)</div>-->
  282. <!-- <div class="tableHeadLi" style="width:10%;">区外</div>-->
  283. <!-- <div class="tableHeadLi" style="width:10%;">合计</div>-->
  284. </div>
  285. <div class="tableBody" style="width: 96%; margin-left: 2%;">
  286. <div class="tableBodyLi" th:each="model,iterStat:${data}" th:object="${model}">
  287. <div class="liHead">
  288. <div class="liHeadTopTd" style="width:9%;">
  289. <i class="ifont-youx-copy-copy open" style="float: left;"></i>
  290. <div th:text="*{name}">提交数量</div>
  291. </div>
  292. <div class="liHeadTopTd" style="width:9%;text-align: center" th:each="arrayS:*{num}"
  293. th:object="${model}" th:text="${arrayS}">100
  294. </div>
  295. </div>
  296. <div class="liBody">
  297. <div class="liBodyLi clearfix" th:each="model,iterStat:*{type}" th:object="${model}">
  298. <div class="td" style="width:9%;" th:text="*{name}">1</div>
  299. <div class="td" style="width:9%;" th:each="arrayS:*{streetNum}" th:object="${model}"
  300. th:text="${arrayS}">2
  301. </div>
  302. </div>
  303. </div>
  304. </div>
  305. </div>
  306. </div>
  307. </div>
  308. <script th:inline="javascript">
  309. getApproveStatus("");
  310. getTypeStatistic("", "", "");
  311. getMontylyApproveStatus();
  312. getMontylyApproveStatistic();
  313. getPlateStatistic();
  314. //当前审核状态统计
  315. function getApproveStatus(streedId) {
  316. $.ajax({
  317. url: pagePath + "/land_statistic/approve/status?street_id=" + streedId,
  318. type: "get",
  319. dataType: "json",
  320. data: {
  321. "timestamp": new Date().getTime(),
  322. },
  323. success: function (result) {
  324. if (result.success) {
  325. // console.log(result.obj)
  326. pendingArray = result.obj.pending;
  327. processingArray = result.obj.processing;
  328. processedArray = result.obj.processed;
  329. var processingXAxisData = new Array();
  330. var processingData = new Array();
  331. for (var argument of processingArray) {
  332. processingXAxisData.push(argument.name);
  333. processingData.push(argument.value);
  334. // console.log(argument)
  335. }
  336. renderPendingPie("待审核", pendingArray, pendingArray);
  337. renderProcessingBar("审核中", processingXAxisData, processingData);
  338. renderProcessedPie("已审核", processedArray, processedArray);
  339. } else {
  340. errorMessage(result.message);
  341. }
  342. },
  343. error: function () {
  344. errorMessage('系统错误!');
  345. }
  346. });
  347. }
  348. //月度分类统计
  349. function getTypeStatistic(streedId, startTime, endTime) {
  350. $.ajax({
  351. url: pagePath + "/land_statistic/approve/type?street_id=" + streedId + "&start_time" + startTime + "&end_time" + endTime,
  352. type: "get",
  353. dataType: "json",
  354. data: {
  355. "timestamp": new Date().getTime(),
  356. },
  357. success: function (result) {
  358. if (result.success) {
  359. // console.log(result.obj)
  360. var data = result.obj.data
  361. var xAxisName = result.obj.xAxisName;
  362. var legendData = new Array();
  363. for (var argument of data) {
  364. legendData.push(argument.name);
  365. }
  366. renderMonthlyTypeBar(legendData, xAxisName, data);
  367. } else {
  368. errorMessage(result.message);
  369. }
  370. },
  371. error: function () {
  372. errorMessage('系统错误!');
  373. }
  374. });
  375. }
  376. //月度审核结果统计
  377. function getMontylyApproveStatus() {
  378. $.ajax({
  379. url: pagePath + "/land_statistic/approve/result/monthly",
  380. type: "get",
  381. dataType: "json",
  382. data: {
  383. "timestamp": new Date().getTime(),
  384. },
  385. success: function (result) {
  386. if (result.success) {
  387. console.log(result.obj)
  388. var data = result.obj.data
  389. var xAxisName = result.obj.xAxisName;
  390. var legendData = new Array();
  391. for (var argument of data) {
  392. legendData.push(argument.name);
  393. }
  394. renderMonthlyApproveBar(legendData, xAxisName, data);
  395. } else {
  396. errorMessage(result.message);
  397. }
  398. },
  399. error: function () {
  400. errorMessage('系统错误!');
  401. }
  402. });
  403. }
  404. //当前审核状态统计 待审核
  405. function renderPendingPie(title, legendData, data) {
  406. // 基于准备好的dom,初始化echarts实例
  407. var charts = echarts.init(document.getElementById('pending_pie'));
  408. // 指定图表的配置项和数据
  409. var option = {
  410. title: {
  411. text: title,
  412. textStyle: {
  413. fontSize: 18,
  414. fontWeight: 'bold'
  415. }
  416. },
  417. tooltip: {
  418. trigger: 'item',
  419. zlevel: 1,
  420. formatter: '{a} <br/>{b}: {c} ({d}%)'
  421. },
  422. legend: {
  423. orient: 'horizontal',
  424. bottom: 10,
  425. data: legendData
  426. },
  427. series: [
  428. {
  429. name: title,
  430. type: 'pie',
  431. radius: ['50%', '70%'],
  432. avoidLabelOverlap: false,
  433. label: {
  434. normal: {
  435. show: true,
  436. zlevel: 0,
  437. position: 'center',
  438. formatter: function () {
  439. var num = 0;
  440. for (var obj of data) {
  441. num += obj.value;
  442. }
  443. return num;
  444. }
  445. },
  446. emphasis: {
  447. show: false,
  448. textStyle: {
  449. fontSize: '30',
  450. fontWeight: 'bold'
  451. }
  452. }
  453. },
  454. labelLine: {
  455. normal: {
  456. show: false
  457. }
  458. },
  459. data: data
  460. }
  461. ]
  462. };
  463. // 使用刚指定的配置项和数据显示图表。
  464. charts.setOption(option);
  465. }
  466. //当前审核状态统计 审核中
  467. function renderProcessingBar(title, xAxisData, data) {
  468. // 基于准备好的dom,初始化echarts实例
  469. var charts = echarts.init(document.getElementById('processing_bar'));
  470. // 指定图表的配置项和数据
  471. option = {
  472. title: {
  473. text: title,
  474. textStyle: {
  475. fontSize: '18',
  476. fontWeight: 'bold'
  477. }
  478. },
  479. color: ['#3398DB'],
  480. tooltip: {
  481. trigger: 'axis',
  482. axisPointer: { // 坐标轴指示器,坐标轴触发有效
  483. type: 'shadow' // 默认为直线,可选为:'line' | 'shadow'
  484. }
  485. },
  486. grid: {
  487. left: '3%',
  488. right: '4%',
  489. bottom: '3%',
  490. containLabel: true
  491. },
  492. xAxis: [
  493. {
  494. type: 'category',
  495. data: xAxisData,
  496. axisTick: {
  497. alignWithLabel: true
  498. },
  499. axisLabel: {
  500. interval: 0
  501. }
  502. }
  503. ],
  504. yAxis: [
  505. {
  506. type: 'value'
  507. }
  508. ],
  509. series: [
  510. {
  511. name: '',
  512. type: 'bar',
  513. barWidth: '60%',
  514. label: {
  515. normal: {
  516. show: true,
  517. position: 'top'
  518. }
  519. },
  520. data: data
  521. }
  522. ]
  523. };
  524. // 使用刚指定的配置项和数据显示图表。
  525. charts.setOption(option);
  526. }
  527. //当前审核状态统计 已审核
  528. function renderProcessedPie(title, legendData, data) {
  529. // 基于准备好的dom,初始化echarts实例
  530. var charts = echarts.init(document.getElementById('processed_pie'));
  531. // 指定图表的配置项和数据
  532. var option = {
  533. title: {
  534. text: title,
  535. textStyle: {
  536. fontSize: '18',
  537. fontWeight: 'bold'
  538. }
  539. },
  540. tooltip: {
  541. trigger: 'item',
  542. zlevel: 1,
  543. formatter: '{a} <br/>{b}: {c} ({d}%)'
  544. },
  545. legend: {
  546. orient: 'horizontal',
  547. bottom: 10,
  548. data: legendData
  549. },
  550. series: [
  551. {
  552. name: title,
  553. type: 'pie',
  554. radius: '70%',
  555. avoidLabelOverlap: false,
  556. label: {
  557. normal: {
  558. show: true,
  559. zlevel: 0,
  560. position: 'top',
  561. formatter: function () {
  562. var num = 0;
  563. for (var obj of data) {
  564. num += obj.value;
  565. }
  566. return num;
  567. }
  568. },
  569. emphasis: {
  570. show: false,
  571. textStyle: {
  572. fontSize: '30',
  573. fontWeight: 'bold'
  574. }
  575. }
  576. },
  577. labelLine: {
  578. normal: {
  579. show: false
  580. }
  581. },
  582. data: data
  583. }
  584. ]
  585. };
  586. // 使用刚指定的配置项和数据显示图表。
  587. charts.setOption(option);
  588. }
  589. function getMonth() {
  590. var dataArr = [];
  591. var data = new Date();
  592. var year = data.getFullYear();
  593. data.setMonth(data.getMonth() + 1, 1) //获取到当前月份,设置月份
  594. for (var i = 0; i < 12; i++) {
  595. data.setMonth(data.getMonth() - 1); //每次循环一次 月份值减1
  596. var m = data.getMonth() + 1;
  597. m = m < 10 ? "0" + m : m;
  598. dataArr.unshift(data.getFullYear() + "-" + (m));
  599. }
  600. var date = new Date(), y = date.getFullYear(), m = date.getMonth();
  601. var firstDay = new Date(y, m, 1);
  602. var lastDay = new Date(y, m + 1, 0);
  603. console.log(firstDay.format('yyyy-MM-dd') + " 00:00:00")
  604. console.log(lastDay.format('yyyy-MM-dd') + " 23:59:59")
  605. return dataArr;
  606. }
  607. //月度分类统计
  608. function renderMonthlyTypeBar(legendData, xAxisName, data) {
  609. // 基于准备好的dom,初始化echarts实例
  610. var charts = echarts.init(document.getElementById('monthly_type_bar'));
  611. charts.on('timelinechanged', function (timeLineIndex) {
  612. console.log(timeLineIndex.currentIndex)
  613. });
  614. // 指定图表的配置项和数据
  615. option = {
  616. // timeline: {
  617. // axisType: "category",
  618. // currentIndex: 11,
  619. // data: getMonth()
  620. // },
  621. color: ['#003366', '#006699', '#4cabce', '#e5323e'],
  622. tooltip: {
  623. trigger: 'axis',
  624. axisPointer: {
  625. type: 'shadow'
  626. }
  627. },
  628. legend: {
  629. orient: 'vertical',
  630. top: 80,
  631. right: 10,
  632. data: legendData
  633. },
  634. xAxis: [
  635. {
  636. type: 'category',
  637. axisTick: {show: false},
  638. data: xAxisName,
  639. axisLabel: {
  640. interval: 0,
  641. formatter: function (value) {
  642. var ret = '';
  643. var maxLength = 10;
  644. var xAxisName = value.split("\n\n")[0];
  645. var rate = value.split("\n\n")[1];
  646. var rowNum = Math.ceil(xAxisName.length / maxLength);
  647. if (rowNum > 1) {
  648. for (var i = 0; i < rowNum; i++) {
  649. var temp = "";
  650. var start = i * maxLength;
  651. var end = start + maxLength;
  652. temp = xAxisName.substring(start, end) + "\n";
  653. ret += temp;
  654. }
  655. return ret + "\n" + rate;
  656. } else {
  657. return xAxisName + "\n" + rate;
  658. }
  659. }
  660. }
  661. }
  662. ],
  663. yAxis: [{type: 'value'}],
  664. series: data
  665. };
  666. // 使用刚指定的配置项和数据显示图表。
  667. charts.setOption(option);
  668. }
  669. //月度审核结果对比
  670. function renderMonthlyApproveBar(legendData, xAxisName, data) {
  671. // 基于准备好的dom,初始化echarts实例
  672. var charts = echarts.init(document.getElementById('monthly_approve_bar'));
  673. // 指定图表的配置项和数据
  674. option = {
  675. color: ['#006699', '#4cabce', '#e5323e'],
  676. tooltip: {
  677. trigger: 'axis',
  678. axisPointer: { // 坐标轴指示器,坐标轴触发有效
  679. type: 'shadow' // 默认为直线,可选为:'line' | 'shadow'
  680. }
  681. },
  682. legend: {
  683. orient: 'vertical',
  684. top: 80,
  685. right: 10,
  686. data: legendData
  687. },
  688. yAxis: {type: 'value'},
  689. xAxis: {
  690. type: 'category',
  691. data: xAxisName
  692. },
  693. series: data
  694. };
  695. // 使用刚指定的配置项和数据显示图表。
  696. charts.setOption(option);
  697. optionCustom = {
  698. series: [
  699. {
  700. barWidth: 30
  701. }
  702. ]
  703. };
  704. charts.setOption(optionCustom);
  705. }
  706. //月度审核统计表
  707. function getMontylyApproveStatistic() {
  708. var url = pagePath + "/land_statistic/approve/statistic/monthly"
  709. var start_time = $('#monthly_start_time').val();
  710. var end_time = $('#monthly_end_time').val();
  711. url += "?start_time=" + start_time + "&end_time=" + end_time;
  712. // 装载局部刷新返回的页面
  713. $('#monthly_approve_statistic').load(url);
  714. }
  715. //导出月度统计
  716. function exportMonthlyStatistic() {
  717. var start_time = $('#monthly_start_time').val();
  718. var end_time = $('#monthly_end_time').val();
  719. window.open(pagePath + "/land_statistic/approve/statistic/monthly/export?start_time=" + start_time + "&end_time=" + end_time);
  720. }
  721. //导出板块统计
  722. function exportPlateStatistic() {
  723. var start_time = $('#plate_start_time').val();
  724. var end_time = $('#plate_end_time').val();
  725. window.open(pagePath + "/land_statistic/approve/statistic/plate/export?start_time=" + start_time + "&end_time=" + end_time);
  726. }
  727. //板块统计表
  728. function getPlateStatistic() {
  729. var start_time = $('#plate_start_time').val();
  730. var end_time = $('#plate_end_time').val();
  731. // 装载局部刷新返回的页面
  732. $('#plate_approve_statistic').load(pagePath + "/land_statistic/approve/statistic/plate?start_time=" + start_time + "&end_time=" + end_time);
  733. }
  734. $(document).on("click", ".liHead", function () {
  735. console.log("点击了", $(this).next().is(":hidden"))
  736. if (!$(this).next().is(":hidden")) {
  737. $(this).next().slideUp(200)
  738. $(this).children(":first").children(":first").attr("class", "ifont-youx-copy-copy close")
  739. } else {
  740. $(this).next().slideDown(200)
  741. $(this).children(":first").children(":first").attr("class", "ifont-youx-copy-copy open")
  742. }
  743. })
  744. Date.prototype.format = function (format) {
  745. var o = {
  746. "M+": this.getMonth() + 1, //month
  747. "d+": this.getDate(), //day
  748. "h+": this.getHours(), //hour
  749. "m+": this.getMinutes(), //minute
  750. "s+": this.getSeconds(), //second
  751. "q+": Math.floor((this.getMonth() + 3) / 3), //quarter
  752. "S": this.getMilliseconds() //millisecond
  753. }
  754. if (/(y+)/.test(format)) format = format.replace(RegExp.$1,
  755. (this.getFullYear() + "").substr(4 - RegExp.$1.length));
  756. for (var k in o) if (new RegExp("(" + k + ")").test(format))
  757. format = format.replace(RegExp.$1,
  758. RegExp.$1.length == 1 ? o[k] :
  759. ("00" + o[k]).substr(("" + o[k]).length));
  760. return format;
  761. }
  762. </script>
  763. </body>
  764. </html>