webPrintingJob.html 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372
  1. <!--********************************************************************
  2. * Copyright© 2000 - 2021 SuperMap Software Co.Ltd. All rights reserved.
  3. *********************************************************************-->
  4. <!DOCTYPE html>
  5. <html style="width: 100%;height: 100%;">
  6. <head>
  7. <meta charset="UTF-8">
  8. <title data-i18n="resources.title_webPrinting_landUse"></title>
  9. <script type="text/javascript" include="bootstrap,jquery" src="../js/include-web.js"></script>
  10. <script type="text/javascript" src="../../dist/ol/include-ol.js"></script>
  11. <style>
  12. .sidebar-config-wrap {
  13. position: absolute;
  14. top: 0;
  15. left: 0;
  16. height: 100vh;
  17. width: 360px;
  18. padding: 20px;
  19. background: #2c2c2c;
  20. }
  21. .sidebar-config-wrap .panel-group .panel {
  22. border-color: transparent;
  23. background: transparent;
  24. color: rgba(255, 255, 255, 0.6);
  25. }
  26. .sidebar-config-wrap .panel .panel-heading {
  27. background: #383838;
  28. color: rgba(255, 255, 255, 0.85);
  29. border-color: #383838;
  30. position: relative;
  31. }
  32. .sidebar-config-wrap .panel .panel-heading::before {
  33. content: "";
  34. height: 50%;
  35. width: 2px;
  36. background: #3394dc;
  37. position: absolute;
  38. top: 25%;
  39. left: 0;
  40. display: block;
  41. }
  42. .form-group {
  43. overflow: hidden;
  44. }
  45. .sidebar-config-wrap .form-control,
  46. .sidebar-config-wrap .btn-group {
  47. width: 70%;
  48. float: right;
  49. }
  50. .sidebar-config-wrap .form-group label {
  51. margin-bottom: 0;
  52. line-height: 34px;
  53. }
  54. .sidebar-config-wrap .btn-group {
  55. display: block;
  56. margin-bottom: 10px;
  57. }
  58. .sidebar-config-wrap .btn-group button {
  59. width: 50%;
  60. outline: none;
  61. }
  62. .sidebar-config-wrap .btn-group button:focus {
  63. outline: none;
  64. }
  65. .sidebar-config-wrap .panel-title a {
  66. width: 100%;
  67. display: block;
  68. text-decoration: none !important;
  69. overflow: hidden;
  70. }
  71. .sidebar-config-wrap .panel-title a span.glyphicon {
  72. float: right;
  73. }
  74. .sidebar-config-wrap .panel-title a[aria-expanded="true"] .glyphicon-chevron-down {
  75. display: none;
  76. }
  77. .sidebar-config-wrap .panel-title a[aria-expanded="false"] .glyphicon-chevron-up {
  78. display: none;
  79. }
  80. .sidebar-config-wrap .submit-btn-wrap {
  81. position: absolute;
  82. bottom: 0;
  83. left: 0;
  84. width: 100%;
  85. height: 80px;
  86. line-height: 80px;
  87. border-top: 2px solid #323232;
  88. text-align: center;
  89. }
  90. .sidebar-config-wrap #printBtn,
  91. .sidebar-config-wrap .progress {
  92. width: 80%;
  93. }
  94. .sidebar-config-wrap .progress {
  95. margin: 30px auto 0;
  96. }
  97. </style>
  98. </head>
  99. <body style=" margin: 0;overflow: hidden;background: #fff;width: 100%;height: 100%">
  100. <div id="map" style="width: 100%;height:100%"></div>
  101. <form id="printForm" class="sidebar-config-wrap" role="form">
  102. <div class="panel-group" id="accordion" role="tablist" aria-multiselectable="true">
  103. <div class="panel panel-default">
  104. <div class="panel-heading" role="tab" id="headingOne">
  105. <h4 class="panel-title">
  106. <a role="button" data-toggle="collapse" data-parent="#accordion" href="#collapseOne"
  107. aria-expanded="true" aria-controls="collapseOne">
  108. <span data-i18n="resources.text_baseInfo"></span>
  109. <span class="glyphicon glyphicon-chevron-down" aria-hidden="true"></span>
  110. <span class="glyphicon glyphicon-chevron-up" aria-hidden="true"></span>
  111. </a>
  112. </h4>
  113. </div>
  114. <div id="collapseOne" class="panel-collapse collapse in" role="tabpanel" aria-labelledby="headingOne">
  115. <div class="panel-body">
  116. <div class="form-group">
  117. <label for="templateName" data-i18n="resources.text_layoutTemplates"></label>
  118. <select class="form-control" id="templateName">
  119. </select>
  120. </div>
  121. <div class="form-group">
  122. <label for="title" data-i18n="resources.text_title"></label>
  123. <input type="text" class="form-control" id="title"
  124. data-i18n="[value]resources.title_mvtVectorLayer_mapboxStyle_landuse" />
  125. </div>
  126. <div class="form-group">
  127. <label for="subTitle" data-i18n="resources.text_subTitle"></label>
  128. <input type="text" class="form-control" id="subTitle" />
  129. </div>
  130. <div class="form-group">
  131. <label for="copyright" data-i18n="resources.text_copyRightInfo"></label>
  132. <input type="text" class="form-control" id="copyright" />
  133. </div>
  134. <div class="form-group">
  135. <label for="author" data-i18n="resources.text_author"></label>
  136. <input type="text" class="form-control" id="author" value="北京超图软件股份有限公司" />
  137. </div>
  138. </div>
  139. </div>
  140. </div>
  141. <div class="panel panel-default">
  142. <div class="panel-heading" role="tab" id="headingThree">
  143. <h4 class="panel-title">
  144. <a class="collapsed" role="button" data-toggle="collapse" data-parent="#accordion"
  145. href="#collapseThree" aria-expanded="false" aria-controls="collapseThree">
  146. <span data-i18n="resources.text_littleMap"></span>
  147. <span class="glyphicon glyphicon-chevron-down" aria-hidden="true"></span>
  148. <span class="glyphicon glyphicon-chevron-up" aria-hidden="true"></span>
  149. </a>
  150. </h4>
  151. </div>
  152. <div id="collapseThree" class="panel-collapse collapse" role="tabpanel" aria-labelledby="headingThree">
  153. <div class="panel-body">
  154. <div class="form-group">
  155. <label for="scale" data-i18n="resources.text_scale"></label>
  156. <input type="text" class="form-control" id="scale" value="0" />
  157. </div>
  158. <div class="form-group">
  159. <label for="center" data-i18n="resources.text_center"></label>
  160. <input type="text" class="form-control" id="center" data-i18n="[title]resources.text_centerTip" />
  161. </div>
  162. </div>
  163. </div>
  164. </div>
  165. <div class="panel panel-default">
  166. <div class="panel-heading" role="tab" id="scaleOptions">
  167. <h4 class="panel-title">
  168. <a class="collapsed" role="button" data-toggle="collapse" data-parent="#accordion"
  169. href="#collapseFour" aria-expanded="false" aria-controls="collapseFour">
  170. <span data-i18n="resources.text_scale"></span>
  171. <span class="glyphicon glyphicon-chevron-down" aria-hidden="true"></span>
  172. <span class="glyphicon glyphicon-chevron-up" aria-hidden="true"></span>
  173. </a>
  174. </h4>
  175. </div>
  176. <div id="collapseFour" class="panel-collapse collapse" role="tabpanel" aria-labelledby="scaleOptions">
  177. <div class="panel-body">
  178. <div class="form-group">
  179. <label for="scaleText" data-i18n="resources.text_scaleText"></label>
  180. <input type="text" class="form-control" id="scaleText" />
  181. </div>
  182. <div class="form-group">
  183. <label for="type" data-i18n="resources.text_style"></label>
  184. <select class="form-control" id="type">
  185. <option value="LINE">line</option>
  186. <option value="BAR" selected>bar</option>
  187. <option value="BAR_SUB">bar_sub</option>
  188. </select>
  189. </div>
  190. <div class="form-group">
  191. <label for="intervals" data-i18n="resources.text_intervals"></label>
  192. <input type="text" class="form-control" id="intervals" />
  193. </div>
  194. <div class="form-group">
  195. <label for="unit" data-i18n="resources.text_unit"></label>
  196. <select class="form-control" id="unit">
  197. <option value="METER" data-i18n="resources.option_meterUnit"></option>
  198. <option value="FOOT" data-i18n="resources.option_mileUnit"></option>
  199. <option value="DEGREES" data-i18n="resources.option_degreeUnit"></option>
  200. </select>
  201. </div>
  202. </div>
  203. </div>
  204. </div>
  205. <div class="panel panel-default">
  206. <div class="panel-heading" role="tab" id="exportOptions">
  207. <h4 class="panel-title">
  208. <a class="collapsed" role="button" data-toggle="collapse" data-parent="#accordion"
  209. href="#collapseFive" aria-expanded="false" aria-controls="collapseFive">
  210. <span data-i18n="resources.text_exportOptions"></span>
  211. <span class="glyphicon glyphicon-chevron-down" aria-hidden="true"></span>
  212. <span class="glyphicon glyphicon-chevron-up" aria-hidden="true"></span>
  213. </a>
  214. </h4>
  215. </div>
  216. <div id="collapseFive" class="panel-collapse collapse" role="tabpanel" aria-labelledby="exportOptions">
  217. <div class="panel-body">
  218. <div class="form-group">
  219. <label for="format" data-i18n="resources.text_format">格式</label>
  220. <select class="form-control" id="format">
  221. <option value="PDF">PDF</option>
  222. <option value="PNG">PNG</option>
  223. </select>
  224. </div>
  225. <div class="form-group">
  226. <label for="dpi">DPI</label>
  227. <input type="text" class="form-control" id="dpi" value="96" />
  228. </div>
  229. <div class="form-group">
  230. <label for="exportScale" data-i18n="resources.text_scale"></label>
  231. <input type="text" class="form-control" id="exportScale" value="0" />
  232. </div>
  233. </div>
  234. </div>
  235. </div>
  236. </div>
  237. <div class="submit-btn-wrap">
  238. <button type="submit" class="btn btn-primary" id="printBtn" data-i18n="resources.text_print"></button>
  239. <div class="progress">
  240. <div class="progress-bar progress-bar-striped active" role="progressbar" aria-valuenow="100"
  241. aria-valuemin="0" aria-valuemax="100" style="width: 100%">
  242. printing...
  243. </div>
  244. </div>
  245. </div>
  246. </form>
  247. <script type="text/javascript" include="bootstrap,jquery" src="../js/include-web.js"></script>
  248. <script type="text/javascript">
  249. var host = window.isLocal ? window.server : "https://iserver.supermap.io";
  250. var webMap = new ol.supermap.WebMap(1887887232, {
  251. target: 'map',
  252. successCallback: function (map) {
  253. $('#center').val(map.getView().getCenter().join(','));
  254. var res = map.getView().getResolution();
  255. var scale = SuperMap.Util.getScaleFromResolutionDpi(res, 96, map.getView().getProjection().getUnits());
  256. $('#scale').val(scale * 2);
  257. $('#exportScale').val(scale);
  258. }
  259. });
  260. var webPrintingJobService = new ol.supermap.WebPrintingJobService(host + '/iserver/services/webprinting/rest/webprinting/v1', {
  261. withCredentials: window.isLocal
  262. });
  263. webPrintingJobService.getLayoutTemplates(function (e) {
  264. e.result.forEach(function(item){
  265. $('#templateName').append('<option value='+item.templateName+'>'+item.templateName+'</option}');
  266. });
  267. });
  268. $('.progress').hide();
  269. $('#printForm').on('submit', printMap);
  270. function printMap(e) {
  271. e.preventDefault();
  272. $('#printBtn').hide();
  273. $('.progress').show();
  274. var params = new SuperMap.WebPrintingJobParameters({
  275. content: new SuperMap.WebPrintingJobContent({
  276. type: "WEBMAP",
  277. url: "https://www.supermapol.com/web/maps/1887887232/map.json"
  278. }),
  279. layoutOptions: new SuperMap.WebPrintingJobLayoutOptions({
  280. templateName: $('#templateName').val(),
  281. title: $('#title').val(),
  282. subTitle: $('#subTitle').val(),
  283. author: $('#author').val(),
  284. copyright: $('#copyright').val(),
  285. scaleBarOptions: new SuperMap.WebPrintingJobScaleBarOptions({
  286. scaleText: $('#scaleText').val(),
  287. type: $('#type').val(),
  288. intervals: $('#intervals').val(),
  289. unit: $('#unit').val(),
  290. }),
  291. littleMapOptions: new SuperMap.WebPrintingJobLittleMapOptions({
  292. scale: +$('#scale').val() || 0,
  293. center: { x: $('#center').val().split(',')[0], y: $('#center').val().split(',')[1] },
  294. layerNames: webMap.layers && webMap.layers.map(function(item) {return item.name})
  295. }),
  296. legendOptions: new SuperMap.WebPrintingJobLegendOptions({
  297. picAsBase64: "data:image/png;base64,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"
  298. })
  299. }),
  300. exportOptions: new SuperMap.WebPrintingJobExportOptions({
  301. format: $('#format').val(),
  302. dpi: +$('#dpi').val(),
  303. scale: +$('#exportScale').val()
  304. })
  305. });
  306. filterEmptyData(params);
  307. webPrintingJobService.createWebPrintingJob(params, function (e) {
  308. if (e.result && e.result[0] && e.result[0].path) {
  309. webPrintingJobService.getPrintingJob(e.result[0].resourceConfigID, function ( res ) {
  310. if (res.result && res.result.status === 'FINISHED') {
  311. let link = document.createElement('a');
  312. link.href = res.result.result.downloadUrl;
  313. link.download = 'supermap-webprinting-report.pdf';
  314. link.target = '_blank';
  315. link.click();
  316. // 释放内存
  317. window.URL.revokeObjectURL(link.href);
  318. $('#printBtn').show();
  319. $('.progress').hide();
  320. } else {
  321. alert('打印失败');
  322. $('#printBtn').show();
  323. $('.progress').hide();
  324. }
  325. });
  326. } else {
  327. alert('打印失败');
  328. $('#printBtn').show();
  329. $('.progress').hide();
  330. }
  331. });
  332. }
  333. function filterEmptyData(params) {
  334. for (let key in params) {
  335. if (params[key] === undefined) {
  336. delete params[key];
  337. } else if (typeof params[key] === 'object') {
  338. filterEmptyData(params[key]);
  339. if (JSON.stringify(params[key]) === '{}') {
  340. delete params[key];
  341. }
  342. }
  343. }
  344. }
  345. $('#legendBtnGroup').click(function (e) {
  346. $(this).children(".active").removeClass('active');
  347. $(e.target).addClass('active');
  348. $(this).attr('aria-active', e.target.getAttribute('id'));
  349. });
  350. </script>
  351. </body>