gdbh.vue 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149
  1. <template>
  2. <borderTemplate titleName="耕地保护" class="gdbh">
  3. <div class="content">
  4. <div class="selectTab">
  5. <el-select v-model="tab" placeholder="请选择" :popper-append-to-body="false" @change="change_model">
  6. <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
  7. </el-option>
  8. </el-select>
  9. </div>
  10. </div>
  11. <div class="content_index">
  12. <div v-show="tab == options[1].value">
  13. <div class="content">
  14. <div class="item_back">
  15. <div class="icon">
  16. <div class="icon_jsyd">
  17. </div>
  18. </div>
  19. <div class="text_back">
  20. <p>建设项目占用耕地</p>
  21. <span>{{ balanceData.zy_gdmj }}</span>km²
  22. </div>
  23. </div>
  24. <div class="item_back">
  25. <div class="icon">
  26. <div class="icon_bcyd">
  27. </div>
  28. </div>
  29. <div class="text_back">
  30. <p>补充耕地</p>
  31. <span>{{ balanceData.cb_gdmj }}</span>km²
  32. </div>
  33. </div>
  34. </div>
  35. <div class="info">
  36. <div class="left_info">
  37. <ul>
  38. <li>
  39. <div class="icon"></div>
  40. <span class="zbph_label">其中水田</span>
  41. <br>
  42. <span class="zbph_value_unit">
  43. <span class="zbph_value">{{ balanceData.zy_st }}</span>
  44. <span class="zbph_unit">km²</span>
  45. </span>
  46. </li>
  47. <li>
  48. <div class="icon"></div>
  49. <span class="zbph_label">损失粮食产能</span>
  50. <br>
  51. <span class="zbph_value_unit">
  52. <span class="zbph_value">{{ balanceData.zy_cn }}</span>
  53. <span class="zbph_unit">吨</span>
  54. </span>
  55. </li>
  56. </ul>
  57. </div>
  58. <div class="right_info">
  59. <ul>
  60. <li>
  61. <div class="icon"></div>
  62. <span class="zbph_label">其中水田</span>
  63. <br>
  64. <span class="zbph_value_unit">
  65. <span class="zbph_value">{{ balanceData.cb_st }}</span>
  66. <span class="zbph_unit">km²</span>
  67. </span>
  68. </li>
  69. <li>
  70. <div class="icon"></div>
  71. <span class="zbph_label">提升粮食产能</span>
  72. <br>
  73. <span class="zbph_value_unit">
  74. <span class="zbph_value">{{ balanceData.cb_cn }}</span>
  75. <span class="zbph_unit">吨</span>
  76. </span>
  77. </li>
  78. </ul>
  79. </div>
  80. </div>
  81. </div>
  82. <div v-show="tab == options[2].value">
  83. <div class="content" @click="vector_viewer">
  84. <div class="item">
  85. <div class="icon">
  86. <div class="icon_st">
  87. </div>
  88. </div>
  89. <div class="text">
  90. <p>流入耕地</p>
  91. <span>{{ zbpg_hz.jcpg.lrgd }}</span>km²
  92. <i style="pointer-events:all" :class="{ 'el-icon-view': true }"></i>
  93. </div>
  94. </div>
  95. <div class="item">
  96. <div class="icon">
  97. <div class="icon_sjd">
  98. </div>
  99. </div>
  100. <div class="text">
  101. <p>流出耕地</p>
  102. <span>{{ zbpg_hz.jcpg.lcgd }}</span>km²
  103. <i style="pointer-events:all" :class="{ 'el-icon-view': true }"></i>
  104. </div>
  105. </div>
  106. <div class="item">
  107. <div class="icon">
  108. <div class="icon_ht">
  109. </div>
  110. </div>
  111. <div class="text">
  112. <p>面积变化</p>
  113. <span>{{ mjbh }}</span>km²
  114. </div>
  115. </div>
  116. </div>
  117. <pie3d id="jcpg" unit="亩" :legendFlag=true ref="jcpg"></pie3d>
  118. </div>
  119. <div v-show="tab == options[0].value">
  120. <div class="content">
  121. <div class="item">
  122. <div class="icon">
  123. <div class="icon_st">
  124. </div>
  125. </div>
  126. <div class="text">
  127. <p>水田</p>
  128. <span>{{ store.state.cockpit_gdbh.gdxz.title.st_mj }}</span>km²
  129. </div>
  130. </div>
  131. <div class="item">
  132. <div class="icon">
  133. <div class="icon_sjd">
  134. </div>
  135. </div>
  136. <div class="text">
  137. <p>水浇地</p>
  138. <span>{{ store.state.cockpit_gdbh.gdxz.title.sjd_mj }}</span>km²
  139. </div>
  140. </div>
  141. <div class="item">
  142. <div class="icon">
  143. <div class="icon_ht">
  144. </div>
  145. </div>
  146. <div class="text">
  147. <p>旱地</p>
  148. <span>{{ store.state.cockpit_gdbh.gdxz.title.hd_mj }}</span>km²
  149. </div>
  150. </div>
  151. </div>
  152. <div id="gdxz_echart">
  153. </div>
  154. </div>
  155. </div>
  156. </borderTemplate>
  157. </template>
  158. <script>
  159. //这里可以导入其他文件(比如:组件,工具js,第三方插件js,json文件,图片文件等等)
  160. import borderTemplate from "./borderTemplate.vue";
  161. // import highPie from "../../components/echartsTemplate/highPie.vue";
  162. import pie3d from "../../components/echartsTemplate/3dPie.vue";
  163. import { QueryOne, QueryList } from "../../api/cockpitNew";
  164. import parse from "wellknown";
  165. export default {
  166. components: { borderTemplate, pie3d },
  167. data() {
  168. return {
  169. sdata: {},
  170. tab: 'gdxz',
  171. mjbh: null,
  172. options: [
  173. { value: "gdxz", label: "耕地现状" },
  174. { value: "zbph", label: "占补平衡" },
  175. { value: "jcph", label: "进出平衡" },
  176. ],
  177. zbpg_hz: {
  178. zygd: {
  179. qzst: 0,
  180. sslscn: 0,
  181. mj: 0,
  182. },
  183. bcgd: {
  184. qzst: 0,
  185. tslscn: 0,
  186. mj: 0,
  187. },
  188. jcpg: {
  189. lrgd: 0,
  190. lcgd: 0,
  191. lc_st: 0,
  192. lc_hd: 0,
  193. lc_sjd: 0
  194. }
  195. },
  196. vector_data: null,
  197. balanceData: {
  198. cb_cn: 0,
  199. cb_gdm: 0,
  200. cb_st: 0,
  201. create_time: "20240101",
  202. id: "4602",
  203. zy_cn: 0,
  204. zy_gdmj: 0,
  205. zy_st: 0
  206. },//占补平衡数据存储
  207. };
  208. },
  209. //监听属性 类似于data概念
  210. computed: {},
  211. //监控data中的数据变化
  212. watch: {},
  213. //方法集合
  214. methods: {
  215. async init_info(params) {
  216. let obj = {
  217. jscType: 'sc_gdbh_xz_dlbm',
  218. id: params ? params.id : '4602'
  219. };
  220. let data = await QueryOne(obj);
  221. store.state.cockpit_gdbh.gdxz.title = data.data
  222. let obj_list = {
  223. jscType: 'sc_gdbh_xz_gddb',
  224. id: params ? params.id : '4602'
  225. };
  226. let data_list = await QueryList(obj_list);
  227. let yAxis = ['优等地', '高等地', '中等地', '低等地'];
  228. let yData = [];
  229. let echartData = [];
  230. data_list.data.forEach((res) => {
  231. if (res.dj == 1) {
  232. echartData.push(
  233. {
  234. "优等地": res.tbmj,
  235. }
  236. )
  237. }
  238. if (res.dj == 2) {
  239. echartData.push(
  240. {
  241. "高等地": res.tbmj,
  242. }
  243. )
  244. } if (res.dj == 3) {
  245. echartData.push(
  246. {
  247. "中等地": res.tbmj,
  248. }
  249. )
  250. } if (res.dj == 4) {
  251. echartData.push(
  252. {
  253. "低等地": res.tbmj,
  254. }
  255. )
  256. }
  257. })
  258. if (data_list.data.length == 3) {
  259. echartData.push({
  260. "低等地": 0
  261. });
  262. }
  263. if (data_list.data.length == 2) {
  264. echartData.push({
  265. "中等地": 0
  266. });
  267. echartData.push({
  268. "低等地": 0
  269. });
  270. }
  271. if (data_list.data.length == 1) {
  272. echartData.push({
  273. "高等地": 0
  274. });
  275. echartData.push({
  276. "中等地": 0
  277. });
  278. echartData.push({
  279. "低等地": 0
  280. });
  281. }
  282. if (data_list.data.length == 0) {
  283. echartData.push({
  284. "优等地": 0
  285. });
  286. echartData.push({
  287. "高等地": 0
  288. });
  289. echartData.push({
  290. "中等地": 0
  291. });
  292. echartData.push({
  293. "低等地": 0
  294. });
  295. }
  296. yData = echartData.map((res) => {
  297. for (let key in res) {
  298. return res[key]
  299. }
  300. })
  301. yAxis.reverse();
  302. yData.reverse();
  303. store.state.cockpit_gdbh.gdxz.list.yAxis = yAxis;
  304. store.state.cockpit_gdbh.gdxz.list.yData = yData;
  305. this.init_gdxz_echart();
  306. },
  307. async init_zbph_hz(params) {
  308. const that = this;
  309. let obj = {
  310. jscType: 'jsc_gdbh_zbph_hz',
  311. id: params ? params.id : '4602',
  312. beginTime: params ? params.beginTime : store.state.cockpit_date[0],
  313. endTime: params ? params.endTime : store.state.cockpit_date[1],
  314. };
  315. let data = await QueryOne(obj);
  316. this.balanceData = data.data
  317. // this.zbpg_hz.zygd.qzst = data.data.zy_st
  318. // this.zbpg_hz.zygd.mj = data.data.zy_gdmj
  319. // this.zbpg_hz.zygd.sslscn = data.data.zy_cn
  320. // this.zbpg_hz.bcgd.qzst = data.data.cb_st
  321. // this.zbpg_hz.bcgd.mj = data.data.cb_gdmj
  322. // this.zbpg_hz.bcgd.tslscn = data.data.cb_cn
  323. // console.log('this.zbpg_hz: ', this.zbpg_hz);
  324. // store.state.cockpit_gdbh.zbph.bcgd = data.data
  325. },
  326. async init_zbph(params) {
  327. const that = this;
  328. let obj = {
  329. jscType: 'jsc_gdbh_zbph_gdbc',
  330. id: params ? params.id : '4602'
  331. };
  332. let data = await QueryOne(obj);
  333. store.state.cockpit_gdbh.zbph.bcgd = data.data
  334. },
  335. GetQueryOne_nt(datas) {
  336. let params = {
  337. ...datas,
  338. jscType: "jsc_gdbh_ztgh_nt",
  339. };
  340. QueryOne(params).then((res) => {
  341. this.sdata = { ...this.sdata, ...res.data };
  342. });
  343. },
  344. GetQueryOne_bh(datas) {
  345. let params = {
  346. ...datas,
  347. jscType: "jsc_gdbh_ztgh_bc",
  348. };
  349. QueryOne(params).then((res) => {
  350. this.sdata = { ...this.sdata, ...res.data };
  351. });
  352. },
  353. GetQueryList(datas) {
  354. let optionsData = [];
  355. let params = {
  356. ...datas,
  357. jscType: "jsc_gdbh_yelx_nt",
  358. };
  359. QueryList(params).then((res) => {
  360. if (res.data.length) {
  361. res.data.forEach((edata) => {
  362. optionsData.push({ name: edata.dlbmmc, value: edata.yjjbntmj });
  363. });
  364. } else {
  365. optionsData = [
  366. { name: "土地复垦", value: 0 },
  367. { name: "异地购买", value: 0 },
  368. { name: "补充耕地", value: 0 },
  369. { name: "增减挂", value: 0 },
  370. ];
  371. }
  372. this.$nextTick(() => {
  373. this.$refs.gdbh_echart_gdlr.setOptions([
  374. { name: "土地复垦", value: 12 },
  375. { name: "异地购买", value: 21 },
  376. { name: "补充耕地", value: 54 },
  377. { name: "增减挂", value: 22 },
  378. ]);
  379. this.$refs.gdbh_echart_gdlc.setOptions([
  380. { name: "林地", value: 22 },
  381. { name: "草地", value: 5 },
  382. { name: "交通用地", value: 13 },
  383. { name: "其他", value: 43 },
  384. ]);
  385. });
  386. });
  387. },
  388. init_gdxz_echart() {
  389. var dom = document.getElementById("gdxz_echart");
  390. var myChart = window.echarts.init(dom);
  391. let barTopColor = ["#CBB835", "#33C6E2", '#157FFE', '#8F48F0'];
  392. let barBottomColor = ["#D09311", "#279AB0", '#154AD2', '#670BFF'];
  393. let option = {
  394. backgroundColor: 'rgba(0,0,0,0)',
  395. title: {
  396. show: false,
  397. text: '一行动一活动开展情况',
  398. top: 20,
  399. left: 'center',
  400. textStyle: {
  401. color: '#00eaff',
  402. fontSize: 18,
  403. fontWeight: 'normal'
  404. }
  405. },
  406. tooltip: {
  407. show: false,
  408. trigger: 'axis',
  409. formatter: '一行动一活动开展情况<br>{b}:{c}',
  410. backgroundColor: 'rgba(18, 57, 60, .8)', //设置背景颜色
  411. textStyle: {
  412. color: '#fff'
  413. },
  414. borderColor: "rgba(18, 57, 60, .8)",
  415. axisPointer: {
  416. type: 'shadow',
  417. shadowStyle: {
  418. color: 'rgba(0, 11, 34, .4)',
  419. }
  420. }
  421. },
  422. grid: {
  423. top: '14%',
  424. bottom: '1%',
  425. left: '0%',
  426. right: '20%',
  427. containLabel: true
  428. },
  429. xAxis: {
  430. axisTick: {
  431. show: false
  432. },
  433. axisLine: {
  434. show: false,
  435. lineStyle: {
  436. color: '#1C82C5'
  437. }
  438. },
  439. axisLabel: {
  440. show: false,
  441. rotate: 20,
  442. margin: 30,
  443. textStyle: {
  444. fontSize: 14,
  445. color: '#DEEBFF',
  446. align: 'center'
  447. }
  448. },
  449. interval: 0
  450. },
  451. yAxis: {
  452. data: store.state.cockpit_gdbh.gdxz.list.yAxis,
  453. splitLine: {
  454. show: false,
  455. lineStyle: {
  456. color: 'rgba(28, 130, 197, .3)'
  457. }
  458. },
  459. axisTick: {
  460. show: false
  461. },
  462. axisLine: {
  463. show: false,
  464. lineStyle: {
  465. color: '#1C82C5'
  466. }
  467. },
  468. axisLabel: {
  469. show: true,
  470. margin: 10,
  471. textStyle: {
  472. fontSize: 12,
  473. color: '#DEEBFF',
  474. }
  475. },
  476. },
  477. series: [
  478. {
  479. name: '一行动一活动开展情况',
  480. type: 'pictorialBar',
  481. symbolSize: [8, 14],
  482. symbolOffset: [4, 0],
  483. z: 12,
  484. itemStyle: {
  485. normal: {
  486. color: function (params) {
  487. return barBottomColor[params.dataIndex];
  488. }
  489. }
  490. },
  491. label: {
  492. textStyle: {
  493. rich: {
  494. name: {
  495. color: "#fff", //#BCD3E5
  496. fontSize: 14,
  497. },
  498. value: {
  499. color: "#64DAFF",
  500. fontSize: 14,
  501. },
  502. unit: {
  503. color: "#fff", //#BCD3E5
  504. fontSize: 14,
  505. },
  506. },
  507. },
  508. show: true,
  509. position: 'right',
  510. fontSize: 16,
  511. formatter: function (params) {
  512. return `{value|${params.value}} {unit|km²}`;
  513. }
  514. },
  515. symbolPosition: 'end',
  516. data: store.state.cockpit_gdbh.gdxz.list.yData,
  517. }, {
  518. name: '一行动一活动开展情况',
  519. type: 'pictorialBar',
  520. symbolOffset: [-3, 0],
  521. symbolSize: [8, 14],
  522. z: 12,
  523. itemStyle: {
  524. normal: {
  525. color: function (params) {
  526. return barTopColor[params.dataIndex];
  527. }
  528. }
  529. },
  530. data: [22, 23, 18, 14],
  531. }, {
  532. type: 'bar',
  533. itemStyle: {
  534. normal: {
  535. color: function (params) {
  536. return new echarts.graphic.LinearGradient(
  537. 0, 0, 0, 1,
  538. [{
  539. offset: 1,
  540. color: barTopColor[params.dataIndex]
  541. },
  542. {
  543. offset: 0,
  544. color: barBottomColor[params.dataIndex]
  545. }
  546. ]
  547. );
  548. },
  549. opacity: .9
  550. }
  551. },
  552. z: 16,
  553. silent: true,
  554. barWidth: 15,
  555. barCategoryGap: '100%',
  556. data: store.state.cockpit_gdbh.gdxz.list.yData,
  557. }]
  558. };
  559. myChart.setOption(option);
  560. },
  561. async init_jcpg(params) {
  562. let res = await QueryList({
  563. jscType: "jsc_stxf_ywfl_tdzz",
  564. id: params ? params.id : '4602'
  565. });
  566. let arr = [];
  567. res.data.forEach((res) => {
  568. arr.push({
  569. name: res.zzlx,
  570. value: res.xmsl
  571. });
  572. })
  573. },
  574. vector_viewer() {
  575. store.setViewerFlagb(false);
  576. store.setToolBarShow(false);
  577. store.setXzqh_flag(false);
  578. store.setCockpit_vector({
  579. title: "进出平衡",
  580. tableData: [],
  581. word: "地类编码名称",
  582. tablejscType: 'jsc_tdgy_gy_zbmx',
  583. columns: [
  584. "进出状态",
  585. "地类编码",
  586. "地类编码名称",
  587. ],
  588. });
  589. },
  590. async init_jcph_table(params) {
  591. // const that = this;
  592. // let obj = {
  593. // jscType: "jsc_gdbh_jcph_zbmc",
  594. // id: params ? params.id : "4602",
  595. // val2: 0,
  596. // val1: 50000,
  597. // beginTime: store.state.cockpit_date[1].slice(0, 4)
  598. // };
  599. // let data = await QueryList(obj);
  600. // data.data.map((res) => {
  601. // if (res.geom) {
  602. // res.geom = parse(res.geom.split(";")[1]);
  603. // }
  604. // });
  605. // this.vector_data = data.data;
  606. },
  607. async init_jcpg_hz(params) {
  608. let res = await QueryOne({
  609. jscType: "jsc_gdbh_jcph_hz",
  610. id: params ? params.id : '4602',
  611. val0: store.state.cockpit_date[1].slice(0, 4)
  612. });
  613. this.zbpg_hz.jcpg.lrgd = res.data.lrgd == '暂无' || res.data.lrgd == 0 ? '暂无' : res.data.lrgd
  614. this.zbpg_hz.jcpg.lcgd = res.data.lcgd == '暂无' || res.data.lcgd == 0 ? '暂无' : res.data.lcgd
  615. if (this.zbpg_hz.jcpg.lrgd == '暂无' || this.zbpg_hz.jcpg.lcgd == '暂无') {
  616. this.mjbh = '暂无';
  617. } else {
  618. this.mjbh = (this.zbpg_hz.jcpg.lrgd - this.zbpg_hz.jcpg.lcgd).toFixed(2);
  619. }
  620. this.zbpg_hz.jcpg.lc_st = res.data.lc_st == '暂无' ? 0 : res.data.lc_st
  621. this.zbpg_hz.jcpg.lc_hd = res.data.lc_hd == '暂无' ? 0 : res.data.lc_hd
  622. this.zbpg_hz.jcpg.lc_sjd = res.data.lc_sjd == '暂无' ? 0 : res.data.lc_sjd
  623. let arr = [];
  624. arr.push({
  625. name: "流出水田",
  626. value: Number(this.zbpg_hz.jcpg.lc_st),
  627. })
  628. arr.push({
  629. name: "流出旱田",
  630. value: Number(this.zbpg_hz.jcpg.lc_hd),
  631. })
  632. arr.push({
  633. name: "流出水浇地",
  634. value: Number(this.zbpg_hz.jcpg.lc_sjd),
  635. })
  636. this.$refs.jcpg.setOptions(arr);
  637. },
  638. },
  639. mounted() {
  640. // const optionsData = [
  641. // { name: "水田", value: 50 },
  642. // { name: "水浇地", value: 20 },
  643. // { name: "旱地", value: 30 },
  644. // ];
  645. // this.$nextTick(() => {
  646. // this.$refs.echartRef.setOptions(optionsData);
  647. // });
  648. this.$nextTick((res) => {
  649. // this.init_info();
  650. // this.init_gdxz_echart();
  651. // this.init_zbph();
  652. // this.init_jcpg();
  653. // this.init_zbph_hz();
  654. // this.init_jcph_table();
  655. // this.init_jcpg_hz();
  656. })
  657. },
  658. };
  659. </script>
  660. <style lang="scss" scoped>
  661. #gdxz_echart {
  662. width: 25rem;
  663. height: 9.5rem;
  664. margin-top: 5rem;
  665. }
  666. .gdbh {
  667. top: 2rem !important;
  668. .content {
  669. // border: #00FFFF 1px solid;
  670. // position: absolute;
  671. // left: 2%;
  672. // top: 10px;
  673. width: 100%;
  674. height: 100px;
  675. position: absolute;
  676. top: 0rem;
  677. left: 0rem;
  678. }
  679. .item {
  680. width: 32%;
  681. height: 45px;
  682. display: inline-block;
  683. // border: #00FFFF 1px solid;
  684. }
  685. .icon {
  686. width: 45px;
  687. height: 45px;
  688. padding: 2%;
  689. border-radius: 8px;
  690. display: inline-block;
  691. background: no-repeat 50%;
  692. margin-left: 2.6rem;
  693. margin-bottom: 0.5rem;
  694. }
  695. .icongdbh0 {
  696. background-image: url("/static/images/overview/icongdbh0.png");
  697. }
  698. .icongdbh1 {
  699. background-image: url("/static/images/overview/icongdbh1.png");
  700. }
  701. .icongdbh2 {
  702. background-image: url("/static/images/overview/icongdbh2.png");
  703. }
  704. .icongdbh3 {
  705. background-image: url("/static/images/overview/icongdbh3.png");
  706. }
  707. .text {
  708. display: inline-block;
  709. // border: #00FFFF 1px solid;
  710. width: 100%;
  711. margin-bottom: 4px;
  712. text-align: center;
  713. margin-left: 0.3rem;
  714. overflow: hidden;
  715. text-overflow: ellipsis;
  716. white-space: nowrap;
  717. p {
  718. // font-kerning: normal;
  719. // font-family: "Arial Negreta", "Arial Normal", "Arial";
  720. // font-weight: bold;
  721. // font-size: 14px;
  722. // color: #bcd3e5;
  723. // line-height: 24px;
  724. font-kerning: normal;
  725. font-family: "Arial Negreta", "Arial Normal", "Arial";
  726. font-weight: 700;
  727. font-style: normal;
  728. font-size: 14px;
  729. color: #ffffff;
  730. }
  731. .sdvalue {
  732. // font-family: "Arial Negreta", "Arial Normal", "Arial";
  733. // font-weight: 700;
  734. // font-style: normal;
  735. // font-size: 18px;
  736. // color: #68F4FB;
  737. // line-height: 16px;
  738. font-family: "Arial Negreta", "Arial Normal", "Arial";
  739. font-weight: 700;
  740. font-style: normal;
  741. color: #68f4fb;
  742. }
  743. .unit {
  744. font-family: "Arial Negreta", "Arial Normal", "Arial";
  745. font-weight: 400;
  746. font-size: 12px;
  747. color: #ecf6ff;
  748. line-height: 12px;
  749. }
  750. }
  751. .value {
  752. display: inline-block;
  753. // border: #00FFFF 1px solid;
  754. width: 50px;
  755. }
  756. #gdbh_echart_gdlr {
  757. width: 17rem;
  758. height: 10rem;
  759. position: fixed;
  760. top: 6rem;
  761. left: 96rem;
  762. }
  763. #gdbh_echart_gdlc {
  764. width: 17rem;
  765. height: 10rem;
  766. position: fixed;
  767. top: 6rem;
  768. left: 108rem;
  769. z-index: -1;
  770. }
  771. }
  772. .legend_gdlx {
  773. margin-top: 9rem;
  774. width: 25rem;
  775. height: 4rem;
  776. .gdbh_echart_gdlr_legend {
  777. height: 4rem;
  778. width: 12rem;
  779. background: no-repeat;
  780. background-image: url("/static/images/overview/gdbh_echart_gdlr_legend.png");
  781. display: inline-block;
  782. }
  783. .gdbh_echart_gdlc_legend {
  784. height: 4rem;
  785. width: 12rem;
  786. background: no-repeat;
  787. background-image: url("/static/images/overview/gdbh_echart_gdlc_legend.png");
  788. display: inline-block;
  789. float: right;
  790. margin-top: 1rem;
  791. }
  792. }
  793. .selectTab {
  794. position: absolute;
  795. right: 22px;
  796. bottom: 111px;
  797. z-index: 1;
  798. /deep/ .el-input__inner {
  799. // padding-right: 30px;
  800. width: 128px !important;
  801. height: 24px !important;
  802. line-height: 24px;
  803. padding-left: 22px;
  804. padding-right: 0px;
  805. font-size: 12px;
  806. color: #bcd3e5;
  807. border: none;
  808. // background: url("/static/images/overview/selectBg.png") no-repeat !important;
  809. background-color: rgba(0, 0, 0, 0) !important;
  810. background-size: 100% 100%;
  811. }
  812. /deep/ .el-input__icon {
  813. line-height: 1;
  814. }
  815. /deep/ .el-input__suffix {
  816. right: -2px;
  817. }
  818. /deep/ .el-select-dropdown__list {
  819. color: #bcd3e5 !important;
  820. background: linear-gradient(180deg,
  821. rgba(3, 115, 177, 0) 11%,
  822. rgba(3, 115, 177, 0.48) 100%);
  823. border-image: linear-gradient(360deg,
  824. rgba(75, 185, 250, 0.2),
  825. rgba(75, 185, 250, 0.05)) 1 1 !important;
  826. border: none;
  827. }
  828. /deep/ .el-select-dropdown__item.hover,
  829. .el-select-dropdown__item:hover {
  830. background-color: rgba(87, 163, 226, 0.5);
  831. }
  832. /deep/ .el-select-dropdown__item {
  833. color: #ecf6ff;
  834. }
  835. }
  836. .content {
  837. position: absolute;
  838. left: 1%;
  839. width: 500px;
  840. top: 18%;
  841. }
  842. .item {
  843. width: 45%;
  844. height: 30%;
  845. display: inline-block;
  846. // border: #00FFFF 1px solid;
  847. }
  848. .icon {
  849. width: 50px;
  850. padding: 1.5%;
  851. border-radius: 8px;
  852. display: inline-block;
  853. height: 50px
  854. }
  855. .icon_st {
  856. background: no-repeat 50%;
  857. background-image: url("/static/images/overview/st.png");
  858. /* border: #00FFFF 1px solid; */
  859. width: 45px;
  860. height: 45px;
  861. display: inline-block;
  862. }
  863. .icon_sjd {
  864. background: no-repeat 50%;
  865. background-image: url("/static/images/overview/sjd.png");
  866. /* border: #00FFFF 1px solid; */
  867. width: 45px;
  868. height: 45px;
  869. display: inline-block;
  870. }
  871. .icon_ht {
  872. background: no-repeat 50%;
  873. background-image: url("/static/images/overview/ht.png");
  874. /* border: #00FFFF 1px solid; */
  875. width: 45px;
  876. height: 45px;
  877. display: inline-block;
  878. }
  879. .icon_jsyd {
  880. background: no-repeat 50%;
  881. background-image: url("/static/images/overview/gdxz_jsyd.png");
  882. /* border: #00FFFF 1px solid; */
  883. width: 45px;
  884. height: 45px;
  885. display: inline-block;
  886. }
  887. .icon_bcyd {
  888. background: no-repeat 50%;
  889. background-image: url("/static/images/overview/gdxz_bcyd.png");
  890. /* border: #00FFFF 1px solid; */
  891. width: 45px;
  892. height: 45px;
  893. display: inline-block;
  894. }
  895. .item_back {
  896. width: 32%;
  897. height: 45px;
  898. display: inline-block;
  899. margin-right: 4rem;
  900. text-align: center;
  901. }
  902. .text_back {
  903. background: no-repeat 100%;
  904. background-image: url("/static/images/overview/zbph_back.png");
  905. width: 161px;
  906. height: 50px;
  907. display: inline-block;
  908. p {
  909. font-kerning: normal;
  910. font-family: 'Arial Negreta', 'Arial Normal', 'Arial';
  911. font-weight: 700;
  912. font-style: normal;
  913. font-size: 14px;
  914. color: #FFFFFF;
  915. }
  916. span {
  917. font-family: 'Arial Negreta', 'Arial Normal', 'Arial';
  918. font-weight: 700;
  919. font-style: normal;
  920. color: #68F4FB;
  921. }
  922. }
  923. .text {
  924. display: inline-block;
  925. // border: #00FFFF 1px solid;
  926. width: 170px;
  927. p {
  928. font-kerning: normal;
  929. font-family: 'Arial Negreta', 'Arial Normal', 'Arial';
  930. font-weight: 700;
  931. font-style: normal;
  932. font-size: 14px;
  933. color: #FFFFFF;
  934. }
  935. span {
  936. font-family: 'Arial Negreta', 'Arial Normal', 'Arial';
  937. font-weight: 700;
  938. font-style: normal;
  939. color: #68F4FB;
  940. }
  941. }
  942. .info {
  943. width: 21rem;
  944. height: 7rem;
  945. position: relative;
  946. top: 8rem;
  947. // right: -4rem;
  948. ul {
  949. list-style: none;
  950. .zbph_value_unit {}
  951. .zbph_unit {
  952. position: relative;
  953. left: 48px;
  954. bottom: 12px;
  955. font-size: 12px;
  956. }
  957. .zbph_label {
  958. display: inline-block;
  959. width: 93px;
  960. height: 16px;
  961. font-size: 15px;
  962. position: relative;
  963. top: -9px;
  964. font-weight: 600;
  965. }
  966. .zbph_value {
  967. color: #f9b447;
  968. position: relative;
  969. left: 43px;
  970. top: -10px;
  971. font-weight: 700;
  972. }
  973. }
  974. .icon {
  975. width: 12px;
  976. height: 12px;
  977. background: linear-gradient(180deg, rgba(37, 177, 255, 0.6) 0%, rgba(0, 48, 83, 0.48) 100%);
  978. box-shadow: inset 0px 0 5px 0px #002B6C;
  979. border-radius: 5px 5px 5px 5px;
  980. border: 1px solid rgba(100, 218, 255, 0.5);
  981. }
  982. .left_info {
  983. display: inline-block;
  984. width: 50%;
  985. height: 100%;
  986. }
  987. .right_info {
  988. width: 50%;
  989. height: 100%;
  990. float: right;
  991. }
  992. }
  993. #jcpg {
  994. width: 27rem;
  995. height: 10rem;
  996. position: absolute;
  997. right: -1rem;
  998. top: 4.5rem;
  999. }
  1000. </style>