ssfg 5 years ago
commit
16e43536a2
100 changed files with 18621 additions and 0 deletions
  1. 21 0
      .gitignore
  2. 24 0
      README.md
  3. 5 0
      babel.config.js
  4. BIN
      font/AGENCYB.TTF
  5. BIN
      font/LCD.ttf
  6. 13 0
      font/font.css
  7. 11801 0
      package-lock.json
  8. 54 0
      package.json
  9. BIN
      public/favicon.ico
  10. 17 0
      public/index.html
  11. 1 0
      public/static/jilin.json
  12. BIN
      public/static/mapPop.png
  13. 68 0
      src/App.vue
  14. 64 0
      src/api/ajax.js
  15. 182 0
      src/api/index.js
  16. BIN
      src/assets/EnterpriseInformation/bj3.png
  17. BIN
      src/assets/EnterpriseInformation/circle.png
  18. BIN
      src/assets/EnterpriseInformation/xline.png
  19. BIN
      src/assets/LoanStatistics/bj4.png
  20. BIN
      src/assets/LoanStatistics/gsyhtop1.png
  21. BIN
      src/assets/LoanStatistics/jsyhtop1.png
  22. BIN
      src/assets/LoanStatistics/jtnstop1.png
  23. BIN
      src/assets/LoanStatistics/numbj.png
  24. BIN
      src/assets/LoanStatistics/numbj1.png
  25. BIN
      src/assets/LoanStatistics/nyyhtop1.png
  26. BIN
      src/assets/LoanStatistics/pop.png
  27. BIN
      src/assets/LoanStatistics/top1.png
  28. BIN
      src/assets/LoanStatistics/top2.png
  29. BIN
      src/assets/LoanStatistics/top3.png
  30. BIN
      src/assets/LoanStatistics/top4.png
  31. BIN
      src/assets/LoanStatistics/top5.png
  32. BIN
      src/assets/LoanStatistics/top6.png
  33. BIN
      src/assets/PlatformAchievement/bj2.png
  34. BIN
      src/assets/PlatformAchievement/bj3.png
  35. BIN
      src/assets/PlatformAchievement/circle.png
  36. BIN
      src/assets/PlatformAchievement/float.png
  37. BIN
      src/assets/PlatformAchievement/k1.png
  38. BIN
      src/assets/PlatformAchievement/k2.png
  39. BIN
      src/assets/PlatformAchievement/k3.png
  40. BIN
      src/assets/index/bj.png
  41. BIN
      src/assets/index/block.png
  42. BIN
      src/assets/index/diqiu.png
  43. BIN
      src/assets/index/dq.gif
  44. BIN
      src/assets/index/five.png
  45. BIN
      src/assets/index/four.png
  46. BIN
      src/assets/index/h1.png
  47. BIN
      src/assets/index/h2.png
  48. BIN
      src/assets/index/h3.png
  49. BIN
      src/assets/index/h4.png
  50. BIN
      src/assets/index/k1.png
  51. BIN
      src/assets/index/k2.png
  52. BIN
      src/assets/index/k3.png
  53. BIN
      src/assets/index/k4.png
  54. BIN
      src/assets/index/legend1.png
  55. BIN
      src/assets/index/legend2.png
  56. BIN
      src/assets/index/legend3.png
  57. BIN
      src/assets/index/legend4.png
  58. BIN
      src/assets/index/legend5.png
  59. BIN
      src/assets/index/legend6.png
  60. BIN
      src/assets/index/legend7.png
  61. BIN
      src/assets/index/legend8.png
  62. BIN
      src/assets/index/legend9.png
  63. BIN
      src/assets/index/m1.png
  64. BIN
      src/assets/index/m2.png
  65. BIN
      src/assets/index/mapPop.png
  66. BIN
      src/assets/index/mapdrap.png
  67. BIN
      src/assets/index/one.png
  68. BIN
      src/assets/index/point1.png
  69. BIN
      src/assets/index/point2.png
  70. BIN
      src/assets/index/q1.png
  71. BIN
      src/assets/index/q2.png
  72. BIN
      src/assets/index/q3.png
  73. BIN
      src/assets/index/q4.png
  74. BIN
      src/assets/index/scrollbj.png
  75. BIN
      src/assets/index/three.png
  76. BIN
      src/assets/index/two.png
  77. 224 0
      src/components/EnterpriseInformation/1.vue
  78. 232 0
      src/components/EnterpriseInformation/2.vue
  79. 206 0
      src/components/EnterpriseInformation/3.vue
  80. 211 0
      src/components/EnterpriseInformation/4.vue
  81. 288 0
      src/components/EnterpriseInformation/jlMap.vue
  82. 169 0
      src/components/LoanStatistics/1.vue
  83. 197 0
      src/components/LoanStatistics/2.vue
  84. 251 0
      src/components/PlatformAchievement/1.vue
  85. 240 0
      src/components/PlatformAchievement/2.vue
  86. 227 0
      src/components/PlatformAchievement/3.vue
  87. 247 0
      src/components/PlatformAchievement/4.vue
  88. 211 0
      src/components/PlatformAchievement/5.vue
  89. 201 0
      src/components/PlatformAchievement/6.vue
  90. 335 0
      src/components/index/1.vue
  91. 378 0
      src/components/index/2.vue
  92. 266 0
      src/components/index/3.vue
  93. 228 0
      src/components/index/4.vue
  94. 221 0
      src/components/index/5.vue
  95. 356 0
      src/components/index/jlMap.vue
  96. 89 0
      src/components/timeing.vue
  97. 20 0
      src/main.js
  98. 537 0
      src/pages/EnterpriseInformation.vue
  99. 1037 0
      src/pages/Home.vue
  100. 0 0
      src/pages/LoanStatistics.vue

+ 21 - 0
.gitignore

@@ -0,0 +1,21 @@
+.DS_Store
+node_modules
+/dist
+
+# local env files
+.env.local
+.env.*.local
+
+# Log files
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+
+# Editor directories and files
+.idea
+.vscode
+*.suo
+*.ntvs*
+*.njsproj
+*.sln
+*.sw?

+ 24 - 0
README.md

