gkzb.vue 8.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396
  1. <template>
  2. <div class="jsyd">
  3. <div class="title">
  4. <div class="icon"></div>
  5. <span>管控指标</span>
  6. </div>
  7. <div class="content">
  8. <div class="item">
  9. <div class="icon">
  10. <div class="icon_zxkg">
  11. </div>
  12. </div>
  13. <div class="text">
  14. <p>耕地保护目标</p>
  15. <span>153.17</span>平方干米
  16. </div>
  17. </div>
  18. <div class="item">
  19. <div class="icon">
  20. <div class="icon_yrkkg">
  21. </div>
  22. </div>
  23. <div class="text">
  24. <p>永久基本农田保护</p>
  25. <span>{{ store.state.cockpit_gkzb.yjjbntmj }}</span>平方干米
  26. </div>
  27. </div>
  28. <div class="item">
  29. <div class="icon">
  30. <div class="icon_jsydzzb">
  31. </div>
  32. </div>
  33. <div class="text">
  34. <p>生态保护红线</p>
  35. <span>
  36. {{ store.state.cockpit_gkzb.mj }}
  37. </span>平方干米
  38. </div>
  39. </div>
  40. <div class="item">
  41. <div class="icon">
  42. <div class="icon_jsydzzb">
  43. </div>
  44. </div>
  45. <div class="text">
  46. <p>城市开发边界</p>
  47. <span>{{ store.state.cockpit_gkzb.kfbjmj }}</span>平方干米
  48. </div>
  49. </div>
  50. <div class="item">
  51. <div class="icon">
  52. <div class="icon_xzjsyd">
  53. </div>
  54. </div>
  55. <div class="text">
  56. <p>陆域生态保护红线</p>
  57. <span>{{ store.state.cockpit_gkzb.ly_mj }}</span>平方干米
  58. </div>
  59. </div>
  60. <div class="item">
  61. <div class="icon">
  62. <div class="icon_yrk">
  63. </div>
  64. </div>
  65. <div class="text">
  66. <p>己入库控规范国
  67. </p>
  68. <span>66</span>平方干米
  69. </div>
  70. </div>
  71. <div class="item">
  72. <div class="icon">
  73. <div class="icon_syzb">
  74. </div>
  75. </div>
  76. <div class="text">
  77. <p>近岸海域海洋生态保护红线
  78. </p>
  79. <span>{{ store.state.cockpit_gkzb.hy_mj }}</span>平方干米
  80. </div>
  81. </div>
  82. <div class="item">
  83. <div class="icon">
  84. <div class="icon_fgczkfbj">
  85. </div>
  86. </div>
  87. <div class="text">
  88. <p>覆盖城镇开发边界
  89. </p>
  90. <span>{{ store.state.cockpit_gkzb.bfb }}</span>%
  91. </div>
  92. </div>
  93. </div>
  94. </div>
  95. </template>
  96. <script>
  97. //这里可以导入其他文件(比如:组件,工具js,第三方插件js,json文件,图片文件等等)
  98. import { cockpitInfo } from '@/api/cockpit'
  99. export default {
  100. components: {},
  101. data() {
  102. return {
  103. yjjbntmj: 0,
  104. kfbjmj: 0,
  105. bfb: 0,
  106. mj: 0,
  107. ly_mj: 0,
  108. hy_mj: 0,
  109. };
  110. },
  111. //监听属性 类似于data概念
  112. computed: {},
  113. //监控data中的数据变化
  114. watch: {},
  115. //方法集合
  116. methods: {
  117. async initData() {
  118. const that = this;
  119. // console.log(store.state.cockpit_date, "store.cockpit_date");
  120. let obj = {
  121. // beginTime: store.state.cockpit_date[0],
  122. // endTime: store.state.cockpit_date[1],
  123. jscType: 'jsc_gkzb_ztgu_stbh',
  124. id: '4602'
  125. };
  126. let data = await cockpitInfo(obj);
  127. // that.mj = data.data[0].mj
  128. // // 路域生态保护红线
  129. // that.ly_mj = data.data[0].ly_mj
  130. // // 近海岸面积
  131. // that.hy_mj = data.data[0].hy_mj
  132. let obj_yjjbntmj = {
  133. jscType: 'jsc_gdbh_ztgh_nt',
  134. id: '4602'
  135. };
  136. let obj_yjjbntmj_data = await cockpitInfo(obj_yjjbntmj);
  137. // 永久基本农田保护面积
  138. // that.yjjbntmj = obj_yjjbntmj_data.data[0].yjjbntmj;
  139. let obj_kfbjmj = {
  140. jscType: 'jsc_gkzb_ztgh_kfbj',
  141. id: '4602'
  142. };
  143. let obj_kfbjmj_data = await cockpitInfo(obj_kfbjmj);
  144. // // 城市开发边界
  145. // that.kfbjmj = obj_kfbjmj_data.data[0].kfbjmj;
  146. // // 覆盖城镇开发边界
  147. // that.bfb = obj_kfbjmj_data.data[0].bfb * 100;
  148. store.setCockpitGkzb({
  149. mj: data.data[0].mj,// 生态保护红线面积
  150. ly_mj: data.data[0].ly_mj,// 路域生态保护红线
  151. hy_mj: data.data[0].hy_mj,//近海岸面积
  152. yjjbntmj: obj_yjjbntmj_data.data[0].yjjbntmj,// 永久基本农田保护面积
  153. kfbjmj: obj_kfbjmj_data.data[0].kfbjmj,// 城市开发边界
  154. bfb: obj_kfbjmj_data.data[0].bfb * 100,// 覆盖城镇开发边界
  155. });
  156. }
  157. },
  158. beforeCreate() { }, //生命周期 - 创建之前
  159. created() { }, //生命周期 - 创建完成(可以访问当前this实例)
  160. beforeMount() { }, //生命周期 - 挂载之前
  161. mounted() {
  162. this.initData();
  163. }, //生命周期 - 挂在完成
  164. beforeUpdate() { }, //生命周期 - 更新之前
  165. updated() { }, //生命周期 - 更新之后
  166. beforeDestroy() { }, //生命周期 - 销毁之前
  167. destroy() { },//生命周期 - 销毁完成
  168. activated() { }, //若组件实例是 <KeepAlive> 缓存树的一部分,当组件被插入到 DOM 中时调用。
  169. deactivated() { } //若组件实例是 <KeepAlive> 缓存树的一部分,当组件从 DOM 中被移除时调用。
  170. };
  171. </script>
  172. <style lang="scss" scoped>
  173. .jsyd {
  174. border-width: 0px;
  175. position: relative;
  176. left: 9px;
  177. top: 9px;
  178. width: 416px;
  179. height: 310px;
  180. background: inherit;
  181. // background-color: rgba(3, 25, 67, 0.698039215686274);
  182. border: none;
  183. border-radius: 0px;
  184. -moz-box-shadow: none;
  185. -webkit-box-shadow: none;
  186. box-shadow: none;
  187. z-index: 100;
  188. }
  189. .title {
  190. border-width: 0px;
  191. width: 100%;
  192. height: 40px;
  193. // font-family: 'Arial Negreta', 'Arial Normal', 'Arial';
  194. // font-weight: 700;
  195. // font-style: normal;
  196. // color: #fff;
  197. // padding: 2%;
  198. background: no-repeat;
  199. background-image: url("/static/images/overview/标题框.png");
  200. .icon {
  201. background: no-repeat;
  202. background-image: url("/static/images/overview/icon_标题框装饰.png");
  203. display: inline-block;
  204. width: 30px;
  205. height: 30px;
  206. background-position: 14px 7px;
  207. }
  208. span {
  209. color: #fff;
  210. font-size: 14px;
  211. font-weight: bold;
  212. position: relative;
  213. bottom: 0.5rem;
  214. }
  215. }
  216. .content {
  217. position: absolute;
  218. left: 1%;
  219. width: 500px;
  220. top: 18%;
  221. }
  222. .item {
  223. width: 45%;
  224. height: 30%;
  225. display: inline-block;
  226. // border: #00FFFF 1px solid;
  227. }
  228. .icon {
  229. width: 50px;
  230. padding: 1.5%;
  231. border-radius: 8px;
  232. display: inline-block;
  233. height: 50px
  234. }
  235. .icon_zxkg {
  236. background: no-repeat 50%;
  237. background-image: url("/static/images/overview/icon_zxkg.png");
  238. /* border: #00FFFF 1px solid; */
  239. width: 45px;
  240. height: 45px;
  241. display: inline-block;
  242. }
  243. .icon_yrkkg {
  244. background: no-repeat 50%;
  245. background-image: url("/static/images/overview/icon_yrkkg.png");
  246. /* border: #00FFFF 1px solid; */
  247. width: 45px;
  248. height: 45px;
  249. display: inline-block;
  250. }
  251. .icon_jsydzzb {
  252. background: no-repeat 50%;
  253. background-image: url("/static/images/overview/icon_jsydzzb.png");
  254. /* border: #00FFFF 1px solid; */
  255. width: 45px;
  256. height: 45px;
  257. display: inline-block;
  258. }
  259. .icon_xzjsyd {
  260. background: no-repeat 50%;
  261. background-image: url("/static/images/overview/icon_xzjsyd.png");
  262. /* border: #00FFFF 1px solid; */
  263. width: 45px;
  264. height: 45px;
  265. display: inline-block;
  266. }
  267. .icon_ysyzb {
  268. background: no-repeat 50%;
  269. background-image: url("/static/images/overview/icon_jsydzzb.png");
  270. /* border: #00FFFF 1px solid; */
  271. width: 45px;
  272. height: 45px;
  273. display: inline-block;
  274. }
  275. .icon_syzb {
  276. background: no-repeat 50%;
  277. background-image: url("/static/images/overview/icon_jsydzzb.png");
  278. /* border: #00FFFF 1px solid; */
  279. width: 45px;
  280. height: 45px;
  281. display: inline-block;
  282. }
  283. .icon_syzb {
  284. background: no-repeat 50%;
  285. background-image: url("/static/images/overview/gkzb_syzb.png");
  286. /* border: #00FFFF 1px solid; */
  287. width: 45px;
  288. height: 45px;
  289. display: inline-block;
  290. }
  291. .icon_fgczkfbj {
  292. background: no-repeat 50%;
  293. background-image: url("/static/images/overview/gkzb_fgczkfbj.png");
  294. /* border: #00FFFF 1px solid; */
  295. width: 45px;
  296. height: 45px;
  297. display: inline-block;
  298. }
  299. .icon_yrk {
  300. background: no-repeat 50%;
  301. background-image: url("/static/images/overview/icongdbh2.png");
  302. /* border: #00FFFF 1px solid; */
  303. width: 45px;
  304. height: 45px;
  305. display: inline-block;
  306. }
  307. .text {
  308. display: inline-block;
  309. // border: #00FFFF 1px solid;
  310. width: 170px;
  311. p {
  312. font-kerning: normal;
  313. font-family: 'Arial Negreta', 'Arial Normal', 'Arial';
  314. font-weight: 700;
  315. font-style: normal;
  316. font-size: 14px;
  317. color: #FFFFFF;
  318. }
  319. span {
  320. font-family: 'Arial Negreta', 'Arial Normal', 'Arial';
  321. font-weight: 700;
  322. font-style: normal;
  323. color: #68F4FB;
  324. }
  325. }
  326. .value {
  327. display: inline-block;
  328. // border: #00FFFF 1px solid;
  329. width: 50px;
  330. }
  331. </style>