sjtjModules.vue 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444
  1. <template>
  2. <div>
  3. <div>
  4. <a-card style="margin-bottom: 1rem;width:100%;">
  5. <a-row>
  6. <a-col :sm="24" :md="12" :xl="3">
  7. <a-avatar :size="40" icon="user"/>
  8. <a-select default-value="ssqy" style="width: 150px;margin-top: 10%;margin-left: 3%" @change="handleChange">
  9. <a-select-option value="szdw">
  10. 省直单位
  11. </a-select-option>
  12. <a-select-option value="ssqy">
  13. 省属企业
  14. </a-select-option>
  15. </a-select>
  16. </a-col>
  17. <a-col :sm="24" :md="12" :xl="4">
  18. <div
  19. style="height:5rem;width: 100%;background-color:rgb(80,165,246); margin-left: 5rem;font-size:16px;text-align: center ;border-radius: 10px;cursor:pointer ">
  20. <div style="color: white;padding-top: 1rem">
  21. <div>已上报省直单位地块总面积</div>
  22. <div>
  23. <span style="font-size: 24px">{{ SUMSZ }}</span><span style="margin-left: 5px">亩</span>
  24. </div>
  25. </div>
  26. </div>
  27. </a-col>
  28. <a-col :sm="24" :md="12" :xl="4">
  29. <div
  30. style="height:5rem;width: 100%;background-color: rgb(252,140,118); margin-left: 10rem;font-size:16px;text-align: center ;border-radius: 10px;cursor:pointer ">
  31. <div style="color: white;padding-top: 1rem">
  32. <div>已上报省属企业地块总面积</div>
  33. <div>
  34. <span style="font-size: 24px">{{ SUMSS }}</span><span style="margin-left: 5px">亩</span>
  35. </div>
  36. </div>
  37. </div>
  38. </a-col>
  39. <a-col :sm="24" :md="12" :xl="4">
  40. <div
  41. style="height:5rem;width: 100%;background-color: rgb(130,144,255); margin-left: 15rem;font-size:16px;text-align: center ;border-radius: 10px;cursor:pointer ">
  42. <div style="color: white;padding-top: 1rem">
  43. <div>其中省直单位闲置低效面积</div>
  44. <div>
  45. <span style="font-size: 24px">{{ SUMSZXZDX }}</span><span style="margin-left: 5px">亩</span>
  46. </div>
  47. </div>
  48. </div>
  49. </a-col>
  50. <a-col :sm="24" :md="12" :xl="4">
  51. <div
  52. style="height:5rem;width: 100%;background-color: rgb(66,220,172); margin-left: 20rem;font-size:16px;text-align: center ;border-radius:10px;cursor:pointer ">
  53. <div style="color: white;padding-top: 1rem">
  54. <div>其中省属企业闲置低效面积</div>
  55. <div>
  56. <span style="font-size: 24px;">{{ SUMSSXZDX }}</span><span style="margin-left: 5px">亩</span>
  57. </div>
  58. </div>
  59. </div>
  60. </a-col>
  61. </a-row>
  62. </a-card>
  63. </div>
  64. <div>
  65. <a-row v-show="this.type=='szdw'">
  66. <a-col :sm="24" :md="12" :xl="12">
  67. <a-card style="margin-bottom: 1rem;width:100%;height: 42rem">
  68. <mapData :resultMapData="this.resMapSzData" :titles="this.title2" ></mapData>
  69. </a-card>
  70. </a-col>
  71. <a-col :sm="24" :md="12" :xl="6">
  72. <a-card style="margin-bottom: 1rem;width:100%;height: 21rem">
  73. <PieData :resultData="this.resData1" :titleText=this.textBysz></PieData>
  74. </a-card>
  75. </a-col>
  76. <a-col :sm="24" :md="12" :xl="6">
  77. <a-card style="margin-bottom: 1rem;width:100%;height: 21rem">
  78. <DoughnutData :titleText="this.titleBysz2" :result-data="this.DoughnutData"
  79. :pie-color="this.color"></DoughnutData>
  80. </a-card>
  81. </a-col>
  82. <a-col :sm="24" :md="12" :xl="12">
  83. <a-card style="margin-bottom: 1rem;width:100%;height: 20rem">
  84. <a-col :sm="24" :md="12" :xl="24">
  85. <BarData :titleText=this.BarTitleBysz :result-x-data=this.resXData :dw="this.dw2"
  86. style="width:800px ;height:300px;"></BarData>
  87. </a-col>
  88. </a-card>
  89. </a-col>
  90. <a-col :sm="24" :md="12" :xl="12">
  91. <a-card style="margin-bottom: 1rem;width:100%;height: 21rem">
  92. <!-- <NightingaleCharData style="margin-left: 10rem"></NightingaleCharData>-->
  93. <a-col :xl="5">
  94. <WaterWorld :titleText=this.WaterWorldTitle :bottomTitle=this.WaterWorldTitleByqyzy
  95. :resultData="this.resWordDataZy"></WaterWorld>
  96. </a-col>
  97. <a-col :xl="5" style="margin-left: 5rem">
  98. <WaterWorld :bottomTitle=this.WaterWorldTitleBydycz :resultData="this.resWordDataCz"></WaterWorld>
  99. </a-col>
  100. <a-col :xl="5" style="margin-left: 5rem">
  101. <WaterWorld :bottomTitle=this.WaterWorldTitleByxzdx :resultData="this.resWordDataXz"></WaterWorld>
  102. </a-col>
  103. </a-card>
  104. </a-col>
  105. <a-col :sm="24" :md="12" :xl="12">
  106. <a-card style="margin-bottom: 1rem;width:100%;height: 21rem">
  107. <BarDobuleData :titleText=this.BarTitleBysjzymj2 :result-x-data="resBarSzData"></BarDobuleData>
  108. </a-card>
  109. </a-col>
  110. </a-row>
  111. <a-row v-show="this.type=='ssqy'">
  112. <a-col :sm="24" :md="12" :xl="12">
  113. <a-card style="margin-bottom: 1rem;width:100%;height: 43rem">
  114. <mapData :resultMapData="this.resMapSsData" :titles="this.title1" @visible="visibleInfo"></mapData>
  115. </a-card>
  116. </a-col>
  117. <a-col :sm="24" :md="12" :xl="6">
  118. <a-card style="margin-bottom: 1rem;width:100%;height: 21rem">
  119. <PieData :resultData="this.resData" :titleText="this.textByss" @visible="visibleInfo" ></PieData>
  120. </a-card>
  121. </a-col>
  122. <a-col :sm="24" :md="12" :xl="6">
  123. <a-card style="margin-bottom: 1rem;width:100%;height: 21rem">
  124. <DoughnutData :titleText="this.titleBysz" :result-data="this.DoughnutData1"
  125. :pie-color="this.color1"></DoughnutData>
  126. </a-card>
  127. </a-col>
  128. <a-col :sm="24" :md="12" :xl="6">
  129. <a-card style="margin-bottom: 1rem;width:100%;height: 21rem">
  130. <PieData :resultData="this.resData2" :titleText="this.textBysss" @visible="visibleInfo"></PieData>
  131. </a-card>
  132. </a-col>
  133. <a-col :sm="24" :md="12" :xl="6">
  134. <a-card style="margin-bottom: 1rem;width:100%;height: 21rem">
  135. <DoughnutData :titleText="this.titleByszs" :result-data="this.DoughnutData2"
  136. :pie-color="this.color" @visible="visibleInfo"></DoughnutData>
  137. </a-card>
  138. </a-col>
  139. <!-- <a-col :sm="24" :md="12" :xl="12">
  140. <a-card style="margin-bottom: 1rem;width:100%;height: 20rem">
  141. <BarData :titleText=this.BarTitleBysz :result-x-data="this.resYData"></BarData>
  142. </a-card>
  143. </a-col>-->
  144. <a-col :sm="24" :md="12" :xl="12">
  145. <a-card style="margin-bottom: 1rem;width:100%;height: 21rem">
  146. <!-- <a-col :xl="5">
  147. <WaterWorld :titleText=this.WaterWorldTitle :bottomTitle=this.WaterWorldTitleByqyzy
  148. :resultData="this.resWordDataZy"></WaterWorld>
  149. </a-col>
  150. <a-col :xl="5" style="margin-left: 5rem">
  151. <WaterWorld :bottomTitle=this.WaterWorldTitleBydycz :resultData="this.resWordDataCz"></WaterWorld>
  152. </a-col>
  153. <a-col :xl="5" style="margin-left: 5rem">
  154. <WaterWorld :bottomTitle=this.WaterWorldTitleByxzdx :resultData="this.resWordDataXz"></WaterWorld>
  155. </a-col>-->
  156. <a-col :sm="24" :md="12" :xl="24">
  157. <!-- <a-card style="margin-bottom: 1rem;width:100%;height: 20rem">-->
  158. <BarData :titleText=this.BarTitleBysz :result-x-data="this.resYData" :dw="this.dw2"
  159. :seriesName="'地块数量'"></BarData>
  160. <!-- </a-card>-->
  161. </a-col>
  162. </a-card>
  163. </a-col>
  164. <a-col :sm="24" :md="12" :xl="12">
  165. <a-card style="margin-bottom: 1rem;width:100%;height: 21rem">
  166. <BarDobuleData :titleText=this.BarTitleBysjzymj :result-x-data="resBarSsData"></BarDobuleData>
  167. </a-card>
  168. </a-col>
  169. <a-col :sm="24" :md="12" :xl="24">
  170. <a-card style="margin-bottom: 1rem;width:100%;height: 21rem">
  171. <BarData :titleText=this.BarTitleBysjzymjs :result-x-data="this.resYDatas" :seriesName="'地块面积(亩)'"
  172. :dw="this.dw"
  173. style="width:1600px ;height:300px;"></BarData>
  174. </a-card>
  175. </a-col>
  176. </a-row>
  177. <j-modal
  178. :visible="visible"
  179. okText="保存"
  180. @cancel="handleCancel"
  181. cancelText="关闭"
  182. >
  183. <QcSsgqzysytdqkList :param="this.param"> </QcSsgqzysytdqkList>
  184. </j-modal>
  185. </div>
  186. </div>
  187. </template>
  188. <script>
  189. import mapData from "@views/tj/compoent/map3Data";
  190. import PieData from "@views/tj/compoent/PieData"
  191. import DoughnutData from "@views/tj/compoent/DoughnutData";
  192. import BarData from "@views/tj/compoent/BarData";
  193. import BarDobuleData from "@views/tj/compoent/BarDobuleData";
  194. import WaterWorld from "@views/tj/compoent/WaterWorld";
  195. import NightingaleCharData from "@views/tj/compoent/NightingaleCharData";
  196. import {getAction} from "@api/manage";
  197. import QcSsgqzysytdqkList from "@views/qcsb/QcSsgqzysytdqkList_tj"
  198. export default {
  199. name: "sjtj",
  200. data() {
  201. return {
  202. SUMSS: "",
  203. SUMSSXZDX: "",
  204. visible: false,
  205. SUMSZ: "",
  206. SUMSZXZDX: "",
  207. type: 'ssqy',
  208. DoughnutData:
  209. [],
  210. title2: "山东省省直单位地块统计",
  211. title1: "山东省省属企业地块统计",
  212. DoughnutData1: [],
  213. DoughnutData2: [],
  214. resXData: [],
  215. resYData: [],
  216. resYDatas: [],
  217. dw: '单位(亩)',
  218. dw2: '单位(块)',
  219. resData: [],
  220. resMapSzData: [],
  221. resMapSsData: [],
  222. resBarSsData: [],
  223. resBarSzData: [],
  224. cz: "",
  225. qyzy: "",
  226. xzdx: "",
  227. sum: "",
  228. param:"",
  229. resData2: [],
  230. color: ['#4676ff', '#1ad4cb'],
  231. color1: ['#8c42a1', '#4fa5e7'],
  232. resData1:
  233. [ //每个模块的名字和值
  234. ],
  235. resWordDataZy: 0.98,
  236. resWordDataCz: 0.01,
  237. resWordDataXz: 0.01,
  238. textBysz: "省直单位土地获取方式占比",
  239. textByss: "省属企业土地地块数量获取方式占比",
  240. textBysss: "省属企业土地地块面积获取方式占比",
  241. titleBysz: "企业权证登记比例情况",
  242. titleBysz2: "单位权证登记比例情况",
  243. titleByszs: "土地使用现状占比",
  244. BarTitleBysz: '土地实际用途情况',
  245. BarTitleBysjzymj: '省属企业实际占用面积',
  246. BarTitleBysjzymjs: '一级单位用地面积汇总',
  247. BarTitleBysjzymj2: '省属企业实际占用面积',
  248. WaterWorldTitle: '企业土地使用情况',
  249. WaterWorldTitleByqyzy: '企业自用',
  250. WaterWorldTitleBydycz: '对外出租',
  251. WaterWorldTitleByxzdx: '闲置低效'
  252. }
  253. },
  254. mounted() {
  255. new Promise(resolve => {
  256. this.getPieData(resolve);
  257. this.getPieData2(resolve);
  258. this.getPieDatasz(resolve);
  259. this.getDougatasz(resolve);
  260. this.getTdsyxzDougatasz(resolve);
  261. this.getDougatass(resolve);
  262. this.getBarsz(resolve);
  263. this.getBarss(resolve);
  264. this.getMapSzData();
  265. this.getMapSsData();
  266. this.getAreaData();
  267. this.getBarssSjzyData(),
  268. this.getBarszSjzyData(),
  269. this.geszqyzytData()
  270. }).then(res => {
  271. console.log(res);//数据返回了
  272. })
  273. },
  274. components: {mapData, DoughnutData, BarData, WaterWorld, NightingaleCharData, BarDobuleData, PieData,QcSsgqzysytdqkList},
  275. methods: {
  276. handleChange(value) {
  277. this.type = value;
  278. },
  279. handleCancel() {
  280. this.visible = false
  281. },
  282. visibleInfo(params) {
  283. this.param=params
  284. this.visible = true
  285. // this.$router.push({ name:'qcsb-qcSsgqzysytdqk-list', query:{sfsb:3} });
  286. },
  287. getAreaData() {
  288. getAction("/qcsb.qyxx/qcQyxx/sbdkmj").then(res => {
  289. if (res.code == 200) {
  290. this.SUMSS = res.result.SUMSS.toFixed(2);
  291. this.SUMSSXZDX = res.result.SUMSSXZDX.toFixed(2);
  292. this.SUMSZXZDX = res.result.SUMSZXZDX.toFixed(2);
  293. this.SUMSZ = res.result.SUMSZ.toFixed(2);
  294. console.log(6666666666,res.result)
  295. }
  296. })
  297. },
  298. getPieData() {
  299. getAction("/qcsb.qyxx/qcQyxx/tdhqfs").then(res => {
  300. if (res.code == 200) {
  301. this.resData = res.result;
  302. }
  303. })
  304. },
  305. getPieData2() {
  306. getAction("/qcsb.qyxx/qcQyxx/tdhqfsArea").then(res => {
  307. debugger
  308. if (res.code == 200) {
  309. this.resData2 = res.result;
  310. }
  311. })
  312. },
  313. getPieDatasz() {
  314. getAction("/qcsb.qyxx/qcQyxx/tdhqfssz").then(res => {
  315. if (res.code == 200) {
  316. this.resData1 = res.result;
  317. }
  318. })
  319. },
  320. getDougatass() {
  321. getAction("/qcsb.qyxx/qcQyxx/qzdjblss").then(res => {
  322. if (res.code == 200) {
  323. this.DoughnutData = res.result;
  324. }
  325. })
  326. },
  327. getDougatasz() {
  328. getAction("/qcsb.qyxx/qcQyxx/qzdjblsz").then(res => {
  329. if (res.code == 200) {
  330. this.DoughnutData1 = res.result;
  331. }
  332. })
  333. },
  334. //统计-土地使用现状占比
  335. getTdsyxzDougatasz() {
  336. getAction("/qcsb.qyxx/qcQyxx/tdsyxzzb").then(res => {
  337. if (res.code == 200) {
  338. debugger
  339. this.DoughnutData2 = res.result;
  340. }
  341. })
  342. },
  343. getBarsz() {
  344. getAction("/qcsb.qyxx/qcQyxx/sjyttjsz").then(res => {
  345. if (res.code == 200) {
  346. this.resXData = res.result
  347. }
  348. })
  349. },
  350. getBarss() {
  351. getAction("/qcsb.qyxx/qcQyxx/sjyttjss").then(res => {
  352. if (res.code == 200) {
  353. this.resYData = res.result
  354. }
  355. }),
  356. getAction("/qcsb.qyxx/qcQyxx/yjdwmjhz").then(res => {
  357. if (res.code == 200) {
  358. debugger
  359. this.resYDatas = res.result
  360. }
  361. })
  362. },
  363. getMapSzData() {
  364. getAction("/qcsb.qyxx/qcQyxx/szdtdktj").then(res => {
  365. if (res.code == 200) {
  366. this.resMapSzData = res.result
  367. }
  368. })
  369. },
  370. getMapSsData() {
  371. getAction("/qcsb.qyxx/qcQyxx/ssdtdktj").then(res => {
  372. if (res.code == 200) {
  373. this.resMapSsData = res.result
  374. console.log(555555555, this.resMapSsData)
  375. }
  376. })
  377. },
  378. getBarssSjzyData() {
  379. getAction("/qcsb.qyxx/qcQyxx/sszytdmjtj").then(res => {
  380. if (res.code == 200) {
  381. this.resBarSsData = res.result
  382. }
  383. })
  384. },
  385. getBarszSjzyData() {
  386. getAction("/qcsb.qyxx/qcQyxx/szzytdmjtj").then(res => {
  387. if (res.code == 200) {
  388. this.resBarSzData = res.result
  389. }
  390. })
  391. },
  392. geszqyzytData() {
  393. getAction("/qcsb.qyxx/qcQyxx/szqyzy").then(res => {
  394. if (res.code == 200) {
  395. this.resWordDataCz = parseFloat(res.result[0].value / res.result[3].value);
  396. this.resWordDataZy = parseFloat(res.result[1].value / res.result[3].value);
  397. this.resWordDataXz = parseFloat(res.result[2].value / res.result[3].value);
  398. console.log(2222222222, this.resWordDataCz)
  399. }
  400. })
  401. },
  402. }
  403. }
  404. </script>
  405. <style scoped>
  406. </style>