@@ -0,0 +1,24 @@
+# bigscreen
+
+## Project setup
+```
+npm install
+```
+
+### Compiles and hot-reloads for development
+```
+npm run serve
+```
+
+### Compiles and minifies for production
+```
+npm run build
+```
+
+### Lints and fixes files
+```
+npm run lint
+```
+
+### Customize configuration
+See [Configuration Reference](https://cli.vuejs.org/config/).

+ 5 - 0
babel.config.js

@@ -0,0 +1,5 @@
+module.exports = {
+  presets: [
+    '@vue/cli-plugin-babel/preset'
+  ]
+}

BIN
font/AGENCYB.TTF


BIN
font/LCD.ttf


+ 13 - 0
font/font.css

@@ -0,0 +1,13 @@
+
+@font-face {
+    font-family: 'AGENCYB';
+    src: url('AGENCYB.TTF');
+    font-style: normal;
+    font-weight: normal;
+}
+@font-face {
+    font-family: 'LCD';
+    src: url('LCD.ttf');
+    font-style: normal;
+    font-weight: normal;
+}

File diff suppressed because it is too large
+ 11801 - 0
package-lock.json


+ 54 - 0
package.json

@@ -0,0 +1,54 @@
+{
+  "name": "bigscreen",
+  "version": "0.1.0",
+  "private": true,
+  "scripts": {
+    "serve": "vue-cli-service serve",
+    "build": "vue-cli-service build",
+    "lint": "vue-cli-service lint"
+  },
+  "dependencies": {
+    "axios": "^0.19.2",
+    "core-js": "^3.6.4",
+    "echarts-liquidfill": "^2.0.6",
+    "element-ui": "^2.13.2",
+    "less": "^3.11.1",
+    "less-loader": "^6.1.0",
+    "moment": "^2.26.0",
+    "vue": "^2.6.11",
+    "vue-router": "^3.1.6",
+    "vue-seamless-scroll": "^1.1.21",
+    "vuex": "^3.1.3"
+  },
+  "devDependencies": {
+    "@vue/cli-plugin-babel": "~4.3.0",
+    "@vue/cli-plugin-eslint": "~4.3.0",
+    "@vue/cli-plugin-router": "^4.3.1",
+    "@vue/cli-plugin-vuex": "^4.3.1",
+    "@vue/cli-service": "~4.3.0",
+    "babel-eslint": "^10.1.0",
+    "echarts": "^4.8.0",
+    "eslint": "^6.7.2",
+    "eslint-plugin-vue": "^6.2.2",
+    "vue-template-compiler": "^2.6.11"
+  },
+  "eslintConfig": {
+    "root": true,
+    "env": {
+      "node": true
+    },
+    "extends": [
+      "plugin:vue/essential",
+      "eslint:recommended"
+    ],
+    "parserOptions": {
+      "parser": "babel-eslint"
+    },
+    "rules": {}
+  },
+  "browserslist": [
+    "> 1%",
+    "last 2 versions",
+    "not dead"
+  ]
+}

BIN
public/favicon.ico


+ 17 - 0
public/index.html

@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width,initial-scale=1.0">
+    <link rel="icon" href="<%= BASE_URL %>favicon.ico">
+    <title><%= htmlWebpackPlugin.options.title %></title>
+  </head>
+  <body>
+    <noscript>
+      <strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
+    </noscript>
+    <div id="app"></div>
+    <!-- built files will be auto injected -->
+  </body>
+</html>

File diff suppressed because it is too large
+ 1 - 0
public/static/jilin.json


BIN
public/static/mapPop.png


+ 68 - 0
src/App.vue

@@ -0,0 +1,68 @@
+<template>
+  <div id="app">
+    <router-view />
+  </div>
+</template>
+<style>
+@import "../font/font.css";
+html,
+body,
+ul,
+li,
+ol,
+dl,
+dd,
+dt,
+p,
+h1,
+h2,
+h3,
+h4,
+h5,
+h6,
+form,
+img {
+  margin: 0;
+  padding: 0;
+}
+img {
+  display: block;
+  border: none;
+}
+em,
+i {
+  font-style: normal;
+  font-weight: normal;
+}
+ul,
+ol,
+li {
+  list-style: none;
+}
+h1,
+h2,
+h3,
+h4,
+h5,
+h6 {
+  font-size: inherit;
+  font-weight: normal;
+}
+select,
+textarea,
+button {
+  background: none;
+  border: none;
+  outline: none;
+  margin: 0;
+  padding: 0;
+  vertical-align: middle;
+  font-family: "微软雅黑";
+  font-size: 14px;
+  color: #4c4c4c;
+}
+a {
+  color: #fff;
+  text-decoration: none;
+}
+</style>

+ 64 - 0
src/api/ajax.js

@@ -0,0 +1,64 @@
+import axios from 'axios';
+import qs from 'qs';
+import { Message } from 'element-ui';
+
+axios.defaults.headers.common['Content-Type'] = 'application/json; charset=UTF-8';
+axios.defaults.baseURL = 'https://ccss.windd.cn/screen/';
+// axios.defaults.baseURL = 'http://114.55.254.203/screen/';
+// axios.defaults.baseURL = 'http://10.16.4.3:7001/';
+//网络请求
+export default function ajax(url, data = {}, type = 'GET', isupload) {
+    return new Promise(function (resolve, reject) {
+        let promise;
+        if (type === 'GET') {
+            let dataStr = '';
+            Object.keys(data).forEach(key => {
+                dataStr += key + '=' + data[key] + '&';
+            });
+            if (dataStr !== '') {
+                dataStr = dataStr.substring(0, dataStr.lastIndexOf('&'));
+                url = url + '?' + dataStr;
+            }
+            promise = axios.get(url);
+        } else if (type === 'DELETE') {
+            let dataString = '';
+            Object.keys(data).forEach(key => {
+                dataString += key + '=' + data[key] + '&';
+            });
+            if (dataString !== '') {
+                dataString = dataString.substring(0, dataString.lastIndexOf('&'));
+                url = url + '?' + dataString;
+            }
+            promise = axios.delete(url);
+        } else {
+            if (isupload) {
+                promise = axios.post(url, data, {
+                    headers: {
+                        'Content-Type': 'multipart/form-data',
+                    },
+                    transformRequest: [
+                        function (data) {
+                            return data;
+                        },
+                    ],
+                });
+            } else {
+                promise = axios.post(url, qs.stringify(data));
+            }
+        }
+        promise
+            .then(function (response) {
+
+                resolve(response.data);
+            })
+            .catch(function (error) {
+                Message({
+                    message: '系统异常,请联系管理员',
+                    type: 'error',
+                    duration: 5000,
+                });
+                console.error("异常", error);
+                reject(error);
+            });
+    });
+}

+ 182 - 0
src/api/index.js

@@ -0,0 +1,182 @@
+import ajax from './ajax'
+// export const BASE_URL = 'http://10.16.4.3:7001';
+// //对于前端的优化  默认增删改后 请求网络数据进行更新  可以优化成 增删改后进行本地的数据修正
+// Vue.prototype.serverUrl = BASE_URL;
+/**
+ * 首页接口
+ */
+// 1.平台成果统计
+export const platformResult = (params) => ajax(`/money/money`, params, 'GET');
+/**
+ * 企业信息统计
+ */
+export const enterpriseResult = (params) => ajax(`/companyUser/companyUserCount`, params, 'GET');
+/**
+ * 地区信息统计
+ */
+export const addressResult = (params) => ajax(`/address/addressInfoCount`, params, 'GET');
+/**
+ * 放款统计
+ */
+export const loanResult = (params) => ajax(`/bank/bankMoneyCount`, params, 'GET');
+// 111111111111融资成功率
+export const financingSuccessRate = (params) => ajax(`/other/financingSuccessRate`, params, 'GET');
+/**
+ * 对接成功率(弃用)
+ */
+export const dockingSuccessRate = (params) => ajax(`/other/dockingSuccessRate`, params, 'GET');
+/**
+ * 2222222222融资需求满足率
+ */
+export const financingDemandSatisfactionRate = (params) => ajax(`/other/financingDemandSatisfactionRate`, params, 'GET');
+/**
+ * 333333333平均办理时长
+ */
+export const averageHandlingTime = (params) => ajax(`/other/averageHandlingTime`, params, 'GET');
+/**
+* 44444444平均利率
+*/
+export const averageInterestRate = (params) => ajax(`/other/averageInterestRate`, params, 'GET');
+/**
+ * 对接成功率
+ */
+export const DockingResult = (params) => ajax(`/money/money`, params, 'GET');
+/**
+ * 平均利率
+ */
+export const averageResult = (params) => ajax(`/money/money`, params, 'GET');
+/**
+ * 融资需求满足率
+ */
+export const financingResult = (params) => ajax(`/money/money`, params, 'GET');
+/**
+ * 地图上面的5个数据
+ */
+export const fiveNum = (params) => ajax(`/fivenum/fiveNum`, params, 'GET');
+/**
+ *  右下角的实时对接
+ */
+export const ssdj = (params) => ajax(`/ssdj/ssdj`, params, 'GET');
+/**
+ *  地图
+ */
+export const mapfirst = (params) => ajax(`/mapfirst/mapfirst`, params, 'GET');
+export const mapsec = (params) => ajax(`/mapfirst/mapsec`, params, 'GET');
+
+/*-----------------------------------------平台注册------------------------------------------------------------*/
+/*-------------------------------------------------------------------------------------------------------*/
+/*-------------------------------------------------------------------------------------------------------*/
+/**
+ *  推送笔数(最近七天)
+ */
+export const tuisongResult = (params) => ajax(`/money/numberOfPush`, params, 'GET');
+/**
+ *  推送金额(最近七天)
+ */
+export const pushAmountResult = (params) => ajax(`/money/pushAmount`, params, 'GET');
+/**
+ *  放款笔数(最近五天)
+ */
+export const numberOfLoansResult = (params) => ajax(`/money/numberOfLoans`, params, 'GET');
+/**
+ *  接单笔数(最近七天)
+ */
+export const jieDanResult = (params) => ajax(`/money/numberOfSingleTransactionReceived`, params, 'GET');
+/**
+ *  接单金额(最近七天)
+ */
+export const jindanjinerResult = (params) => ajax(`/money/receiptAmount`, params, 'GET');
+/**
+ *  放款金额(最近七天)
+ */
+export const fangkuanzongeResult = (params) => ajax(`/money/loanAmount`, params, 'GET');
+/**
+/**
+ *  注册用户
+ */
+export const zcyh = (params) => ajax(`/zcyh/zcyh`, params, 'GET');
+/**
+ *  获得贷款企业数量
+ */
+export const dkqynum = (params) => ajax(`/dkqynum/dkqynum`, params, 'GET');
+/**
+ *  发布需求企业
+ */
+export const fwqisum = (params) => ajax(`/fwqisum/fwqisum`, params, 'GET');
+// 申请笔数放款笔数放款金额申请金额
+export const fournum = (params) => ajax(`/fournum/fournum`, params, 'GET');
+//申请企业数量最近七天
+export const applyCompanyCountResult = (params) => ajax(`/companyUser/applyCompanyCount`, params, 'GET');
+// 放款企业数量最近七天
+export const numberOfLendingEnterprisesResult = (params) => ajax(`/companyUser/numberOfLendingEnterprises`, params, 'GET');
+// 注册用户数量最近七天
+export const numberOfRegisteredUsers = (params) => ajax(`/companyUser/numberOfRegisteredUsers`, params, 'GET');
+// 需求发布率 需要第一个大屏五个数据中的一个
+export const DemandReleaseRate = (params) => ajax(`/fivenum/fiveNum`, params, 'GET');
+/*-------------------------------------------------------------------------------------------------------*/
+export const tuis = (params) => ajax(`/tuis/tuis`, params, 'GET');
+/*-------------------------------------------------------------------------------------------------------*/
+/*-------------------------------------------------------------------------------------------------------*/
+/*-------------------------------------------------------------------------------------------------------*/
+/*-------------------------------------------------------------------------------------------------------*/
+/*-------------------------------------------------------------------------------------------------------*/
+/*-------------------------------------------------------------------------------------------------------*/
+/**
+ *   放款 接单笔数 接单金额
+ */
+export const jdnumResult = (params) => ajax(`/jdnum/jdnum`, params, 'GET');
+/**
+ *   放款 平均办理时长
+ */
+export const averageHandling = (params) => ajax(`/other/averageHandlingTime`, params, 'GET');
+/**
+ *   放款 平均期限
+ */
+export const pingjunqixian = (params) => ajax(`/avgtime/avgtime`, params, 'GET');
+
+/**
+ *   放款 平均利率
+ */
+export const pingjunlilv = (params) => ajax(`/other/averageInterestRate`, params, 'GET');
+
+/**
+ *   放款 平均放款额度
+ */
+export const pingjunfangkuanedu = (params) => ajax(`/avgfkmoney/avgfkmoney`, params, 'GET');
+
+/**
+ *   放款 返款数量top5
+ */
+export const fangkuantopfive = (params) => ajax(`/fktop5/fktop5`, params, 'GET');
+/**
+ *   放款 返款数量top5
+ */
+export const chanpinleixinghzanbi = (params) => ajax(`/fkcplx/fkcplx`, params, 'GET');
+/**
+ *   放款 融资需求满足率
+ */
+export const rongzixuqiumanzulv = (params) => ajax(`/other/financingDemandSatisfactionRate`, params, 'GET');
+
+/**
+ *   放款 入驻平台产品最多银行
+ */
+export const ruzhuyhtop = (params) => ajax(`/maxcp/maxcp`, params, 'GET');
+
+// 放款统计转圈圈的六个接口
+// 放款金额最多
+export const maximumAmountOfLoan = (params) => ajax(`/bank/maximumAmountOfLoan`, params, 'GET');
+// 放款笔数最多
+export const fkmax = (params) => ajax(`/fkmax/fkmax`, params, 'GET');
+// 融资成功率最高
+export const rzsuccesshigh = (params) => ajax(`/rzsuccesshigh/rzsuccesshigh`, params, 'GET');
+// 入驻平台产品最多
+export const maxcp = (params) => ajax(`/maxcp/maxcp`, params, 'GET');
+// 平均办理时长最短
+export const avgblsc = (params) => ajax(`/avgblsc/avgblsc`, params, 'GET');
+// 平均放款利率最低
+export const lowestAverageLendingRate = (params) => ajax(`/bank/lowestAverageLendingRate`, params, 'GET');
+
+// 第二个地图优化接口
+export const threemap = (params) => ajax(`/threemap/threemap`, params, 'GET');
+
+

BIN
src/assets/EnterpriseInformation/bj3.png


BIN
src/assets/EnterpriseInformation/circle.png


BIN
src/assets/EnterpriseInformation/xline.png


BIN
src/assets/LoanStatistics/bj4.png


BIN
src/assets/LoanStatistics/gsyhtop1.png


BIN
src/assets/LoanStatistics/jsyhtop1.png


BIN
src/assets/LoanStatistics/jtnstop1.png


BIN
src/assets/LoanStatistics/numbj.png


BIN
src/assets/LoanStatistics/numbj1.png


BIN
src/assets/LoanStatistics/nyyhtop1.png


BIN
src/assets/LoanStatistics/pop.png


BIN
src/assets/LoanStatistics/top1.png


BIN
src/assets/LoanStatistics/top2.png


BIN
src/assets/LoanStatistics/top3.png


BIN
src/assets/LoanStatistics/top4.png


BIN
src/assets/LoanStatistics/top5.png


BIN
src/assets/LoanStatistics/top6.png


BIN
src/assets/PlatformAchievement/bj2.png


BIN
src/assets/PlatformAchievement/bj3.png


BIN
src/assets/PlatformAchievement/circle.png


BIN
src/assets/PlatformAchievement/float.png


BIN
src/assets/PlatformAchievement/k1.png


BIN
src/assets/PlatformAchievement/k2.png


BIN
src/assets/PlatformAchievement/k3.png


BIN
src/assets/index/bj.png


BIN
src/assets/index/block.png


BIN
src/assets/index/diqiu.png


BIN
src/assets/index/dq.gif


BIN
src/assets/index/five.png


BIN
src/assets/index/four.png


BIN
src/assets/index/h1.png


BIN
src/assets/index/h2.png


BIN
src/assets/index/h3.png


BIN
src/assets/index/h4.png


BIN
src/assets/index/k1.png


BIN
src/assets/index/k2.png


BIN
src/assets/index/k3.png


BIN
src/assets/index/k4.png


BIN
src/assets/index/legend1.png


BIN
src/assets/index/legend2.png


BIN
src/assets/index/legend3.png


BIN
src/assets/index/legend4.png


BIN
src/assets/index/legend5.png


BIN
src/assets/index/legend6.png


BIN
src/assets/index/legend7.png


BIN
src/assets/index/legend8.png


BIN
src/assets/index/legend9.png


BIN
src/assets/index/m1.png


BIN
src/assets/index/m2.png


BIN
src/assets/index/mapPop.png


BIN
src/assets/index/mapdrap.png


BIN
src/assets/index/one.png


BIN
src/assets/index/point1.png


BIN
src/assets/index/point2.png


BIN
src/assets/index/q1.png


BIN
src/assets/index/q2.png


BIN
src/assets/index/q3.png


BIN
src/assets/index/q4.png


BIN
src/assets/index/scrollbj.png


BIN
src/assets/index/three.png


BIN
src/assets/index/two.png


+ 224 - 0
src/components/EnterpriseInformation/1.vue

@@ -0,0 +1,224 @@
+<template>
+  <div id="c1" style="width: 100%;height: 100%;"></div>
+</template>
+<script>
+export default {
+  name: "chart",
+  props: {
+    dataArr: {
+      type: Object,
+      default: () => {
+        return {};
+      }
+    }
+  },
+  data() {
+    return {};
+  },
+  mounted() {
+    this.gatherers();
+  },
+  watch: {
+    dataArr: {
+      //监听的对象
+      deep: true, //深度监听设置为 true
+      handler: function() {
+        this.myChart.clear();
+        this.gatherers();
+      }
+    }
+  },
+  methods: {
+    gatherers() {
+      let myChart = this.$echarts.init(document.getElementById("c1"));
+      this.myChart = myChart;
+      let dataArr = this.dataArr;
+      // console.log(this.dataArr,"tttttttttttttttttttttt")
+      // console.log((dataArr.xq / (dataArr.xq + dataArr.rz)) * 100 + "%");
+      // 绘制图表
+      let text = ((dataArr.xq / dataArr.rz) * 100).toFixed(2) + "%";
+      myChart.setOption({
+        title: {
+          text: text,
+          subtext: "需求发布率",
+          x: "center",
+          y: "46%",
+          textStyle: {
+            color: "#fcbe0a",
+            fontSize: 30,
+            fontFamily: "LCD",
+            fontWeight: "normal"
+          },
+          subtextStyle: {
+            color: "#00d8ff",
+            fontSize: 16,
+            fontWeight: 900
+          }
+        },
+        // calculable: true,
+        series: [
+          {
+            name: "大圈",
+            type: "pie",
+            radius: ["53%", "35%"],
+            center: ["50%", "55%"],
+            startAngle: 45,
+            z: 10,
+            clockwise: false,
+            data: [
+              {
+                value: dataArr.xq,
+                itemStyle: {
+                  color: new this.$echarts.graphic.LinearGradient(0, 1, 0, 0, [
+                    {
+                      offset: 0,
+                      color: "#59d0f0"
+                    },
+                    {
+                      offset: 1,
+                      color: "#5a70ff"
+                    }
+                  ])
+                },
+                label: {
+                  color: "#02d6d8",
+                  fontSize: 16,
+                  formatter: "发布需求企业\n{a|" + dataArr.xq + "户}",
+                   textStyle: {
+                    fontWeight: 900
+                  },
+                  rich: {
+                    a: {
+                      color: "#fff",
+                      fontSize: 18,
+                      lineHeight: 30,
+                      fontWeight: 900,
+                      padding: [30, 4]
+                    }
+                  }
+                },
+                labelLine: {
+                  //   formatter: "认证企业1\n{a|52家}",
+                  normal: {
+                    show: true,
+                    length: 35,
+                    length2: 50,
+                    lineStyle: {
+                      color: "#1071ad"
+                    },
+                    align: "right"
+                  },
+                  color: "#1068a1",
+                  emphasis: {
+                    show: true
+                  }
+                }
+              },
+              {
+                value: dataArr.rz,
+                name: "rose2",
+                itemStyle: {
+                  color: "transparent"
+                }
+              }
+            ]
+          },
+          {
+            name: "小圈",
+            type: "pie",
+            radius: ["50%", "35%"],
+            center: ["50%", "55%"],
+            startAngle: 45,
+            clockwise: true,
+            data: [
+              {
+                value: dataArr.rz,
+                itemStyle: {
+                  color: "#0c596d"
+                },
+                label: {
+                  color: "#02d6d8",
+                  fontSize: 16,
+                  formatter: "认证企业\n{a|" + dataArr.rz + "户}",
+                  textStyle: {
+                    fontWeight: 900
+                  },
+                  rich: {
+                    a: {
+                      color: "#fff",
+                      fontSize: 18,
+                      fontWeight: 900,
+                      lineHeight: 30,
+                      padding: [30, 4]
+                    }
+                  }
+                },
+                labelLine: {
+                  normal: {
+                    show: true,
+                    length: 35,
+                    length2: 50,
+                    lineStyle: {
+                      color: "#1071ad"
+                    },
+                    align: "right"
+                  }
+                }
+              },
+              {
+                value: dataArr.xq,
+                itemStyle: {
+                  color: "#0c596d"
+                },
+                labelLine: {
+                  normal: {
+                    show: false
+                  }
+                }
+              }
+            ]
+          },
+          {
+            name: "内圈",
+            type: "pie",
+            radius: ["31%", "32%"],
+            center: ["50%", "55%"],
+            startAngle: 45,
+            clockwise: true,
+            data: [
+              {
+                value: dataArr.rz,
+                itemStyle: {
+                  color: "#048d9b"
+                },
+                labelLine: {
+                  normal: {
+                    show: false
+                  }
+                }
+              },
+              {
+                value: dataArr.xq,
+                itemStyle: {
+                  color: "#048d9b"
+                },
+                labelLine: {
+                  normal: {
+                    show: false
+                  }
+                }
+              }
+            ]
+          }
+        ]
+      });
+      window.addEventListener("resize", function() {
+        myChart.resize();
+      });
+    }
+  },
+  computed: {}
+};
+</script>
+<style scoped>
+</style>

+ 232 - 0
src/components/EnterpriseInformation/2.vue

@@ -0,0 +1,232 @@
+<template>
+  <div id="d2" style="height: 100%;width:100%"></div>
+</template>
+<script>
+export default {
+  name: "LineNumChart",
+  props: {
+    //数据
+    dataArr: {
+      type: Array,
+      default: () => {
+        return;
+      }
+    }
+  },
+  data() {
+    return {};
+  },
+  mounted() {
+    this.gatherers();
+  },
+  watch: {
+    dataArr() {
+      this.myChart.clear();
+      this.gatherers();
+    }
+  },
+  methods: {
+    gatherers() {
+      let data = this.dataArr;
+      let myChart = this.$echarts.init(document.getElementById("d2"));
+      this.myChart = myChart;
+      let chartName = [];
+      let chartData = [];
+      data.forEach(item => {
+        chartName.push(item.label);
+        chartData.push(item.value);
+      });
+      let maxValue = chartData[0];
+      let maxIndex = 0;
+      for (let i = 1; i < chartData.length; i++) {
+        if (chartData[i] > maxValue) {
+          maxValue = chartData[i];
+          maxIndex = i;
+        }
+      }
+      const yMax = maxValue;
+      const barArr = new Array(chartData.length).fill(0);
+      barArr[maxIndex] = yMax;
+      // myChart.resize({ width: this.chartWidth });
+      myChart.setOption(
+        Object.assign({
+          xAxis: {
+            type: "category",
+            // boundaryGap: true,
+            axisLine: {
+              lineStyle: {
+                color: "#676C7B"
+              }
+            },
+            axisTick: {
+              show: false
+            },
+            axisLabel: {
+              formatter: "{value}日",
+              //坐标轴刻度标签的相关设置
+              textStyle: {
+                color: "#fff",
+                // fontWeight: 900,
+                fontSize: 18
+              }
+            },
+            data: chartName
+          },
+          yAxis: {
+            type: "value",
+            axisLine: {
+              show: false
+            },
+            axisTick: {
+              show: false
+            },
+            splitLine: {
+              show: true,
+              lineStyle: {
+                color: "#083054"
+                // type: "dashed"
+              }
+            },
+            axisLabel: {
+              
+              //坐标轴刻度标签的相关设置
+              textStyle: {
+                color: "#fff",
+                // fontWeight: 900,
+                fontSize: 18
+              }
+            }
+          },
+          grid: {
+            left: "3%",
+            right: "13%",
+            top: "10%",
+            bottom: "8%",
+            containLabel: true
+          },
+          // title: [
+          //   {
+          //     text: "(家)",
+          //     left: "5%",
+          //     bottom: "7%",
+          //     // textAlign: "center",
+          //     textStyle: {
+          //       fontWeight: 900,
+          //       fontSize: 16,
+          //       color: "#8998aa",
+          //       textAlign: "center"
+          //     }
+          //   },
+          //   {
+          //     text: "(日)",
+          //     right: "9%",
+          //     bottom: "7%",
+          //     // textAlign: "center",
+          //     textStyle: {
+          //       fontWeight: 900,
+          //       fontSize: 16,
+          //       color: "#8998aa",
+          //       textAlign: "center"
+          //     }
+          //   }
+          // ],
+          series: [
+            {
+              type: "line",
+              smooth: true,
+              data: chartData,
+              markPoint: {
+                data: [{ type: "max", name: "最大值" }],
+                symbolSize: [18, 18],
+                symbolOffset: [0, 10],
+                label: {
+                  show: false,
+                  // fontFamily: "AharoniBold",
+                  fontSize: 26,
+                  fontWeight: 800,
+                  color: "#000"
+                }
+              },
+              itemStyle: {
+                color: new this.$echarts.graphic.LinearGradient(
+                  0,
+                  0,
+                  1,
+                  0,
+                  [
+                    {
+                      offset: 0,
+                      color: "#a2dc5f"
+                    },
+                    {
+                      offset: 1,
+                      color: "#18dda4"
+                    }
+                  ],
+                  false
+                )
+              },
+              lineStyle: {
+                width: 6
+              },
+              symbolSize: 1,
+              areaStyle: {
+                normal: {
+                  color: new this.$echarts.graphic.LinearGradient(
+                    0,
+                    0,
+                    1,
+                    0,
+                    [
+                      {
+                        offset: 0,
+                        color: "rgba(162,220,95,0.3)"
+                      },
+                      {
+                        offset: 0.5,
+                        color: "rgba(8,221,176,0.3)"
+                      },
+                      {
+                        offset: 1,
+                        color: "rgba(0,177,255,0.3)"
+                      }
+                    ],
+                    false
+                  )
+                }
+              },
+              label: {
+                show: true,
+                color: "#93d256",
+                fontSize: 20,
+                position: "top",
+                 padding: [8, 4]
+                // padding:[-10]
+              }
+            },
+            {
+              data: barArr,
+              type: "pictorialBar",
+              itemStyle: {
+                color: "#93d256"
+              },
+              symbolRepeat: "fixed",
+              symbolMargin: 1,
+              symbol: "rect",
+              symbolClip: true,
+              symbolSize: [1, 5],
+              symbolPosition: "start"
+            }
+          ]
+        })
+      ),
+        window.addEventListener("resize", function() {
+          myChart.resize();
+        });
+    }
+  }
+};
+</script>
+
+<style scoped>
+</style>

+ 206 - 0
src/components/EnterpriseInformation/3.vue

@@ -0,0 +1,206 @@
+<template>
+  <div id="c3" style="width: 100%;height: 100%;"></div>
+</template>
+<script>
+export default {
+  name: "chart",
+  props: {
+    dataArr: {
+      type: Array,
+      default: () => {
+        return [];
+      }
+    }
+  },
+  data() {
+    return {};
+  },
+  mounted() {
+    this.gatherers();
+  },
+  watch: {
+    dataArr() {
+      this.myChart.clear();
+      this.gatherers();
+    }
+  },
+  methods: {
+    gatherers() {
+      let myChart = this.$echarts.init(document.getElementById("c3"));
+      this.myChart = myChart;
+      let dataArr = this.dataArr;
+      let chartName = [];
+      let chartData = [];
+      let totalArr = [];
+      dataArr.forEach(item => {
+        chartName.push(item.label);
+        chartData.push(item.value);
+      });
+      let max = 0;
+      if (chartData.length != 0) {
+        max = chartData.reduce(function(a, b) {
+          return b > a ? b : a;
+        });
+      }
+      dataArr.forEach(function() {
+        totalArr.push(max);
+      });
+      // 绘制图表
+      myChart.setOption({
+        title: [
+          // {
+          //   text: "(家)",
+          //   left: "5%",
+          //   bottom: "7%",
+          //   // textAlign: "center",
+          //   textStyle: {
+          //     fontWeight: 900,
+          //     fontSize: 16,
+          //     color: "#8998aa",
+          //     textAlign: "center"
+          //   }
+          // },
+          // {
+          //   text: "(日)",
+          //   left: "5%",
+          //   bottom: "3%",
+          //   // textAlign: "center",
+          //   textStyle: {
+          //     fontWeight: 900,
+          //     fontSize: 16,
+          //     color: "#8998aa",
+          //     textAlign: "center"
+          //   }
+          // }
+        ],
+        grid: [
+          {
+            left: "5%",
+            top: "5%",
+            right: "5%",
+            bottom: "5%"
+          }
+        ],
+        xAxis: [
+          {
+            gridIndex: 0,
+            show: false
+          }
+        ],
+        yAxis: [
+          {
+            //左侧柱状图的Y轴
+            gridIndex: 0, //y轴所在的 grid 的索引
+            splitLine: "none",
+            axisTick: "none",
+            axisLine: "none",
+            axisLabel: {
+              formatter: "{value}日",
+              verticalAlign: "bottom",
+              align: "left",
+              padding: [0, 0, 15, 15],
+              textStyle: {
+                color: "#02c0e6",
+                fontSize: "20"
+              }
+            },
+            data: chartName,
+            inverse: true
+          },
+          {
+            //左侧柱状图的Y轴
+            gridIndex: 0, //y轴所在的 grid 的索引
+            splitLine: "none",
+            axisTick: "none",
+            axisLine: "none",
+            data: chartData,
+            inverse: true,
+            axisLabel: {
+              show: true,
+              verticalAlign: "bottom",
+              align: "right",
+              padding: [0, 50, 15, 0],
+              formatter: function(value) {
+                return "{x|" + value + "}  {y|" + "户}";
+              },
+              rich: {
+                y: {
+                  color: "#ffc72b",
+                  fontSize: 20
+                },
+                x: {
+                  color: "#ffc72b",
+                  fontSize: 20
+                }
+              }
+            }
+          },
+          {
+            //左侧柱状图的Y轴
+            gridIndex: 0, //y轴所在的 grid 的索引
+            splitLine: "none",
+            axisTick: "none",
+            axisLine: "none",
+            data: []
+          }
+        ],
+        series: [
+          {
+            name: "值",
+            type: "bar",
+            xAxisIndex: 0, //使用的 x 轴的 index,在单个图表实例中存在多个 x 轴的时候有用。
+            yAxisIndex: 0, //使用的 y 轴的 index,在单个图表实例中存在多个 y轴的时候有用。
+            data: chartData,
+            barWidth: "25%",
+            itemStyle: {
+              normal: {
+                color: new this.$echarts.graphic.LinearGradient(
+                  0,
+                  0,
+                  1,
+                  0,
+                  [
+                    {
+                      offset: 0,
+                      color: "#5a6eff" // 0% 处的颜色
+                    },
+                    {
+                      offset: 1,
+                      color: "#59d1f0" // 100% 处的颜色
+                    }
+                  ],
+                  false
+                ),
+                barBorderRadius: 6
+              }
+            },
+            z: 2
+          },
+          {
+            name: "外框",
+            type: "bar",
+            xAxisIndex: 0, //使用的 x 轴的 index,在单个图表实例中存在多个 x 轴的时候有用。
+            yAxisIndex: 2, //使用的 y 轴的 index,在单个图表实例中存在多个 y轴的时候有用。
+            barGap: "-100%",
+            data: totalArr,
+            barWidth: "25%",
+            itemStyle: {
+              normal: {
+                color: "#23314a",
+                barBorderRadius: 20
+              }
+            },
+            z: 0
+          }
+        ]
+      });
+      window.addEventListener("resize", function() {
+        myChart.resize();
+      });
+    }
+  },
+  computed: {}
+};
+</script>
+<style scoped>
+</style>

+ 211 - 0
src/components/EnterpriseInformation/4.vue

@@ -0,0 +1,211 @@
+<template>
+  <div id="c4" style="width: 100%;height: 100%;"></div>
+</template>
+<script>
+export default {
+  name: "chart",
+  props: {
+    dataArr: {
+      type: Array,
+      default: () => {
+        return [];
+      }
+    }
+  },
+  data() {
+    return {};
+  },
+  mounted() {
+    this.gatherers();
+  },
+  watch: {
+    dataArr() {
+      this.myChart.clear();
+      this.gatherers();
+    }
+  },
+  methods: {
+    gatherers() {
+      let myChart = this.$echarts.init(document.getElementById("c4"));
+      this.myChart = myChart;
+      let dataArr = this.dataArr;
+      let chartName = [];
+      let chartData = [];
+      //   let totalArr = [];
+      dataArr.forEach(item => {
+        chartName.push(item.label);
+        chartData.push(item.value);
+      });
+      //   let max = chartData.reduce(function(a, b) {
+      //     return b > a ? b : a;
+      //   });
+      //   dataArr.forEach(function() {
+      //     totalArr.push(max);
+      //   });
+      // 绘制图表
+      myChart.setOption({
+        // backgroundColor: "#18163B",
+        grid: {
+          top: "25%",
+          right: "8%",
+          left: "5%",
+          bottom: "0%",
+          containLabel: true
+        },
+        // title: [
+        //   {
+        //     text: "(人)",
+        //     left: "5%",
+        //     bottom: "0%",
+        //     // textAlign: "center",
+        //     textStyle: {
+        //       fontWeight: 900,
+        //       fontSize: 16,
+        //       color: "#8998aa",
+        //       textAlign: "center"
+        //     }
+        //   },
+        //   {
+        //     text: "(日)",
+        //     right: "7%",
+        //     bottom: "0%",
+        //     // textAlign: "center",
+        //     textStyle: {
+        //       fontWeight: 900,
+        //       fontSize: 16,
+        //       color: "#8998aa",
+        //       textAlign: "center"
+        //     }
+        //   }
+        // ],
+        xAxis: [
+          {
+            type: "category",
+            color: "#59588D",
+            data: chartName,
+            axisPointer: {
+              type: "line"
+            },
+            axisLine: {
+              lineStyle: {
+                color: "#272456"
+              }
+            },
+            axisTick: {
+              show: false
+            },
+            // splitLine: {
+            //   show: false,
+            //   lineStyle: {
+            //     color: "#272456"
+            //   }
+            // },
+            axisLabel: {
+              formatter: "{value}日",
+              //   margin: 20,
+              color: "#fff",
+              textStyle: {
+                fontSize: 18
+              }
+            }
+          }
+        ],
+        yAxis: [
+          {
+            // min: 0,
+            // max: 100,
+            axisLabel: {
+              //   formatter: "{value}%",
+              color: "#fff",
+              textStyle: {
+                fontSize: 18
+              }
+            },
+            axisLine: {
+              show: false
+            },
+            axisTick: {
+              show: false
+            },
+            splitLine: {
+              //  show: false,
+              lineStyle: {
+                color: "#272456"
+              }
+            }
+          }
+        ],
+        series: [
+          {
+            type: "bar",
+            data: chartData,
+            barWidth: "18%",
+            itemStyle: {
+              normal: {
+                color: new this.$echarts.graphic.LinearGradient(
+                  0,
+                  0,
+                  0,
+                  1,
+                  [
+                    {
+                      offset: 0,
+                      color: "#41E1D4" // 0% 处的颜色
+                    },
+                    {
+                      offset: 1,
+                      color: "#10A7DB" // 100% 处的颜色
+                    }
+                  ],
+                  false
+                ),
+                barBorderRadius: [30, 30, 0, 0],
+                shadowColor: "rgba(0,255,225,1)",
+                shadowBlur: 4
+              }
+            },
+            label: {
+              normal: {
+                show: true,
+                lineHeight: 30,
+                width: 60,
+                height: 25,
+                backgroundColor: "#052f69",
+                borderRadius: 200,
+                position: ["-5", "-30"],
+                distance: 1,
+                // "    {d|● }", , "{b|}"
+                formatter: [" {a|{c}}\n"].join(""),
+                rich: {
+                  // d: {
+                  //   color: "#3CDDCF"
+                  // },
+                  a: {
+                    color: "#fff",
+                    // align: "right",
+                    fontSize: 16,
+                    align: "center"
+                  },
+                  // b: {
+                  //   width: 1,
+                  //   height: 15,
+                  //   borderWidth: 1,
+                  //   borderColor: "#3fded4",
+                  //   align: "center"
+                  // }
+                }
+              }
+            }
+          }
+        ]
+      });
+      window.addEventListener("resize", function() {
+        myChart.resize();
+      });
+    }
+  },
+  computed: {}
+};
+</script>
+<style scoped>
+</style>

+ 288 - 0
src/components/EnterpriseInformation/jlMap.vue

@@ -0,0 +1,288 @@
+<template>
+  <!-- <div style="height:100%"> -->
+  <div id="map1" style="width: 100%;height:100%"></div>
+  <!-- </div> -->
+</template>
+<script>
+import echarts from "echarts";
+import map from "../../util/jilin";
+export default {
+  name: "jlMapChart",
+  props: {
+    data: {
+      type: Array,
+      default: () => {
+        return [];
+      }
+    }
+    // data1: {
+    //   type: Array,
+    //   default: () => {
+    //     return [];
+    //   }
+    // }
+  },
+  data() {
+    return {
+      myChart: null
+    };
+  },
+  watch: {
+    data() {
+      this.myChart.clear();
+      this.registerMap1();
+    }
+  },
+  methods: {
+    registerMap1() {
+      console.log(this.data)
+      let myChart = this.$echarts.init(document.getElementById("map1"));
+      this.myChart = myChart;
+      // console.log(this.data,"sdsadsadsadsadsadasdsad");
+
+      // let data1 = this.data;
+      echarts.registerMap("吉林", map);
+      // 每个地区的坐标
+      var geoCoordMap = {
+        长春市: [125.55, 44.18],
+        // 九台市: [124.35, 43.88],
+        // 德惠市: [123.35, 43.88],
+        四平市: [124.600785, 43.470344],
+        辽源市: [125.13, 42.88],
+        吉林市: [126.75, 43.33],
+        松原市: [124.12, 44.81],
+        白城市: [123.14, 45.21],
+        白山市: [126.997839, 41.992505],
+        通化市: [125.93, 41.73],
+        延边朝鲜族自治州: [128.9, 43.12]
+      };
+      // 每个地区的设备数量值
+      var data = this.data;
+      // 每个地区的设备告警数量
+      var data2 = [];
+      var convertData = function(data) {
+        var res = [];
+        for (var i = 0; i < data.length; i++) {
+          var geoCoord = geoCoordMap[data[i].name];
+          if (geoCoord) {
+            res.push({
+              name: data[i].name,
+              value: geoCoord.concat(data[i].value)
+            });
+          }
+        }
+        // 有数据的地区的名称和value值
+        return res;
+      };
+      // 设定series是一个空的数组
+      var series = [];
+      [["吉林", data]].forEach(function(item) {
+        series.push(
+          {
+            name: "定位点",
+            type: "effectScatter", // 散点图
+            coordinateSystem: "geo", // 使用地理坐标系
+            // hoverAnimation: "true",
+            // legendHoverLink: "false",
+            rippleEffect: {
+              period: 4,
+              brushType: "stroke",
+              scale: 3
+            },
+            data: convertData(item[1]),
+            symbolSize: 0.1,
+            label: {
+              normal: {
+                show: true,
+                formatter: function(params) {
+                  // console.log(params);
+                  return (
+                    "{fline|" +
+                    " " +
+                    data[params.dataIndex].value +
+                    " " +
+                    "户" +
+                    "}"
+                  );
+                },
+                position: "bottom",
+                distance: 20,
+                // background:require(..),
+                // backgroundColor: "rgba(255,200,9,.7)",
+                padding: [0, 0],
+                borderRadius: 3,
+                lineHeight: 30,
+                verticalAlign: "middle",
+                color: "#ffc809",
+                rich: {
+                  fline: {
+                    fontSize: 18,
+                    padding: [0, 10],
+                    color: "#ffc809",
+                    fontWeight:900
+                  }
+                }
+              }
+            },
+            itemStyle: {
+              normal: {
+                color: "#ffc809"
+              }
+            },
+            zlevel: 10
+          },
+          {
+            type: "map",
+            map: "吉林",
+            zlevel: 10,
+            // itemStyle: {
+            //   normal: {
+            //     areaColor: "rgba(41,103,160,0.5)",
+            //     borderColor: "#24bae7"
+            //   },
+            //   emphasis: {
+            //     areaColor: "#24bae7"
+            //   }
+            // },
+            itemStyle: {
+              normal: {
+                areaColor: "#2071b4",
+                borderColor: "#23b9e8",
+                borderWidth:2
+              },
+              emphasis: {
+                areaColor: "#23b9e8"
+              }
+            },
+            label: {
+              normal: {
+                show: true,
+                textStyle: {
+                  color: "#fff",
+                  fontSize: 18
+                }
+              },
+              emphasis: {
+                textStyle: {
+                  color: "#fff",
+                  fontSize: 18
+                }
+              }
+            },
+            data: data
+          },
+          {
+            name: "点",
+            type: "scatter",
+            coordinateSystem: "geo",
+            symbol: "pin",
+            symbolSize: 25,
+            label: {
+              normal: {
+                show: true,
+                textStyle: {
+                  color: "#fff",
+                  fontSize: 14
+                }
+              }
+            },
+            itemStyle: {
+              normal: {
+                color: "#F62157" //标志颜色
+              }
+            },
+            zlevel: 2,
+            data: convertData(data2)
+          }
+        );
+      });
+
+      let option = {
+        // tooltip: {
+        //   padding: 0,
+        //   enterable: true,
+        //   transitionDuration: 1,
+        //   textStyle: {
+        //     color: "#000",
+        //     decoration: "none"
+        //   },
+        //   formatter: function(params) {
+        //     let tipHtml = "";
+        //     tipHtml =
+        //       '<div style="width:200px;height:150px;background:rgba(20,47,88,0.8);border:1px solid rgba(7,166,255,0.7)">' +
+        //       // '<div style="width:85%;height:40px;line-height:40px;border-bottom:2px solid rgba(7,166,255,0.7);padding:0 20px">' +
+        //       // '<span style="margin-left:10px;color:#fff;font-size:16px;">' +
+        //       // params.name +
+        //       // "</span>" +
+        //       // "</div>" +
+        //       '<div style="padding:20px">' +
+        //       '<p style="color:#fff;font-size:12px;">' +
+        //       "企业名称:" +
+        //       '<span style="color:#ffc809;font-size:1em;margin:0 6px;">' +
+        //       data1[params.dataIndex].qymc +
+        //       "</span>" +
+        //       // "家" +
+        //       "</p>" +
+        //       '<p style="color:#fff;font-size:12px;">' +
+        //       "申请金额:" +
+        //       '<span style="color:#00d8ff;font-size:2em;margin:0 6px;font-family:LCD">' +
+        //       data1[params.dataIndex].sqje +
+        //       "</span>" +
+        //       "万" +
+        //       "</p>" +
+        //       "</p>" +
+        //       '<p style="color:#fff;font-size:12px;">' +
+        //       "推送银行:" +
+        //       '<span style="color:#00d8ff;font-size:1em;margin:0 6px;">' +
+        //       data1[params.dataIndex].tsyh +
+        //       "</span>" +
+        //       // "个" +
+        //       "</p>" +
+        //       "</div>" +
+        //       "</div>";
+        //     // setTimeout(function() {
+        //     //   tooltipCharts(params.name);
+        //     // }, 10);
+        //     return tipHtml;
+        //   }
+        // },
+        geo: {
+          map: "吉林",
+          label: {
+            textStyle: {
+              fontSize: ".1rem"
+            }
+          },
+          itemStyle: {
+            normal: {
+              areaColor: "#2071b4",
+              borderColor: "#23b9e8"
+            },
+            emphasis: {
+              areaColor: "#23b9e8"
+            }
+          }
+        },
+        series: series
+      };
+      myChart.setOption(option);
+      window.addEventListener("resize", function() {
+        myChart.resize();
+      });
+    }
+  },
+  mounted() {
+    this.registerMap1();
+  }
+  // watch: {
+  //   data() {
+  //     if (this.myChart != null) {
+  //       this.myChart.clear();
+  //     }
+  //     this.gatherers();
+  //   }
+  // }
+};
+</script>
+<style scoped>
+</style>

+ 169 - 0
src/components/LoanStatistics/1.vue

@@ -0,0 +1,169 @@
+<template>
+  <div id="e1" style="width: 100%;height: 100%;"></div>
+</template>
+<script>
+// import echarts-liquidfill/src/liquidFill.js from "echarts-liquidfill";
+export default {
+  name: "chart",
+  props: {
+    dataArr: {
+      type: Number,
+      default: () => {
+        return 0;
+      }
+    },
+  },
+  data() {
+    return {};
+  },
+  mounted() {
+    this.gatherers();
+  },
+  watch: {
+    dataArr() {
+      this.myChart.clear();
+      this.gatherers();
+    }
+  },
+  methods: {
+    gatherers() {
+      let myChart = this.$echarts.init(document.getElementById("e1"));
+      this.myChart = myChart;
+      let value = this.dataArr;
+      let data = [(value-10)/100, (value-10)/100, (value-10)/100];
+      //   let dataArr = this.dataArr;
+      //   let chartName = [];
+      //   let chartData = [];
+      //   let chartData2 = [];
+      //   dataArr[0].data.forEach(function(item) {
+      //     chartData.push(item.value);
+      //     chartName.push(item.date);
+      //   });
+      //   dataArr[1].data.forEach(function(item) {
+      //     chartData2.push(item.value);
+      //   });
+      // 绘制图表
+      myChart.setOption({
+        title: [
+          {
+            text: (value).toFixed(0) + "{a|%}",
+            textStyle: {
+              fontSize: 35,
+              fontFamily: "LCD",
+              fontWeight: "normal",
+              color: "#002768",
+              rich: {
+                a: {
+                  fontSize: 28,
+                  fontFamily: "LCD"
+                }
+              }
+            },
+            x: "center",
+            y: "40%"
+          },
+          // {
+          //   text: "注:【放款金额】占【申请金额】"+(value ).toFixed(0) + "%",
+          //   textStyle: {
+          //     fontSize: 16,
+          //     //   fontFamily: "LCD",
+          //     fontWeight: "normal",
+          //     color: "#fff",
+          //   },
+          //   x: "center",
+          //   y: "80%"
+          // }
+        ],
+        graphic: [
+          {
+            type: "group",
+            left: "center",
+            top: "55%",
+            children: [
+              {
+                type: "text",
+                z: 100,
+                // left: "10",
+                // top: "30%",
+                style: {
+                  fill: "#002768",
+                  text: "融资需求满足率",
+                  fontSize: "16",
+                  fontWeight: 900
+                }
+              }
+            ]
+          }
+        ],
+        series: [
+          {
+            type: "liquidFill",
+            radius: "50%",
+            center: ["50%", "50%"],
+            //  shape: 'roundRect',
+            data: data,
+            backgroundStyle: {
+              color: {
+                type: "linear",
+                x: 0,
+                y: 0,
+                x2: 1,
+                y2: 0,
+                colorStops: [
+                  {
+                    offset: 0,
+                    color: "#5ac1fc"
+                  },
+                  {
+                    offset: 0.5,
+                    color: "#2b6cd2"
+                  }
+                ],
+                globalCoord: false
+              }
+            },
+            outline: {
+              borderDistance: 0,
+              itemStyle: {
+                borderWidth: 5,
+                borderColor: {
+                  type: "linear",
+                  x: 0,
+                  y: 0,
+                  x2: 0,
+                  y2: 1,
+                  colorStops: [
+                    {
+                      offset: 0,
+                      color: "#5ac1fc"
+                    },
+                    {
+                      offset: 0.5,
+                      color: "#2b6cd2"
+                    }
+                  ],
+                  globalCoord: false
+                },
+                shadowBlur: 10,
+                shadowColor: "#000"
+              }
+            },
+            color: "#fff",
+            label: {
+              normal: {
+                formatter: ""
+              }
+            }
+          }
+        ]
+      });
+      window.addEventListener("resize", function() {
+        myChart.resize();
+      });
+    }
+  },
+  computed: {}
+};
+</script>
+<style scoped>
+</style>

File diff suppressed because it is too large
+ 197 - 0
src/components/LoanStatistics/2.vue


+ 251 - 0
src/components/PlatformAchievement/1.vue

@@ -0,0 +1,251 @@
+<template>
+  <div id="f1" style="width: 100%;height: 100%;"></div>
+</template>
+<script>
+export default {
+  name: "chart",
+  props: {
+    dataArr: {
+      type: Array,
+      default: () => {
+        return [];
+      }
+    }
+  },
+  data() {
+    return {};
+  },
+  mounted() {
+    this.gatherers();
+  },
+  watch: {
+    dataArr() {
+      this.myChart.clear();
+      this.gatherers();
+    }
+  },
+  methods: {
+    gatherers() {
+      let myChart = this.$echarts.init(document.getElementById("f1"));
+      this.myChart = myChart;
+      let dataArr = this.dataArr;
+      let chartName = [];
+      let chartData = [];
+      dataArr.forEach(function(item) {
+        chartName.push(item.label);
+        chartData.push(item.value);
+      });
+      // 绘制图表
+      myChart.setOption({
+        tooltip: {
+          trigger: "axis",
+          formatter: function(params) {
+            // console.log(params);
+            var result = "";
+            var dotHtml =
+              '<span style="display:inline-block;margin-right:5px;border-radius:10px;width:10px;height:10px;background-color:#f9f43b"></span>';
+            // var dotHtml2 =
+            //   '<span style="display:inline-block;margin-right:5px;border-radius:10px;width:10px;height:10px;background-color:#ff7800"></span>';
+            result += dotHtml + "推送笔数:" + params[0].data + "</br>";
+            // dotHtml2 +
+            // "整改到位率:" +
+            // params;
+            return result;
+          },
+          axisPointer: {
+            lineStyle: {
+              color: {
+                type: "linear",
+                x: 0,
+                y: 0,
+                x2: 0,
+                y2: 1,
+                colorStops: [
+                  {
+                    offset: 0,
+                    color: "rgba(0, 255, 233,0)"
+                  },
+                  {
+                    offset: 0.5,
+                    color: "rgba(255, 255, 255,1)"
+                  },
+                  {
+                    offset: 1,
+                    color: "rgba(0, 255, 233,0)"
+                  }
+                ],
+                global: false
+              }
+            }
+          }
+        },
+        grid: {
+          top: "18%",
+          left: "5%",
+          right: "8%",
+          bottom: "5%",
+          containLabel: true
+        },
+        // title: [
+        //   {
+        //     text: "(笔)",
+        //     left: "5%",
+        //     bottom: "2%",
+        //     // textAlign: "center",
+        //     textStyle: {
+        //       //   fontWeight: "800",
+        //       fontWeight: 900,
+        //       fontSize: 18,
+        //       color: "#8998aa",
+        //       textAlign: "center"
+        //     }
+        //   },
+        //   {
+        //     text: "(日)",
+        //     right: "4%",
+        //     bottom: "2%",
+        //     // textAlign: "center",
+        //     textStyle: {
+        //       fontWeight: 900,
+        //       fontSize: 18,
+        //       color: "#8998aa",
+        //       textAlign: "center"
+        //     }
+        //   }
+        // ],
+        xAxis: [
+          {
+            type: "category",
+            axisLine: {
+              show: true,
+              lineStyle: {
+                color: "#414e62"
+              }
+            },
+            splitArea: {
+              // show: true,
+              color: "#f00",
+              lineStyle: {
+                color: "#f00"
+              }
+            },
+            axisLabel: {
+              interval: 0,
+              color: "#fff",
+              // fontWeight: 900,
+              fontSize: 18,
+              formatter: "{value}日"
+            },
+            splitLine: {
+              show: false
+            },
+            axisTick: {
+              show: false
+            },
+            boundaryGap: true,
+            data: chartName
+          }
+        ],
+
+        yAxis: [
+          {
+            type: "value",
+            // min: 0,
+            // max: 140,
+            // splitNumber: 4,
+            splitLine: {
+              show: true,
+              lineStyle: {
+                color: "#09365d"
+              }
+            },
+            axisLine: {
+              show: false
+              // lineStyle: {
+              //   color: "#9581F5"
+              // }
+            },
+            axisLabel: {
+              // splitNumber: 20,
+              // interval:0,
+              show: true,
+              splitNumber: 10,
+              // margin: 20,
+              textStyle: {
+                color: "#fff",
+                // fontWeight: 900,
+                fontSize: 18
+              }
+            },
+            axisTick: {
+              show: false
+            }
+          }
+        ],
+        series: [
+          {
+            name: "推送笔数",
+            type: "line",
+            smooth: true, //是否平滑
+            showAllSymbol: true,
+            symbol: "circle",
+            symbolSize: 10,
+            lineStyle: {
+              normal: {
+                color: "#ffbb00"
+              }
+            },
+            itemStyle: {
+              color: "#ffbb00",
+              borderColor: "#272727",
+              borderWidth: 2
+            },
+            tooltip: {
+              show: true
+            },
+            areaStyle: {
+              normal: {
+                color: new this.$echarts.graphic.LinearGradient(
+                  0,
+                  0,
+                  1,
+                  0,
+                  [
+                    {
+                      offset: 0,
+                      color: "rgba(77,36,42,0.8)"
+                    },
+                    {
+                      offset: 1,
+                      color: "rgba(55,60,54,0.8)"
+                    }
+                  ],
+                  false
+                )
+              }
+            },
+            markPoint: {
+              data: [{ type: "max", name: "最大值" }],
+              symbol: `image://${require("../../assets/PlatformAchievement/k1.png")}`,
+              symbolSize: [57, 30],
+              symbolOffset: [5, -20],
+              label: {
+                fontSize: 16,
+                fontWeight: 800,
+                color: "#000"
+              }
+            },
+            data: chartData
+          }
+        ]
+      });
+      window.addEventListener("resize", function() {
+        myChart.resize();
+      });
+    }
+  },
+  computed: {}
+};
+</script>
+<style scoped>
+</style>

+ 240 - 0
src/components/PlatformAchievement/2.vue

@@ -0,0 +1,240 @@
+<template>
+  <div id="c2" style="width: 100%;height: 100%;"></div>
+</template>
+<script>
+export default {
+  name: "chart",
+  props: {
+    dataArr: {
+      type: Array,
+      default: () => {
+        return [];
+      }
+    }
+  },
+  data() {
+    return {};
+  },
+  mounted() {
+    this.gatherers();
+  },
+  watch: {
+    dataArr() {
+      this.myChart.clear();
+      this.gatherers();
+    }
+  },
+  methods: {
+    gatherers() {
+      let myChart = this.$echarts.init(document.getElementById("c2"));
+      this.myChart = myChart;
+      let dataArr = this.dataArr;
+      let chartName = [];
+      let chartData = [];
+      dataArr.forEach(function(item) {
+        chartName.push(item.label);
+        chartData.push(item.value);
+      });
+      // 绘制图表
+      myChart.setOption({
+        tooltip: {
+          trigger: "axis",
+          formatter: function(params) {
+            // console.log(params);
+            var result = "";
+            var dotHtml =
+              '<span style="display:inline-block;margin-right:5px;border-radius:10px;width:10px;height:10px;background-color:#49f9ff"></span>';
+            // var dotHtml2 =
+            //   '<span style="display:inline-block;margin-right:5px;border-radius:10px;width:10px;height:10px;background-color:#ff7800"></span>';
+            result += dotHtml + "推送金额:" + params[0].data + "</br>";
+            // dotHtml2 +
+            // "整改到位率:" +
+            // params;
+            return result;
+          },
+          axisPointer: {
+            lineStyle: {
+              color: {
+                type: "linear",
+                x: 0,
+                y: 0,
+                x2: 0,
+                y2: 1,
+                colorStops: [
+                  {
+                    offset: 0,
+                    color: "rgba(0, 255, 233,0)"
+                  },
+                  {
+                    offset: 0.5,
+                    color: "rgba(255, 255, 255,1)"
+                  },
+                  {
+                    offset: 1,
+                    color: "rgba(0, 255, 233,0)"
+                  }
+                ],
+                global: false
+              }
+            }
+          }
+        },
+        grid: {
+          top: "20%",
+          left: "5%",
+          right: "10%",
+          bottom: "3%",
+          containLabel: true
+        },
+        title: [
+          {
+            text: "(万元)",
+            left: "4%",
+            bottom: "2%",
+            textStyle: {
+              // fontWeight: 900,
+              fontSize: 18,
+              color: "#fff",
+              textAlign: "center"
+            }
+          }
+          // {
+          //   text: "(日)",
+          //   right: "4%",
+          //   bottom: "2%",
+          //   textStyle: {
+          //     fontWeight: 900,
+          //     fontSize: 18,
+          //     color: "#8998aa",
+          //     textAlign: "center"
+          //   }
+          // }
+        ],
+        xAxis: [
+          {
+            type: "category",
+            axisLine: {
+              show: true,
+              lineStyle: {
+                color: "#414e62"
+              }
+            },
+            splitArea: {
+              // show: true,
+              color: "#f00",
+              lineStyle: {
+                color: "#f00"
+              }
+            },
+            axisLabel: {
+              interval: 0,
+              color: "#fff",
+              // fontWeight: 900,
+              fontSize: 18,
+              formatter: "{value}日"
+            },
+            splitLine: {
+              show: false
+            },
+            axisTick: {
+              show: false
+            },
+            boundaryGap: true,
+            data: chartName
+          }
+        ],
+
+        yAxis: [
+          {
+            type: "value",
+            splitLine: {
+              show: true,
+              lineStyle: {
+                color: "#09365d"
+              }
+            },
+            // splitNumber: 10,
+            axisLine: {
+              show: false
+            },
+            axisLabel: {
+              show: true,
+              splitNumber: 10,
+              textStyle: {
+                color: "#fff",
+                // fontWeight: 900,
+                fontSize: 18
+              }
+            },
+            axisTick: {
+              show: false
+            }
+          }
+        ],
+        series: [
+          {
+            name: "推送笔数",
+            type: "bar",
+            itemStyle: {
+              normal: {
+                color: new this.$echarts.graphic.LinearGradient(
+                  0,
+                  0,
+                  0,
+                  1,
+                  [
+                    {
+                      offset: 0,
+                      color: "#49f9ff" // 0% 处的颜色
+                    },
+                    {
+                      offset: 1,
+                      color: "#409aff" // 100% 处的颜色
+                    }
+                  ],
+                  false
+                ),
+                barBorderRadius: [30, 30, 0, 0]
+              }
+            },
+            barWidth: "40%",
+            tooltip: {
+              show: true
+            },
+            markPoint: {
+              data: [{ type: "max", name: "最大值" }],
+              symbol: `image://${require("../../assets/PlatformAchievement/k2.png")}`,
+              symbolSize: [90, 35],
+              symbolOffset: [0,-20],
+              label: {
+                // padding:[100],
+                fontSize: 16,
+                fontWeight: 800,
+                color: "#000"
+              }
+            },
+            // markPoint: {
+            //   data: [{ type: "max", name: "最大值" }],
+            //   symbol: `image://${require("../../assets/PlatformAchievement/k2.png")}`,
+            //   symbolSize: [100, 38],
+            //   symbolOffset: ["0%", "-50%"],
+            //   label: {
+            //     fontSize: 16,
+            //     fontWeight: 800,
+            //     color: "#000"
+            //   }
+            // },
+            data: chartData
+          }
+        ]
+      });
+      window.addEventListener("resize", function() {
+        myChart.resize();
+      });
+    }
+  },
+  computed: {}
+};
+</script>
+<style scoped>
+</style>

+ 227 - 0
src/components/PlatformAchievement/3.vue

@@ -0,0 +1,227 @@
+<template>
+  <div id="c3" style="width: 100%;height: 100%;"></div>
+</template>
+<script>
+export default {
+  name: "chart",
+  props: {
+    dataArr: {
+      type: Array,
+      default: () => {
+        return [];
+      }
+    }
+  },
+  data() {
+    return {};
+  },
+  mounted() {
+    this.gatherers();
+  },
+  watch: {
+    dataArr() {
+      this.myChart.clear();
+      this.gatherers();
+    }
+  },
+  methods: {
+    gatherers() {
+      let myChart = this.$echarts.init(document.getElementById("c3"));
+      this.myChart = myChart;
+      let dataArr = this.dataArr;
+      let chartName = [];
+      let chartData = [];
+      let totalArr = [];
+      dataArr.forEach(function(item) {
+        chartName.push(item.label);
+        chartData.push(item.value);
+      });
+      let max = 0;
+      if (chartData.length != 0) {
+        max = chartData.reduce(function(a, b) {
+          return b > a ? b : a;
+        });
+      }
+      dataArr.forEach(function() {
+        totalArr.push(max);
+      });
+      // let dataArr = [502, 205.97, 332.79, 281.55, 398.35, 214.02, 100];
+      // 绘制图表
+      myChart.setOption({
+        // tooltip: {
+        //   trigger: "axis",
+        //   axisPointer: {
+        //     lineStyle: {
+        //       color: {
+        //         type: "linear",
+        //         x: 0,
+        //         y: 0,
+        //         x2: 0,
+        //         y2: 1,
+        //         colorStops: [
+        //           {
+        //             offset: 0,
+        //             color: "rgba(0, 255, 233,0)"
+        //           },
+        //           {
+        //             offset: 0.5,
+        //             color: "rgba(255, 255, 255,1)"
+        //           },
+        //           {
+        //             offset: 1,
+        //             color: "rgba(0, 255, 233,0)"
+        //           }
+        //         ],
+        //         global: false
+        //       }
+        //     }
+        //   }
+        // },
+        grid: {
+          top: "18%",
+          left: "8%",
+          right: "18%",
+          bottom: "5%",
+          containLabel: true
+        },
+        xAxis: [
+          {
+            type: "category",
+            axisLine: {
+              show: true,
+              lineStyle: {
+                color: "#414e62"
+              }
+            },
+            splitArea: {
+              // show: true,
+              color: "#f00",
+              lineStyle: {
+                color: "#f00"
+              }
+            },
+            axisLabel: {
+              interval:0,
+              formatter: "{value}日",
+              color: "#fff",
+              // fontWeight: 900,
+              fontSize: 18
+            },
+            splitLine: {
+              show: false
+            },
+            axisTick: {
+              show: false
+            },
+            boundaryGap: true,
+            data: chartName
+          }
+        ],
+
+        yAxis: [
+          {
+            type: "value",
+            min: 0,
+            // max: 140,
+            // splitNumber: 4,
+            splitLine: {
+              show: true,
+              lineStyle: {
+                color: "#09365d"
+              }
+            },
+            axisLine: {
+              show: false
+              // lineStyle: {
+              //   color: "#9581F5"
+              // }
+            },
+            axisLabel: {
+              show: true,
+              
+              // margin: 20,
+              textStyle: {
+                color: "#fff",
+                // fontWeight: 900,
+                fontSize: 18
+              }
+            },
+            axisTick: {
+              show: false
+            }
+          }
+        ],
+        series: [
+          {
+            name: "推送笔数",
+            type: "bar",
+            itemStyle: {
+              normal: {
+                color: new this.$echarts.graphic.LinearGradient(
+                  0,
+                  0,
+                  0,
+                  1,
+                  [
+                    {
+                      offset: 0,
+                      color: "#a8e063" // 0% 处的颜色
+                    },
+                    {
+                      offset: 1,
+                      color: "#59ad31" // 100% 处的颜色
+                    }
+                  ],
+                  false
+                ),
+                barBorderRadius: [0, 0, 30, 30]
+              }
+            },
+            barWidth: "35%",
+            tooltip: {
+              show: true
+            },
+            data: chartData
+          },
+          {
+            name: "推送笔数",
+            type: "bar",
+            barGap: "-100%",
+            z: 1,
+            itemStyle: {
+              normal: {
+                color: "#062e41",
+                border: 1,
+                borderColor: "#44b07b",
+                barBorderRadius: [30, 30, 30, 30]
+              }
+            },
+            barWidth: "35%",
+            tooltip: {
+              show: true
+            },
+            label: {
+              normal: {
+                show: true,
+                position: "top",
+                color: "#a7e063",
+                fontSize: 18,
+                formatter: function(param) {
+                  return chartData[param.dataIndex];
+                }
+              }
+            },
+            data: totalArr
+          }
+        ]
+      });
+      window.addEventListener("resize", function() {
+        myChart.resize();
+      });
+    }
+  },
+  computed: {}
+};
+</script>
+<style scoped>
+</style>

+ 247 - 0
src/components/PlatformAchievement/4.vue

@@ -0,0 +1,247 @@
+<template>
+  <div id="c4" style="width: 100%;height: 100%;"></div>
+</template>
+<script>
+export default {
+  name: "chart",
+  props: {
+    dataArr: {
+      type: Array,
+      default: () => {
+        return [];
+      }
+    }
+  },
+  data() {
+    return {};
+  },
+  mounted() {
+    this.gatherers();
+  },
+  watch: {
+    dataArr() {
+      this.myChart.clear();
+      this.gatherers();
+    }
+  },
+  methods: {
+    gatherers() {
+      let myChart = this.$echarts.init(document.getElementById("c4"));
+      this.myChart = myChart;
+      let dataArr = this.dataArr;
+      let chartName = [];
+      let chartData = [];
+      dataArr.forEach(function(item) {
+        chartName.push(item.label);
+        chartData.push(item.value);
+      });
+      // 绘制图表
+      myChart.setOption({
+        tooltip: {
+          trigger: "axis",
+               formatter: function(params) {
+            // console.log(params);
+            var result = "";
+            var dotHtml =
+              '<span style="display:inline-block;margin-right:5px;border-radius:10px;width:10px;height:10px;background-color:#49f9ff"></span>';
+            // var dotHtml2 =
+            //   '<span style="display:inline-block;margin-right:5px;border-radius:10px;width:10px;height:10px;background-color:#ff7800"></span>';
+            result += dotHtml + "接单金额:" + params[0].data + "</br>";
+            // dotHtml2 +
+            // "整改到位率:" +
+            // params;
+            return result;
+          },
+          axisPointer: {
+            lineStyle: {
+              color: {
+                type: "linear",
+                x: 0,
+                y: 0,
+                x2: 0,
+                y2: 1,
+                colorStops: [
+                  {
+                    offset: 0,
+                    color: "rgba(0, 255, 233,0)"
+                  },
+                  {
+                    offset: 0.5,
+                    color: "rgba(255, 255, 255,1)"
+                  },
+                  {
+                    offset: 1,
+                    color: "rgba(0, 255, 233,0)"
+                  }
+                ],
+                global: false
+              }
+            }
+          }
+        },
+        grid: {
+          top: "18%",
+          left: "8%",
+          right: "18%",
+          bottom: "5%",
+          containLabel: true
+        },
+        title: [
+          {
+            text: "(万元)",
+            left: "5%",
+            bottom: "2%",
+            // textAlign: "center",
+            textStyle: {
+              //   fontWeight: "800",
+              // fontWeight: 900,
+              fontSize: 18,
+              color: "#fff",
+              textAlign: "center"
+            }
+          },
+          // {
+          //   text: "(日)",
+          //   right: "12%",
+          //   bottom: "2%",
+          //   // textAlign: "center",
+          //   textStyle: {
+          //     //   fontWeight: "800",
+          //     fontWeight: 900,
+          //     fontSize: 18,
+          //     color: "#8998aa",
+          //     textAlign: "center"
+          //   }
+          // }
+        ],
+        xAxis: [
+          {
+            type: "category",
+            axisLine: {
+              show: true,
+              lineStyle: {
+                color: "#414e62"
+              }
+            },
+            splitArea: {
+              // show: true,
+              color: "#f00",
+              lineStyle: {
+                color: "#f00"
+              }
+            },
+            axisLabel: {
+              interval:0,
+               formatter: "{value}日",
+              color: "#fff",
+              // fontWeight: 900,
+              fontSize: 18
+            },
+            splitLine: {
+              show: false
+            },
+            axisTick: {
+              show: false
+            },
+            boundaryGap: true,
+            data: chartName
+          }
+        ],
+
+        yAxis: [
+          {
+            type: "value",
+            min: 0,
+            splitLine: {
+              show: true,
+              lineStyle: {
+                color: "#09365d"
+              }
+            },
+            axisLine: {
+              show: false
+            },
+            axisLabel: {
+              show: true,
+              // margin: 20,
+              textStyle: {
+                color: "#fff",
+                // fontWeight: 900,
+                fontSize: 18
+              }
+            },
+            axisTick: {
+              show: false
+            }
+          }
+        ],
+        series: [
+          {
+            name: "推送笔数",
+            type: "line",
+            smooth: true, //是否平滑
+            showAllSymbol: true,
+            // symbol: 'image://./static/images/guang-circle.png',
+            symbol: "circle",
+            symbolSize: 10,
+            lineStyle: {
+              normal: {
+                color: "#42c8f6"
+              }
+            },
+            itemStyle: {
+              color: "#ffbb00",
+              borderColor: "#272727",
+              borderWidth: 2
+            },
+            tooltip: {
+              show: true
+            },
+            areaStyle: {
+              normal: {
+                color: new this.$echarts.graphic.LinearGradient(
+                  0,
+                  0,
+                  0,
+                  1,
+                  [
+                    {
+                      offset: 0,
+                      color: "#1e5f76"
+                    },
+                    {
+                      offset: 1,
+                      color: "rgba(13,36,69,0.9)"
+                    }
+                  ],
+                  false
+                )
+                // shadowColor: "rgba(108,80,243, 0.9)",
+                // shadowBlur: 20
+              }
+            },
+            markPoint: {
+              data: [{ type: "max", name: "最大值" }],
+              symbol: `image://${require("../../assets/PlatformAchievement/k3.png")}`,
+              symbolSize: [70, 30],
+              symbolOffset: [5, -20],
+              label: {
+                fontSize: 16,
+                fontWeight: 800,
+                color: "#000"
+              }
+            },
+            data: chartData
+          }
+        ]
+      });
+      window.addEventListener("resize", function() {
+        myChart.resize();
+      });
+    }
+  },
+  computed: {}
+};
+</script>
+<style scoped>
+</style>

+ 211 - 0
src/components/PlatformAchievement/5.vue

@@ -0,0 +1,211 @@
+<template>
+  <div id="c5" style="width: 100%;height: 100%;"></div>
+</template>
+<script>
+export default {
+  name: "chart",
+  props: {
+    // id: {
+    //   type: String,
+    //   default: "id"
+    // },
+
+    dataArr: {
+      type: Array,
+      default: () => {
+        return [];
+      }
+    }
+  },
+  data() {
+    return {};
+  },
+  mounted() {
+    this.gatherers();
+  },
+  watch: {
+    dataArr() {
+      this.myChart.clear();
+      this.gatherers();
+    }
+  },
+  methods: {
+    gatherers() {
+      let myChart = this.$echarts.init(document.getElementById("c5"));
+      this.myChart = myChart;
+      let dataArr = this.dataArr;
+      let chartName = [];
+      let chartData = [];
+      let totalArr = [];
+      dataArr.forEach(function(item) {
+        chartName.push(item.label);
+        chartData.push(item.value);
+      });
+      let max = 0;
+      if (chartData.length != 0) {
+        max = chartData.reduce(function(a, b) {
+          return b > a ? b : a;
+        });
+      }
+      dataArr.forEach(function() {
+        totalArr.push(max);
+      });
+      // 绘制图表
+      myChart.setOption({
+        xAxis: {
+          splitLine: {
+            show: false
+          },
+          axisLine: {
+            show: false
+          },
+          axisLabel: {
+            show: false
+          },
+          axisTick: {
+            show: false
+          }
+        },
+        // title: [
+        //   {
+        //     text: "(日)",
+        //     left: "5%",
+        //     bottom: "6%",
+        //     // textAlign: "center",
+        //     textStyle: {
+        //       //   fontWeight: "800",
+        //       fontWeight: 900,
+        //       fontSize: 18,
+        //       color: "#8998aa",
+        //       textAlign: "center"
+        //     }
+        //   },
+        //   {
+        //     text: "(笔)",
+        //     right: "6%",
+        //     bottom: "6%",
+        //     // textAlign: "center",
+        //     textStyle: {
+        //       //   fontWeight: "800",
+        //       fontWeight: 900,
+        //       fontSize: 18,
+        //       color: "#8998aa",
+        //       textAlign: "center"
+        //     }
+        //   }
+        // ],
+        grid: {
+          left: "8%",
+          top: "1%", // 设置条形图的边距
+          right: "10%",
+          bottom: "15%",
+          containLabel: true
+        },
+        yAxis: [
+          {
+            type: "category",
+            inverse: true,
+            data: chartName,
+            axisLine: {
+              show: false
+            },
+            axisTick: {
+              show: false
+            },
+            axisLabel: {
+              interval:0,
+              formatter: "{value}日",
+              color: "#fff",
+              // fontWeight: 900,
+              fontSize: 18
+            }
+          }
+        ],
+        series: [
+          {
+            // 内
+            type: "bar",
+            barWidth: "40%",
+            legendHoverLink: false,
+            silent: true,
+            itemStyle: {
+              normal: {
+                color: {
+                  type: "linear",
+                  x: 0,
+                  y: 0,
+                  x2: 1,
+                  y2: 0,
+                  colorStops: [
+                    {
+                      offset: 0,
+                      color: "#fba957" // 0% 处的颜色
+                    },
+                    {
+                      offset: 1,
+                      color: "#fee865" // 100% 处的颜色
+                    }
+                  ]
+                }
+              }
+            },
+            data: chartData,
+            z: 1,
+            animationEasing: "elasticOut"
+          },
+          {
+            // 分隔
+            type: "pictorialBar",
+            itemStyle: {
+              normal: {
+                color: "#061348"
+              }
+            },
+            symbolRepeat: "fixed",
+            symbolMargin: 3,
+            symbol: "rect",
+            symbolClip: true,
+            symbolSize: [3, 21],
+            symbolPosition: "start",
+            // symbolBoundingData: ,
+            data: chartData,
+            z: 2,
+            animationEasing: "elasticOut"
+          },
+          {
+            name: "外框",
+            type: "bar",
+            barGap: "-100%", // 设置外框粗细
+            data: totalArr,
+            barWidth: "40%",
+            itemStyle: {
+              normal: {
+                color: "#061f46", // 填充色
+                label: {
+                  show: true,
+                  textStyle: {
+                    color: "#fff",
+                    // fontWeight: 900,
+                    fontSize: 18
+                  },
+                  formatter: function(param) {
+                    return chartData[param.dataIndex]+"笔";
+                  },
+                  position: "right" // insideTop 或者横向的 insideLeft
+                }
+              }
+            },
+            z: 0
+          }
+        ]
+      });
+      window.addEventListener("resize", function() {
+        myChart.resize();
+      });
+    }
+  },
+  computed: {}
+};
+</script>
+<style scoped>
+</style>

+ 201 - 0
src/components/PlatformAchievement/6.vue

@@ -0,0 +1,201 @@
+<template>
+  <div id="c6" style="width: 100%;height: 100%;"></div>
+</template>
+<script>
+export default {
+  name: "chart",
+  props: {
+    dataArr: {
+      type: Array,
+      default: () => {
+        return [];
+      }
+    }
+  },
+  data() {
+    return {};
+  },
+  mounted() {
+    this.gatherers();
+  },
+  watch: {
+    dataArr() {
+      this.myChart.clear();
+      this.gatherers();
+    }
+  },
+  methods: {
+    gatherers() {
+      let dataArr = this.dataArr;
+      let color = [
+        ["rgba(254,196,0,0.15)", "rgba(254,196,0,1)"],
+        ["rgba(105,218,123,0.15)", "rgba(19,205,215,1)"]
+      ];
+      let topColor = ["#FEC400", "#13CDD7"];
+      let chartData = [];
+      let chartName = [];
+      let list = [];
+      dataArr.forEach(function(item, index) {
+        chartName.push(item.label);
+        chartData.push({
+          value: item.value,
+          symbol: "circle",
+          symbolPosition: "end",
+          itemStyle: {
+            normal: {
+              color: topColor[index % 2]
+            }
+          }
+        });
+        list.push({
+          value: item.value,
+          symbolOffset: [0, 0],
+          symbol: "path://M419.5,746.986L401,983h37Z",
+          itemStyle: {
+            normal: {
+              color: {
+                type: "linear",
+                x: 0,
+                y: 0,
+                x2: 0,
+                y2: 1,
+                colorStops: [
+                  {
+                    offset: 1,
+                    color: color[index % 2][0]
+                  },
+                  {
+                    offset: 0,
+                    color: color[index % 2][1]
+                  }
+                ],
+                globalCoord: false
+              }
+            }
+          },
+          label: {
+            normal: {
+              show: true,
+              position: "top",
+              offset: [0, 0],
+              textStyle: {
+                color: topColor[index % 2],
+                // fontWeight: 900,
+                fontSize: 18
+              }
+            }
+          }
+        });
+      });
+      let myChart = this.$echarts.init(document.getElementById("c6"));
+      this.myChart = myChart;
+      // 绘制图表
+      myChart.setOption({
+        grid: {
+          left: "5%",
+          top: "22%",
+          right: "12%",
+          bottom: "8%",
+          containLabel: true
+        },
+        title: [
+          {
+            text: "(万元)",
+            left: "4%",
+            bottom: "5%",
+            textStyle: {
+              fontWeight: 900,
+              fontSize: 18,
+              color: "#fff",
+              textAlign: "center"
+            }
+          },
+          // {
+          //   text: "(日)",
+          //   right: "10%",
+          //   bottom: "5%",
+          //   textStyle: {
+          //     fontWeight: 900,
+          //     fontSize: 18,
+          //     color: "#8998aa",
+          //     textAlign: "center"
+          //   }
+          // }
+        ],
+        xAxis: [
+          {
+            type: "category",
+            offset: 5,
+            axisTick: {
+              show: false
+            },
+            axisLine: {
+              show: true,
+              lineStyle: {
+                color: "#404b5f"
+              }
+            },
+            axisLabel: {
+               formatter: "{value}日",
+               interval:0,
+              textStyle: {
+                color: "#fff",
+                // fontWeight: 900,
+                fontSize: 18
+              }
+            },
+            data: chartName
+          }
+        ],
+        yAxis: {
+          type: "value",
+          axisTick: {
+            show: false
+          },
+          axisLine: {
+            show: false
+          },
+          splitLine: {
+            //网格线
+            lineStyle: {
+              color: "#07355a"
+            },
+            show: true //隐藏或显示
+          },
+          axisLabel: {
+            show: true, //隐藏或显示
+            textStyle: {
+              color: "#fff",
+              // fontWeight: 900,
+              fontSize: 18
+            }
+          }
+        },
+        series: [
+          {
+            type: "pictorialBar",
+            name: "案件归类",
+            symbolSize: [30, "100%"],
+            z: 10,
+            data: list
+          },
+          {
+            name: "top",
+            type: "pictorialBar",
+            symbolSize: [11, 11],
+            symbolOffset: [0, 0],
+            data: chartData,
+            z: 20
+          }
+        ]
+      });
+      window.addEventListener("resize", function() {
+        myChart.resize();
+      });
+    }
+  },
+  computed: {}
+};
+</script>
+<style scoped>
+</style>

+ 335 - 0
src/components/index/1.vue

@@ -0,0 +1,335 @@
+<template>
+  <div id="c1" style="width: 90%;margin-left:5%;height: 100%;"></div>
+</template>
+<script>
+export default {
+  name: "chart",
+  props: {
+    id: {
+      type: String,
+      default: "id"
+    },
+    dataArr: {
+      type: Array,
+      default: () => {
+        return [];
+      }
+    }
+    // colorArr: {
+    //   type: Array,
+    //   default: () => {
+    //     return [];
+    //   }
+    // },
+    // imageArr: {
+    //   type: Array,
+    //   default: () => {
+    //     return [];
+    //   }
+    // }
+  },
+  data() {
+    return {};
+  },
+  mounted() {
+    this.gatherers();
+  },
+  watch: {
+    dataArr() {
+      this.myChart.clear();
+      this.gatherers();
+    }
+  },
+  methods: {
+    gatherers() {
+      let myChart = this.$echarts.init(document.getElementById("c1"));
+      this.myChart = myChart;
+      let dataArr = this.dataArr;
+      let chartName = [];
+      let chartData = [];
+      dataArr.forEach(item => {
+        chartName.push(item.label);
+        chartData.push(item.value);
+      });
+      // // 绘制图表
+      myChart.setOption({
+        grid: {
+          top: "10%",
+          left: "5%",
+          right: "5%",
+          bottom: "15%",
+          containLabel: true
+        },
+        tooltip: {
+          trigger: "axis",
+
+          formatter: function(params) {
+            // console.log(params)
+            var result = "";
+            var dotHtml =
+              '<span style="display:inline-block;margin-right:5px;border-radius:10px;width:10px;height:10px;background-color:#f9f43b"></span>';
+            // var dotHtml2 =
+            //   '<span style="display:inline-block;margin-right:5px;border-radius:10px;width:10px;height:10px;background-color:#ff7800"></span>';
+            result +=
+              dotHtml +
+              "申请金额:" +
+              params[0].data +
+              "</br>"
+              // dotHtml2 +
+              // "整改到位率:" +
+              // params;
+            return result;
+          },
+          // formatter: function(params) {
+          //   //提示框内容
+          //   var value = "";
+          //   for (var i = 0; i < params.length; i++) {
+          //     var data = params[i].data;
+          //     value += "申请金额  "+data + "万元";
+          //   }
+          //   return value;
+          // },
+          axisPointer: {
+            lineStyle: {
+              color: {
+                type: "linear",
+                x: 0,
+                y: 0,
+                x2: 0,
+                y2: 1,
+                colorStops: [
+                  {
+                    offset: 0,
+                    color: "rgba(0, 255, 233,0)"
+                  },
+                  {
+                    offset: 0.5,
+                    color: "rgba(255, 255, 255,1)"
+                  },
+                  {
+                    offset: 1,
+                    color: "rgba(0, 255, 233,0)"
+                  }
+                ],
+                global: false
+              }
+            }
+          }
+        },
+        title: [
+          {
+            text: "(万元)",
+            left: "2%",
+            bottom: "13%",
+            // textAlign: "center",
+            textStyle: {
+              // fontWeight: 900,
+              fontSize: 18,
+              color: "#fff",
+              textAlign: "center"
+            }
+          }
+          // {
+          //   text: "(日)",
+          //   right: "0%",
+          //   bottom: "13%",
+          //   // textAlign: "center",
+          //   textStyle: {
+          //     fontWeight: 900,
+          //     fontSize: 18,
+          //     color: "#8998aa",
+          //     textAlign: "center"
+          //   }
+          // }
+        ],
+        xAxis: [
+          {
+            type: "category",
+            axisLine: {
+              show: true
+            },
+            splitArea: {
+              color: "#f00",
+              lineStyle: {
+                color: "#f00"
+              }
+            },
+            axisLabel: {
+              color: "#fff",
+              // fontWeight: 900,
+              fontSize: 18,
+              formatter: "{value}日",
+              interval: 0
+            },
+            splitLine: {
+              show: false
+            },
+            axisTick: {
+              show: false
+            },
+            boundaryGap: true,
+            data: chartName
+          }
+        ],
+
+        yAxis: [
+          {
+            type: "value",
+            splitLine: {
+              show: true,
+              lineStyle: {
+                color: "rgba(255,255,255,0.1)"
+              }
+            },
+            axisLine: {
+              show: false
+            },
+            axisLabel: {
+              show: true,
+              textStyle: {
+                color: "#fff",
+                // fontWeight: 900,
+                fontSize: 18
+              }
+            },
+            axisTick: {
+              show: false
+            }
+          }
+        ],
+        series: [
+          {
+            name: "申请金额",
+            type: "line",
+            smooth: true, //是否平滑
+            showAllSymbol: true,
+            symbol: `image://${require("../../assets/index/point2.png")}`,
+            symbolSize: 16,
+            lineStyle: {
+              normal: {
+                color: "#f9f43b"
+              }
+            },
+            label: {
+              show: false,
+              position: "top",
+              textStyle: {
+                color: "#6c50f3"
+              }
+            },
+            itemStyle: {
+              color: "#f9f43b"
+            },
+            // tooltip: {
+            //   show: false
+            // },
+            areaStyle: {
+              normal: {
+                color: new this.$echarts.graphic.LinearGradient(
+                  0,
+                  0,
+                  0,
+                  1,
+                  [
+                    {
+                      offset: 0,
+                      color: "#fca91f"
+                    },
+                    {
+                      offset: 1,
+                      color: "#4e6b57"
+                    }
+                  ],
+                  false
+                )
+              }
+            },
+            data: chartData,
+            markPoint: {
+              data: [{ type: "max", name: "最大值" }],
+              symbol: `image://${require("../../assets/index/k2.png")}`,
+              symbolSize: [85, 35],
+              symbolOffset: [0, -20],
+              label: {
+                // padding:[100],
+                fontSize: 16,
+                fontWeight: 800,
+                color: "#000"
+              }
+            }
+          }
+          // {
+          //   name: "放款金额",
+          //   type: "line",
+          //   smooth: true, //是否平滑
+          //   showAllSymbol: true,
+          //   symbol: `image://${require("../../assets/index/point1.png")}`,
+          //   // symbol: "circle",
+          //   symbolSize: 16,
+          //   lineStyle: {
+          //     normal: {
+          //       color: "#3aa1d7"
+          //     }
+          //   },
+          //   label: {
+          //     show: false,
+          //     position: "top",
+          //     textStyle: {
+          //       color: "#00ca95"
+          //     }
+          //   },
+          //   itemStyle: {
+          //     color: "#fada31"
+          //   },
+          //   // tooltip: {
+          //   //   show: false
+          //   // },
+          //   areaStyle: {
+          //     normal: {
+          //       color: new this.$echarts.graphic.LinearGradient(
+          //         0,
+          //         0,
+          //         0,
+          //         1,
+          //         [
+          //           {
+          //             offset: 0,
+          //             color: "#1c5076"
+          //           },
+          //           {
+          //             offset: 1,
+          //             color: "#1c5076"
+          //           }
+          //         ],
+          //         false
+          //       )
+          //       // shadowColor: "rgba(0,202,149, 0.9)",
+          //       // shadowBlur: 20
+          //     }
+          //   },
+          //   data: chartData2,
+          //   markPoint: {
+          //     data: [{ type: "max", name: "最大值" }],
+          //     symbol: `image://${require("../../assets/index/k1.png")}`,
+          //     symbolSize: [57, 35],
+          //     symbolOffset: [0, -20],
+          //     label: {
+          //       fontSize: 16,
+          //       fontWeight: 800,
+          //       color: "#fff"
+          //     }
+          //     // color: "#f00"
+          //   }
+          // }
+        ]
+      });
+      window.addEventListener("resize", function() {
+        myChart.resize();
+      });
+    }
+  },
+  computed: {}
+};
+</script>
+<style scoped>
+</style>

+ 378 - 0
src/components/index/2.vue

@@ -0,0 +1,378 @@
+<template>
+  <div id="c2" style="width: 90%;margin-left:5%;height: 100%;"></div>
+</template>
+<script>
+export default {
+  name: "chart",
+  props: {
+    id: {
+      type: String,
+      default: "id"
+    },
+    dataArr: {
+      type: Array,
+      default: () => {
+        return [];
+      }
+    }
+  },
+  data() {
+    return {};
+  },
+  mounted() {
+    this.gatherers();
+  },
+  watch: {
+    dataArr() {
+      this.myChart.clear();
+      this.gatherers();
+    }
+  },
+  methods: {
+    gatherers() {
+      let myChart = this.$echarts.init(document.getElementById("c2"));
+      this.myChart = myChart;
+      let dataArr = this.dataArr;
+      let chartName = [];
+      let chartData = [];
+      let chartData2 = [];
+      let bottomArr = [8, 8, 8, 8, 8];
+      if (dataArr.length != 0) {
+        dataArr[0].data1.forEach(function(item) {
+          chartName.push(item.label);
+          chartData.push(item.value);
+        });
+        dataArr[0].data2.forEach(function(item) {
+          chartData2.push(item.value);
+        });
+      }
+      // dataArr[0].data3.forEach(function(item) {
+      //   chartData3.push(item.value);
+      // });
+      // 绘制图表
+      myChart.setOption({
+        // color: ["#59e7eb", "#38e27f", "#2f92ed", "#d0cc6f", "#e47f2e"],
+        // tooltip: {},
+        title: [
+          // {
+          //   text: "(家)",
+          //   left: "7%",
+          //   bottom: "8%",
+          //   // textAlign: "center",
+          //   textStyle: {
+          //     fontWeight: 900,
+          //     fontSize: 18,
+          //     color: "#8998aa",
+          //     textAlign: "center"
+          //   }
+          // },
+          // {
+          //   text: "(日)",
+          //   right: "5%",
+          //   bottom: "8%",
+          //   // textAlign: "center",
+          //   textStyle: {
+          //     fontWeight: 900,
+          //     fontSize: 18,
+          //     color: "#8998aa",
+          //     textAlign: "center"
+          //   }
+          // }
+        ],
+        grid: {
+          top: "12%",
+          left: "7%",
+          right: "7%",
+          bottom: "10%",
+          containLabel: true
+        },
+        tooltip: {
+          trigger: "axis",
+          formatter: function(params) {
+            // console.log(params)
+            var result = "";
+            var dotHtml =
+              '<span style="display:inline-block;margin-right:5px;border-radius:10px;width:10px;height:10px;background-color:#068d9d"></span>';
+            var dotHtml2 =
+              '<span style="display:inline-block;margin-right:5px;border-radius:10px;width:10px;height:10px;background-color:#ff7200"></span>';
+            result +=
+              dotHtml +
+              "注册企业:" +
+              params[0].data +
+              "</br>"+
+              dotHtml2 +
+              "认证企业:" +
+              params[1].data;
+            return result;
+          },
+          axisPointer: {
+            lineStyle: {
+              color: {
+                type: "linear",
+                x: 0,
+                y: 0,
+                x2: 0,
+                y2: 1,
+                colorStops: [
+                  {
+                    offset: 0,
+                    color: "rgba(0, 255, 233,0)"
+                  },
+                  {
+                    offset: 0.5,
+                    color: "rgba(255, 255, 255,1)"
+                  },
+                  {
+                    offset: 1,
+                    color: "rgba(0, 255, 233,0)"
+                  }
+                ],
+                global: false
+              }
+            }
+          }
+        },
+        xAxis: [
+          {
+            type: "category",
+            boundaryGap: true,
+            axisLine: {
+              //坐标轴轴线相关设置。数学上的x轴
+              show: true,
+              lineStyle: {
+                color: "#676C7B"
+              }
+            },
+            axisLabel: {
+              formatter: "{value}日",
+              interval: 0,
+              //坐标轴刻度标签的相关设置
+              textStyle: {
+                color: "#fff",
+                // fontWeight: 900,
+                fontSize: 18
+              }
+            },
+            axisTick: {
+              show: false
+            },
+            data: chartName
+          },
+          {
+            type: "category",
+            axisLine: {
+              show: false
+            },
+            axisTick: {
+              show: false
+            },
+            axisLabel: {
+              show: false
+            },
+            splitArea: {
+              show: false
+            },
+            splitLine: {
+              show: false
+            },
+            data: []
+          }
+        ],
+        yAxis: [
+          {
+            type: "value",
+            splitLine: {
+              show: true,
+              lineStyle: {
+                color: "#676C7B"
+              }
+            },
+            axisLine: {
+              show: false,
+              lineStyle: {
+                color: "#676C7B"
+              }
+            },
+            axisLabel: {
+              margin: 20,
+              textStyle: {
+                color: "#fff",
+                // fontWeight: 900,
+                fontSize: 18
+              }
+            },
+            axisTick: {
+              show: false
+            }
+          }
+        ],
+        series: [
+          {
+            name: "注册企业", //这个是Bar图
+            type: "bar",
+            barWidth: "30%",
+            barGap: "40%",
+            xAxisIndex: 0,
+            label: {
+              show: true,
+              fontWeight: 900,
+              fontSize: 16,
+              color: "#00fcff",
+              position: "top"
+              // distance: -20
+            },
+            itemStyle: {
+              normal: {
+                color: {
+                  type: "linear",
+                  x: 0,
+                  y: 0,
+                  x2: 1,
+                  y2: 1,
+                  colorStops: [
+                    {
+                      offset: 0,
+                      color: "#068d9d" // 0% 处的颜色
+                    },
+                    {
+                      offset: 1,
+                      color: "rgba(10,30,57,0.1)" // 100% 处的颜色
+                    }
+                  ]
+                }
+              }
+            },
+            data: chartData
+          },
+          {
+            name: "认证企业", //这个是Bar图
+            type: "bar",
+            barWidth: "30%",
+            xAxisIndex: 0,
+            label: {
+              show: true,
+              fontWeight: 900,
+              fontSize: 16,
+              color: "#ff7200",
+              position: "top"
+              // distance: -20
+            },
+            itemStyle: {
+              normal: {
+                color: {
+                  type: "linear",
+                  x: 0,
+                  y: 0,
+                  x2: 1,
+                  y2: 1,
+                  colorStops: [
+                    {
+                      offset: 0,
+                      color: "#85471d" // 0% 处的颜色
+                    },
+                    {
+                      offset: 1,
+                      color: "rgba(10,30,57,0.1)" // 100% 处的颜色
+                    }
+                  ]
+                }
+              }
+            },
+            data: chartData2
+          },
+          // {
+          //   name: "服务企业", //这个是Bar图
+          //   type: "bar",
+          //   barWidth: "20%",
+          //   xAxisIndex: 0,
+          //   label: {
+          //     show: true,
+          //     //   formatter: "{a|}",
+          //     color: "#ff349d",
+          //     position: "top",
+          //     fontWeight: 900,
+          //     fontSize: 16,
+          //     distance: -20
+          //   },
+          //   itemStyle: {
+          //     normal: {
+          //       color: {
+          //         type: "linear",
+          //         x: 0,
+          //         y: 0,
+          //         x2: 1,
+          //         y2: 1,
+          //         colorStops: [
+          //           {
+          //             offset: 0,
+          //             color: "#84286b" // 0% 处的颜色
+          //           },
+          //           {
+          //             offset: 1,
+          //             color: "rgba(10,30,57,0.1)" // 100% 处的颜色
+          //           }
+          //         ]
+          //       }
+          //     }
+          //   },
+          //   data: chartData3
+          // },
+          //--------------------------
+          {
+            name: "注册", //这个是Bar图
+            type: "bar",
+            barWidth: "30%",
+            barGap: "40%",
+            xAxisIndex: 1,
+            label: {
+              show: false
+            },
+            itemStyle: {
+              normal: {
+                color: "#00fcff"
+              }
+            },
+            data: bottomArr
+          },
+          {
+            name: "认证", //这个是Bar图
+            type: "bar",
+            barWidth: "30%",
+            xAxisIndex: 1,
+            label: {
+              show: false
+            },
+            itemStyle: {
+              normal: {
+                color: "#ff7200"
+              }
+            },
+            data: bottomArr
+          }
+          // {
+          //   name: "服务", //这个是Bar图
+          //   type: "bar",
+          //   barWidth: "20%",
+          //   xAxisIndex: 1,
+          //   label: {
+          //     show: false
+          //   },
+          //   itemStyle: {
+          //     normal: {
+          //       color: "#ff349d" // 0% 处的颜色
+          //     }
+          //   },
+          //   data: bottomArr
+          // }
+        ]
+      });
+      window.addEventListener("resize", function() {
+        myChart.resize();
+      });
+    }
+  },
+  computed: {}
+};
+</script>
+<style scoped>
+</style>

+ 266 - 0
src/components/index/3.vue

@@ -0,0 +1,266 @@
+<template>
+  <div id="c3" style="width: 90%;margin-left:5%;height: 100%;"></div>
+</template>
+<script>
+export default {
+  name: "chart",
+  props: {
+    id: {
+      type: String,
+      default: "id"
+    },
+    dataArr: {
+      type: Array,
+      default: () => {
+        return [];
+      }
+    }
+  },
+  data() {
+    return {};
+  },
+  mounted() {
+    this.gatherers();
+  },
+  watch: {
+    dataArr() {
+      this.myChart.clear();
+      this.gatherers();
+    }
+  },
+  methods: {
+    gatherers() {
+      let myChart = this.$echarts.init(document.getElementById("c3"));
+      this.myChart = myChart;
+      // let dataArr = this.dataArr;
+      let chartName = [];
+      let chartData = [];
+      let chartData2 = [];
+      if (this.dataArr.length != 0) {
+        this.dataArr[0].data1.forEach(item => {
+          chartData.push(item.value);
+          chartName.push(item.label);
+        });
+        this.dataArr[0].data2.forEach(item => {
+          chartData2.push(item.value);
+        });
+      }
+      // 绘制图表
+      myChart.setOption({
+        grid: {
+          left: "3%",
+          right: "0%",
+          bottom: "15%",
+          top: "8%",
+          containLabel: true
+        },
+        title: [
+          // {
+          //   text: "(条)",
+          //   left: "5%",
+          //   bottom: "13%",
+          //   // textAlign: "center",
+          //   textStyle: {
+          //     fontWeight: 900,
+          //     fontSize: 18,
+          //     color: "#8998aa",
+          //     textAlign: "center"
+          //   }
+          // }
+          // {
+          //   text: "(日)",
+          //   right: "0%",
+          //   bottom: "13%",
+          //   // textAlign: "center",
+          //   textStyle: {
+          //     fontWeight: 900,
+          //     fontSize: 18,
+          //     color: "#8998aa",
+          //     textAlign: "center"
+          //   }
+          // }
+        ],
+        tooltip: {
+          trigger: "axis",
+          axisPointer: {
+            lineStyle: {
+              color: {
+                type: "linear",
+                x: 0,
+                y: 0,
+                x2: 0,
+                y2: 1,
+                colorStops: [
+                  {
+                    offset: 0,
+                    color: "rgba(0, 255, 233,0)"
+                  },
+                  {
+                    offset: 0.5,
+                    color: "rgba(255, 255, 255,1)"
+                  },
+                  {
+                    offset: 1,
+                    color: "rgba(0, 255, 233,0)"
+                  }
+                ],
+                global: false
+              }
+            }
+          }
+        },
+        yAxis: {
+          type: "value",
+          axisTick: {
+            show: false
+          },
+          axisLine: {
+            show: false,
+            lineStyle: {
+              color: "#363e83"
+            }
+          },
+          splitLine: {
+            show: true,
+            lineStyle: {
+              color: "#363e83 "
+            }
+          },
+          axisLabel: {
+            show: true,
+            textStyle: {
+              color: "#fff",
+              // fontWeight: 900,
+              fontSize: 18
+              // fontSize: 14,
+              // fontWeight: 900
+            }
+          }
+        },
+        xAxis: [
+          {
+            type: "category",
+            // interVal: 0,
+            axisTick: {
+              show: false
+            },
+            axisLine: {
+              show: true,
+              lineStyle: {
+                color: "#363e83"
+              }
+            },
+            axisLabel: {
+              interval: 0,
+              textStyle: {
+                color: "#fff",
+                // fontWeight: 900,
+                fontSize: 14
+              },
+              inside: false
+            },
+            data: chartName
+          },
+          {
+            type: "category",
+            axisLine: {
+              show: false
+            },
+            axisTick: {
+              show: false
+            },
+            axisLabel: {
+              show: false
+            },
+            splitArea: {
+              show: false
+            },
+            splitLine: {
+              show: false
+            },
+            data: chartName
+          }
+        ],
+        series: [
+          // {
+          //   name: "需求笔数",
+          //   type: "bar",
+          //   itemStyle: {
+          //     normal: {
+          //       show: true,
+          //       barBorderRadius: [20, 20, 0, 0],
+          //       color: new this.$echarts.graphic.LinearGradient(0, 0, 0, 1, [
+          //         {
+          //           offset: 0,
+          //           color: "#7fdbf3"
+          //         },
+          //         {
+          //           offset: 1,
+          //           color: "#38a0d6"
+          //         }
+          //       ])
+          //     }
+          //   },
+          //   // zlevel: 2,
+          //   barWidth: "30%",
+          //   data: chartData,
+          //   markPoint: {
+          //     data: [{ type: "max", name: "最大值" }],
+          //     symbol: `image://${require("../../assets/index/k4.png")}`,
+          //     symbolSize: [50, 23],
+          //     symbolOffset: [20, -10],
+          //     z: 100,
+          //     label: {
+          //       fontSize: 16,
+          //       fontWeight: 800,
+          //       color: "#000"
+          //     }
+          //   }
+          // },
+          {
+            name: "放款笔数",
+            type: "bar",
+            barWidth: "30%",
+            itemStyle: {
+              normal: {
+                barBorderRadius: [20, 20, 0, 0],
+                show: true,
+                color: new this.$echarts.graphic.LinearGradient(0, 0, 0, 1, [
+                  {
+                    offset: 0,
+                    color: "#fcf437"
+                  },
+                  {
+                    offset: 1,
+                    color: "#fc9602"
+                  }
+                ])
+              }
+            },
+            // zlevel: 2,
+            barGap: "30%",
+            data: chartData2,
+            markPoint: {
+              data: [{ type: "max", name: "最大值" }],
+              symbol: `image://${require("../../assets/index/k3.png")}`,
+              symbolSize: [50, 23],
+              symbolOffset: [20, -10],
+              label: {
+                fontSize: 16,
+                fontWeight: 800,
+                color: "#000"
+              }
+            }
+          }
+        ]
+      });
+      window.addEventListener("resize", function() {
+        myChart.resize();
+      });
+    }
+  },
+  computed: {}
+};
+</script>
+<style scoped>
+</style>

+ 228 - 0
src/components/index/4.vue

@@ -0,0 +1,228 @@
+<template>
+  <div :id="id" style="width: 100%;height: 100%;"></div>
+</template>
+<script>
+export default {
+  name: "chart",
+  props: {
+    id: {
+      type: String,
+      default: "id"
+    },
+    data: {
+      type: Array,
+      default: () => {
+        return [];
+      }
+    }
+  },
+  data() {
+    return {};
+  },
+  mounted() {
+    this.gatherers();
+  },
+  watch: {
+    data() {
+      this.myChart.clear();
+      this.gatherers();
+    }
+  },
+  methods: {
+    gatherers() {
+      let myChart = this.$echarts.init(document.getElementById(this.id));
+      this.myChart = myChart;
+      let dataArr = this.data;
+      // console.log(dataArr)
+      let chartData = [];
+      // let total = [];
+      dataArr.forEach(function(item) {
+        // console.log(item,index)
+        chartData.push(item.fk, item.sq);
+        
+        // total.push(item.sq);
+        // console.log(chartData);
+      });
+      // var max = total.reduce(function(a, b) {
+      //   return b > a ? b : a;
+      // });
+      // console.log(max)
+      // 绘制图表
+      myChart.setOption({
+        grid: {
+          left: "0%",
+          right: "30%",
+          bottom: "0%",
+          top: "20%",
+          containLabel: true
+        },
+        xAxis: {
+          show: false,
+          type: "value"
+        },
+        yAxis: [
+          {
+            type: "category",
+            inverse: true,
+            axisLabel: {
+              show: false,
+              textStyle: {
+                color: "#fff"
+              }
+            },
+            splitLine: {
+              show: false
+            },
+            axisTick: {
+              show: false
+            },
+            axisLine: {
+              show: false
+            }
+          }
+        ],
+        series: [
+          {
+            name: "yuan",
+            type: "pictorialBar",
+            symbolSize: [12, 12],
+            symbolOffset: [0, 0],
+            zlevel: 10,
+            // z: 100,
+            data: [
+              {
+                value: chartData[0],
+                symbolPosition: "end",
+                symbol: `image://${require("../../assets/index/m1.png")}`
+              },
+              {
+                value: chartData[1],
+                symbolPosition: "end",
+                symbol: `image://${require("../../assets/index/m2.png")}`
+              }
+            ]
+          },
+          {
+            name: "金额",
+            type: "bar",
+            // zlevel: 1,
+            label: {
+              show: false,
+              position: "right",
+              formatter: params => {
+                if (params.dataIndex === 0) {
+                  return "{a|" + chartData[0] + "}";
+                } else {
+                  return "{b|" + chartData[1] + "}";
+                }
+              },
+              rich: {
+                a: {
+                  color: "#ffc636",
+                  fontSize: 20,
+                  fontWeight: 900
+                },
+                b: {
+                  color: "#14cdd5",
+                  fontSize: 20,
+                  fontWeight: 900
+                }
+              }
+            },
+            itemStyle: {
+              normal: {
+                barBorderRadius: 30,
+                color: function(params) {
+                  if (params.dataIndex == 0) {
+                    return {
+                      type: "linear",
+                      x: 0,
+                      y: 0,
+                      x2: 1,
+                      y2: 0,
+                      colorStops: [
+                        {
+                          offset: 0,
+                          color: "#fea124" // 0% 处的颜色
+                        },
+                        {
+                          offset: 1,
+                          color: "#f9e95d" // 100% 处的颜色
+                        }
+                      ]
+                    };
+                  } else {
+                    return {
+                      type: "linear",
+                      x: 0,
+                      y: 0,
+                      x2: 1,
+                      y2: 0,
+                      colorStops: [
+                        {
+                          offset: 0,
+                          color: "#13c4cf" // 0% 处的颜色
+                        },
+                        {
+                          offset: 1,
+                          color: "#65d97f" // 100% 处的颜色
+                        }
+                      ]
+                    };
+                  }
+                }
+              }
+            },
+            barWidth: "40%",
+            // z: 10,
+            data: chartData
+          },
+          {
+            name: "背景",
+            type: "bar",
+            barWidth: "40%",
+            barGap: "-100%",
+            data: [200000, 200000],
+            z: 0,
+            label: {
+              show: true,
+              position: "right",
+              formatter: params => {
+                if (params.dataIndex === 0) {
+                  return "{a|" + chartData[0] + "}";
+                } else {
+                  return "{b|" + chartData[1] + "}";
+                }
+              },
+              rich: {
+                a: {
+                  color: "#ffc636",
+                  fontSize: 16,
+                  fontWeight: 900
+                },
+                b: {
+                  color: "#14cdd5",
+                  fontSize: 16,
+                  fontWeight: 900
+                }
+              }
+            },
+            itemStyle: {
+              normal: {
+                color: "#17323d",
+                barBorderRadius: 30
+              }
+            }
+          }
+        ]
+      });
+      window.addEventListener("resize", function() {
+        myChart.resize();
+      });
+    }
+  },
+  computed: {}
+};
+</script>
+<style scoped>
+</style>

+ 221 - 0
src/components/index/5.vue

@@ -0,0 +1,221 @@
+<template>
+  <div :id="id" style="width: 90%;margin-left:5%;height: 100%;"></div>
+</template>
+<script>
+export default {
+  name: "chart",
+  props: {
+    id: {
+      type: String,
+      default: "id"
+    },
+    data1: {
+      type: Number,
+      default: 0
+    },
+    text: {
+      type: String,
+      default: "id"
+    },
+    leftArr: {
+      type: Array,
+      default: () => {
+        return [];
+      }
+    },
+    topArr: {
+      type: Array,
+      default: () => {
+        return [];
+      }
+    },
+    lineleftArr: {
+      type: Array,
+      default: () => {
+        return [];
+      }
+    },
+    linetopArr: {
+      type: Array,
+      default: () => {
+        return [];
+      }
+    },
+    titlePositionArr: {
+      type: Array,
+      default: () => {
+        return [];
+      }
+    },
+    colorArr: {
+      type: Array,
+      default: () => {
+        return [];
+      }
+    },
+    centerArr: {
+      type: Array,
+      default: () => {
+        return [];
+      }
+    },
+    lineArr: {
+      type: Array,
+      default: () => {
+        return [];
+      }
+    },
+    dw: {
+      type: String,
+      default: "%"
+    },
+    iamge: {
+      type: Array,
+      default: () => {
+        return [];
+      }
+    }
+  },
+  data() {
+    return {};
+  },
+  mounted() {
+    this.gatherers();
+  },
+  watch: {
+    data1() {
+      this.myChart.clear();
+      this.gatherers();
+    }
+  },
+  methods: {
+    gatherers() {
+      let myChart = this.$echarts.init(document.getElementById(this.id));
+      this.myChart = myChart;
+      let dataArr = this.data1;
+      // console.log(dataArr);
+      let value = 0;
+      if (dataArr) {
+        value = dataArr;
+      }
+      let dw = this.dw;
+      let colorArr = this.colorArr;
+      let centerArr = this.centerArr;
+      let titlePositionArr = this.titlePositionArr;
+      // if(dataArr)
+      // 绘制图表
+      myChart.setOption({
+        angleAxis: {
+          max: 100,
+          show: false
+        },
+        title: [
+          {
+            text: value + dw,
+            left: titlePositionArr[0],
+            top: titlePositionArr[1],
+            textStyle: {
+              fontWeight: "800",
+              fontSize: "25",
+              color: colorArr[0],
+              textAlign: "center",
+              fontFamily: "LCD"
+            }
+          }
+        ],
+        radiusAxis: {
+          type: "category",
+          show: true,
+          axisLabel: {
+            show: false
+          },
+          axisLine: {
+            show: false
+          },
+          axisTick: {
+            show: false
+          }
+        },
+        polar: {
+          radius: "130%",
+          center: centerArr
+        },
+        series: [
+          {
+            type: "bar",
+            roundCap: true,
+            barWidth: "15%",
+            showBackground: true,
+            backgroundStyle: {
+              color: colorArr[1]
+            },
+            data: [value],
+            coordinateSystem: "polar",
+            name: "A",
+            itemStyle: {
+              labelLine: {
+                show: false
+              },
+              normal: {
+                opacity: 1,
+                color: colorArr[0]
+              }
+            }
+          },
+          {
+            name: "第三个圆环",
+            type: "pie",
+            clockWise: false,
+            radius: ["85%", "90%"],
+            center: centerArr,
+            itemStyle: {
+              normal: {
+                label: {
+                  show: false
+                },
+                labelLine: {
+                  show: false
+                }
+              }
+            },
+            // hoverAnimation: false,
+            data: [
+              {
+                value: 500 - value,
+                itemStyle: {
+                  normal: {
+                    color: colorArr[0],
+                    labelLine: {
+                      show: false
+                    }
+                  }
+                }
+              },
+              {
+                value: value,
+                name: "invisible",
+                itemStyle: {
+                  normal: {
+                    color: colorArr[1],
+                    labelLine: {
+                      show: false
+                    }
+                  }
+                }
+              }
+            ]
+          }
+        ]
+      });
+      window.addEventListener("resize", function() {
+        myChart.resize();
+      });
+      // window.onresize = () => {
+      //   return (() => {
+      //     myChart.resize();
+      //   })();
+      // };
+    }
+  }
+};
+</script>

+ 356 - 0
src/components/index/jlMap.vue

@@ -0,0 +1,356 @@
+<template>
+  <div id="map1" style="width: 100%;height:100%"></div>
+</template>
+<script>
+import echarts from "echarts";
+import map from "../../util/jilin";
+export default {
+  name: "jlMapChart",
+  props: {
+    data1: {
+      type: Array,
+      default: () => {
+        return [];
+      }
+    },
+    data2: {
+      type: Array,
+      default: () => {
+        return [];
+      }
+    }
+  },
+  data() {
+    return {
+      myChart: null,
+      list: {
+        cc: 0,
+        jl: 1,
+        sp: 2,
+        ly: 3,
+        th: 4,
+        bs: 5,
+        sy: 6,
+        bc: 7,
+        yb: 8
+      }
+    };
+  },
+  watch: {
+    data1() {
+      if (this.myChart) {
+        this.myChart.clear();
+      }
+      this.registerMap1();
+    },
+    data2() {
+      if (this.myChart) {
+        this.myChart.clear();
+      }
+      this.registerMap1();
+    }
+  },
+  methods: {
+    getRandomElements(arr, count) {
+      var shuffled = arr.slice(0),
+        i = arr.length,
+        min = i - count,
+        temp,
+        index;
+      while (i-- > min) {
+        index = Math.floor((i + 1) * Math.random());
+        temp = shuffled[index];
+        shuffled[index] = shuffled[i];
+        shuffled[i] = temp;
+        // console.log(shuffled[i]);
+      }
+      return shuffled.slice(min);
+    },
+    registerMap1() {
+      let myChart = this.$echarts.init(document.getElementById("map1"));
+      this.myChart = myChart;
+      let dd = this.getRandomElements(this.data1, 5);
+      let data2 = this.data2;
+      // console.log(data2[0], "我是data2");
+      let value = [];
+      for (let a in data2[0]) {
+        // console.log(a, "我是aaa");
+        value.push({ ...data2[0][a], index: this.list[a] });
+      }
+      // console.log(value, "我是value");
+      // console.log(data2,"我是data2");
+      echarts.registerMap("jilin", map);
+      // 每个地区的累计疫情数量值
+      var data = [];
+      // 每个地区的新增疫情数量
+      var series = [];
+      [["jilin", data]].forEach(function() {
+        series.push(
+          {
+            type: "map",
+            map: "jilin",
+            zlevel: 0,
+            itemStyle: {
+              normal: {
+                areaColor: "rgba(30,117,187,0.5)",
+                borderColor: "#23b9e8"
+              },
+              emphasis: {
+                areaColor: "#23b9e8"
+              }
+            },
+            label: {
+              normal: {
+                show: true,
+                textStyle: {
+                  color: "#fff",
+                  fontSize: 18
+                }
+              },
+              emphasis: {
+                textStyle: {
+                  fontSize: 16,
+                  color: "#fff"
+                }
+              }
+            },
+            data: data
+          },
+          {
+            name: "点",
+            type: "effectScatter",
+            coordinateSystem: "geo",
+            //symbol: 'pin',
+            tooltip: {
+              padding: 0,
+              enterable: true,
+              backgroundColor: "rgba(50,50,50,0.0)",
+              transitionDuration: 1,
+              textStyle: {
+                fontSize: 16,
+                color: "#fff"
+              },
+              //           company_name: "珲春市森拓工贸有限公司"
+              // intllmoney: "100"
+              // cpname: "云电贷"
+              // bankname: "建设银行"
+              // value: Array(3)
+              // name: "珲春市森拓工贸有限公司"
+              formatter: function(params) {
+                let data = params.data;
+                // console.log(data, "我是data");
+                var tipHtml = "";
+                tipHtml =
+                  '<div class="bag">' +
+                  '<div class="bag_main">' +
+                  '<p style="color:#fff;">' +
+                  "企业名称:" +
+                  '<span style="color:#ffc809;padding-right:10px">' +
+                  data.company_name +
+                  "</span>" +
+                  // "个" +
+                  "</p>" +
+                  '<p style="color:#fff;">' +
+                  // '<i style="display:inline-block;width:10px;height:10px;background:#16d6ff;border-radius:40px;margin:0 8px">' +
+                  // "</i>" +
+                  "申请金额:" +
+                  '<span style="color:#00d8ff;">' +
+                  data.intllmoney +
+                  "万元" +
+                  "</span>" +
+                  "</p>" +
+                  '<p style="color:#fff;">' +
+                  // '<i style="display:inline-block;width:10px;height:10px;background:#16d6ff;border-radius:40px;margin:0 8px">' +
+                  // "</i>" +
+                  "推送银行:" +
+                  '<span style="color:#00d8ff;">' +
+                  data.bankname +
+                  "</span>" +
+                  // "个" +
+                  "</p>" +
+                  "</div>" +
+                  "</div>";
+                return tipHtml;
+              }
+            },
+            symbolSize: 20,
+            label: {
+              normal: {
+                show: false,
+                textStyle: {
+                  color: "#fff",
+                  fontSize: 18
+                }
+              },
+              emphasis: {
+                textStyle: {
+                  fontSize: 16,
+                  color: "#fff"
+                }
+              }
+            },
+            itemStyle: {
+              normal: {
+                color: "#ffc809" //标志颜色
+              }
+            },
+            zlevel: 6,
+            data: dd
+          }
+        );
+      });
+
+      let option = {
+        tooltip: {
+          padding: 0,
+          enterable: true,
+          backgroundColor: "rgba(50,50,50,0.0)",
+          transitionDuration: 1,
+          textStyle: {
+            fontSize: 16,
+            color: "#fff"
+          },
+          // formatter: function(params) {
+          //   // console.log(params.dataIndex, "我是2222");
+
+          //   let data = "";
+          //   value.forEach(item => {
+          //     if (item.index == params.dataIndex) {
+          //       data = item;
+          //     }
+          //   });
+          //   var tipHtml = "";
+          //   tipHtml =
+          //     '<div style="width:240px;height:100px;background:rgba(22,80,158,0.8);>' +
+          //     '<div style="padding:20px">' +
+          //     '<p style="color:#fff;font-size:12px;">' +
+          //     '<i style="display:inline-block;width:10px;height:10px;background:#16d6ff;border-radius:40px;margin:0 8px">' +
+          //     "</i>" +
+          //     "认证企业:" +
+          //     '<span style="color:#11ee7d;margin:0 6px;">' +
+          //     data.qynum +
+          //     "</span>" +
+          //     "家" +
+          //     "</p>" +
+          //     '<p style="color:#fff;font-size:12px;">' +
+          //     '<i style="display:inline-block;width:10px;height:10px;background:#16d6ff;border-radius:40px;margin:0 8px">' +
+          //     "</i>" +
+          //     "融资金额:" +
+          //     '<span style="color:#f48225;margin:0 6px;">' +
+          //     data.money +
+          //     "</span>" +
+          //     "万元" +
+          //     "</p>" +
+          //     "</div>" +
+          //     "</div>";
+          //   return tipHtml;
+          // }
+          formatter: function(params) {
+            let data = "";
+            value.forEach(item => {
+              if (item.index == params.dataIndex) {
+                data = item;
+              }
+            });
+            // console.log(data, "我是data");
+            var tipHtml = "";
+            tipHtml =
+              '<div class="bag1">' +
+              '<div class="bag_main1">' +
+              '<p style="color:#fff;">' +
+              "认证企业:" +
+              "<br/>" +
+              '<span style="color:#ffc809;padding-right:10px;font-family:LCD;font-size:25px">' +
+              data.qynum +
+              "</span>" +
+              "户" +
+              "</p>" +
+              '<p style="color:#fff;">' +
+              // '<i style="display:inline-block;width:10px;height:10px;background:#16d6ff;border-radius:40px;margin:0 8px">' +
+              // "</i>" +
+              "申请金额:" +
+              "<br/>" +
+              '<span style="color:#00d8ff;font-family:LCD;font-size:25px">' +
+              data.money +
+              "</span>" +
+              "万元" +
+              "</div>" +
+              "</div>";
+            return tipHtml;
+          }
+        },
+        geo: {
+          map: "jilin",
+          label: {
+            show: false,
+            textStyle: {
+              fontSize: 16,
+              color: "#fff"
+            }
+          },
+          itemStyle: {
+            normal: {
+              areaColor: "rgba(30,117,187,0.5)",
+              borderColor: "#23b9e8"
+            },
+            emphasis: {
+              areaColor: "#23b9e8"
+            }
+          }
+          // zlevel:10
+        },
+        series: series
+      };
+      myChart.setOption(option);
+      window.addEventListener("resize", function() {
+        myChart.resize();
+      });
+    }
+  },
+  mounted() {
+    this.registerMap1();
+  }
+};
+</script>
+<style  scoped>
+#map1 >>> .bag {
+  background: url("../../assets/index/mapPop.png") no-repeat;
+  background-size: 100% 100%;
+  /* width:339px; */
+  height: 150px;
+  /* border: orangered solid 1px; */
+  font-size: 16px;
+}
+#map1 >>> .bag_main {
+  /* display: flex; */
+  width: 100%;
+  height: 80%;
+  /* border: orangered solid 1px; */
+  /* margin: 5% auto ; */
+  white-space: normal;
+  padding-top: 40px;
+  padding-left: 20px;
+  padding-right: 20px;
+  font-weight: 900;
+}
+#map1 >>> .bag1 {
+  background: url("../../assets/index/mapPop.png") no-repeat;
+  background-size: 100% 100%;
+  width: 220px;
+  height: 133px;
+  /* border: orangered solid 1px; */
+  font-size: 16px;
+}
+#map1 >>> .bag_main1 {
+  /* display: flex; */
+  width: 80%;
+  height: 80%;
+  /* border: orangered solid 1px; */
+  margin: 5% auto;
+  white-space: normal;
+  padding-top: 20px;
+  padding-left: 10px;
+   font-weight: 900;
+  padding-right: 10px;
+}
+</style>

