index.vue 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277
  1. <template>
  2. <div class="h5">
  3. <div class="top"></div>
  4. <div class="name">
  5. <div class="">{{detail.xq || '暂无'}}</div>
  6. </div>
  7. <div class="content" v-if="detail">
  8. <div class="contPlate">
  9. <div class="text">区域</div>
  10. <div class="txt">{{detail.qx || '-'}}</div>
  11. </div>
  12. <div class="contPlate">
  13. <div class="text">详细地址</div>
  14. <div class="txt">{{detail.xxdz || '-'}}</div>
  15. </div>
  16. <div class="contPlate">
  17. <div class="text">乡镇街道</div>
  18. <div class="txt">{{detail.xzjd || '-'}}</div>
  19. </div>
  20. <div class="contPlate">
  21. <div class="text">高度</div>
  22. <div class="txt">{{detail.gd || '-'}}m</div>
  23. </div>
  24. <div class="archText">建筑照片</div>
  25. <div class="attImg" v-if="detail">
  26. <el-image style="width: 75px; height: 51px; margin-right: 29px" :src="detail.jzzp1"
  27. :preview-src-list="srcList" v-if="detail.jzzp1">
  28. </el-image>
  29. <el-image style="width: 75px; height: 51px; margin-right: 29px" :src="detail.jzzp2"
  30. :preview-src-list="srcList" v-if="detail.jzzp2">
  31. </el-image>
  32. <el-image style="width: 75px; height: 51px; margin-right: 29px" :src="detail.jzzp3"
  33. :preview-src-list="srcList" v-if="detail.jzzp3">
  34. </el-image>
  35. <el-image style="width: 75px; height: 51px; margin-right: 29px" :src="detail.jzzp4"
  36. :preview-src-list="srcList" v-if="detail.jzzp4">
  37. </el-image>
  38. <el-image style="width: 75px; height: 51px; margin-right: 29px" :src="detail.jzzp5"
  39. :preview-src-list="srcList" v-if="detail.jzzp5">
  40. </el-image>
  41. </div>
  42. <div class="contPlate">
  43. <div class="text">建筑面积</div>
  44. <div class="txt">{{detail.jzmj || '-'}}m2</div>
  45. </div>
  46. <div class="contPlate">
  47. <div class="text">地上楼层</div>
  48. <div class="txt">{{detail.dslc || '-'}}</div>
  49. </div>
  50. <div class="contPlate">
  51. <div class="text">地下楼层</div>
  52. <div class="txt">{{detail.dxlc || '-'}}</div>
  53. </div>
  54. <div class="contPlate">
  55. <div class="text">建筑年代</div>
  56. <div class="txt">{{detail.jcnd || '-'}}</div>
  57. </div>
  58. <div class="contPlate">
  59. <div class="text">建筑定性</div>
  60. <div class="txt">{{detail.jzdx || '-'}}</div>
  61. </div>
  62. <div class="contPlate">
  63. <div class="text">建筑内使用功能</div>
  64. <div class="txt">{{detail.jznsygn || '-'}}</div>
  65. </div>
  66. <div class="contPlate">
  67. <div class="text">消防安全管理形式</div>
  68. <div class="txt">{{detail.xfaqglxs || '-'}}</div>
  69. </div>
  70. <div class="contPlate">
  71. <div class="text">管理主体</div>
  72. <div class="txt">{{detail.glzthztjzd || '-'}}</div>
  73. </div>
  74. <div class="contPlate">
  75. <div class="text">消防安全管理人</div>
  76. <div class="txt">{{detail.xfaqglr || '-'}}</div>
  77. </div>
  78. <div class="contPlate">
  79. <div class="text">是否有维保单位</div>
  80. <div class="txt">{{detail.sfywbdw || '-'}}</div>
  81. </div>
  82. <div class="contPlate">
  83. <div class="text">维保单位名称</div>
  84. <div class="txt">{{detail.wbdwzl || '-'}}</div>
  85. </div>
  86. <div class="contPlate">
  87. <div class="text">灭火和疏散预案</div>
  88. <div class="txt">附件下载</div>
  89. </div>
  90. <div class="contPlate">
  91. <div class="text">警示案列和宣传培训资料</div>
  92. <div class="txt">附件下载</div>
  93. </div>
  94. </div>
  95. </div>
  96. </template>
  97. <script>
  98. import {
  99. getGcjzjcxx
  100. } from '@/api/h5.js'
  101. export default {
  102. name: "H5",
  103. components: {},
  104. data() {
  105. return {
  106. params: {
  107. pageSize: 100,
  108. pageNum: 1,
  109. qy: null,
  110. id: null
  111. },
  112. detail: {},
  113. height: 1000,
  114. srcList: [],
  115. };
  116. },
  117. mounted() {
  118. // 获取屏幕高度
  119. const height = window.screen.height;
  120. console.log(height);
  121. this.height = height;
  122. document.title = "建筑信息";
  123. // 获取参数
  124. const id = this.getQueryString("id");
  125. console.log(id);
  126. if (!id) {
  127. return;
  128. }
  129. this.params.id = id;
  130. this.getData();
  131. this.srcList = [
  132. this.detail.jzzp1,
  133. this.detail.jzzp2,
  134. this.detail.jzzp3,
  135. this.detail.jzzp4,
  136. this.detail.jzzp5,
  137. ];
  138. },
  139. methods: {
  140. getQueryString(name) {
  141. var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
  142. var r = window.location.search.substr(1).match(reg);
  143. if (r != null) {
  144. return unescape(r[2]);
  145. }
  146. return null;
  147. },
  148. getData() {
  149. const pId = {
  150. id: this.params.id
  151. }
  152. getGcjzjcxx(pId).then((res) => {
  153. this.detail = res.data.data;
  154. });
  155. },
  156. },
  157. };
  158. </script>
  159. <style scoped lang="less">
  160. .h5 {
  161. width: 100%;
  162. // height: 100vh;
  163. background-color: #f6f5f5;
  164. .top {
  165. width: 100%;
  166. height: 144px;
  167. background: linear-gradient(180deg,
  168. #5ba7ff 0%,
  169. rgba(0, 87, 255, 0.87) 100%);
  170. }
  171. .name {
  172. width: calc(100% - 14px);
  173. height: 56px;
  174. display: flex;
  175. justify-content: center;
  176. background-image: url(../../assets/images/jzimg.png);
  177. background-position: 20px center;
  178. background-size: 20px;
  179. background-repeat: no-repeat;
  180. background-color: #ffffff;
  181. margin: 0 7px;
  182. border-radius: 3px;
  183. margin-top: -28px;
  184. color: #000;
  185. line-height: 56px;
  186. font-family: 'PingFang SC';
  187. font-style: normal;
  188. font-weight: 500;
  189. font-size: 18px;
  190. }
  191. .content {
  192. width: calc(100% - 14px);
  193. height: auto;
  194. background-color: #ffffff;
  195. margin: 0 7px;
  196. border-radius: 3px;
  197. margin-top: 6px;
  198. padding: 11px 11px 11px 14px;
  199. box-sizing: border-box;
  200. .row {
  201. width: 100%;
  202. height: 22px;
  203. margin-bottom: 17px;
  204. display: flex;
  205. .label {
  206. width: 65px;
  207. height: 100%;
  208. font-family: "PingFang SC";
  209. font-style: normal;
  210. font-weight: 400;
  211. font-size: 16px;
  212. line-height: 22px;
  213. color: #636262;
  214. margin-right: 22px;
  215. }
  216. .value {
  217. flex-grow: 1;
  218. height: 100%;
  219. font-family: "PingFang SC";
  220. font-style: normal;
  221. font-weight: 400;
  222. font-size: 16px;
  223. line-height: 22px;
  224. color: #1a1818;
  225. }
  226. }
  227. .contPlate {
  228. display: flex;
  229. align-items: center;
  230. margin-bottom: 17px;
  231. .text {
  232. color: #a5a5a5;
  233. font-size: 16px;
  234. }
  235. .txt {
  236. flex-grow: 1;
  237. color: #000;
  238. text-align: center;
  239. font-size: 16px;
  240. }
  241. }
  242. .contPlate:nth-last-child(1) {
  243. margin-bottom: 0;
  244. }
  245. .archText {
  246. color: #a5a5a5;
  247. font-size: 16px;
  248. }
  249. .attImg {
  250. display: flex;
  251. align-items: center;
  252. margin: 17px 0;
  253. .img {
  254. width: 50px;
  255. height: 50px;
  256. margin-right: 10px;
  257. }
  258. }
  259. }
  260. }
  261. </style>