diff --git a/package-lock.json b/package-lock.json
index fdcfcdf..a1bf60a 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -8,9 +8,11 @@
"name": "web",
"version": "0.0.0",
"dependencies": {
+ "axios": "^1.6.8",
"echarts": "^5.4.2",
"echarts-gl": "^2.0.9",
"echarts-liquidfill": "^3.1.0",
+ "element-plus": "^2.7.0",
"sass": "^1.60.0",
"vue": "^3.2.47",
"vue-router": "^4.1.6"
@@ -32,6 +34,22 @@
"node": ">=6.0.0"
}
},
+ "node_modules/@ctrl/tinycolor": {
+ "version": "3.6.1",
+ "resolved": "https://registry.npmmirror.com/@ctrl/tinycolor/-/tinycolor-3.6.1.tgz",
+ "integrity": "sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA==",
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@element-plus/icons-vue": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmmirror.com/@element-plus/icons-vue/-/icons-vue-2.3.1.tgz",
+ "integrity": "sha512-XxVUZv48RZAd87ucGS48jPf6pKu0yV5UCg9f4FFwtrYxXOwWuVJo6wOvSLKEoMQKjv8GsX/mhP6UsC1lRwbUWg==",
+ "peerDependencies": {
+ "vue": "^3.2.0"
+ }
+ },
"node_modules/@esbuild/win32-x64": {
"version": "0.17.14",
"resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.17.14.tgz",
@@ -49,6 +67,52 @@
"node": ">=12"
}
},
+ "node_modules/@floating-ui/core": {
+ "version": "1.6.1",
+ "resolved": "https://registry.npmmirror.com/@floating-ui/core/-/core-1.6.1.tgz",
+ "integrity": "sha512-42UH54oPZHPdRHdw6BgoBD6cg/eVTmVrFcgeRDM3jbO7uxSoipVcmcIGFcA5jmOHO5apcyvBhkSKES3fQJnu7A==",
+ "dependencies": {
+ "@floating-ui/utils": "^0.2.0"
+ }
+ },
+ "node_modules/@floating-ui/dom": {
+ "version": "1.6.5",
+ "resolved": "https://registry.npmmirror.com/@floating-ui/dom/-/dom-1.6.5.tgz",
+ "integrity": "sha512-Nsdud2X65Dz+1RHjAIP0t8z5e2ff/IRbei6BqFrl1urT8sDVzM1HMQ+R0XcU5ceRfyO3I6ayeqIfh+6Wb8LGTw==",
+ "dependencies": {
+ "@floating-ui/core": "^1.0.0",
+ "@floating-ui/utils": "^0.2.0"
+ }
+ },
+ "node_modules/@floating-ui/utils": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmmirror.com/@floating-ui/utils/-/utils-0.2.2.tgz",
+ "integrity": "sha512-J4yDIIthosAsRZ5CPYP/jQvUAQtlZTTD/4suA08/FEnlxqW3sKS9iAhgsa9VYLZ6vDHn/ixJgIqRQPotoBjxIw=="
+ },
+ "node_modules/@popperjs/core": {
+ "name": "@sxzz/popperjs-es",
+ "version": "2.11.7",
+ "resolved": "https://registry.npmmirror.com/@sxzz/popperjs-es/-/popperjs-es-2.11.7.tgz",
+ "integrity": "sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ=="
+ },
+ "node_modules/@types/lodash": {
+ "version": "4.17.1",
+ "resolved": "https://registry.npmmirror.com/@types/lodash/-/lodash-4.17.1.tgz",
+ "integrity": "sha512-X+2qazGS3jxLAIz5JDXDzglAF3KpijdhFxlf/V1+hEsOUc+HnWi81L/uv/EvGuV90WY+7mPGFCUDGfQC3Gj95Q=="
+ },
+ "node_modules/@types/lodash-es": {
+ "version": "4.17.12",
+ "resolved": "https://registry.npmmirror.com/@types/lodash-es/-/lodash-es-4.17.12.tgz",
+ "integrity": "sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==",
+ "dependencies": {
+ "@types/lodash": "*"
+ }
+ },
+ "node_modules/@types/web-bluetooth": {
+ "version": "0.0.16",
+ "resolved": "https://registry.npmmirror.com/@types/web-bluetooth/-/web-bluetooth-0.0.16.tgz",
+ "integrity": "sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ=="
+ },
"node_modules/@vitejs/plugin-vue": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-4.1.0.tgz",
@@ -181,6 +245,74 @@
"integrity": "sha512-BHGyyGN3Q97EZx0taMQ+OLNuZcW3d37ZEVmEAyeoA9ERdGvm9Irc/0Fua8SNyOtV1w6BS4q25wbMzJujO9HIfQ==",
"license": "MIT"
},
+ "node_modules/@vueuse/core": {
+ "version": "9.13.0",
+ "resolved": "https://registry.npmmirror.com/@vueuse/core/-/core-9.13.0.tgz",
+ "integrity": "sha512-pujnclbeHWxxPRqXWmdkKV5OX4Wk4YeK7wusHqRwU0Q7EFusHoqNA/aPhB6KCh9hEqJkLAJo7bb0Lh9b+OIVzw==",
+ "dependencies": {
+ "@types/web-bluetooth": "^0.0.16",
+ "@vueuse/metadata": "9.13.0",
+ "@vueuse/shared": "9.13.0",
+ "vue-demi": "*"
+ }
+ },
+ "node_modules/@vueuse/core/node_modules/vue-demi": {
+ "version": "0.14.7",
+ "resolved": "https://registry.npmmirror.com/vue-demi/-/vue-demi-0.14.7.tgz",
+ "integrity": "sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA==",
+ "hasInstallScript": true,
+ "bin": {
+ "vue-demi-fix": "bin/vue-demi-fix.js",
+ "vue-demi-switch": "bin/vue-demi-switch.js"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "peerDependencies": {
+ "@vue/composition-api": "^1.0.0-rc.1",
+ "vue": "^3.0.0-0 || ^2.6.0"
+ },
+ "peerDependenciesMeta": {
+ "@vue/composition-api": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@vueuse/metadata": {
+ "version": "9.13.0",
+ "resolved": "https://registry.npmmirror.com/@vueuse/metadata/-/metadata-9.13.0.tgz",
+ "integrity": "sha512-gdU7TKNAUVlXXLbaF+ZCfte8BjRJQWPCa2J55+7/h+yDtzw3vOoGQDRXzI6pyKyo6bXFT5/QoPE4hAknExjRLQ=="
+ },
+ "node_modules/@vueuse/shared": {
+ "version": "9.13.0",
+ "resolved": "https://registry.npmmirror.com/@vueuse/shared/-/shared-9.13.0.tgz",
+ "integrity": "sha512-UrnhU+Cnufu4S6JLCPZnkWh0WwZGUp72ktOF2DFptMlOs3TOdVv8xJN53zhHGARmVOsz5KqOls09+J1NR6sBKw==",
+ "dependencies": {
+ "vue-demi": "*"
+ }
+ },
+ "node_modules/@vueuse/shared/node_modules/vue-demi": {
+ "version": "0.14.7",
+ "resolved": "https://registry.npmmirror.com/vue-demi/-/vue-demi-0.14.7.tgz",
+ "integrity": "sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA==",
+ "hasInstallScript": true,
+ "bin": {
+ "vue-demi-fix": "bin/vue-demi-fix.js",
+ "vue-demi-switch": "bin/vue-demi-switch.js"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "peerDependencies": {
+ "@vue/composition-api": "^1.0.0-rc.1",
+ "vue": "^3.0.0-0 || ^2.6.0"
+ },
+ "peerDependenciesMeta": {
+ "@vue/composition-api": {
+ "optional": true
+ }
+ }
+ },
"node_modules/anymatch": {
"version": "3.1.3",
"resolved": "https://registry.npmmirror.com/anymatch/-/anymatch-3.1.3.tgz",
@@ -193,6 +325,26 @@
"node": ">= 8"
}
},
+ "node_modules/async-validator": {
+ "version": "4.2.5",
+ "resolved": "https://registry.npmmirror.com/async-validator/-/async-validator-4.2.5.tgz",
+ "integrity": "sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg=="
+ },
+ "node_modules/asynckit": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmmirror.com/asynckit/-/asynckit-0.4.0.tgz",
+ "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
+ },
+ "node_modules/axios": {
+ "version": "1.6.8",
+ "resolved": "https://registry.npmmirror.com/axios/-/axios-1.6.8.tgz",
+ "integrity": "sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==",
+ "dependencies": {
+ "follow-redirects": "^1.15.6",
+ "form-data": "^4.0.0",
+ "proxy-from-env": "^1.1.0"
+ }
+ },
"node_modules/binary-extensions": {
"version": "2.2.0",
"resolved": "https://registry.npmmirror.com/binary-extensions/-/binary-extensions-2.2.0.tgz",
@@ -237,12 +389,36 @@
"resolved": "https://registry.npmmirror.com/claygl/-/claygl-1.3.0.tgz",
"integrity": "sha512-+gGtJjT6SSHD2l2yC3MCubW/sCV40tZuSs5opdtn79vFSGUgp/lH139RNEQ6Jy078/L0aV8odCw8RSrUcMfLaQ=="
},
+ "node_modules/combined-stream": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmmirror.com/combined-stream/-/combined-stream-1.0.8.tgz",
+ "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
+ "dependencies": {
+ "delayed-stream": "~1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
"node_modules/csstype": {
"version": "2.6.21",
"resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.21.tgz",
"integrity": "sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==",
"license": "MIT"
},
+ "node_modules/dayjs": {
+ "version": "1.11.11",
+ "resolved": "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.11.tgz",
+ "integrity": "sha512-okzr3f11N6WuqYtZSvm+F776mB41wRZMhKP+hc34YdW+KmtYYK9iqvHSwo2k9FEH3fhGXvOPV6yz2IcSrfRUDg=="
+ },
+ "node_modules/delayed-stream": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmmirror.com/delayed-stream/-/delayed-stream-1.0.0.tgz",
+ "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
"node_modules/echarts": {
"version": "5.4.2",
"resolved": "https://registry.npmjs.org/echarts/-/echarts-5.4.2.tgz",
@@ -272,6 +448,31 @@
"echarts": "^5.0.1"
}
},
+ "node_modules/element-plus": {
+ "version": "2.7.2",
+ "resolved": "https://registry.npmmirror.com/element-plus/-/element-plus-2.7.2.tgz",
+ "integrity": "sha512-AdEzBU/A68iUleio0MkQ46JeU5SeQvFFd915GJFScJmUEo5AmYg3OQ4pVjcu+p3b3Nupg9MC5Wa4xjAiC51kUg==",
+ "dependencies": {
+ "@ctrl/tinycolor": "^3.4.1",
+ "@element-plus/icons-vue": "^2.3.1",
+ "@floating-ui/dom": "^1.0.1",
+ "@popperjs/core": "npm:@sxzz/popperjs-es@^2.11.7",
+ "@types/lodash": "^4.14.182",
+ "@types/lodash-es": "^4.17.6",
+ "@vueuse/core": "^9.1.0",
+ "async-validator": "^4.2.5",
+ "dayjs": "^1.11.3",
+ "escape-html": "^1.0.3",
+ "lodash": "^4.17.21",
+ "lodash-es": "^4.17.21",
+ "lodash-unified": "^1.0.2",
+ "memoize-one": "^6.0.0",
+ "normalize-wheel-es": "^1.2.0"
+ },
+ "peerDependencies": {
+ "vue": "^3.2.0"
+ }
+ },
"node_modules/esbuild": {
"version": "0.17.14",
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.17.14.tgz",
@@ -310,6 +511,11 @@
"@esbuild/win32-x64": "0.17.14"
}
},
+ "node_modules/escape-html": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmmirror.com/escape-html/-/escape-html-1.0.3.tgz",
+ "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow=="
+ },
"node_modules/estree-walker": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz",
@@ -327,6 +533,32 @@
"node": ">=8"
}
},
+ "node_modules/follow-redirects": {
+ "version": "1.15.6",
+ "resolved": "https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.15.6.tgz",
+ "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==",
+ "engines": {
+ "node": ">=4.0"
+ },
+ "peerDependenciesMeta": {
+ "debug": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/form-data": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmmirror.com/form-data/-/form-data-4.0.0.tgz",
+ "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
+ "dependencies": {
+ "asynckit": "^0.4.0",
+ "combined-stream": "^1.0.8",
+ "mime-types": "^2.1.12"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
"node_modules/fsevents": {
"version": "2.3.2",
"resolved": "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.2.tgz",
@@ -427,6 +659,26 @@
"node": ">=0.12.0"
}
},
+ "node_modules/lodash": {
+ "version": "4.17.21",
+ "resolved": "https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz",
+ "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
+ },
+ "node_modules/lodash-es": {
+ "version": "4.17.21",
+ "resolved": "https://registry.npmmirror.com/lodash-es/-/lodash-es-4.17.21.tgz",
+ "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw=="
+ },
+ "node_modules/lodash-unified": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmmirror.com/lodash-unified/-/lodash-unified-1.0.3.tgz",
+ "integrity": "sha512-WK9qSozxXOD7ZJQlpSqOT+om2ZfcT4yO+03FuzAHD0wF6S0l0090LRPDx3vhTTLZ8cFKpBn+IOcVXK6qOcIlfQ==",
+ "peerDependencies": {
+ "@types/lodash-es": "*",
+ "lodash": "*",
+ "lodash-es": "*"
+ }
+ },
"node_modules/magic-string": {
"version": "0.25.9",
"resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz",
@@ -436,6 +688,30 @@
"sourcemap-codec": "^1.4.8"
}
},
+ "node_modules/memoize-one": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmmirror.com/memoize-one/-/memoize-one-6.0.0.tgz",
+ "integrity": "sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw=="
+ },
+ "node_modules/mime-db": {
+ "version": "1.52.0",
+ "resolved": "https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz",
+ "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/mime-types": {
+ "version": "2.1.35",
+ "resolved": "https://registry.npmmirror.com/mime-types/-/mime-types-2.1.35.tgz",
+ "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
+ "dependencies": {
+ "mime-db": "1.52.0"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
"node_modules/nanoid": {
"version": "3.3.6",
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz",
@@ -462,6 +738,11 @@
"node": ">=0.10.0"
}
},
+ "node_modules/normalize-wheel-es": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmmirror.com/normalize-wheel-es/-/normalize-wheel-es-1.2.0.tgz",
+ "integrity": "sha512-Wj7+EJQ8mSuXr2iWfnujrimU35R2W4FAErEyTmJoJ7ucwTn2hOUSsRehMb5RSYkxXGTM7Y9QpvPmp++w5ftoJw=="
+ },
"node_modules/path-parse": {
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
@@ -507,6 +788,11 @@
"node": "^10 || ^12 || >=14"
}
},
+ "node_modules/proxy-from-env": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmmirror.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
+ "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg=="
+ },
"node_modules/readdirp": {
"version": "3.6.0",
"resolved": "https://registry.npmmirror.com/readdirp/-/readdirp-3.6.0.tgz",
diff --git a/package.json b/package.json
index 7a2e8ca..672a250 100644
--- a/package.json
+++ b/package.json
@@ -9,6 +9,7 @@
"preview": "vite preview"
},
"dependencies": {
+ "axios": "^1.6.8",
"echarts": "^5.4.2",
"echarts-gl": "^2.0.9",
"echarts-liquidfill": "^3.1.0",
diff --git a/src/assets/YLimg/ylimg11.png b/src/assets/YLimg/ylimg11.png
new file mode 100644
index 0000000..9930847
Binary files /dev/null and b/src/assets/YLimg/ylimg11.png differ
diff --git a/src/assets/YLimg/ylimg12.png b/src/assets/YLimg/ylimg12.png
new file mode 100644
index 0000000..5679e8f
Binary files /dev/null and b/src/assets/YLimg/ylimg12.png differ
diff --git a/src/router/index.js b/src/router/index.js
index fc6f13a..a117efe 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -14,32 +14,32 @@ const router = createRouter({
component: () => import('../view/home.vue'),
children: [
{
- name:'首页',
+ name: '首页',
path: '/home/index',
component: () => import('../view/sy.vue'),
},
{
- name:'养老',
+ name: '养老',
path: '/home/yl',
component: () => import('../view/yl.vue'),
},
{
- name:'卫生',
+ name: '卫生',
path: '/home/hygiene',
component: () => import('../view/hygiene.vue'),
},
{
- name:'教育',
+ name: '教育',
path: '/home/education',
component: () => import('../view/education.vue'),
},
{
- name:'就业补助',
+ name: '就业补助',
path: '/home/work',
component: () => import('../view/work.vue'),
},
{
- name:'智能分析',
+ name: '智能分析',
path: '/home/analyze',
component: () => import('../view/analyze.vue'),
},
@@ -48,4 +48,26 @@ const router = createRouter({
]
})
+function getCookie(cname) {
+ var name = cname + '='
+ var ca = document.cookie.split(';')
+ for (var i = 0; i < ca.length; i++) {
+ var c = ca[i].trim()
+ if (c.indexOf(name) == 0)
+ return c.substring(name.length, c.length)
+ }
+ return ''
+}
+
+// router.beforeEach((to, form, next) => {
+// var token = getCookie('lytoken')
+// if (token == '') {
+// window.location.href =
+// 'http://220.191.238.50:996/api/login?returnURL=' +
+// window.location.href
+// }else {
+// next();
+// }
+// })
+
export default router
\ No newline at end of file
diff --git a/src/utils/request.js b/src/utils/request.js
new file mode 100644
index 0000000..ca14e95
--- /dev/null
+++ b/src/utils/request.js
@@ -0,0 +1,129 @@
+import axios from 'axios';
+import { ElMessage } from 'element-plus'
+import tools from '@/utils/tools'
+import router from '../router';
+// axios.defaults.baseURL = '/api'
+axios.defaults.timeout = 120000
+
+
+// HTTP request 拦截器
+axios.interceptors.request.use(
+ (config) => {
+ let token = tools.data.get('token');
+ if (token) {
+ config.headers['X-USER-TOKEN'] = token.token
+ }
+ return config;
+ },
+ (error) => {
+ return Promise.reject(error);
+ }
+);
+
+// HTTP response 拦截器
+axios.interceptors.response.use(
+ (response) => {
+ return response;
+ },
+ (error) => {
+ if (error.response) {
+ if (error.response.status == 401) {
+ ElMessage.error("请重新登录!");
+ window.location.href = '/#/login?return_url=' + window.location.href
+ } else if (error.response.status == 404) {
+ ElMessage.error("Status:404,正在请求不存在的服务器记录!");
+ } else if (error.response.status == 500) {
+ ElMessage.error({
+ title: '请求错误',
+ message: "Status:500,服务器发生错误!"
+ });
+ } else {
+ ElMessage.error(`Status:${error.response.status},未知错误!`);
+ }
+ } else {
+ ElMessage.error("请求服务器无响应!");
+ }
+ return Promise.reject(error.response);
+ }
+);
+
+var http = {
+
+ /** get 请求
+ * @param {接口地址} url
+ * @param {请求参数} params
+ */
+ get: function (url, params) {
+ return new Promise((resolve, reject) => {
+ axios.get(url, {
+ params: params
+ })
+ .then((response) => {
+ if(response.data.code == 400 && response.data.msg){
+ ElMessage.error(response.data.msg);
+ }
+ resolve(response.data);
+ })
+ .catch((error) => {
+ reject(error);
+ });
+ })
+ },
+
+ /** post 请求
+ * @param {接口地址} url
+ * @param {请求参数} params
+ */
+ post: function (url, params) {
+ return new Promise((resolve, reject) => {
+ axios.post(url, params)
+ .then((response) => {
+ if(response.data.code == 400 && response.data.msg){
+ ElMessage.error(response.data.msg);
+ }
+ resolve(response.data);
+ })
+ .catch((error) => {
+ reject(error);
+ });
+ })
+ },
+
+ put: function (url, params) {
+ return new Promise((resolve, reject) => {
+ axios.put(url, params)
+ .then((response) => {
+ if(response.data.code == 400 && response.data.msg){
+ ElMessage.error(response.data.msg);
+ }
+ resolve(response.data);
+ })
+ .catch((error) => {
+ reject(error);
+ });
+ })
+ },
+
+ delete: function (url, params) {
+ return new Promise((resolve, reject) => {
+ axios.delete(url, params)
+ .then((response) => {
+ if(response.data.code == 400 && response.data.msg){
+ ElMessage.error(response.data.msg);
+ }
+ resolve(response.data);
+ })
+ .catch((error) => {
+ reject(error);
+ });
+ })
+ },
+ download: function (url) {
+ let user = tools.data.get('user');
+ let token = "x-token=" + user.token;
+ url = url + (url.indexOf("?") > 0 ? "&" : "?") + token;
+ window.open(url);
+ }
+}
+
+export default http;
diff --git a/src/utils/tools.js b/src/utils/tools.js
new file mode 100644
index 0000000..0d7770b
--- /dev/null
+++ b/src/utils/tools.js
@@ -0,0 +1,36 @@
+
+var tool = {}
+
+/* localStorage */
+tool.data = {
+ set(table, settings) {
+ var _set = JSON.stringify(settings)
+ return localStorage.setItem(table, _set);
+ },
+ get(table) {
+ var data = localStorage.getItem(table);
+ try {
+ data = JSON.parse(data)
+ } catch (err) {
+ return null
+ }
+ return data;
+ },
+ remove(table) {
+ return localStorage.removeItem(table);
+ },
+ clear() {
+ return localStorage.clear();
+ }
+}
+
+tool.url = function (url, params) {
+ var hasParams = url.indexOf("?") > 0;
+ for (var key in params) {
+ url = url + (hasParams ? '&' : '?') + key + '=' + params[key];
+ hasParams = true;
+ }
+ return url;
+}
+export default tool
+
diff --git a/src/view/echarts_work/ePjz.vue b/src/view/echarts_work/ePjz.vue
index ccf1ad6..cd729e5 100644
--- a/src/view/echarts_work/ePjz.vue
+++ b/src/view/echarts_work/ePjz.vue
@@ -40,6 +40,15 @@ const color = [
const option = {
color,
calculable: true,
+ legend: {
+ data: ["总救助金额", "总救助人数"],
+ top: "8%",
+ bottom: "9%",
+ textStyle: {
+ fontSize: 12,
+ color: "#ffffff", //上文字标题颜色
+ },
+ },
tooltip: {
trigger: "axis",
formatter: "{b0}
{a1}:{c0}
{a2}:{c1}",
@@ -50,15 +59,6 @@ const option = {
},
},
},
- legend: {
- data: ["总救助金额", "总救助人数"],
- top: "8%",
- bottom: "9%",
- textStyle: {
- fontSize: 12,
- color: "#ffffff", //上文字标题颜色
- },
- },
grid: {
left: "6%",
right: "9%",
@@ -312,6 +312,8 @@ const option = {
// ]
};
+
+
onMounted(() => {
var myChart = echarts.init(chart.value);
myChart.setOption(option);
diff --git a/src/view/echarts_yl/pie.vue b/src/view/echarts_yl/pie.vue
index 69218ca..23f4d63 100644
--- a/src/view/echarts_yl/pie.vue
+++ b/src/view/echarts_yl/pie.vue
@@ -2,162 +2,192 @@