syyggyy.html 30 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>Document</title>
  7. <link rel="stylesheet" href="css/syygggy.css">
  8. <!-- 引入 Vue -->
  9. <script src="https://unpkg.com/vue@2.6.14/dist/vue.min.js"></script>
  10. <!-- 引入样式 -->
  11. <link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
  12. <!-- 引入组件库 -->
  13. <script src="https://unpkg.com/element-ui/lib/index.js"></script>
  14. <!-- jquery-->
  15. <script src="js/jquery-3.5.1.min.js"></script>
  16. <script type="text/javascript" src="https://api.map.baidu.com/api?v=2.0&ak=7XivTux4H2e1ifKLjvEhxfuayDYxAluq">
  17. </script>
  18. <script src="js/urljson.js"></script>
  19. <style>
  20. .toplogo img {
  21. margin-bottom: 17px;
  22. }
  23. .contentright {
  24. width: 50vw;
  25. height: 1384px;
  26. }
  27. .zwsj {
  28. width: 100%;
  29. height: 100%;
  30. display: flex;
  31. align-items: center;
  32. justify-content: center;
  33. }
  34. .cyfb {
  35. display: -webkit-box;
  36. line-height: 20px;
  37. -webkit-line-clamp: 2;
  38. overflow: hidden;
  39. text-overflow: ellipsis;
  40. -webkit-box-orient: vertical;
  41. word-break: break-all;
  42. cursor: pointer;
  43. }
  44. #ggyq>.top {
  45. display: flex;
  46. justify-content: space-between;
  47. align-items: center;
  48. border-bottom: 1px solid #B7C7DC;
  49. background: #FFFFFF;
  50. }
  51. .btnrlt {
  52. background-image: url(images/btn-cyrlt.png);
  53. background-size: 100% 100%;
  54. width: 250px;
  55. height: 98px;
  56. font-weight: bold;
  57. font-size: 30px;
  58. color: #FFFFFF;
  59. text-shadow: 3px 5px 7px rgba(11, 58, 165, 0.43);
  60. position: absolute;
  61. bottom: 10px;
  62. right: 10px;
  63. z-index: 100;
  64. text-align: center;
  65. line-height: 84px;
  66. cursor: pointer;
  67. }
  68. #scrollContainer {
  69. overflow: hidden;
  70. white-space: nowrap;
  71. position: relative;
  72. }
  73. .scrollContent {
  74. animation: scroll 10s infinite;
  75. }
  76. @keyframes scroll {
  77. 0% {
  78. transform: translateY(100%);
  79. }
  80. 100% {
  81. transform: translateY(-100%);
  82. }
  83. }
  84. </style>
  85. </head>
  86. <body>
  87. <div id="ggyq" style="position: relative;">
  88. <div class="btnrlt">产业热力图</div>
  89. <div class="top">
  90. <div class="toplogo">
  91. <img src="images/gyylogo.png" alt="">
  92. <span>{{this.jbqk.title}}</span>
  93. </div>
  94. <div class="backbutton" @click="window.history.go(-1)">
  95. <img src="images/back1.png" alt="">
  96. <span>返回</span>
  97. </div>
  98. </div>
  99. <div style="display: flex;">
  100. <div class="contentleft">
  101. <div class="title">
  102. <img src="images/gyy-title1.png" alt="">
  103. <span>园区简介</span>
  104. </div>
  105. <div class="yqjj">
  106. <div class="zwsj" v-if="!this.parkDesc.length">暂无数据</div>
  107. {{parkDesc?parkDesc.slice(0,160):''}}<span v-if="parkDesc && parkDesc.length > 160">...</span>
  108. <span v-if="parkDesc && parkDesc.length > 160" style="color: #186FF0;cursor: pointer;"
  109. @click="cheakmore">更多>></span>
  110. </div>
  111. <div class="title">
  112. <img src="images/gyy-title1.png" alt="">
  113. <span>基本情况</span>
  114. </div>
  115. <div class="jbqk">
  116. <div class="list" style="background-image: url(images/jbqk1.png);">
  117. <p>总面积</p>
  118. <p><span id="totalSpace">-</span><span>平方公里</span></p>
  119. </div>
  120. <div class="list" style="background-image: url(images/jbqk2.png);">
  121. <p>建成面积 </p>
  122. <p><span id="buildSpace">-</span><span>平方公里</span></p>
  123. </div>
  124. <div class="list" style="background-image: url(images/jbqk3.png);">
  125. <p>产业分布</p>
  126. <span class="cyfb" :title="jbqk.industry">{{this.jbqk.industry?this.jbqk.industry:'- '}}</span>
  127. </div>
  128. </div>
  129. <div class="title">
  130. <img src="images/gyy-title8.png" alt="">
  131. <span>便企服务站</span>
  132. </div>
  133. <div class="tsfw">
  134. <div class="list" @click="goToLink('dqfw.html')"><img src="images/tsfw1.png" alt="">
  135. <span>党群服务</span>
  136. </div>
  137. <div class="list" @click="window.open('https://www.cqna.gov.cn/zczs/')">
  138. <img src="images/tsfw3.png" alt=""><span>政策通</span>
  139. </div>
  140. <div class="list" @click="goToLink('tsfw.html')"><img src="images/tsfw5.png" alt="">
  141. <span>特色服务</span>
  142. </div>
  143. <div class="list" @click="goToLink('qysmzq.html')"><img src="images/tsfw4.png" alt="">
  144. <span>生命周期</span>
  145. </div>
  146. <div class="list" @click="goToLink('rcfw.html')"><img src="images/tsfw6.png" alt="">
  147. <span>人才服务</span>
  148. </div>
  149. <div class="list" @click="goToLink('znxz.html')"><img src="images/tsfw2.png" alt="">
  150. <span>智能选址</span>
  151. </div>
  152. <div class="list" @click="goToLink('wybdb.html')"><img src="images/tsfw7.png" alt="">
  153. <span>帮代办</span>
  154. </div>
  155. <div class="list" @click="goToLink('wyyy.html')"><img src="images/tsfw8.png" alt="">
  156. <span>延时办</span>
  157. </div>
  158. </div>
  159. <!-- <div class="title" style="margin-left: 5px;">
  160. <img src="images/gyy-title2.png" alt="">
  161. <span>区位优势</span>
  162. </div>
  163. <div class="qwys" style="height: 179px;">
  164. <div class="zwsj" v-if="!this.qwysList.length">暂无数据</div>
  165. <div class="list" v-for="(item,index) in this.qwysList" v-else>
  166. <div class="name">
  167. <img :src="item.logo" alt="">
  168. <span>{{item.title}}</span>
  169. </div>
  170. <ul>
  171. <li v-for="(item1,index1) in item.subtitleList">
  172. {{item1}}
  173. </li>
  174. </ul>
  175. </div>
  176. </div> -->
  177. <div style="display: flex;justify-content: space-between;height: 398px;">
  178. <div class="left" style="height: 100%;">
  179. <div class="title" style="display: flex;justify-content: space-between;">
  180. <div style="display: flex;align-items: center;">
  181. <img src="images/gyy-title7.png" alt="">
  182. <span>载体租售</span>
  183. </div>
  184. <div class="more" @click="ztcrmore" v-if="this.ztcrList.length">更多>></div>
  185. </div>
  186. <div class="ztcr">
  187. <div class="zwsj" v-if="!this.ztcrList.length">暂无数据</div>
  188. <div class="list" v-for="(item,index) in ztcrList"
  189. @click="goToLink('ztcrdetail.html?ztid=' + item.id)" v-else>
  190. <div class="bg">
  191. <img :src="item.logo" alt="" v-if="item.logo">
  192. <img src="images/ztcrlno.png" alt="" v-else>
  193. <div class="number">{{item.space}}&nbsp;㎡</div>
  194. </div>
  195. <div class="title" :title="item.carrierName">{{item.application}}</div>
  196. <div class="content">{{item.carrierName}}</div>
  197. </div>
  198. </div>
  199. </div>
  200. <div class="right" style="height: 100%;">
  201. <div class="title" style="display: flex;justify-content: space-between;">
  202. <div style="display: flex;align-items: center;">
  203. <img src="images/gyy-title6.png" alt="">
  204. <span>土地出让</span>
  205. </div>
  206. <div class="more" @click="tdcrmore" v-if="this.tdcrList.length">更多>></div>
  207. </div>
  208. <div class="tdcr">
  209. <div class="top">
  210. <div class="left">地块编号</div>
  211. <div class="right">占地面积(亩)</div>
  212. </div>
  213. <div class="zwsj" v-if="!this.tdcrList.length">暂无数据</div>
  214. <div class="content" v-else>
  215. <div class="list" v-for="(item,index) in tdcrList"
  216. @click="goToLink('tdcr.html?tdid=' + item.id)">
  217. <div class="left">{{item.landName}}</div>
  218. <div class="right">{{item.landArea}}</div>
  219. </div>
  220. </div>
  221. </div>
  222. </div>
  223. </div>
  224. <div style="display: flex;justify-content: space-between;">
  225. <div class="left" style="width: 49.5%;">
  226. <div class="title">
  227. <img src="images/gyy-title3.png" alt="">
  228. <span>园区活动</span>
  229. </div>
  230. <div class="yqhd">
  231. <div class="zwsj" v-if="!this.yqhdList.length">暂无数据</div>
  232. <ul v-else>
  233. <li v-for="(item,index) in yqhdList"><span>{{item.title}}</span></li>
  234. </ul>
  235. </div>
  236. </div>
  237. <div class="right" style="width: 49.5%;">
  238. <div class="title">
  239. <img src="images/gyy-title5.png" alt="">
  240. <span>政策文件</span>
  241. </div>
  242. <div class="zcwj">
  243. <ul v-if="zcwjList && zcwjList.length > 0">
  244. <li v-for="(item,index) in zcwjList" @click="goToLink(item.link)">
  245. <div>{{item.title}}</div>
  246. </li>
  247. </ul>
  248. <div class="zwsj" v-else>暂无数据</div>
  249. </div>
  250. </div>
  251. </div>
  252. <!-- <div style="display: flex;justify-content: space-evenly;margin-bottom: 20px;">
  253. <div class="left">
  254. <div class="title">
  255. <img src="images/gyy-title8.png" alt="">
  256. <span>特色服务</span>
  257. </div>
  258. <div class="tsfw">
  259. <div class="list" @click="goToLink('dqfw.html')"><img src="images/tsfw1.png" alt="">
  260. <span>党群服务</span>
  261. </div>
  262. <div class="list" @click="goToLink('znxz.html')"><img src="images/tsfw2.png" alt="">
  263. <span>智能选址</span>
  264. </div>
  265. <div class="list" @click="window.open('https://www.cqna.gov.cn/zczs/')"><img
  266. src="images/tsfw3.png" alt=""> <span>南岸政策通</span></div>
  267. <div class="list" @click="goToLink('tsfw.html')"><img src="images/tsfw4.png" alt="">
  268. <span>便企服务站</span>
  269. </div>
  270. </div>
  271. </div>
  272. <div class="right">
  273. <div class="title">
  274. <img src="images/gyy-title9.png" alt="">
  275. <span>服务事项清单</span>
  276. </div>
  277. <div class="fwsxqd">
  278. <div class="zwsj" v-if="!this.fwsxqdList.length">暂无数据</div>
  279. <div v-for="(item,index) in fwsxqdList" class="list" v-else>
  280. <div v-if="index==0" style="background: #DEEDFF;
  281. border: 1px solid #4B98F6;color: #4B98F6;" @click="goToLink('tsfw.html')">
  282. <div v-if="item.title.length == 6"
  283. style="display: flex;align-items: center;justify-content: center;flex-direction: column;white-space: nowrap;">
  284. <span>{{item.title.slice(0,4)}}</span><span>{{item.title.slice(4,6)}}</span>
  285. </div>
  286. <div v-else>{{item.title}}</div>
  287. </div>
  288. <div v-if="index==1" style="background: #CEEBE8;
  289. border: 1px solid #62B9AF;color: #62B9AF;" @click="goToLink('tsfw.html')">
  290. <div v-if="item.title.length == 6"
  291. style="display: flex;align-items: center;justify-content: center;flex-direction: column;white-space: nowrap;">
  292. <span>{{item.title.slice(0,4)}}</span><span>{{item.title.slice(4,6)}}</span>
  293. </div>
  294. <div v-else>{{item.title}}</div>
  295. </div>
  296. <div v-if="index==2" style="background: #F7EBE0;
  297. border: 1px solid #EFA34E;color: #EFA34E;" @click="goToLink('tsfw.html')">
  298. <div v-if="item.title.length == 6"
  299. style="display: flex;align-items: center;justify-content: center;flex-direction: column;white-space: nowrap;">
  300. <span>{{item.title.slice(0,4)}}</span><span>{{item.title.slice(4,6)}}</span>
  301. </div>
  302. <div v-else>{{item.title}}</div>
  303. </div>
  304. <div v-if="index==3" style="background: #DFF8E2;
  305. border: 1px solid #6CB179;color: #6CB179;" @click="goToLink('tsfw.html')">
  306. <div v-if="item.title.length == 6"
  307. style="display: flex;align-items: center;justify-content: center;flex-direction: column;white-space: nowrap;">
  308. <span>{{item.title.slice(0,4)}}</span><span>{{item.title.slice(4,6)}}</span>
  309. </div>
  310. <div v-else>{{item.title}}</div>
  311. </div>
  312. <div v-if="index==4" style="background: #F7EBE0;
  313. border: 1px solid #EFA34E;color: #EFA34E;" @click="goToLink('tsfw.html')">
  314. <div v-if="item.title.length == 6"
  315. style="display: flex;align-items: center;justify-content: center;flex-direction: column;white-space: nowrap;">
  316. <span>{{item.title.slice(0,4)}}</span><span>{{item.title.slice(4,6)}}</span>
  317. </div>
  318. <div v-else>{{item.title}}</div>
  319. </div>
  320. <div v-if="index==5" style="background: #DEEDFF;
  321. border: 1px solid #4B98F6;color: #4B98F6;" @click="goToLink('qysmzq.html')">
  322. <div v-if="item.title.length == 6"
  323. style="display: flex;align-items: center;justify-content: center;flex-direction: column;white-space: nowrap;">
  324. <span>{{item.title.slice(0,4)}}</span><span>{{item.title.slice(4,6)}}</span>
  325. </div>
  326. <div v-else>{{item.title}}</div>
  327. </div>
  328. </div>
  329. </div>
  330. </div>
  331. </div> -->
  332. <div class="title">
  333. <img src="images/gyy-title4.png" alt="">
  334. <span>明星企业</span>
  335. </div>
  336. <div class="mxqy" id="scrollContainer">
  337. <div class="zwsj" v-if="!this.mxqyList.length">暂无数据</div>
  338. <ul id="auto-scroll-div" :class="{scrollContent:this.mxqyList.length>12}" v-else>
  339. <li v-for="(item,index) in mxqyList" @click="item.link?window.open(item.link):''">
  340. <img :src="item.logo" alt="">
  341. </li>
  342. </ul>
  343. </div>
  344. </div>
  345. <div class="contentright" id="mapcontainer">
  346. </div>
  347. </div>
  348. </div>
  349. </body>
  350. <script>
  351. // 初始化Vue实例
  352. new Vue({
  353. el: '#ggyq',
  354. data: function () {
  355. return {
  356. pageSize: 20,
  357. jbqk: {},
  358. qwysList: [],
  359. yqhdList: [],
  360. mxqyList: [],
  361. tsfwList: [],
  362. zcwjList: [],
  363. ztcrList: [],
  364. tdcrList: [],
  365. fwsxqdList: [],
  366. firstPoint: '',
  367. wordPoint: '',
  368. parkDesc: ''
  369. };
  370. },
  371. mounted() {
  372. const url = new URL(window.location.href);
  373. const id = url.searchParams.get('id');
  374. this.getJBQK(id);
  375. this.getDetail(id);
  376. this.getSellBuild(id);
  377. this.getSellLand(id);
  378. this.getParkActivity(id);
  379. },
  380. methods: {
  381. cheakmore() { },
  382. goIndex() {
  383. window.location.href = "indexsyyg.html"
  384. },
  385. ztcrmore() {
  386. const url = new URL(window.location.href);
  387. const id = url.searchParams.get('id');
  388. window.location.href = "ztcrlist.html?id=" + id;
  389. },
  390. tdcrmore() {
  391. const url = new URL(window.location.href);
  392. const id = url.searchParams.get('id');
  393. window.location.href = "tdcrlist.html?id=" + id;
  394. },
  395. goToLink(url) {
  396. const addr = new URL(window.location.href);
  397. const id = addr.searchParams.get('id');
  398. if (url) {
  399. window.location.href = url + '?id=' + id;
  400. }
  401. },
  402. getJBQK(id) {
  403. let that = this;
  404. $.ajax({
  405. url: conpath + "/parkData/" + id,
  406. type: "get",
  407. dataType: "json",
  408. success: function (data) {
  409. var pointlist = data.addr.split('@');
  410. that.jbqk = data;
  411. that.parkDesc = data.desc;
  412. document.title = that.jbqk.title;
  413. that.loadMap(data.addr);
  414. const time = 500;
  415. // 总面积
  416. const totalSpaceElement = document.getElementById('totalSpace');
  417. that.animateValue(totalSpaceElement, 0, data.totalArea ? parseFloat(data.totalArea).toFixed(2) : '-', time);
  418. // 建成面积
  419. const buildSpaceElement = document.getElementById('buildSpace');
  420. that.animateValue(buildSpaceElement, 0, data.buildArea ? parseFloat(data.buildArea).toFixed(2) : '-', time);
  421. }
  422. })
  423. },
  424. loadMap(points) {
  425. let map = new BMap.Map("mapcontainer");
  426. map.enableScrollWheelZoom();// 启用滚轮缩放
  427. map.enableDragging(); // 启用拖拽功能
  428. const addr = new URL(window.location.href);
  429. const id = addr.searchParams.get('id');
  430. // 设定中心点和地图级别
  431. if (id == 1) {
  432. map.centerAndZoom(new BMap.Point(106.651444, 29.45682), 14);
  433. // var marker = new BMap.Marker(new BMap.Point(106.651444, 29.48682)); // 创建标注
  434. // map.addOverlay(marker);
  435. } else if (id == 2) {
  436. map.centerAndZoom(new BMap.Point(106.76723874457288, 29.573276880811712), 14);
  437. } else if (id == 3) {
  438. map.centerAndZoom(new BMap.Point(106.69517131217539, 29.51577313312822), 15);
  439. } else if (id == 4) {
  440. map.centerAndZoom(new BMap.Point(106.559829995157, 29.501581648208534), 15);
  441. } else if (id == 5) {
  442. map.centerAndZoom(new BMap.Point(106.72194027111843, 29.513690776940248), 16);
  443. } else if (id == 6) {
  444. map.centerAndZoom(new BMap.Point(106.70580793222035, 29.514020426917684), 16);
  445. } else {
  446. map.centerAndZoom(new BMap.Point(106.651444, 29.48682), 14);
  447. }
  448. map.setMapType(BMAP_SATELLITE_MAP);
  449. if (!points) return;
  450. let pointList = points.split('@');
  451. let result = [];
  452. pointList.forEach(function (point) {
  453. let arr = point.split(',');
  454. result.push(new BMap.Point(arr[0], arr[1]));
  455. });
  456. // 创建多边形
  457. let polygon = new BMap.Polygon(result, {
  458. strokeColor: "blue",
  459. strokeWeight: 4,
  460. strokeOpacity: 0.5,
  461. strokeStyle: "solid",
  462. fillColor: "#4B98F6",
  463. fillOpacity: 0.3
  464. });
  465. // 将多边形添加到地图中
  466. map.addOverlay(polygon);
  467. // 创建文本标签
  468. if (id == 1) {
  469. var opts = {
  470. position: new BMap.Point(106.644876, 29.491868), // 指定文本标签所在的地理位置
  471. offset: new BMap.Size(10, 10) // 设置文本偏移量
  472. };
  473. } else if (id == 2) {
  474. var opts = {
  475. position: new BMap.Point(106.75723874457288, 29.603376880811712), // 指定文本标签所在的地理位置
  476. offset: new BMap.Size(10, 10) // 设置文本偏移量
  477. };
  478. } else if (id == 3) {
  479. var opts = {
  480. position: new BMap.Point(106.68517131217539, 29.53777313312822), // 指定文本标签所在的地理位置
  481. offset: new BMap.Size(10, 10) // 设置文本偏移量
  482. };
  483. } else if (id == 4) {
  484. var opts = {
  485. position: new BMap.Point(106.552829995157, 29.520581648208534), // 指定文本标签所在的地理位置
  486. offset: new BMap.Size(10, 10) // 设置文本偏移量
  487. };
  488. } else if (id == 5) {
  489. var opts = {
  490. position: new BMap.Point(106.71894027111843, 29.522690776940248), // 指定文本标签所在的地理位置
  491. offset: new BMap.Size(10, 10) // 设置文本偏移量
  492. };
  493. } else if (id == 6) {
  494. var opts = {
  495. position: new BMap.Point(106.70480793222035, 29.523020426917684), // 指定文本标签所在的地理位置
  496. offset: new BMap.Size(10, 10) // 设置文本偏移量
  497. };
  498. } else {
  499. var opts = {
  500. position: new BMap.Point(106.644876, 29.491868), // 指定文本标签所在的地理位置
  501. offset: new BMap.Size(10, 10) // 设置文本偏移量
  502. };
  503. }
  504. // 创建文本标签对象,并添加到地图
  505. var label = new BMap.Label(this.jbqk.title, opts);
  506. // 自定义文本标签样式
  507. label.setStyle({
  508. color: "#FFFFFF",
  509. fontSize: "22px",
  510. height: "auto",
  511. lineHeight: "20px",
  512. fontFamily: "微软雅黑",
  513. fontWeight: 'bold',
  514. backgroundColor: 'transparent',
  515. border: 'none',
  516. textShadow: '0 0 4px #4B97F5',
  517. textStrokeColor: "#4B97F5", // 文本描边颜色
  518. textStrokeWidth: "4px", // 文本描边宽度
  519. });
  520. map.addOverlay(label);
  521. },
  522. getDetail(id) {
  523. let that = this;
  524. $.ajax({
  525. url: conpath + "/parkData/details/" + id,
  526. type: "get",
  527. dataType: "json",
  528. success: function (data) {
  529. // 特色服务
  530. that.tsfwList = data.filter(item => item.moduleType === "1");
  531. // 区位优势
  532. that.qwysList = data.filter(item => item.moduleType === "2");
  533. that.qwysList.forEach(item => {
  534. if (item.subtitle) {
  535. item.subtitleList = item.subtitle.split(",");
  536. }
  537. });
  538. // 明星企业
  539. that.mxqyList = data.filter(item => item.moduleType === "3");
  540. // 特色服务
  541. that.fwsxqdList = data.filter(item => item.moduleType === "4");
  542. // 政策文件
  543. that.zcwjList = data.filter(item => item.moduleType === "5");
  544. }
  545. });
  546. },
  547. getSellBuild(id) {
  548. let that = this;
  549. $.ajax({
  550. url: conpath + "/sellBuild",
  551. type: "post",
  552. contentType: 'application/json',
  553. data: JSON.stringify({
  554. "currentPage": 1,
  555. "pageSize": that.pageSize,
  556. "parkId": id
  557. }),
  558. dataType: "json",
  559. success: function (data) {
  560. let dataList = data.list;
  561. dataList.forEach(function (d) {
  562. d.logo = d.imgUrl ? d.imgUrl.split(",")[0] : '';
  563. });
  564. that.ztcrList = dataList.splice(0, 6);
  565. }
  566. });
  567. },
  568. getSellLand(id) {
  569. let that = this;
  570. $.ajax({
  571. url: conpath + "/sellLand",
  572. type: "post",
  573. contentType: 'application/json',
  574. data: JSON.stringify({
  575. "currentPage": 1,
  576. "pageSize": that.pageSize,
  577. "parkId": id
  578. }),
  579. dataType: "json",
  580. success: function (data) {
  581. let dataList = data.list;
  582. that.tdcrList = dataList;
  583. }
  584. });
  585. },
  586. getParkActivity(id) {
  587. let that = this;
  588. $.ajax({
  589. url: conpath + "/parkActivity",
  590. type: "post",
  591. contentType: 'application/json',
  592. data: JSON.stringify({
  593. "currentPage": 1,
  594. "pageSize": that.pageSize,
  595. "parkId": id
  596. }),
  597. dataType: "json",
  598. success: function (data) {
  599. let dataList = data.list;
  600. that.yqhdList = dataList;
  601. }
  602. });
  603. },
  604. animateValue(obj, start, end, duration) {
  605. let startTimestamp = null;
  606. const step = (timestamp) => {
  607. if (!startTimestamp) startTimestamp = timestamp;
  608. const progress = Math.min((timestamp - startTimestamp) / duration, 1);
  609. obj.innerHTML = Math.floor(progress * (end - start) + start);
  610. if (progress < 1) {
  611. window.requestAnimationFrame(step);
  612. } else {
  613. obj.innerHTML = end;
  614. obj.classList.remove('animate');
  615. }
  616. };
  617. obj.classList.add('animate');
  618. window.requestAnimationFrame(step);
  619. }
  620. }
  621. });
  622. </script>
  623. <script>
  624. // const scrollContent = document.querySelector('.scrollContent');
  625. // function generateContent() {
  626. // const content = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit...';
  627. // let generatedContent = '';
  628. // for (let i = 0; i < 5; i++) { // 生成5次以创建循环效果
  629. // generatedContent += content;
  630. // }
  631. // scrollContent.innerHTML = generatedContent;
  632. // }
  633. // generateContent();
  634. </script>
  635. </html>