investHomeGroup.html 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="utf-8" />
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge" />
  6. <meta name="viewport" content="width=device-width, initial-scale=1" />
  7. <!-- 引入样式 -->
  8. <link rel="stylesheet" href="./styles/investHomeGroup.css" />
  9. <!-- 引入js -->
  10. <script src="./libs/vue@2.7.10.js"></script>
  11. <script src="./libs/echarts.min2.js"></script>
  12. <script src="./libs/datav.map.vue.js"></script>
  13. <script src="./libs/axios.min.js"></script>
  14. <script src="./js/request.js"></script>
  15. <script src="./js/map/china.json"></script>
  16. <!-- 水球 -->
  17. <script src="./libs/echarts-liquidfill.min.js"></script>
  18. <script src="./libs/echarts-tooltip-carousel.js"></script>
  19. <script src="./js/groupData.js"></script>
  20. <!-- highchair -->
  21. <script src="./libs/highcharts.js"></script>
  22. <script src="./libs/highcharts3d.js"></script>
  23. </head>
  24. <body>
  25. <!-- <dv-full-screen-container> -->
  26. <div id="app" class="w-full h-full">
  27. <div class="LeftBox">
  28. <header class="my-header">
  29. <span class="pointer" @click.stop="showTitlePop('2.png','投资业务管理')">投资业务管理</span>
  30. </header>
  31. <div class="main">
  32. <div class="card left-rt">
  33. <div class="title">
  34. <span class="text">投资计划分析</span>
  35. </div>
  36. <div class="content">
  37. <div>
  38. <div class="item3 commonBack pointer" @click.stop="showChartLTipSingle('年度投资计划总额')">
  39. <div class="item3-title">{{numFormat(totleLimit)}}<span>亿</span></div>
  40. <div class="item3-img">
  41. <img style="width: 100%; height: 100%;" src="./groupImg/icon-8-home2.png" alt="">
  42. </div>
  43. <div class="item4-text" style="color: #fff;text-align: center;">
  44. <div>年度投资计划总额</div>
  45. <div>(企业上报)</div>
  46. </div>
  47. </div>
  48. <div class="commonBack flex items-center justify-center">
  49. <div class="item4">
  50. <div class="item4-title">固定资产类项目</div>
  51. <div class="item4-con">
  52. <div class="item pointer" @click.stop="showChartLTipSingle('投资金额')">
  53. <div class="text" style="margin-top: 10px;">投资金额</div>
  54. <div class="title">{{numFormat(totleLimit2)}}<span>亿</span></div>
  55. </div>
  56. <div class="item pointer" @click.stop="showChartLTipSingle('项目数量')">
  57. <div class="text" style="margin-top: 10px;">项目数量</div>
  58. <div class="title">{{numFormat(totleLimit3)}}<span>个</span></div>
  59. </div>
  60. </div>
  61. </div>
  62. </div>
  63. <div class="commonBack flex items-center justify-center">
  64. <div class="item4">
  65. <div class="item4-title">股权类项目</div>
  66. <div class="item4-con">
  67. <div class="item pointer" @click.stop="showChartLTipSingle('投资金额')">
  68. <div class="text" style="margin-top: 10px;">投资金额</div>
  69. <div class="title">{{numFormat(totleLimit4)}}<span>亿</span></div>
  70. </div>
  71. <div class="item pointer" @click.stop="showChartLTipSingle('项目数量')">
  72. <div class="text" style="margin-top: 10px;">项目数量</div>
  73. <div class="title">{{numFormat(totleLimit5)}}<span>个</span></div>
  74. </div>
  75. </div>
  76. </div>
  77. </div>
  78. </div>
  79. <div class="left-rtb">
  80. <div id="echartL2" ref="echartL2" class="commonBack" style="width: 100%; height: 100%;"></div>
  81. <div id="echartL3" ref="echartL3" class="commonBack" style="width: 100%; height: 100%;"></div>
  82. </div>
  83. </div>
  84. </div>
  85. <div class="card left-lt">
  86. <div class="title">
  87. <span class="text">投资额度分析</span>
  88. </div>
  89. <div class="content">
  90. <div class="h-full w-full overflow-hidden commonBack">
  91. <div class="content-left-top">
  92. <div class="item2">
  93. <div class="item2-title" style="color: #15FFA2;">{{left1[0]}}<span>亿</span></div>
  94. <div class="item2-img">
  95. <img style="width: 100%; height: 100%;" src="./groupImg/icon-4-home2.png" alt="">
  96. </div>
  97. <div class="item2-text">上年度净利润</div>
  98. </div>
  99. <div class="item2">
  100. <div class="item2-title" style="color: #08E4FA;">{{left1[1]}}<span>亿</span></div>
  101. <div class="item2-img">
  102. <img style="width: 100%; height: 100%;" src="./groupImg/icon-7-home2.png" alt="">
  103. </div>
  104. <div class="item2-text">带息负债压降指标</div>
  105. </div>
  106. </div>
  107. <div class="content-left-bottom">
  108. <div class="item2">
  109. <div class="item2-title" style="color: #DD9CFF;">{{left1[2]}}<span>亿</span></div>
  110. <div class="item2-img">
  111. <img style="width: 100%; height: 100%;" src="./groupImg/icon-5-home2.png" alt="">
  112. </div>
  113. <div class="item2-text">固定资产折旧及无形资产摊销</div>
  114. </div>
  115. </div>
  116. </div>
  117. <div class="h-full w-full overflow-hidden relative commonBack" @click="projectListTipShow = true">
  118. <div class="total">总额度<span>{{numFormat(left2[1])}}<span style="font-size: 20px;">亿</span></span></div>
  119. <div ref="echartL1" style="width: 100%; height: 100%;"></div>
  120. </div>
  121. </div>
  122. </div>
  123. <div class="card ">
  124. <div class="title">
  125. <span class="text">产业布局分析</span>
  126. </div>
  127. <div class="content left-rc">
  128. <div id="echartL5" ref="echartL5" class="commonBack" style="width: 100%; height: 100%;"></div>
  129. <div id="echartL6" ref="echartL6" class="commonBack" style="width: 100%; height: 100%;"></div>
  130. <div id="echartL7" ref="echartL7" class="commonBack" style="width: 100%; height: 100%;"></div>
  131. <div id="echartL8" ref="echartL8" class="commonBack" style="width: 100%; height: 100%;"></div>
  132. </div>
  133. </div>
  134. <div class="card ">
  135. <div class="title">
  136. <span class="text">企业额度分析</span>
  137. </div>
  138. <div class="content">
  139. <div id="echartL4" class="commonBack" style="width: 100%; height: 100%;"></div>
  140. </div>
  141. </div>
  142. <div class="card">
  143. <div class="title">
  144. <span class="text">项目阶段分析</span>
  145. </div>
  146. <div class="content left-rb">
  147. <div id="echartL10" class="commonBack" style="width: 100%; height: 100%;"></div>
  148. <div id="echartL11" class="commonBack" style="width: 100%; height: 100%;"></div>
  149. </div>
  150. </div>
  151. <div class="card">
  152. <div class="title">
  153. <span class="text">重点项目两线指标</span>
  154. </div>
  155. <div class="content left-lb">
  156. <dv-scroll-board :config="storageRecordConfig" @scroll-change="scrollChange"
  157. class="commonBack"></dv-scroll-board>
  158. <div id="echartL9" class="commonBack" style="width: 100%; height: 100%;"></div>
  159. </div>
  160. </div>
  161. </div>
  162. </div>
  163. <div class="CenterBox relative">
  164. <header class="my-header">
  165. <span class="pointer" @click.stop="showTitlePop('1.png','数智化投资管理驾驶舱')">数智化投资管理驾驶舱</span>
  166. </header>
  167. <div class="main">
  168. <div class="h-full w-full center-l">
  169. <div class="card">
  170. <div class="title">
  171. <span class="text">投资收益总览</span>
  172. </div>
  173. <div class="content">
  174. <div class="boxs">
  175. <div class="pointer" @click.stop="showChartLTipSingle('投资总额')">
  176. <p>
  177. <span class="name">投资总额</span>
  178. <i class="el-icon-more"></i>
  179. </p>
  180. <p>
  181. <i style="width:100%;text-align: center;"><span class="num">{{numFormat(center1[0])}}</span>亿</i>
  182. </p>
  183. </div>
  184. <div class="pointer" @click.stop="showChartLTipSingle('项目总数')">
  185. <p>
  186. <span class="name">项目总数</span>
  187. <i class="el-icon-more"></i>
  188. </p>
  189. <p>
  190. <i style="width:100%;text-align: center;"><span class="num">{{numFormat(center1[1])}}</span>个</i>
  191. </p>
  192. </div>
  193. <div class="pointer" @click.stop="showChartLTipSingle('固定资产')">
  194. <p>
  195. <span class="name">固定资产</span>
  196. <i class="el-icon-more"></i>
  197. </p>
  198. <p>
  199. <i style="width:100%;text-align: center;"><span class="num">{{numFormat(center1[2])}}</span>亿</i>
  200. </p>
  201. </div>
  202. <div class="pointer" @click.stop="showChartLTipSingle('股权投资')">
  203. <p>
  204. <span class="name">股权投资</span>
  205. <i class="el-icon-more"></i>
  206. </p>
  207. <p>
  208. <i style="width:100%;text-align: center;"><span class="num">{{numFormat(center1[3])}}</span>亿</i>
  209. </p>
  210. </div>
  211. </div>
  212. </div>
  213. </div>
  214. <div class="card">
  215. <div class="title">
  216. <span class="text">投资产业分布</span>
  217. </div>
  218. <div class="content">
  219. <div id="echartC1" class="commonBack" style="width: 100%; height: 100%;"></div>
  220. </div>
  221. </div>
  222. <div class="card">
  223. <div class="title">
  224. <span class="text">投资执行情况</span>
  225. </div>
  226. <div class="content">
  227. <div id="echartC2" ref="echartC2" class="commonBack" style="width: 100%; height: 100%;" @mouseenter="echartC2Fd = false" @mouseout="echartC2Fd = true"></div>
  228. </div>
  229. </div>
  230. </div>
  231. <div class="h-full w-full">
  232. <div class="top">
  233. <div class="box">
  234. <div class="t">
  235. <img src="./groupImg/center1.png" />
  236. 产业转型
  237. </div>
  238. <div class="flex b">
  239. <div class="pointer" @click.stop="showChartLTipSingle('产业转型-投资总额')">
  240. <p>投资金额</p>
  241. <p style="color:#40A9FF"><span>{{numFormat(center4[0])}}</span><span style="font-size: 25px;">亿</span></p>
  242. </div>
  243. <div class="pointer" @click.stop="showChartLTipSingle('产业转型-项目数量')">
  244. <p>项目数量</p>
  245. <p style="color:#40A9FF"><span>{{center4[1]}}</span><span style="font-size: 25px;">个</span></p>
  246. </div>
  247. </div>
  248. </div>
  249. <div class="box">
  250. <div class="t">
  251. <img src="./groupImg/center1.png" />
  252. 数字转型
  253. </div>
  254. <div class="flex b">
  255. <div class="pointer" @click.stop="showChartLTipSingle('数字转型-投资总额')">
  256. <p>投资金额</p>
  257. <p style="color:#40A9FF"><span>{{numFormat(center4[2])}}</span><span style="font-size: 25px;">亿</span></p>
  258. </div>
  259. <div class="pointer" @click.stop="showChartLTipSingle('数字转型-投资总额')">
  260. <p>项目数量</p>
  261. <p style="color:#40A9FF"><span>{{center4[3]}}</span><span style="font-size: 25px;">个</span></p>
  262. </div>
  263. </div>
  264. </div>
  265. </div>
  266. <div class="map-box">
  267. <img src="./groupImg/back.png" alt="" class="mapBack pointer" @click="backChina" v-show="backShow">
  268. <div ref="echarts-map" id="echarts-map" style="height: calc(100% - 155px);"></div>
  269. <!-- 项目状态 -->
  270. <div class="status">
  271. <p>项目状态</p>
  272. <ul style="padding-left: 30px; margin-bottom: 10px;">
  273. <li>通过: <i>112</i></li>
  274. <li>研究中: <i>14</i></li>
  275. <li>退回: <i>15</i></li>
  276. <li>暂缓: <i>4</i></li>
  277. <li>终止: <i>2</i></li>
  278. <li>否决: <i>4</i></li>
  279. </ul>
  280. </div>
  281. </div>
  282. </div>
  283. <div class="h-full w-full center-r">
  284. <div class="card">
  285. <div class="title">
  286. <span class="text">五个一体化</span>
  287. </div>
  288. <div class="content">
  289. <div id="echartC3" ref="echartC3" class="commonBack" style="width: 100%; height: 100%;"></div>
  290. </div>
  291. </div>
  292. <div class="card">
  293. <div class="title">
  294. <span class="text">投资阶段分析</span>
  295. </div>
  296. <div class="content">
  297. <div id="echartC4" ref="echartC4" class="commonBack" style="width: 100%; height: 100%;"></div>
  298. </div>
  299. </div>
  300. <div class="card">
  301. <div class="title">
  302. <span class="text">重点项目监控</span>
  303. </div>
  304. <div class="content" style="border-radius: 15px;">
  305. <dv-scroll-board :config="storageRecordConfig2" @click="goLookBoard" class="content" />
  306. </div>
  307. </div>
  308. </div>
  309. </div>
  310. <!-- 标题专属弹窗 -->
  311. <div class="tip-box" v-if="mapTipShow">
  312. <div class="absolute poptitle">{{titleName}}</div>
  313. <div class="tip-down" @click="closeTap()">×</div>
  314. <div class="absolute popLeft" @click.stop="popLeftClick()"></div>
  315. <div class="absolute popright" @click.stop="poprightClick()"></div>
  316. <img :src="`./groupImg/titleImg/${titleUrl}`" class="titleImg" alt="">
  317. </div>
  318. <!-- 一个柱状图专属弹窗 -->
  319. <div class="tip-box" v-if="echartSingleTipShow">
  320. <div class="absolute poptitle">{{titleName}}</div>
  321. <div class="tip-down" @click="closeTap()">×</div>
  322. <div id="echartSingleTip" ref="echartSingleTip" class="commonBack" style="width: 100%; height: 100%;"></div>
  323. </div>
  324. <!-- 两个柱状图专属弹窗 -->
  325. <div class="tip-box doubleTip" v-if="echartDoubleTipShow">
  326. <div class="absolute poptitle">{{titleName}}</div>
  327. <div class="tip-down" @click="closeTap()">×</div>
  328. <div id="echartSingleTip2" ref="echartSingleTip2" class="commonBack" style="width: 100%; height: 100%;"></div>
  329. <div id="echartSingleTip3" ref="echartSingleTip3" class="commonBack" style="width: 100%; height: 100%;"></div>
  330. </div>
  331. <!-- 企业额度分析专属弹窗 -->
  332. <div class="tip-box" v-if="echartEnterpriseShow">
  333. <div class="absolute poptitle">{{titleName}}</div>
  334. <div class="tip-down" @click="closeTap()">×</div>
  335. <div class="tip2">
  336. <div>
  337. <div class="tip2-list">
  338. <div>
  339. <span>2022年度合并报表净利润</span>
  340. <span style="color:#4C96CB"><span
  341. style="font-size: 20px;font-weight: bold;font-size: 40px;">{{numFormat(common1[0])}}</span>亿元</span>
  342. </div>
  343. <div>
  344. <span>提取固定资产折旧和无形资产摊销</span>
  345. <span style="color:#4C96CB"><span
  346. style="font-size: 20px;font-weight: bold;font-size: 40px;">{{numFormat(common1[1])}}</span>亿元</span>
  347. </div>
  348. <div>
  349. <span>预计压降带息负债</span>
  350. <span style="color:#4C96CB"><span
  351. style="font-size: 20px;font-weight: bold;font-size: 40px;">{{numFormat(common1[2])}}</span>亿元</span>
  352. </div>
  353. <div>
  354. <span>已用额度</span>
  355. <span style="color:#4C96CB"><span
  356. style="font-size: 20px;font-weight: bold;font-size: 40px;">{{numFormat(common1[3])}}</span>亿元</span>
  357. </div>
  358. <div>
  359. <span>剩余额度</span>
  360. <span style="color:#4C96CB"><span
  361. style="font-size: 20px;font-weight: bold;font-size: 40px;">{{numFormat(common1[4])}}</span>亿元</span>
  362. </div>
  363. </div>
  364. </div>
  365. <div class="" style="position:relative;width: 100%;height: 100%;" @click="projectListTipShow = true">
  366. <div class="total3 total">总额度<span style="font-size: 40px;">{{numFormat(common1[5])}}亿元</span></div>
  367. <div ref="echartBall" style="width: 100%; height: 100%;background-color: #04224c;"></div>
  368. </div>
  369. </div>
  370. </div>
  371. </div>
  372. <div class="RightBox">
  373. <header class="my-header">
  374. <span class="pointer" @click.stop="showTitlePop('7.png','投资项目管理')">投资项目管理</span>
  375. <span class="right">{{time}}</span>
  376. </header>
  377. <div class="main">
  378. <div class="right-t relative">
  379. <div class="commonBack">
  380. <div class="title">
  381. <span class="text">固定资产</span>
  382. </div>
  383. <div class="content top-lb">
  384. <div v-for="(item,index) in titleList.slice(0,11)" :key="index" @mouseenter="yellowMouse(index)"
  385. @mouseleave="yellowType=true" @click="showChartLTipDouble(item.name)"
  386. class="topCard flex items-center justify-center flex-col overflow-hidden pointer">
  387. <div class="flex items-center justify-center shrink-0"
  388. :class="(item.type==1&&item.name)?'titleBackBlue':(item.type==2&&item.name)?'titleBackYellow':''">
  389. <span class="flex items-center justify-center" style="height:40%;width:33%;font-size: 30px;">{{(
  390. index
  391. % 2 ) ==
  392. 0?item.name:''}}</span>
  393. </div>
  394. <span style="color:#69c0ff;" v-if="( index % 2 ) == 0"><span
  395. style="font-size:30px;font-weight: bold;margin-top: 10px;display: block;">{{item.number}}<span style="font-size: 20px;">个</span></span>
  396. </div>
  397. </div>
  398. </div>
  399. <div class="commonBack">
  400. <div class="title">
  401. <span class="text">股权类</span>
  402. </div>
  403. <div class="content top-rb">
  404. <div class="topCard flex items-center justify-center flex-col overflow-hidden"
  405. @mouseenter="yellowMouse(12)">
  406. <div class="flex items-center justify-center shrink-0"
  407. :class="(titleList[12].type==1)?'titleBackBlue':'titleBackYellow'"><span
  408. class="flex items-center justify-center"
  409. style="height:40%;width:33%;font-size: 30px;">{{titleList[12].name}}</span>
  410. </div>
  411. <span style="color:#69c0ff;"><span
  412. style="font-size:30px;font-weight: bold;margin-top: 10px;display: block;">{{titleList[12].number}}<span style="font-size: 20px;">个</span></span>
  413. </div>
  414. <div class="topCard flex items-center justify-center flex-col ">
  415. <div class="flex items-center justify-center shrink-0">
  416. </div>
  417. </div>
  418. <div class="topCard flex items-center justify-center flex-col " @mouseenter="yellowMouse(14)">
  419. <div class="flex items-center justify-center shrink-0"
  420. :class="(titleList[14].type==1)?'titleBackBlue':'titleBackYellow'"><span
  421. class="flex items-center justify-center"
  422. style="height:40%;width:33%;font-size: 30px;">{{titleList[14].name}}</span>
  423. </div>
  424. <span style="color:#69c0ff;"><span
  425. style="font-size:30px;font-weight: bold;margin-top: 10px;display: block;">{{titleList[14].number}}<span style="font-size: 20px;">个</span></span>
  426. </div>
  427. </div>
  428. </div>
  429. <!-- 悬浮窗 -->
  430. <div class="flotage absolute" :style="{left:(yellowPosition + 'px')}" v-if="yellowCount % 2 ==0">
  431. <span>项目数量:{{numFormat(right2[yellowCount][0])}}</span>
  432. <span>项目金额:{{numFormat(right2[yellowCount][1])}}</span>
  433. </div>
  434. </div>
  435. <div class="right-c">
  436. <div class="centerBack center-l ">
  437. <div class="title">
  438. <span class="text">这里少个名字</span>
  439. </div>
  440. <div class="right-cl content">
  441. <div v-for="(item,index) in centerLeftList" :key="index" class="w-full h-full">
  442. <div class="center-l-title flex items-center justify-center"><span
  443. style="margin-right: 10px;color: #0FA9E2;">·</span>{{item.name}}<span
  444. style="margin-left: 10px;color: #0FA9E2;">·</span></div>
  445. <div class="center-l-list flex items-center justify-center flex-col" style="padding-left: 30%;">
  446. <span style="color:#69c0ff;"><span
  447. style="font-size:30px;font-weight: bold;">{{item.value}}</span>个</span>
  448. <span>项目数量</span>
  449. </div>
  450. <div class="center-l-list2 flex items-center justify-center flex-col" style="padding-left: 30%;">
  451. <span style="color:#69c0ff;"><span
  452. style="font-size:30px;font-weight: bold;">{{item.value2}}</span>个</span>
  453. <span>总投资额</span>
  454. </div>
  455. </div>
  456. </div>
  457. </div>
  458. <div>
  459. <div class="title">
  460. <span class="text">这里少个名字</span>
  461. </div>
  462. <div class="content">
  463. <div ref="echartR1" class="w-full h-full" @mouseenter="echartR1Fd = false" @mouseout="echartR1Fd = true">
  464. </div>
  465. </div>
  466. </div>
  467. </div>
  468. <div class="right-b">
  469. <div>
  470. <div class="title">
  471. <span class="text">进度成本偏差</span>
  472. </div>
  473. <div class="content" style="padding:0">
  474. <div ref="echartR2" class="w-full h-full" @mouseenter="echartR2Fd = false" @mouseout="echartR2Fd = true">
  475. </div>
  476. </div>
  477. </div>
  478. <div>
  479. <div class="title">
  480. <span class="text">项目风险分析</span>
  481. </div>
  482. <div class="content right-br">
  483. <div class="right-brt">
  484. <div ref="echartR3" class="w-full h-full commonBack" @mouseenter="echartR3Fd = false"
  485. @mouseout="echartR3Fd = true"></div>
  486. <div class="w-full h-full commonBack" ref="echartR4"></div>
  487. </div>
  488. <div class="w-full h-full commonBack" ref="echartR5"></div>
  489. </div>
  490. </div>
  491. </div>
  492. </div>
  493. </div>
  494. <!-- 项目列表专属弹窗 -->
  495. <div class="tip-box productTip" v-if="projectListTipShow">
  496. <div class="absolute poptitle productPoptitle">项目列表</div>
  497. <div class="tip-down" @click="projectListTipShow = false">×</div>
  498. <dv-scroll-board :config='config6' @click="goLookBoard" style="width:100%;height:100%;" />
  499. </div>
  500. </div>
  501. <!-- </dv-full-screen-container> -->
  502. <script src="./js/investHomeGroup.js"></script>
  503. </body>
  504. </html>