+ 89 - 0
src/components/timeing.vue

@@ -0,0 +1,89 @@
+
+<template>
+  <div class="p99">
+    <span class="date">{{nowDate}}</span>
+    <span class="week">{{nowWeek}}</span>
+    <span class="time">{{nowTime}}</span>
+  </div>
+</template>
+<script>
+export default {
+  name: "chart",
+  props: {
+    dataArr: {
+      type: Array,
+      default: () => {
+        return [];
+      }
+    }
+  },
+  data() {
+    return {
+         nowWeek: "",
+      nowDate: "",
+      nowTime: "",
+    };
+  },
+  mounted() {
+    this.timer = setInterval(() => {
+      this.setNowTimes();
+    }, 1000);
+  },
+  methods: {
+    setNowTimes() {
+      let myDate = new Date();
+      // console.log(myDate)
+      let wk = myDate.getDay();
+      let yy = String(myDate.getFullYear());
+      let mm = myDate.getMonth() + 1;
+      let dd = String(
+        myDate.getDate() < 10 ? "0" + myDate.getDate() : myDate.getDate()
+      );
+      let hou = String(
+        myDate.getHours() < 10 ? "0" + myDate.getHours() : myDate.getHours()
+      );
+      let min = String(
+        myDate.getMinutes() < 10
+          ? "0" + myDate.getMinutes()
+          : myDate.getMinutes()
+      );
+      let sec = String(
+        myDate.getSeconds() < 10
+          ? "0" + myDate.getSeconds()
+          : myDate.getSeconds()
+      );
+      let weeks = [
+        "星期日",
+        "星期一",
+        "星期二",
+        "星期三",
+        "星期四",
+        "星期五",
+        "星期六"
+      ];
+      let week = weeks[wk];
+      this.nowDate = yy + "年" + mm + "月" + dd + "日";
+      this.nowTime = hou + ":" + min + ":" + sec;
+      this.nowWeek = week;
+      this.month = mm;
+    }
+  },
+  computed: {}
+};
+</script>
+<style scoped>
+.p99 {
+  top: 3%;
+  right: 2%;
+  position: absolute;
+  color: #fff;
+  font-size: 24px;
+  font-weight: 800;
+}
+.date {
+  margin-right: 10px;
+}
+.week {
+  margin-right: 10px;
+}
+</style>

