index.html 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8" />
  5. <title></title>
  6. <link href="css/style.css" rel="stylesheet" />
  7. </head>
  8. <body>
  9. <div id="app">
  10. <div class="top">
  11. <div class="flex">
  12. <div class="f tti" :class="{active:now==0}" @click="tab(0)">游前数据</div>
  13. <div class="f">
  14. <div class="logo">
  15. <img class="u4" src="img/u4.svg" />
  16. <div class="uti">谢通门县旅游数据平台</div>
  17. <img class="u5" src="img/u5.svg" />
  18. </div>
  19. </div>
  20. <div class="f tti" :class="{active:now==1}" @click="tab(1)">游中数据</div>
  21. </div>
  22. </div>
  23. <div class="content" v-if="now==0">
  24. <div class="s33">
  25. <div class="icon">
  26. <img src="img/u110.svg" class="tb">
  27. <div class="btw">客流量</div>
  28. </div>
  29. <div class="cons">
  30. <div id="kll" style="width:105%;height:300px;"></div>
  31. </div>
  32. </div>
  33. <div class="s33">
  34. <div class="icon">
  35. <img src="img/u110.svg" class="tb">
  36. <div class="btw">景区展示</div>
  37. </div>
  38. <div class="cons">
  39. <iframe src="rl.html" style="height: 280px;"></iframe>
  40. </div>
  41. </div>
  42. <div class="s33">
  43. <div class="icon">
  44. <img src="img/u119.svg" class="tb">
  45. <div class="btw">交通信息</div>
  46. </div>
  47. <div class="cons">
  48. <div id="jtxx" style="width:105%;height:300px;"></div>
  49. </div>
  50. </div>
  51. <div class="s33">
  52. <div class="icon">
  53. <img src="img/u113.svg" class="tb">
  54. <div class="btw">经营状况</div>
  55. </div>
  56. <div class="cons">
  57. <div id="jyzk" style="width:105%;height:300px;"></div>
  58. </div>
  59. </div>
  60. <div class="s33">
  61. <div class="icon">
  62. <img src="img/u118.svg" class="tb">
  63. <div class="btw">游客画像</div>
  64. </div>
  65. <div class="cons">
  66. <div id="ykhx" style="width:105%;height:300px;"></div>
  67. </div>
  68. </div>
  69. <div class="s33">
  70. <div class="icon">
  71. <img src="img/u334.svg" class="tb">
  72. <div class="btw">舆情评价</div>
  73. </div>
  74. <div class="cons">
  75. <canvas id="canvas" width="400px" height="300px"></canvas>
  76. </div>
  77. </div>
  78. </div>
  79. <div class="content" v-else>
  80. <div class="s33">
  81. <div class="icon">
  82. <img src="img/u676.svg" class="tb">
  83. <div class="btw">酒店预定数据</div>
  84. </div>
  85. <div class="cons">
  86. <div id="jd" style="width:105%;height: 270px;"></div>
  87. </div>
  88. </div>
  89. <div class="s33">
  90. <div class="icon">
  91. <img src="img/u652.svg" class="tb">
  92. <div class="btw">酒店信息概况</div>
  93. </div>
  94. <div class="cons">
  95. <iframe src="jd.html"></iframe>
  96. </div>
  97. </div>
  98. <div class="s33">
  99. <div class="icon">
  100. <img src="img/u674.svg" class="tb">
  101. <div class="btw">天气</div>
  102. </div>
  103. <div class="cons">
  104. <div class="flex">
  105. <div class="f rq">2021年10月11日 星期一</div>
  106. <div class="f rq">21:45:13</div>
  107. </div>
  108. <div class="flex tqt">
  109. <div class="f">
  110. <img class="tqw" src="img/u789.svg" />
  111. <div class="tq1">风向:</div>
  112. <div class="tq2">南风</div>
  113. </div>
  114. <div class="f">
  115. <img class="tqw" src="img/u785.svg" />
  116. <div class="tq1">含氧量:</div>
  117. <div class="tq2 tty">60%</div>
  118. </div>
  119. </div>
  120. <div class="flex tqt">
  121. <div class="f">
  122. <img class="tqw" src="img/u555.svg" />
  123. <div class="tq1">整体:</div>
  124. <div class="tq2">多云转晴</div>
  125. </div>
  126. <div class="f">
  127. <img class="tqw" src="img/u788.svg" />
  128. <div class="tq1">粉尘指标:</div>
  129. <div class="tq2 tty">10%</div>
  130. </div>
  131. </div>
  132. <div class="flex tqt">
  133. <div class="f">
  134. <img class="tqw" src="img/u787.svg" />
  135. <div class="tq1">温度:</div>
  136. <div class="tq2">27℃-30℃</div>
  137. </div>
  138. <div class="f">
  139. <img class="tqw" src="img/u786.svg" />
  140. <div class="tq1">PM2.5:</div>
  141. <div class="tq2 tty">55</div>
  142. </div>
  143. </div>
  144. <div class="flex tqt">
  145. <div class="f">
  146. <img class="tqw" src="img/u556.svg" />
  147. <div class="tq1">湿度:</div>
  148. <div class="tq2">40%</div>
  149. </div>
  150. <div class="f">
  151. <img class="tqw" src="img/u784.svg" />
  152. <div class="tq1">当前风速:</div>
  153. <div class="tq2 tty">4级</div>
  154. </div>
  155. </div>
  156. </div>
  157. </div>
  158. <div class="s45">
  159. <div class="icon">
  160. <img src="img/u675.svg" class="tb">
  161. <div class="btw">停车场数据</div>
  162. </div>
  163. <div class="cons">
  164. <div class="flex">
  165. <div class="f" style="text-align: center;margin-top: 10px; ">
  166. <span class="tag">2</span>
  167. <span class="tag">3</span>
  168. <span class="tag">4</span>
  169. <span class="tag">5</span>
  170. <span class="tags">次</span>
  171. <div class="car">
  172. <img src="img/u573.svg" />
  173. <img src="img/u573.svg" />
  174. <img src="img/u573.svg" />
  175. <img src="img/u570.svg" />
  176. <img src="img/u570.svg" />
  177. <img src="img/u570.svg" />
  178. </div>
  179. <div class="flex">
  180. <div class="f num">
  181. <div>123</div>
  182. <div>入场车辆</div>
  183. </div>
  184. <div class="f num ss" style="background-color: #2b2957;">
  185. <div>45</div>
  186. <div>出场车辆</div>
  187. </div>
  188. </div>
  189. </div>
  190. <div class="f">
  191. <div id="tcc" style="width:105%;height:300px;"></div>
  192. </div>
  193. </div>
  194. </div>
  195. </div>
  196. <div class="s45">
  197. <div class="icon">
  198. <img src="img/u780.svg" class="tb">
  199. <div class="btw">视频监控</div>
  200. </div>
  201. <div class="cons">
  202. <div class="video">
  203. <div class="v" style="border: 0px;">
  204. <iframe src="https://stlab.gxqrjf.com:20443/liveplayer/" allowfullscreen="true"
  205. style="width: 100%;"></iframe>
  206. </div>
  207. <div class="v pad">摄像头离线</div>
  208. <div class="v pad">摄像头离线</div>
  209. </div>
  210. <div class="video">
  211. <div class="v pad">摄像头离线</div>
  212. <div class="v pad">摄像头离线</div>
  213. <div class="v pad">摄像头离线</div>
  214. </div>
  215. </div>
  216. </div>
  217. </div>
  218. </div>
  219. <script src="js/vue.min.js"></script>
  220. <script src="js/echarts.min.js"></script>
  221. <script src="js/jquery.min.js"></script>
  222. <script src="js/wordcloud2.js"></script>
  223. <script>
  224. let vm = new Vue({
  225. el: "#app",
  226. data: {
  227. item: {},
  228. now: 0
  229. },
  230. mounted() {
  231. this.tab();
  232. },
  233. methods: {
  234. tab(now = 0) {
  235. this.now = now;
  236. if (this.now == 0) {
  237. setTimeout(() => {
  238. this.kll();
  239. this.jtxx();
  240. this.jyzk();
  241. this.ykhx();
  242. this.yq();
  243. }, 300);
  244. }
  245. if (this.now == 1) {
  246. setTimeout(() => {
  247. this.jd();
  248. this.tcc();
  249. }, 300);
  250. }
  251. },
  252. //客流量
  253. kll() {
  254. let option = {
  255. xAxis: {
  256. type: 'category',
  257. data: ['星期一', '星期二', '星期三', '星期四', '星期五', '星期六', '星期天'],
  258. axisLabel: {
  259. textStyle: {
  260. color: '#ffffff',
  261. fontSize: 14, //字体大小
  262. }
  263. }
  264. },
  265. yAxis: {
  266. type: 'value',
  267. axisLabel: {
  268. textStyle: {
  269. color: '#ffffff',
  270. fontSize: 14, //字体大小
  271. }
  272. }
  273. },
  274. series: [{
  275. data: [820, 932, 901, 934, 1290, 1330, 1320],
  276. type: 'line',
  277. areaStyle: {}
  278. }]
  279. };
  280. echarts.init(document.getElementById('kll')).setOption(option);
  281. },
  282. //交通信息
  283. jtxx() {
  284. let option = {
  285. tooltip: {},
  286. legend: {
  287. data: ['飞机', '汽车', '火车'],
  288. textStyle: {
  289. color: '#ffffff' //字体颜色
  290. },
  291. },
  292. xAxis: {
  293. data: ['星期一', '星期二', '星期三', '星期四', '星期五', '星期六', '星期天'],
  294. axisLabel: {
  295. textStyle: {
  296. color: '#ffffff',
  297. fontSize: 14, //字体大小
  298. }
  299. }
  300. },
  301. yAxis: {
  302. axisLabel: {
  303. textStyle: {
  304. color: '#ffffff',
  305. fontSize: 14, //字体大小
  306. }
  307. }
  308. },
  309. series: [{
  310. name: '飞机',
  311. type: 'bar',
  312. data: [5, 20, 36, 10, 10, 20, 13]
  313. }, {
  314. name: '汽车',
  315. type: 'bar',
  316. data: [5, 20, 36, 10, 10, 20, 13]
  317. }, {
  318. name: '火车',
  319. type: 'bar',
  320. data: [5, 30, 36, 10, 10, 20, 13]
  321. }]
  322. };
  323. echarts.init(document.getElementById('jtxx')).setOption(option);
  324. },
  325. //经营状况
  326. jyzk() {
  327. let option = {
  328. tooltip: {},
  329. legend: {
  330. data: ['飞机'],
  331. textStyle: {
  332. color: '#ffffff' //字体颜色
  333. },
  334. },
  335. xAxis: {
  336. data: ['店铺1', '店铺2', '店铺3', '店铺4', '店铺5'],
  337. axisLabel: {
  338. textStyle: {
  339. color: '#ffffff',
  340. fontSize: 14, //字体大小
  341. }
  342. }
  343. },
  344. yAxis: {
  345. axisLabel: {
  346. textStyle: {
  347. color: '#ffffff',
  348. fontSize: 14, //字体大小
  349. }
  350. }
  351. },
  352. series: [{
  353. name: '飞机',
  354. type: 'bar',
  355. data: [5, 20, 36, 10, 10]
  356. }]
  357. };
  358. echarts.init(document.getElementById('jyzk')).setOption(option);
  359. },
  360. //游客画像
  361. ykhx() {
  362. let option = {
  363. tooltip: {
  364. trigger: 'item'
  365. },
  366. series: [{
  367. name: '统计人数',
  368. type: 'pie',
  369. radius: '65%',
  370. data: [{
  371. value: 1048,
  372. name: '老年人数'
  373. },
  374. {
  375. value: 735,
  376. name: '中年人数'
  377. },
  378. {
  379. value: 580,
  380. name: '青年人数'
  381. }
  382. ],
  383. itemStyle: {
  384. normal: {
  385. label: {
  386. textStyle: {
  387. color: '#ffffff',
  388. fontSize: 15,
  389. fontWeight: 'bolder'
  390. }
  391. }
  392. }
  393. }
  394. }]
  395. };
  396. echarts.init(document.getElementById('ykhx')).setOption(option);
  397. },
  398. //酒店预定数据
  399. jd() {
  400. let option = {
  401. tooltip: {
  402. trigger: 'axis',
  403. axisPointer: {
  404. type: 'cross',
  405. label: {
  406. backgroundColor: '#6a7985'
  407. }
  408. }
  409. },
  410. grid: {
  411. top: '-3%',
  412. left: '3%',
  413. right: '7%',
  414. bottom: '3%',
  415. containLabel: true
  416. },
  417. xAxis: [{
  418. type: 'category',
  419. boundaryGap: false,
  420. data: ['星期一', '星期二', '星期三', '星期四', '星期五', '星期六', '星期日'],
  421. axisLabel: {
  422. textStyle: {
  423. color: '#ffffff',
  424. fontSize: 14, //字体大小
  425. }
  426. }
  427. }],
  428. yAxis: [{
  429. type: 'value',
  430. axisLabel: {
  431. textStyle: {
  432. color: '#ffffff',
  433. fontSize: 14, //字体大小
  434. }
  435. }
  436. }],
  437. series: [{
  438. name: 'Email',
  439. type: 'line',
  440. stack: 'Total',
  441. areaStyle: {},
  442. data: [120, 132, 101, 134, 90, 230, 210]
  443. },
  444. {
  445. name: 'Union Ads',
  446. type: 'line',
  447. stack: 'Total',
  448. areaStyle: {},
  449. data: [220, 182, 191, 234, 290, 330, 310]
  450. },
  451. {
  452. name: 'Video Ads',
  453. type: 'line',
  454. stack: 'Total',
  455. areaStyle: {},
  456. data: [150, 232, 201, 154, 190, 330, 410]
  457. }
  458. ]
  459. };
  460. echarts.init(document.getElementById('jd')).setOption(option);
  461. },
  462. //停车场数据
  463. tcc() {
  464. let option = {
  465. tooltip: {
  466. trigger: 'item'
  467. },
  468. series: [{
  469. name: '统计车辆',
  470. type: 'pie',
  471. radius: '65%',
  472. data: [{
  473. value: 1048,
  474. name: '外地车辆'
  475. },
  476. {
  477. value: 735,
  478. name: '本地车辆'
  479. }
  480. ],
  481. itemStyle: {
  482. normal: {
  483. label: {
  484. textStyle: {
  485. color: '#ffffff',
  486. fontSize: 17,
  487. fontWeight: 'bolder'
  488. }
  489. }
  490. }
  491. }
  492. }]
  493. };
  494. echarts.init(document.getElementById('tcc')).setOption(option);
  495. },
  496. //舆情评价
  497. yq() {
  498. let options = eval({
  499. "list": [
  500. ['服务好', 15],
  501. ['开心', 9],
  502. ['晴空万里 ', 7],
  503. ['会再来', 6],
  504. ['好玩', 4],
  505. ['热情', 5],
  506. ['山明水秀', 4],
  507. ['喜欢', 3],
  508. ['干净整洁', 3],
  509. ['门票价格低', 3],
  510. ['环境优美', 3]
  511. ],
  512. "gridSize": 13, // size of the grid in pixels
  513. "weightFactor": 10, // number to multiply for size of each word in the list
  514. "fontWeight": 'normal', // 'normal', 'bold' or a callback
  515. "fontFamily": 'Times, serif', // font to use
  516. "color": 'random-light',
  517. "backgroundColor": '#f0f8ff00'
  518. });
  519. var canvas = document.getElementById('canvas');
  520. //调用WordCloud
  521. WordCloud(canvas, options);
  522. }
  523. }
  524. })
  525. </script>
  526. </body>
  527. </html>