MainPage.vue 8.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384
  1. <template>
  2. <div id="firstPage">
  3. <!-- <img class="img" id="img1" src="../assets/png/title.png" /> -->
  4. <!-- <div id="time_time">10:45:23</div>
  5. <div id="time_week">星期五</div>
  6. <div id="time_day">2021.05.16</div> -->
  7. <Time></Time>
  8. <img class="img" id="img2" src="../assets/png/title.png" />
  9. <img class="img" id="first_img" src="../assets/png/first1.png" />
  10. <div id="left_div">
  11. <img class="menu" src="../assets/png/1.png" />
  12. <ViewPage :szdata='dataAll.index'></ViewPage>
  13. <img class="menu" id="peopleStatus" src="../assets/png/2.png" />
  14. <img id="person_status" src="../assets/png/people_status.png" />
  15. <PersonStatusPage></PersonStatusPage>
  16. <img class="menu" id="insuredStatus" src="../assets/png/3.png" />
  17. <img id="insured_status" src="../assets/png/insured_status.png" />
  18. <InsuredPage></InsuredPage>
  19. </div>
  20. <div id="right_div">
  21. <img class="menu" id="importantPersonStatus" src="../assets/png/4.png" />
  22. <KeyPopulationPage :important='dataAll.important'></KeyPopulationPage>
  23. <img class="menu" id="employmentSituation" src="../assets/png/5.png" />
  24. <EmploymentSituation :working='dataAll.working'></EmploymentSituation>
  25. <img class="menu" id="education" src="../assets/png/6.png" />
  26. <EducationPage :dataAll='dataAll'></EducationPage>
  27. <img class="menu" id="vaccination" src="../assets/png/7.png" />
  28. <VaccinationPage :vaccin='dataAll.vaccin'></VaccinationPage>
  29. </div>
  30. <div id="click" class="click_class" v-on:click="to3DMap('大中社区')"></div>
  31. <div class="click_class" myName='叶家舍小区' id="click_1" v-on:click="toZheji('柘矶社区')"></div>
  32. <div class="click_class" myName='大岭社区' id="click_2" v-on:click="toOther('大岭社区')"></div>
  33. <div class="click_class" myName='台山社区' id="click_3" v-on:click="toOther('台山社区')"></div>
  34. <div class="click_class" myName='云亭社区' id="click_4" v-on:click="toOther('云亭社区')"></div>
  35. <div class="click_class" myName='西门社区' id="click_5" v-on:click="toXiMen('西门社区')"></div>
  36. <div class="click_class" myName='江阀社区' id="click_6" v-on:click="toOther('江阀社区')"></div>
  37. <div class="click_class" myName='莲湾社区' id="click_7" v-on:click="toOther('莲湾社区')"></div>
  38. <div class="click_class" myName='三里社区' id="click_8" v-on:click="toOther('三里社区')"></div>
  39. <div class="click_class" myName='江新社区' id="click_9" v-on:click="toOther('江新社区')"></div>
  40. <div class="click_class" myName='钟山社区' id="click_10" v-on:click="toOther('钟山社区')"></div>
  41. <div class="click_class" myName='鄱湖社区' id="click_11" v-on:click="toOther('鄱湖社区')"></div>
  42. <div class="click_class" myName='胜利村' id="click_12" v-on:click="toOther('胜利村')"></div>
  43. <div class="click_class" myName='月亮村' id="click_13" v-on:click="toOther('月亮村')"></div>
  44. <div class="click_class" myName='洪湖村' id="click_14" v-on:click="toOther('洪湖村')"></div>
  45. <div class="click_class" myName='柏树社区' id="click_15" v-on:click="toOther('柏树社区')"></div>
  46. <div class="click_class" myName='洋港社区' id="click_16" v-on:click="toOther('洋港社区')"></div>
  47. </div>
  48. </template>
  49. <script>
  50. import Time from "./Time.vue";
  51. import PersonStatusPage from "./MainPageChild/PersonStatusPage.vue";
  52. import ViewPage from "./MainPageChild/ViewPage.vue";
  53. import InsuredPage from "./MainPageChild/InsuredPage.vue";
  54. import KeyPopulationPage from "./MainPageChild/KeyPopulationPage.vue";
  55. import EmploymentSituation from "./MainPageChild/EmploymentSituation.vue";
  56. import VaccinationPage from "./MainPageChild/VaccinationPage.vue";
  57. import EducationPage from "./MainPageChild/EducationPage.vue";
  58. import {
  59. SZZSY_httpGet,
  60. SZZSQSY_httpGet,
  61. SZZXQ_httpGet,
  62. } from "../assets/api/loadData.js";
  63. export default {
  64. name: "MainPage",
  65. components: {
  66. Time,
  67. PersonStatusPage,
  68. ViewPage,
  69. InsuredPage,
  70. KeyPopulationPage,
  71. EmploymentSituation,
  72. VaccinationPage,
  73. EducationPage,
  74. VaccinationPage,
  75. },
  76. data() {
  77. return {
  78. dataAll: {}
  79. };
  80. },
  81. created() {},
  82. mounted() {
  83. this.change();
  84. // 拿到首页数据,传给左侧的组件
  85. let clear = setInterval(() => {
  86. if (
  87. this.$store.getters.getSzdata.code === 10000 &&
  88. this.$store.getters.getSzdata.data.index
  89. ) {
  90. this.dataAll = this.$store.getters.getSzdata.data;
  91. console.log('拿到首页全部数据', this.dataAll);
  92. clearInterval(clear);
  93. }
  94. }, 500);
  95. },
  96. methods: {
  97. change() {
  98. let boxCollection = document.getElementsByClassName("click_class");
  99. for (let i = 0; i < boxCollection.length; i++) {
  100. boxCollection[i].addEventListener("click", (event) => {
  101. window.name = window.cesiumMap.addLocationName(event);
  102. // setTimeout(() => {
  103. // this.changeData(event.target.getAttribute("name"));
  104. // }, 1000);
  105. });
  106. }
  107. },
  108. changeData(name) {
  109. SZZSQSY_httpGet(
  110. name,
  111. (result) => {
  112. this.$store.commit("setDaZhongdata", result.data);
  113. //this.$store.commit("setSzdata", result.data);
  114. },
  115. (result) => {
  116. console.log(name, result)
  117. }
  118. );
  119. },
  120. to3DMap(name) {
  121. setTimeout(() => {
  122. this.changeData(name);
  123. window.cesiumMap.removeGaode();
  124. window.cesiumMap.addEntity();
  125. }, 100);
  126. this.$router.replace({
  127. path:"/daZhong",
  128. query:{imgName:name}
  129. });
  130. },
  131. toZheji(name) {
  132. this.changeData(name);
  133. window.cesiumMap.addGaode();
  134. this.$router.replace({
  135. path:"/zheJi",
  136. query:{imgName:name}
  137. });
  138. },
  139. toXiMen(name) {
  140. this.changeData(name);
  141. window.cesiumMap.loadximen();
  142. window.cesiumMap.addLocationName({
  143. target: {
  144. id: "click_5",
  145. },
  146. });
  147. this.$router.replace({
  148. path:"/ximen",
  149. query:{imgName:name}
  150. });
  151. },
  152. toOther(name) {
  153. this.changeData(name);
  154. window.cesiumMap.addGaode();
  155. this.$router.replace({
  156. path:"/other",
  157. query:{imgName:name}
  158. });
  159. },
  160. },
  161. };
  162. </script>
  163. <style scoped>
  164. #peopleStatus {
  165. top: 28%;
  166. }
  167. #insuredStatus {
  168. top: 75%;
  169. }
  170. #importantPersonStatus {
  171. left: 10%;
  172. }
  173. #employmentSituation {
  174. top: 22%;
  175. }
  176. #vaccination {
  177. top: 75%;
  178. width: 200px;
  179. }
  180. #education {
  181. top: 45%;
  182. }
  183. #person_status {
  184. position: absolute;
  185. top: 30%;
  186. left: 50%;
  187. width: 30%;
  188. }
  189. #insured_status {
  190. position: absolute;
  191. bottom: 5%;
  192. left: 50%;
  193. width: 20%;
  194. }
  195. #right_div {
  196. position: absolute;
  197. z-index: 120;
  198. color: azure;
  199. width: 25%;
  200. height: 90%;
  201. top: 10%;
  202. right: 1%;
  203. /* background-color: rgb(0,0,0,0.1); */
  204. }
  205. #left_div {
  206. position: absolute;
  207. z-index: 120;
  208. color: azure;
  209. width: 25%;
  210. height: 90%;
  211. top: 10%;
  212. /* background-color: rgb(0,0,0,0.1); */
  213. }
  214. .menu {
  215. position: absolute;
  216. width: 150px;
  217. left: 10%;
  218. }
  219. .font_background_png {
  220. z-index: 119;
  221. position: absolute;
  222. top: -50%;
  223. }
  224. #firstPage {
  225. position: absolute;
  226. width: 100%;
  227. height: 100%;
  228. margin: 0;
  229. padding: 0;
  230. }
  231. .img {
  232. position: absolute;
  233. }
  234. #img1 {
  235. bottom: 1%;
  236. left: 50%;
  237. transform: translateX(-50%);
  238. z-index: 111;
  239. width: 50%;
  240. }
  241. #img2 {
  242. top: -1%;
  243. left: 50%;
  244. transform: translateX(-50%);
  245. z-index: 111;
  246. width: 30%;
  247. }
  248. #first_img {
  249. position: absolute;
  250. z-index: 110;
  251. width: 100%;
  252. height: 100%;
  253. }
  254. .click_class {
  255. position: absolute;
  256. z-index: 111;
  257. width: 80px;
  258. height: 40px;
  259. cursor: pointer;
  260. }
  261. #click {
  262. position: absolute;
  263. z-index: 111;
  264. width: 80px;
  265. height: 40px;
  266. left: 38%;
  267. top: 33%;
  268. cursor: pointer;
  269. }
  270. #click_1 {
  271. left: 54%;
  272. top: 48%;
  273. }
  274. #click_2 {
  275. left: 47.5%;
  276. top: 32.5%;
  277. }
  278. #click_3 {
  279. left: 57.5%;
  280. top: 31%;
  281. }
  282. #click_4 {
  283. left: 41%;
  284. top: 36%;
  285. }
  286. #click_5 {
  287. position: absolute;
  288. z-index: 111;
  289. width: 80px;
  290. height: 40px;
  291. left: 32%;
  292. top: 38%;
  293. cursor: pointer;
  294. }
  295. #click_6 {
  296. left: 36%;
  297. top: 42%;
  298. }
  299. #click_7 {
  300. left: 42%;
  301. top: 43%;
  302. }
  303. #click_8 {
  304. left: 52%;
  305. top: 40%;
  306. }
  307. #click_9 {
  308. left: 52.5%;
  309. top: 35%;
  310. }
  311. #click_10 {
  312. left: 51.5%;
  313. top: 45%;
  314. }
  315. #click_11 {
  316. left: 59%;
  317. top: 47%;
  318. }
  319. #click_12 {
  320. left: 63%;
  321. top: 54%;
  322. }
  323. #click_13 {
  324. left: 38%;
  325. top: 53%;
  326. }
  327. #click_14 {
  328. left: 27%;
  329. top: 56%;
  330. }
  331. #click_15 {
  332. left: 65%;
  333. top: 43%;
  334. }
  335. #click_16 {
  336. left: 48.5%;
  337. top: 27%;
  338. }
  339. </style>