+ 20 - 0
src/main.js

@@ -0,0 +1,20 @@
+import Vue from 'vue'
+import App from './App.vue'
+import router from './router'
+import store from './store'
+import echarts from 'echarts'
+import 'echarts-liquidfill';
+import ElementUI from 'element-ui';
+import 'element-ui/lib/theme-chalk/index.css';
+import timeing from "./components/timeing";
+
+Vue.config.productionTip = false
+Vue.prototype.$echarts = echarts
+Vue.use(ElementUI);
+Vue.component('timeing', timeing);
+
+new Vue({
+  router,
+  store,
+  render: h => h(App)
+}).$mount('#app')

+ 537 - 0
src/pages/EnterpriseInformation.vue

@@ -0,0 +1,537 @@
+<template>
+  <div class="EnterpriseInformation">
+    <!-- <router-link to="/home"> -->
+    <p class="backtitle" @click="back">吉企银通企业信息统计</p>
+    <!-- </router-link> -->
+    <timeing></timeing>
+    <div class="left">
+      <div class="left1">
+        <div class="left1_part1">
+          <span class="span1">
+            {{zhuce}}
+            <span>个</span>
+          </span>
+        </div>
+        <div class="left1_part2">
+          <span class="span1">
+            {{maptopResult.rzqynum}}
+            <span>户</span>
+          </span>
+        </div>
+        <div class="left1_part3">
+          <span class="span1">
+            {{fabuqiye}}
+            <span>户</span>
+          </span>
+        </div>
+        <div class="left1_part4">
+          <span class="span1">
+            {{daikuan}}
+            <span>户</span>
+          </span>
+        </div>
+      </div>
+      <div class="left2">
+        <img src="../assets/EnterpriseInformation/circle.png" class="img img1" />
+        <img src="../assets/EnterpriseInformation/circle.png" class="img img2" />
+        <div class="left2_part1">
+          <span class="span2">
+            {{transactions.sqbs}}
+            <!-- <span>人</span> -->
+          </span>
+        </div>
+        <div class="left2_part2">
+          <span class="span2">
+            {{fkbssum}}
+            <!-- {{transactions.fkbs}} -->
+            <!-- <span>人</span> -->
+          </span>
+        </div>
+        <div class="left2_part3">
+          <span class="span1">
+            {{maptopResult.sqjenum}}
+            <span>万元</span>
+          </span>
+        </div>
+        <div class="left2_part4">
+          <span class="span1">
+            {{maptopResult.ljfknum}}
+            <span>万元</span>
+          </span>
+        </div>
+      </div>
+      <div class="left3">
+        <div class="left3_part">
+          <com1 :dataArr="data1"></com1>
+          <div style="width:36%;height:56%;position:absolute;top:26%;left:31.5%">
+            <img src="../assets/EnterpriseInformation/xline.png" style="width:100%;height:100%" />
+          </div>
+        </div>
+      </div>
+    </div>
+    <div class="center">
+      <div class="mapbox">
+        <jlMap :data="mapdata"></jlMap>
+        <img src="../assets/index/dq.gif" class="aa" />
+        <img src="../assets/index/diqiu.png" class="bb" />
+      </div>
+      <div class="center_part2">
+        <com4 :dataArr="data4"></com4>
+      </div>
+    </div>
+    <!-- 申请企业数量 -->
+    <div class="right">
+      <div class="right_part1">
+        <com2 :dataArr="data2"></com2>
+      </div>
+      <div class="right_part2">
+        <com3 :dataArr="data3"></com3>
+      </div>
+    </div>
+  </div>
+</template>
+<script>
+import com1 from "../components/EnterpriseInformation/1.vue";
+import jlMap from "../components/EnterpriseInformation/jlMap.vue";
+import com2 from "../components/EnterpriseInformation/2.vue";
+import com3 from "../components/EnterpriseInformation/3.vue";
+import com4 from "../components/EnterpriseInformation/4.vue";
+import {
+  zcyh,
+  dkqynum,
+  fwqisum,
+  fiveNum,
+  fournum,
+  applyCompanyCountResult,
+  numberOfLendingEnterprisesResult,
+  numberOfRegisteredUsers,
+  DemandReleaseRate,
+  // mapfirst,
+  addressResult,
+  threemap
+} from "../api";
+import moment from "moment";
+export default {
+  name: "EnterpriseInformation",
+  components: { com1, com2, com3, com4, jlMap },
+  data() {
+    return {
+      zhuce: 0,
+      daikuan: 0,
+      fabuqiye: 0,
+      maptopResult: {},
+      transactions: {},
+      fkbssum: 0,
+      data1: {},
+      data2: [],
+      data3: [],
+      data4: [],
+      // 地图数据
+      mapdata: []
+    };
+  },
+  mounted() {
+    // this.mapfirst();
+    this.threemap();
+    // 注册用户
+    this.zcyh();
+    // 发布需求企业
+    this.fwqisum();
+    // 获得贷款企业
+    this.dkqynum();
+    //申请金额 放款金额
+    this.fiveNum();
+    //申请笔数 放款笔数
+    this.fournum();
+    //申请企业
+    this.applyCompanyCountResult();
+    //放款企业
+    this.numberOfLendingEnterprisesResult();
+    //注册用户数量
+    this.numberOfRegisteredUsers();
+    // 需求发布率 发布需求企业/认证企业
+    this.DemandReleaseRate();
+    // 中间地图
+
+    this.fabuxuqiulv();
+    this.addressResult();
+  },
+  methods: {
+    async addressResult() {
+      const response = await addressResult();
+      let sum = 0;
+      response.data2.forEach(item => {
+        sum += item.value;
+      });
+      this.fkbssum = sum;
+    },
+    back() {
+      this.$router.push("/");
+    },
+    utiljsonOne(response) {
+      let jsonArr = {};
+      let arr1 = response.data.map(item => {
+        let json = {};
+        json.label = parseInt(moment(item.label, "YYYY-MM-DD").format("D"));
+        json.value = item.value;
+        return json;
+      });
+      jsonArr.data = arr1;
+      return jsonArr;
+    },
+    utiljsonTwo(response) {
+      let jsonArr = {};
+      let arr1 = response.data1.map(item => {
+        let json = {};
+        json.label = parseInt(moment(item.label, "YYYY-MM-DD").format("D"));
+        json.value = item.value;
+        return json;
+      });
+      jsonArr.data1 = arr1;
+      return jsonArr;
+    },
+    // 注册用户
+    async zcyh() {
+      const response = await zcyh();
+      this.zhuce = response;
+    },
+    async dkqynum() {
+      const response = await dkqynum();
+      this.daikuan = response;
+    },
+    // 发布需求企业
+    async fwqisum() {
+      const response = await fwqisum();
+      this.fabuqiye = response;
+      // console.log(response);
+      this.data1.xq = response;
+    },
+    async fiveNum() {
+      const response = await fiveNum();
+      this.maptopResult = response;
+    },
+    async fournum() {
+      const response = await fournum();
+      this.transactions = response;
+    },
+    // 需求发布率 认证企业数量
+    async DemandReleaseRate() {
+      const response = await DemandReleaseRate();
+      // console.log(response.rzqynum)
+      this.data1.rz = response.rzqynum;
+    },
+    async applyCompanyCountResult() {
+      const response = await applyCompanyCountResult();
+      this.data2 = this.utiljsonOne(response).data;
+    },
+    async numberOfLendingEnterprisesResult() {
+      const response = await numberOfLendingEnterprisesResult();
+      this.data3 = this.utiljsonOne(response).data;
+    },
+    async numberOfRegisteredUsers() {
+      const response = await numberOfRegisteredUsers();
+      this.data4 = this.utiljsonTwo(response).data1;
+    },
+    async fabuxuqiulv() {
+      // 发布需求企业
+      const response = await fwqisum();
+      //认证企业
+      const result = await fiveNum();
+      let json = {};
+      json.rz = result.rzqynum;
+      json.xq = response;
+      this.$set(this, `data1`, json);
+    },
+    //
+    async threemap() {
+      const response = await threemap();
+      console.log(response, "11111111");
+      let json = {};
+      json.value = response.bcqynum;
+      json.name = "白城市";
+      let json1 = {};
+      json1.value = response.bsqynum;
+      json1.name = "白山市";
+      let json2 = {};
+      json2.value = response.ccqynum;
+      json2.name = "长春市";
+      let json3 = {};
+      json3.value = response.jlqynum;
+      json3.name = "吉林市";
+      let json4 = {};
+      json4.value = response.lyqynum;
+      json4.name = "辽源市";
+      let json5 = {};
+      json5.value = response.spqynum;
+      json5.name = "四平市";
+      let json6 = {};
+      json6.value = response.syqynum;
+      json6.name = "松原市";
+      let json7 = {};
+      json7.value = response.thqynum;
+      json7.name = "通化市";
+      let json8 = {};
+      json8.value = response.ybqynum;
+      json8.name = "延边朝鲜族自治州";
+      let arr = [];
+      arr.push(json);
+      arr.push(json1);
+      arr.push(json2);
+      arr.push(json3);
+      arr.push(json4);
+      arr.push(json5);
+      arr.push(json6);
+      arr.push(json7);
+      arr.push(json8);
+      this.$set(this, `mapdata`, arr);
+    }
+  }
+};
+</script>
+<style scoped lang="less">
+.backtitle {
+  background-image: -webkit-linear-gradient(bottom, #91e5ff, #fff);
+  -webkit-background-clip: text;
+  -webkit-text-fill-color: transparent;
+  font-size: 50px;
+  font-weight: 900;
+  position: absolute;
+  left: 37%;
+  top: 1%;
+  z-index: 100;
+  cursor: pointer;
+}
+.aa {
+  opacity: 0.1;
+  width: 735px;
+  height: 735px;
+  position: absolute;
+  top: 6%;
+  left: 30%;
+  z-index: -1;
+}
+.bb {
+  width: 735px;
+  height: 735px;
+  position: absolute;
+  top: 6%;
+  left: 30%;
+  -webkit-animation: rotateImg1 8s linear infinite;
+  vertical-align: middle;
+  z-index: -1;
+}
+.img {
+  -webkit-animation: rotateImg 5s linear infinite;
+}
+@keyframes rotateImg1 {
+  0% {
+    transform: rotate(0deg);
+  }
+  100% {
+    transform: rotate(-360deg);
+  }
+}
+@-webkit-keyframes rotateImg1 {
+  0% {
+    -webkit-transform: rotate(0deg);
+  }
+  100% {
+    -webkit-transform: rotate(-360deg);
+  }
+}
+.img1 {
+  width: 170px;
+  height: 170px;
+  position: absolute;
+  top: 36px;
+  left: 80px;
+  // border: 1px solid red;
+}
+.img2 {
+  width: 170px;
+  height: 170px;
+  position: absolute;
+  top: 10%;
+  left: 290px;
+  // border: 1px solid red;
+}
+@keyframes rotateImg {
+  0% {
+    transform: rotate(0deg);
+  }
+  100% {
+    transform: rotate(360deg);
+  }
+}
+@-webkit-keyframes rotateImg {
+  0% {
+    -webkit-transform: rotate(0deg);
+  }
+  100% {
+    -webkit-transform: rotate(360deg);
+  }
+}
+.EnterpriseInformation {
+  height: 100%;
+  position: fixed;
+  width: 100%;
+  background: url("../assets/EnterpriseInformation/bj3.png");
+  background-size: 100% 100%;
+  display: flex;
+}
+.left {
+  width: 26%;
+  height: 98%;
+}
+.center {
+  width: 48%;
+  height: 98%;
+}
+.right {
+  width: 26%;
+  height: 98%;
+
+  position: relative;
+}
+.left1 {
+  width: 100%;
+  height: 33%;
+
+  position: relative;
+}
+.left2 {
+  width: 100%;
+  height: 33%;
+
+  position: relative;
+}
+.left3 {
+  width: 100%;
+  height: 33%;
+}
+.left1_part1 {
+  width: 46%;
+  height: 39%;
+
+  position: absolute;
+  top: 14%;
+  left: 4.5%;
+  text-align: center;
+}
+.left1_part2 {
+  width: 46%;
+  height: 39%;
+
+  position: absolute;
+  top: 14%;
+  left: 53%;
+  text-align: center;
+}
+.left1_part3 {
+  width: 46%;
+  height: 39%;
+
+  position: absolute;
+  top: 56%;
+  left: 4.5%;
+  text-align: center;
+}
+.left1_part4 {
+  width: 46%;
+  height: 39%;
+
+  position: absolute;
+  top: 56%;
+  left: 53%;
+  text-align: center;
+}
+.span1 {
+  position: relative;
+  top: 50%;
+  font-family: LCD;
+  font-size: 30px;
+  color: #ffc809;
+}
+.span2 {
+  position: relative;
+  top: 54%;
+  font-family: LCD;
+  font-size: 28px;
+  color: #00d8ff;
+}
+.span1 span {
+  font-size: 0.5em;
+}
+.left2_part1 {
+  width: 33%;
+  height: 45%;
+
+  position: absolute;
+  top: 10%;
+  left: 16%;
+  text-align: center;
+  // color: #00d8ff;
+}
+.left2_part2 {
+  width: 33%;
+  height: 45%;
+
+  position: absolute;
+  top: 10%;
+  left: 58%;
+  text-align: center;
+  // color: #00d8ff;
+}
+.left2_part3 {
+  width: 38%;
+  height: 30%;
+
+  position: absolute;
+  top: 60%;
+  left: 14%;
+  text-align: center;
+}
+.left2_part4 {
+  width: 38%;
+  height: 30%;
+
+  position: absolute;
+  top: 60%;
+  left: 55.5%;
+  text-align: center;
+}
+.left3_part {
+  width: 100%;
+  height: 90%;
+  margin-top: 5%;
+  // border: 1px solid yellow;
+  position: relative;
+}
+.mapbox {
+  width: 90%;
+  margin-left: 5%;
+  margin-top: 10%;
+  height: 60%;
+  // border: 1px solid yellow;
+}
+.right_part1 {
+  width: 100%;
+  position: absolute;
+  top: 13%;
+  // margin-top: 25%;
+  height: 28%;
+}
+.right_part2 {
+  width: 100%;
+  position: absolute;
+  top: 49%;
+  height: 48%;
+  // border: 1px solid yellow;
+}
+.center_part2 {
+  width: 100%;
+  margin-top: 5%;
+  height: 22%;
+  // border: 1px solid red;
+}
+</style>

File diff suppressed because it is too large
+ 1037 - 0
src/pages/Home.vue


+ 0 - 0
src/pages/LoanStatistics.vue


Some files were not shown because too many files changed in this diff