@@ -202,7 +202,7 @@
-
+
diff --git a/src/views/fun/echartsMap/index.vue b/src/views/fun/echartsMap/index.vue
index 87ea99ab29c696e7bc7e39aa12a317d277cc44c4..ebd229e717bda1d92e1f7f1d6d3e5d7c8abe3af1 100644
--- a/src/views/fun/echartsMap/index.vue
+++ b/src/views/fun/echartsMap/index.vue
@@ -22,8 +22,8 @@ export default defineComponent({
const storesTagsViewRoutes = useTagsViewRoutes();
const { themeConfig } = storeToRefs(storesThemeConfig);
const { isTagsViewCurrenFull } = storeToRefs(storesTagsViewRoutes);
- const state: any = reactive({
- echartsMap: null,
+ const state = reactive({
+ echartsMap: null as HTMLDivElement | null,
echartsMapList,
echartsMapData,
});
@@ -53,7 +53,7 @@ export default defineComponent({
};
// 初始化 echartsMap
const initEchartsMap = () => {
- const myChart = echarts.init(
state.echartsMap);
+ const myChart = echarts.init(state.echartsMap!, undefined, { renderer: 'svg' });
const option = {
tooltip: {
trigger: 'item',
diff --git a/src/views/fun/echartsMap/mock.ts b/src/views/fun/echartsMap/mock.ts
index 16623c7d71c2108c05b03b6dca1df35d11b10593..fbef3aeb0cd935cdbb768dfb0045e68fdfba6379 100644
--- a/src/views/fun/echartsMap/mock.ts
+++ b/src/views/fun/echartsMap/mock.ts
@@ -1,5 +1,5 @@
// 地图模拟数据
-export const echartsMapList = [
+export const echartsMapList: { name: string, value: number }[] = [
{ name: '海门', value: 9 },
{ name: '鄂尔多斯', value: 12 },
{ name: '招远', value: 12 },
@@ -193,7 +193,7 @@ export const echartsMapList = [
];
// 地图经纬度数据
-export const echartsMapData = {
+export const echartsMapData: Record = {
海门: [121.15, 31.89],
鄂尔多斯: [109.781327, 39.608266],
招远: [120.38, 37.35],
diff --git a/src/views/home/index.vue b/src/views/home/index.vue
index 6475fba53b1d59ec92ba04ade32e24104040f54c..bc3c09ca435b8a330344c920cbe7327a2e2fe2eb 100644
--- a/src/views/home/index.vue
+++ b/src/views/home/index.vue
@@ -72,10 +72,10 @@ import { storeToRefs } from 'pinia';
import { useThemeConfig } from '/@/stores/themeConfig';
import { useTagsViewRoutes } from '/@/stores/tagsViewRoutes';
-let global: any = {
- homeChartOne: null,
- homeChartTwo: null,
- homeCharThree: null,
+let global = {
+ homeChartOne: null as echarts.ECharts | null,
+ homeChartTwo: null as echarts.ECharts | null,
+ homeCharThree: null as echarts.ECharts | null,
dispose: [null, '', undefined],
};
@@ -184,7 +184,7 @@ export default defineComponent({
iconColor: '#FBD4A0',
},
],
- myCharts: [],
+ myCharts: [] as echarts.ECharts[],
charts: {
theme: '',
bgColor: '',
@@ -193,8 +193,8 @@ export default defineComponent({
});
// 折线图
const initLineChart = () => {
- if (!global.dispose.some((b: any) => b === global.homeChartOne)) global.homeChartOne.dispose();
- global.homeChartOne = echarts.init(homeLineRef.value, state.charts.theme);
+ if (!global.dispose.some(b => b === global.homeChartOne)) global.homeChartOne!.dispose();
+ global.homeChartOne = echarts.init(homeLineRef.value, state.charts.theme, { renderer: 'svg' });
const option = {
backgroundColor: state.charts.bgColor,
title: {
@@ -270,13 +270,13 @@ export default defineComponent({
},
],
};
- (global.homeChartOne).setOption(option);
- (state.myCharts).push(global.homeChartOne);
+ global.homeChartOne.setOption(option);
+ state.myCharts.push(global.homeChartOne);
};
// 饼图
const initPieChart = () => {
- if (!global.dispose.some((b: any) => b === global.homeChartTwo)) global.homeChartTwo.dispose();
- global.homeChartTwo = echarts.init(homePieRef.value, state.charts.theme);
+ if (!global.dispose.some(b => b === global.homeChartTwo)) global.homeChartTwo!.dispose();
+ global.homeChartTwo = echarts.init(homePieRef.value, state.charts.theme, { renderer: 'svg' });
var getname = ['房屋及结构物', '专用设备', '通用设备', '文物和陈列品', '图书、档案'];
var getvalue = [34.2, 38.87, 17.88, 9.05, 2.05];
var data = [];
@@ -300,7 +300,7 @@ export default defineComponent({
style: {
image: themeConfig.value.isIsDark
? ''
- : 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAK0AAACtCAYAAADCr/9DAAAcoElEQVR4Xu19e7wcRZn28/ZM90xXzzknOYEkIAEiBAUUFyFc4wKCCAt8gHhBUEDFG8K3Iri6+3ETL0hQ9FthvYC4gAb0cwFRQcUlKiIIbpRbEBGUREJIyHWmq2e6Z+r9fjU5iQnJOWcuPV195nT/l5yq93nep57p6amueouQXV0rwMzW6tWrS4XCsFvPVQWIyAphKweR3ShUGw2EAwMIAfhE1OgacJIHoEme/7jpM3O+UgnnWFZuDpF6pQJ2JtDOBJ4JwgxmmgbwEABr3GAAM1Ah8CqAVgC8nEBLFWgJQz1Liv7sefZTRBS0EGvSNslMu9nQL1u2TEyZsv3rARygwK8nxuvIwh7McBJ0iL4T/xXgR8DW75nxcL2ef2jKFFqTIIdUQ01q02qTDg5v/wZLqSMZ9I8AtGHtFI6YAmExFO4jsu6N3Ny9Q0SrU8gzEUqTzrSrV8ud7aJ1okW54wg4jJmLiSgdL4i+Gz8Moh9xQ91ZKhUeizd8uqNNCtNKya9QqnYqWdbbAcwF0Fd5M/AnZv5/UFgwMFBYnG7Ldc+urwZvczmY2Q6CxolMfDaYjwKQ616uCRHhd2BcX63at0ybRusnBOM2SfadaYOAd2Wun8PgMwFMb1OPvmlORBUGfw8K13qes6hvEuunr0nfD/dn4gsJdAqAfD8NUpe5MBF+wWR9QRRydxMRdxnPePcJf6etBNGRFvNFDBxuXM20EyA8QWx9xnVz3yMilXa6o/GbsKYNgugNivlzAOZNVPGN8SY8rpgvK7nObRPxzjvhTFsu1/ay8rgKTP9kbND7BZixyLLoQte1F06klCaMadetWzecz7uXg/DB7Jk1bovRD3JW42PFYvHZuCP3Il7qTcvMJKvRe8D0eYC374UIWcymAlUwf14I5/NEVEuzJqk27bp11Tm2bV3HwGFpFrGfuDHwlKLG+wdd97605pVK0+q7axBE/8zAZwGItIrXx7wUA9esWfXiJ2fNmpW6FWepM63v8w6M6EYivKmPTTExUiM8wQ2cXio5j6SJcKpMu96vnZQj6zqAt0uTSJOcS41B/+a5+S+lZXosFaZduJDzcw+MPk/Ax/rpLV1/mZ1+FLn5M6aQ+XW9xk1bLvN0ykXfpeyN1kTw+F9Y4WTTjwtGTavXC4DodoB3mggjlnFsrun0AT5LiML3TelhzLRS1t7KoBuz2QFTQ98VrgLzJZ5X0LM7iV9GTCtl+FEGvtjiZsDERckAW1SAcN1DD9rnHHEE1VvsEUuzxE1bkbX5BPp4LOyzIOYVYP6hEM7biaiaFJnETKtrA8hq9DUw3p9UchlOMgro9bpu0T5BLzxPAjER0zJzTlajG8A4I4mkMozkFSDggWq1cuzw8PC6XqP33LT6DhtUo/9kxrt7nUwW37gCD/iVtUdPnz69p3fcnpvW98PrQXifcTkzAokoQET3rnpp+fG9XLPQU9NKGX2RwfotV3ZNIgWY+S5POCcRUdSLtHtm2oqMLiTwVb0gncVMvwIM3Oq59mm9WK/QE9NKWX8HQy2YZPOwzIz1ROQDqqbvMrp4HYAiQLqKjS5SN1lqLzQ/VQSeL0ThE3F/xGI3rZTRwQzWe44KcZM1Ha9ZS4D5CRAeJcZitqxnuK6WAOGLnue9RDT6JLv+QVoul4cLhYHpzPVZjQbvRkSvAngfxdiHCMOm8+sBPoNwtuc6N8QZO1bTrpJyVhH2wwDPiJOkqVjMWG0R7mELv2LLvt+z8Vivtl5Xq9XdmfOHKqh5YD4GoL5Yj0GEEExHCmH/Oq5xjM20upCbDCK9RWP/uMiZiEOEv0DXxYJ1h+vmHzJVBLlcq72GFE4gJl1/7B9MaBEj5ouE+v5CiL/FETM20/p+eJ3+KoiDVNIxGCgT4RZifEsI58Gk8cfDq1Z5j7oK30OwzgR4h/Hap/TvDwjXPiyOGYVYTFsJwncT46aUijUqLQKeZsaXhLBvTuoVZDca6R92QdA4iaEuAHBQN7FM9CXQ1ULYmntXV9emXVetzrHZ+h9mDHTFJMHOzHiEiS8vuc4dvXpG7XU6UkaHKlaXENHRvcaKMT6DreM9L39XNzG7Mq3+5Mugfj/AB3RDIqm+uo6rBesi1819vxfzh0nlsTmOlNE8Bl8xccpD0YvCzb+WiFZ2qldXpvWD6FIwX9YpeFL9mLHWIvq06+avISJ9ykzfXXpuHFBXMrBL2pMj0B1C2Cd3yrNj01Yq4T+QhYdSekbBZnrwf4Hr53me90KnIk2UfsuXL/dKg8OXE/DPaX+RwcTvKrmF73SibUembS41DCJtWH2wRiovZqxQxB8aFIXbU0mwh6R8358L2P8Jwl49hOkyNL2kGvm9Bgbaf0zoyLRSRh9jsN4uk86L+W6lnLMGBvRZXZPz0vPmQRB9gYFz0rotnwg3C9dpe41126aVUu7EyD8JoJRCOzT0M7YQzmf75YdWtxo3N5ASfROMwW5j9aA/W0RHtltqtAPThrcwcGoPEugyJK1hhXeWSvZPuwzUd911Td9cnu5gxpzUJUd4/KEH7X3b2RzZlmmljA5hsH6H3Fa/3gvFf1UNHDcZjiPqVEtmHg6C6HYG9CF/6boYH/E85z9aJdWy+Zp1YoPoAQAHtho8iXbM/Aewc0ypRC8mgTeRMZi5IGW4AERvSVkeK4Vr707U2hFSLZtWytopDDJWVWQUkR8Urn0sEa1N2SCkls7IJlP9jKuPrErPxfwZzytc3Aqhlkw7sv37cTD2bCVoQm30AoyjJ8KagYT0aBlmZDyvB+M9LXfqfcOKatR2GxgYGHfGpyXTVoLaacTU0URwj3JdFNb8I6dOnZrdYTsUWBvXD6LvUIp+VOvtWUIU/mW8lMY1bTM5GT5ORCm5y/KzquEc1Mmk9HhiTLa/66NYfRn9OC0FrPW3Zj0KZg8ODr401liMa9r1snZyDnRbOgaUXmpYjUMHi8U/pYPPxGfBzEO+jO4nwt6pyIb5cs8rXNqVaaUMf8PAwSlIqG4RHeW69i9TwKWvKAQB76K4/rt0VGCnVcLN70xEcjSRx7zTShkexICe5jJ+sVIXlErFq40T6VMClWp0FCn+SRoW2ijGOQOe89VOTbuAgXeaHye+zRMFfVBzdvVQAd+vXQyiy3sI0VJoZiwuec6ojyuj3mnL5fL0XL6whNn0VnD6Wz3Kv25oiFa3lHHWqGMF9ByuH0QLCXhDx0Fi6qiIDh8Y5VFwVNNWZPXjBGt+TBw6DaMXVLzJde3/7jRA1q89BfTzbYOjxwhmt08RsEAI5/RtsR/VtH4QLjb+MoFwvec6WT3b9nzXdWvfDz8CwjVdB+ouQBDW7B2nTt36bec2TeuH4f6o4+HuMLvszbw8FM6eU7NXtF0K2X735huzDTUsDmm/d4w9GB/0POcbL4+4TdNWZO0qAl0YI3zboSyyznLdvD5IJLsMKDCynep3JmcTGPhlSTiHj2va5rm01egvzAY3yDEeFsI+MFvIbcCtm0H6fvh1ED5gkIWSHM3a3vOWbc5hqzvtSAG53xgkCovo8OwlgskR2IDt+/4OIPvPRo/NYpzrec61Y5u2Gs1nxeZOn2H83POc7DBn855tMpCydhWbfFQk3OO5zhYFSba60/p++BgIrzGlGYEOFcI2eqc3lXsacZl5uyCI/sqAZ4hfrbzenjZzpq77u+HawrRSylmM/HMGt9Pc7wlnniFxMthRFPD98BoQPmJMIMs6wSvmf7RN0/p++H4QtppiSIwsWyd7Xv6OxPAyoJYUqFZ5t4aKnjI4k/AfnnA2fWi2uNNWZKhPA9f1UA1cvES4zuyJWhDOgGCJQvoy+gHA/ytR0I2PA4Q/Cdd51bbvtDL6G8CvMEFM1yvwvMKnjGBnoOMq4PvV40HWD8dt2JsGrBr2zI3FVzbdadcGwWybc8/2BnPcqKpWrc8eHhZLxm2ZNTCiQHNDpAyXgshIUWcCv0WMlLjaZNogqJ+uWH3bhCIE/EII5wgT2Blm6wpIGV3N4PNb7xFfSwJ9QQi7ORW7ybS+rF8DKDO/ENss1hCfFFmkdhQw+eKJQPcLYTdnljYzbajnRk1sq2GCPUsIer4dAbO2ySuwoWBL/XlD5z74wrUH9Q/1pmlHVvWsh5kJ5Ec94bwu+SHIEDtRwPfDb4Lw3k76dtsnZ6lXF4vFp5qmXVutvtJW1jPdBu2kP4Pnl3pwql8nXLI+4ytQlrVTLdAt47eMvwWBTxGicFvTtL5fPx6kjExnsEXHlIpZpcP4h7g3ESuVykyyHL3qatzyA7EzILrYc+3PNIErsno+wTKx07UhXHsqEZVjTzAL2DMFpAyfZmD3ngGMFphxk+c5Z47cacNrQc2K0YlezHii5DnGFuckmmwfgckgvJkZ7zKQUnNtygbTyuiHAB+fNAkiLBDutjevJc0lw2tdASnD8xlI/JuZQH8Twp614fHADx8hwj6t046nJYE+KYR9ZTzRsihJKVCpRG8ii3+WFN5mOPpxsrjxTrsC4O0TJ8HqRM8r3pk4bgbYlQJS8ixGZOSVO8HeiRYu5PwBB0Y1AFZXmXTQmRXvUyoVHuuga9bFoAIj8/oBACdxGoz9SFeSsXIFI6XfhWsPZEWREx/2WAB9WXsaoMRnEFipN1O1Wt2joSy9wDfZi7HW85ypyYJmaHEpUJGhLp+01fbuuOKPFofA7yDfD/cHJV+YQx+uXBJ/X9jb62Sz+PEqYGzDAOMDVC4Hh1m53C/iTamlaL/1hHNQSy2zRqlTwA/Cr4HxwaSJ6XN/qVKpHkOWdbcB8IVCOG9MGjfDi0cBKcOrGUh8ba2eJiXfrx4HsjbtdIwnpRaiEP3Ec+1jW2iZNUmhAhVZu0IbKHFqRBeR79dOBJGBHbB8pycKJyaedAYYiwK+X7sMRGOejRAL0MuDEF1m7k7L/GPPKyT+6rgnQk7CoL5f+xSILkk8deZLTZr2p55XOCbxpDPAWBSoyNqVBBr3zK9YwDYLwuB/pSCIjlDM98YdvIV4v/aEY7xMegs8sybbUEDK8N8ZOC9pcQh0AZk6wYYZj5U8J/FFOkmL3K94MghvYsa7E8/PwoepVqu9pt4gA+//6QVP2DsmnnQGGIsCfhDdBebEZ3+Y+F0kJe/EiJbGkkl7QerNZWZEjfa6Za3ToIAvw0UA9k2aCyt1LC1btkwMTdluUxnFJElUg/rO06YJEx+YJNPsS6yKH75EhGmJJ8eYO7KeNtR7tEpJExjrrKikuWR4rSuwevXqoUKxZOQEeIvs2U3TyiB8mtnARjULH/SKW59e0rp8WUsTCvh+OBeEh0xgN5ezamBTy8wAXOsJ51wTyWeYnStQCcKziPGtziN02pPWeMIeHtkjVruRiM7oNFSn/Ri4ryScf+y0f9bPjAIVGf5fAv63AfRmNaINz7RBdAmYE68NS4SKW2zWPagbECCD7FABX4b6ZHoDy0rpdk/Yb2maNgjqpylW3+kwh+66Mfb3POd/uguS9U5KAWZ2ZRDpH2GJ7w8ji64SRftfNtxpw3A/1KFP50v8YqjzS6L45cSBM8COFAiC6DDFbGLTgC7E9D7PdW7YWDVRyCDSVRNzHWXSRSdmvrvkFf6pixBZ1wQVKPu1T1tEFyUIuQmKgIOFcB7cVERMBuEfmbHpMIYESQXCtYeJqJogZgbVoQK+DPVB3/t32L2bbg2/Yk+ZPp0qfzetDG9h4NRuonbcl9UJnldMfvdEx4QnZ0cp5U4j58wlXyMD/FRJFF6tld9k2oqMLiTwVUaGg3CT5zpnGsHOQFtWwFQNL02Qwd8uiUJzVdkm066Xcl4O+ftaziDGhsxYv3LF8zNmz56dPSLEqGvcoXwZPgjgwLjjthKPoM4TonjNFqZl5uLIVEahlSBxt2HFp5VKBSMVpuPOpR/jlcu1Pa0cPWGkmLIWNI/Xe47z+y1Mq/9RkeGvCDCym4CBhaVsS3lq/S5l9EUGf8wMQVor3Py0jad5blGC3A+iT4E5+c1qG5TgRl3tOThYTL5Ek5mRmDCoS5cudYenzVwC8HZmSNOdnrA37dx+2Snk0TwGG3mu1WJYhK+7rvMhM8JkqKMpYPqgbwLOE8JpPs9u9XjAzHlfRiuJMMXQEAaqUdt1YGBghSH8DPZlCuiynn4QLSYYmcNvsqlHao+hoeLT2zSt/k8pw1sZeIep0dPTbkIUEt+abCrftONWgtppxGRmXcqGX31PCeE052fHMG3tnQxaYFBMySrcrVQqLTfIIYPecChiLqhGi5mxhylBNi6SGdO0zFwKqvUXmVmYIgpY13oiny0ONzcATWTfD84G5a4zSYPyOEg4zm/HNO0GsrXvg+gUg2TrqsH7DgwUHjfIYVJDr1y5ckB4g08BtIMpIYjwnFu0ZxMRj2taKetvY6jvmSLbxCX6uefabzLKYRKDSxnNZ3DzqHpTF4GuFMLeqjLjNo+K1NvKB4e2e4EIg6YIa1yLcIbrOjeb5DAZsf0w3Bf15sbFvMn8VYNfu61v21HPNy374TcswvtNkmbGKk/YexLRSpM8JhO2nvaUQaSfIV9vNG/Gw57nHLAtDqOaVsrwAAa2eAA2kgTznZ6X1bFNSvuyX/uUZaKE58sTHKO8wJgnSfsy1Hu3zH7idDKMD3ue87WkBm6y4qyX8tA88r9gw48FAK3zK2t2mj59eqWtO61uHAThexTjhhQMomSFQ0sl5w8p4NKXFJh5uyCIfsfALilI8CuecEbdoj7mnZaZCzKoPwfwjBQk8qxw7f2JaE0KuPQVBf0SQVbrPwHzUSlIrFGP1KuHhop/Ho3LmKbVnfwguhjMl6cgGT0Ndo8o5o8joigVfPqEhJTRlxj80XSkw7d7ovCWsbiMa9p163g4b0fPmShQt03ijBs8z3lfOgSe+CykDM9l4CtpyYSAA4VwxqwTNq5pdTIVWZtPIKMTzVuIyvxpzyuYWveblvHtmoeUtVMY9F0TpQO2RZ4Z95Q85+jxEmvJtCOHPj8LwBsvYFJ/14dUCGGb2YiZVJI9xPH96rEg63YARrZXbXtWgOYJYd8/Xtotmbb5bOvXPgeifx0vYIJ/Z333F8L+YoKYfQGlDUtW7r90iaPUJMR8t9di0ZaWTbuGeYoTRM8AGE5NopoI0WWeaydePC9VGrRBpixrp1horo9NzR0WgGKF/Vqd0mzZtBuebcOPEvClNjRKpinjq0LY52XnN4wtd9kPP2xR80dX4uWvxmTGuNHznLNaNUtbpn3iCXZ2mR0+TqA5rQIk1o75LimdU7ffnnQp/uzaTAE9D+sH0XwCDO2mHXM4fIL9KiHo+VYHrS3T6qDVanRMQ3Hip5a3lBDjSaX4lIGBwpMttZ8EjZh5WFbDBWB6cxrTZaJ/K7n2Fe1wa9u0OriU0W0MPrkdoKTaMlC2wB8QonBrUphpxZEyOoShFgCUhlezW8nE4Kc819mHiMJ2NOzQtHInhbzeoTnQDliSbQm42XXtc4lIlzCdVNfChZw/4KD6RWD+P6bXxI4hPCuiNw64dtu1bjsyrSbi++E5IFybcjcsgWWd4xXzP045z9joVSo1fef6JshIOc7W8yBc77lOR+u1OzYtM+vDoO9l4PDWmZppyeDvWmhcIIRo+WHfDNPOUVes4JIohZcQSK8hsDuPlEjPpbVq5bXDw8PrOkHr2LQabE0Q7Gqr3COmt+W0kjgRlRnqqvK6NVfPnDnTyAmVrfBst82GFVrRmVD8GZC5TYht8FYW0dGua/93G322aNqVaXWkShCeQYwbOyWQfD9eTqDPua593USuPq4rv1SC8K0W0aVg7JW8jp0hMvDlknDO76z3hl5dm7ZpXBl+m4DTuyGSdF9mvEjgaxqN2lcHBwdXJY3fKZ4uyVqR0Rk5C+czY4vKK53GTLDfomXPP3fInDlzat1gxmJavUfeKw09NAFFBBH5DL6FGNcLsWVRiG6Ejbvvump195yiswnWewHePu74vY7HjHWNnJo7VPx7Ta5OMWMxrQav1Wp7N5T1oK5Q0ykZ0/0Y/Eci61ZVV99LwwsKn3lHDqK3EfB2AAfH9c1oQGdW4LcOiMJtcWDHZlpNRsra20bWZ8YaN45E247BeJKI7lIW7vEK+d/oH3Jtx2izw9NPP12Y8YpXzM1x7kgiOpaBubr8Q5th0tec+bOeV4jtGKfYzeX7tU/D0DlTPRytBoBHwc0t9Y8Q0aNRJP84NDS0ulPMFStWlDxvyhzLsvZpsNrHAh3AYH3UUbHTmOnsR3cKN3/yxirecXCM3bQj87e6XKj+Suv3S88z/oWZl1sWrVSMVcRcgYUqM+o5siwFFJnZI8I0KF1Jm2YwsCsRJtxzaQeD+YfyenvezJkU6xRj7KbViW0odz7j5wAO6SDRrEtfKMBLwPWDPc9bFnc6PTGtJrmWeWpehvcR0d5xk87ipV6Bl/I5PqxQKCzuBdOemVaT9X1/R7Ls+5jxyl6Qz2KmUoG1YBzpec6iXrHrqWmbd9y1wWzbsX4J0KxeJZHFTYcCRFQB481C2L/pJaOem1aTX7euunvepnsz4/ZyKM3G1i9pGnWcMDBgL+w1k0RMq5MIAp6tONTG3bXXSWXxk1VAz2ETcLzr2r9KAjkx0+pk9CnWinM/I6I9k0guw0hCAVpVBx83lOAr8ERNqyVk5mkyiH4E4KAkJM0weqkAL1ENHDsw0JtZgtGYJ27aEeO6MqgvAPikXkqaxe6pAr8H28d7HsU+DzseayOmHTGuFQThlQy6YAIvBBlP3z79O93pV9acPlrR414nbcy0GxPTi8gt0NdSVaKn16pP3PgM5iuEcC6Ocy1Bu3IYN60m7PvhfiD+fjaz0O7wJdder4dl4vfGtbywG+apMK1OQL/2tYPwWwBtOiK9m8SyvrEqsChn2e8oFmnU6tyxoo0TLDWm3cizLMNzLWA+gPRU9EtyRNKFpRj4d8+1P9FuQY1eppE60+pky+XaXlaObgKwXy+Tz2KPqcBSVvTeUsnWq/VSdaXStCOzC3k/qF9A4Euzu26inlEgfF0U7U+mtTpPak27cZiq1erudWV9g4AjEh26yQjGeLJB9Q8MCvHrNKefetOO3HXJ98PTybKuAHinNAs6EbkxYz2YP/fCC0u+3O327iTynxCm3SgEMwtZrX8C3DwdO/uh1r1DGmgWWoku8jzvhe7DJRNhQpl2oyRS8iwmfb4ZdPXotNetSmYk20NhgH/Mii5utWR8e+F723pCmvbvz7v8ykYjuoQIp5s/z7W3AxVbdKKfEvMl453VFRteDwJNaNNuZt7dGxx9HIwz+m8LdiyjrgC6k8BXCuE8GEtEg0H6wrQb9SuXebqVr38IjA8BvINBXVMBrauiE3Bjo66+MjhY/FMqSMVAoq9Mu9kPNrsShCdZZJ0N5iNTd5pLDAM3TohFYFwnpf2dfjw4pS9Nu/mASilnKcq9i0CngfGa3vvFGMJSBt+KHL5dKhQeNcYiAeC+N+3mGpZrtb0shVNY0UlE2Heir+Mlwp9B9AMo3Oa6+QeIiBPwjHGISWXazdX2fd4RiI4lwlEMvBHAdOOjMQ4B/YwK5vssop/V6/zTwcHCH9POuRf8Jq1pXy5muVzb08rTPCg+CBbNBUNvvsz3QvQWYzIB+hDthxXUb4mt+4WwF2WnUsZUCbzFQZhQzZr1yGbM2Jsb2Nti3pMZc0C0GzN2IcKUGJPxwVgComcY/Azp9/+NxuJ6PXi004M0YuSWylDZnbaDYdGFo2u12g5K5WbUWW1nWTTFYgwo6OqIVgEKNpPKE6MGywqJEQJcY4ZPZK1pEK9GXa1Qylk+NEQdlwvtgHpfdPn/ixNifr4QLGYAAAAASUVORK5CYII=',
+ : '/img/ring.png',
width: 230,
height: 230,
},
@@ -355,13 +355,13 @@ export default defineComponent({
},
],
};
- (global.homeChartTwo).setOption(option);
- (state.myCharts).push(global.homeChartTwo);
+ global.homeChartTwo.setOption(option);
+ state.myCharts.push(global.homeChartTwo);
};
// 柱状图
const initBarChart = () => {
- if (!global.dispose.some((b: any) => b === global.homeCharThree)) global.homeCharThree.dispose();
- global.homeCharThree = echarts.init(homeBarRef.value, state.charts.theme);
+ if (!global.dispose.some(b => b === global.homeCharThree)) global.homeCharThree!.dispose();
+ global.homeCharThree = echarts.init(homeBarRef.value, state.charts.theme, { renderer: 'svg' });
const option = {
backgroundColor: state.charts.bgColor,
title: {
@@ -486,17 +486,17 @@ export default defineComponent({
},
],
};
- (global.homeCharThree).setOption(option);
- (state.myCharts).push(global.homeCharThree);
+ global.homeCharThree.setOption(option);
+ state.myCharts.push(global.homeCharThree);
};
// 批量设置 echarts resize
const initEchartsResizeFun = () => {
nextTick(() => {
- for (let i = 0; i < state.myCharts.length; i++) {
+ state.myCharts.forEach((item, i) => {
setTimeout(() => {
- (state.myCharts[i]).resize();
+ state.myCharts[i].resize();
}, i * 1000);
- }
+ });
});
};
// 批量设置 echarts resize
diff --git a/src/views/login/component/account.vue b/src/views/login/component/account.vue
index 277a7fe648f8437eab16a611e78c1d01dded5820..c872c243109418de0cfcdfdcbfaa3f14f410cf6f 100644
--- a/src/views/login/component/account.vue
+++ b/src/views/login/component/account.vue
@@ -95,7 +95,7 @@ export default defineComponent({
// 登录
const onSignIn = async () => {
state.loading.signIn = true;
- // 存储 token 到浏览器缓存
+ // TODO token 来自后端接口,存储 token 到浏览器缓存
Session.set('token', Math.random().toString(36).substr(0));
// 模拟数据,对接接口时,记得删除多余代码及对应依赖的引入。用于 `/src/stores/userInfo.ts` 中不同用户登录判断(模拟数据)
Cookies.set('userName', state.ruleForm.userName);
diff --git a/src/views/login/index.vue b/src/views/login/index.vue
index 2eb3ed36c04decd0873491f7518a8c343ecf2f81..4786173b59c307af865e5cb6df8d72181789e590 100644
--- a/src/views/login/index.vue
+++ b/src/views/login/index.vue
@@ -34,7 +34,7 @@
import { toRefs, reactive, computed, defineComponent, onMounted } from 'vue';
import { storeToRefs } from 'pinia';
import { useThemeConfig } from '/@/stores/themeConfig';
-import logoMini from '/@/assets/logo-mini.svg';
+import logoMini from '/@/assets/logo-mini.png';
import loginIconTwo from '/@/assets/login-icon-two.svg';
import { NextLoading } from '/@/utils/loading';
import Account from '/@/views/login/component/account.vue';
diff --git a/src/views/make/svgDemo/index.vue b/src/views/make/svgDemo/index.vue
index 36fd3207afebf0fd3d9b17bf2d427198a4c6c50c..0119af9fc4f741099e2abaec228fd477e9c6cda4 100644
--- a/src/views/make/svgDemo/index.vue
+++ b/src/views/make/svgDemo/index.vue
@@ -20,7 +20,7 @@
-
+
diff --git a/src/views/visualizing/demo2.scss b/src/views/visualizing/demo2.scss
new file mode 100644
index 0000000000000000000000000000000000000000..dc8e2b1ee8b4ecde4ccd9012d79c7788c0da836d
--- /dev/null
+++ b/src/views/visualizing/demo2.scss
@@ -0,0 +1,553 @@
+.visualizing-demo2 {
+ height: 100%;
+ width: 100%;
+ overflow: hidden;
+ background: url(https://img-blog.csdnimg.cn/6267533849444025811bf0840f9366e3.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAbHl0LXRvcA==,size_20,color_FFFFFF,t_70,g_se,x_16);
+ background-size: 100% 100%;
+ display: flex;
+ flex-direction: column;
+ font-size: 13px;
+ .big-data-up {
+ height: 70px;
+ width: 100%;
+ display: flex;
+ align-items: center;
+ padding: 0 15px;
+ color: #43bdf0;
+ overflow: hidden;
+ .up-left {
+ width: 30%;
+ font-style: italic;
+ }
+ .up-center {
+ width: 40%;
+ display: flex;
+ justify-content: center;
+ font-size: 20px;
+ letter-spacing: 5px;
+ background-image: -webkit-linear-gradient(left, #43bdf0, #c0d1f2 25%, #43bdf0 50%, #c0d1f2 75%, #43bdf0);
+ -webkit-text-fill-color: transparent;
+ background-clip: text;
+ -webkit-background-clip: text;
+ background-size: 200% 100%;
+ animation: masked-animation 4s infinite linear;
+ -webkit-box-reflect: below -2px -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0)), to(rgba(255, 255, 255, 0.1)));
+ @keyframes masked-animation {
+ 0% {
+ background-position: 0 0;
+ }
+ 100% {
+ background-position: -100% 0;
+ }
+ }
+ position: relative;
+ &::after {
+ content: '';
+ width: 50%;
+ position: absolute;
+ bottom: -15px;
+ left: 50%;
+ transform: translateX(-50%);
+ border: 1px transparent solid;
+ border-image: linear-gradient(to right, rgba(0, 0, 0, 0.1), #43bdf0) 1 10;
+ }
+ span {
+ cursor: pointer;
+ }
+ }
+ .up-right {
+ width: 30%;
+ justify-content: flex-end;
+ display: flex;
+ align-items: center;
+ .ml15:hover {
+ cursor: pointer;
+ }
+ :deep(.el-dropdown) {
+ font-size: 13px !important;
+ color: #43bdf0;
+ cursor: pointer;
+ }
+ }
+ }
+ .big-data-down {
+ flex: 1;
+ overflow: hidden;
+ display: flex;
+ .big-data-down-left,
+ .big-data-down-right {
+ width: 30%;
+ display: flex;
+ flex-direction: column;
+ .flex-warp-item {
+ padding: 0 7.5px 15px 15px;
+ width: 100%;
+ height: 33.33%;
+ .flex-warp-item-box {
+ width: 100%;
+ height: 100%;
+ background: rgba(22, 34, 58, 0.4);
+ display: flex;
+ flex-direction: column;
+ padding: 15px;
+ .flex-title {
+ margin-bottom: 15px;
+ color: #c0d1f2;
+ display: flex;
+ justify-content: space-between;
+ .flex-title-small {
+ font-size: 12px;
+ }
+ }
+ .flex-content {
+ flex: 1;
+ font-size: 12px;
+ }
+ .flex-content-overflow {
+ overflow: hidden;
+ }
+ }
+ }
+ }
+ .big-data-down-left {
+ color: #c0d1f2;
+ .sky {
+ display: flex;
+ align-items: center;
+ .sky-left {
+ font-size: 30px;
+ }
+ .sky-center {
+ flex: 1;
+ overflow: hidden;
+ padding: 0 10px;
+ .font {
+ margin-right: 15px;
+ background: unset !important;
+ border-radius: unset !important;
+ padding: unset !important;
+ }
+ span {
+ background: #22bc76;
+ border-radius: 2px;
+ padding: 0 5px;
+ }
+ .sky-tip {
+ overflow: hidden;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+ }
+ }
+ .sky-right {
+ span {
+ font-size: 30px;
+ }
+ font {
+ font-size: 20px;
+ }
+ }
+ }
+ .sky-dd {
+ .sky-dl {
+ display: flex;
+ align-items: center;
+ height: 28px;
+ overflow: hidden;
+ div {
+ flex: 1;
+ overflow: hidden;
+ i {
+ font-size: 14px;
+ }
+ }
+ .tip {
+ overflow: hidden;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+ }
+ &:hover {
+ background: rgba(0, 0, 0, 0.05);
+ cursor: default;
+ border-radius: 4px;
+ }
+ &:first-child:hover {
+ background: unset;
+ }
+ }
+ .sky-dl-first {
+ color: #43bdf0;
+ }
+ }
+ .d-states {
+ display: flex;
+ .d-states-item {
+ flex: 1;
+ display: flex;
+ align-items: center;
+ overflow: hidden;
+ i {
+ font-size: 20px;
+ height: 33px;
+ width: 33px;
+ line-height: 33px;
+ text-align: center;
+ border-radius: 100%;
+ flex-shrink: 1;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ }
+ .i-bg1 {
+ background: #22bc76;
+ }
+ .i-bg2 {
+ background: #e2356d;
+ }
+ .i-bg3 {
+ background: #43bbef;
+ }
+ .d-states-flex {
+ overflow: hidden;
+ padding: 0 10px 0;
+ .d-states-item-label {
+ color: #43bdf0;
+ overflow: hidden;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+ }
+ .d-states-item-value {
+ font-size: 20px;
+ text-align: center;
+ }
+ }
+ }
+ }
+ .d-btn {
+ margin-top: 15px;
+ .d-btn-item {
+ border: 1px solid #c0d1f2;
+ display: flex;
+ width: 100%;
+ height: 35px;
+ border-radius: 35px;
+ align-items: center;
+ padding: 0 4px;
+ margin-top: 15px;
+ cursor: pointer;
+ transition: all ease 0.3s;
+ .d-btn-item-left {
+ font-size: 20px;
+ border: 1px solid #c0d1f2;
+ width: 25px;
+ height: 25px;
+ line-height: 25px;
+ border-radius: 100%;
+ text-align: center;
+ font-size: 14px;
+ }
+ .d-btn-item-center {
+ padding: 0 10px;
+ flex: 1;
+ }
+ .d-btn-item-eight {
+ text-align: right;
+ padding-right: 10px;
+ }
+ }
+ .d-btn-active {
+ transition: all ease 0.3s;
+ border: 1px solid #43bdf0;
+ color: #43bdf0;
+ .d-btn-item-left {
+ border: 1px solid #43bdf0;
+ }
+ }
+ }
+ }
+ .big-data-down-center {
+ width: 40%;
+ display: flex;
+ flex-direction: column;
+ .big-data-down-center-one {
+ height: 66.67%;
+ padding: 0 7.5px 15px;
+ .big-data-down-center-one-content {
+ height: 100%;
+ position: relative;
+ .fixed-top,
+ .fixed-right,
+ .fixed-bottom,
+ .fixed-left {
+ position: absolute;
+ width: 100px;
+ height: 100px;
+ display: flex;
+ cursor: pointer;
+ .circle {
+ position: absolute;
+ border-radius: 50%;
+ background: rgba(0, 0, 0, 0.01);
+ z-index: 10;
+ }
+ .text-box {
+ position: relative;
+ z-index: 11;
+ color: #c0d1f2;
+ margin: auto;
+ text-align: center;
+ font-size: 12px;
+ i {
+ font-size: 28px;
+ margin-bottom: 10px;
+ }
+ }
+ }
+ .fixed-top {
+ left: 20px;
+ top: 20px;
+ }
+ .fixed-right {
+ right: 20px;
+ top: 20px;
+ }
+ .fixed-bottom {
+ right: 20px;
+ bottom: 20px;
+ }
+ .fixed-left {
+ left: 20px;
+ bottom: 20px;
+ }
+ .circle:nth-of-type(1) {
+ width: 100px;
+ height: 95px;
+ animation: turnAround 6s infinite linear;
+ box-shadow: 0 0 1px 0 #869fe4, inset 0 0 10px 0 #869fe4;
+ }
+ .circle:nth-of-type(2) {
+ width: 95px;
+ height: 100px;
+ animation: turnAround 10s infinite linear;
+ box-shadow: 0 0 1px 0 #3397f2, inset 0 0 10px 0 #3397f2;
+ }
+ .circle:nth-of-type(3) {
+ width: 110px;
+ height: 100px;
+ animation: turnAround 5s infinite linear;
+ box-shadow: 0 0 1px 0 #3eaadc, inset 0 0 10px 0 #3eaadc;
+ }
+ .circle:nth-of-type(4) {
+ width: 100px;
+ height: 110px;
+ animation: turnAround 15s infinite linear;
+ box-shadow: 0 0 1px 0 #09f, inset 0 0 10px 0 #09f;
+ }
+ @keyframes turnAround {
+ 100% {
+ transform: rotate(360deg);
+ }
+ }
+ }
+ }
+ .big-data-down-center-two {
+ padding: 0 7.5px 15px;
+ height: 33.33%;
+ .flex-warp-item-box {
+ width: 100%;
+ height: 100%;
+ background: rgba(22, 34, 58, 0.4);
+ display: flex;
+ flex-direction: column;
+ padding: 15px;
+ .flex-title {
+ margin-bottom: 15px;
+ color: #c0d1f2;
+ display: flex;
+ justify-content: space-between;
+ .flex-title-small {
+ font-size: 12px;
+ }
+ }
+ .flex-content {
+ flex: 1;
+ font-size: 12px;
+ display: flex;
+ height: calc(100% - 30px);
+ .flex-content-left {
+ display: flex;
+ flex-wrap: wrap;
+ width: 120px;
+ height: 100%;
+ .monitor-item {
+ width: 50%;
+ display: flex;
+ align-items: center;
+ .monitor-wave {
+ cursor: pointer;
+ width: 40px;
+ height: 40px;
+ position: relative;
+ background-color: #43bdf0;
+ border-radius: 50%;
+ overflow: hidden;
+ text-align: center;
+ &::before,
+ &::after {
+ content: '';
+ position: absolute;
+ left: 50%;
+ width: 40px;
+ height: 40px;
+ background: #f4f4f4;
+ animation: roateOne 10s linear infinite;
+ transform: translateX(-50%);
+ z-index: 1;
+ }
+ &::before {
+ bottom: 10px;
+ border-radius: 60%;
+ }
+ &::after {
+ bottom: 8px;
+ opacity: 0.7;
+ border-radius: 37%;
+ }
+ .monitor-z-index {
+ position: relative;
+ z-index: 2;
+ color: #4eb8ff;
+ display: flex;
+ align-items: center;
+ height: 100%;
+ justify-content: center;
+ font-weight: bold;
+ }
+ }
+ @keyframes roateOne {
+ 0% {
+ transform: translate(-50%, 0) rotateZ(0deg);
+ }
+ 50% {
+ transform: translate(-50%, -2%) rotateZ(180deg);
+ }
+ 100% {
+ transform: translate(-50%, 0%) rotateZ(360deg);
+ }
+ }
+ .monitor-active {
+ background-color: #22bc76;
+ .monitor-z-index {
+ color: #22bc76;
+ }
+ }
+ }
+ }
+ .flex-content-right {
+ flex: 1;
+ }
+ }
+ }
+ }
+ }
+ .big-data-down-right {
+ .flex-warp-item {
+ padding: 0 15px 15px 7.5px;
+ .flex-content {
+ display: flex;
+ flex-direction: column;
+ .task {
+ display: flex;
+ height: 45px;
+ .task-item {
+ flex: 1;
+ color: #c0d1f2;
+ display: flex;
+ justify-content: center;
+ .task-item-box {
+ position: relative;
+ width: 45px;
+ height: 45px;
+ overflow: hidden;
+ border-radius: 100%;
+ z-index: 0;
+ display: flex;
+ align-items: center;
+ flex-direction: column;
+ justify-content: center;
+ box-shadow: 0 10px 12px 0 rgba(0, 0, 0, 0.3);
+ &::before {
+ content: '';
+ position: absolute;
+ z-index: -2;
+ left: -50%;
+ top: -50%;
+ width: 200%;
+ height: 200%;
+ background-repeat: no-repeat;
+ background-size: 50% 50%, 50% 50%;
+ background-position: 0 0, 100% 0, 100% 100%, 0 100%;
+ background-image: linear-gradient(#19d4ae, #19d4ae), linear-gradient(#5ab1ef, #5ab1ef), linear-gradient(#fa6e86, #fa6e86),
+ linear-gradient(#ffb980, #ffb980);
+ animation: rotate 2s linear infinite;
+ }
+ &::after {
+ content: '';
+ position: absolute;
+ z-index: -1;
+ left: 1px;
+ top: 1px;
+ width: calc(100% - 2px);
+ height: calc(100% - 2px);
+ border-radius: 100%;
+ }
+ .task-item-value {
+ text-align: center;
+ font-size: 14px;
+ font-weight: bold;
+ }
+ .task-item-label {
+ text-align: center;
+ }
+ }
+ .task1 {
+ &::after {
+ background: #5492be;
+ }
+ }
+ .task2 {
+ &::after {
+ background: #43a177;
+ }
+ }
+ .task3 {
+ &::after {
+ background: #a76077;
+ }
+ }
+ .task4 {
+ &::after {
+ background: #b4825a;
+ }
+ }
+ .task5 {
+ &::after {
+ background: #74568f;
+ }
+ }
+ }
+ .task-first-item {
+ flex-direction: column;
+ text-align: center;
+ .task-first {
+ font-size: 20px;
+ }
+ }
+ }
+ }
+ }
+ .progress {
+ flex: 1;
+ }
+ }
+ }
+}
diff --git a/src/views/visualizing/demo2.vue b/src/views/visualizing/demo2.vue
index 71dbd99549f65349769934f37082dc93ed4b5137..7d28e096a51bbf29c100626f88f838d8bc8e8374 100644
--- a/src/views/visualizing/demo2.vue
+++ b/src/views/visualizing/demo2.vue
@@ -229,19 +229,22 @@
-
+
diff --git a/src/views/visualizing/mock/data2-option1.ts b/src/views/visualizing/mock/data2-option1.ts
new file mode 100644
index 0000000000000000000000000000000000000000..c219bdf00f87ead6e84e0b4c3c268d3598652e0f
--- /dev/null
+++ b/src/views/visualizing/mock/data2-option1.ts
@@ -0,0 +1,26 @@
+export const option1 = {
+ tooltip: {
+ trigger: 'item',
+ },
+ series: [
+ {
+ name: '面积模式',
+ type: 'pie',
+ radius: [10, 60],
+ center: ['50%', '50%'],
+ roseType: 'area',
+ itemStyle: {
+ borderRadius: 5,
+ },
+ data: [
+ { name: '天气预警', value: 100 },
+ { name: '病虫害预警', value: 50 },
+ { name: '任务预警', value: 130 },
+ { name: '监测设备预警', value: 62 },
+ ],
+ label: {
+ color: '#c0d1f2',
+ },
+ },
+ ],
+};
diff --git a/src/views/visualizing/mock/data2-option2.ts b/src/views/visualizing/mock/data2-option2.ts
new file mode 100644
index 0000000000000000000000000000000000000000..4d1a0ee7d6af6d863a0798af8f6534472bfc893f
--- /dev/null
+++ b/src/views/visualizing/mock/data2-option2.ts
@@ -0,0 +1,129 @@
+import * as echarts from 'echarts';
+
+export const option2 = {
+ grid: {
+ top: 10,
+ right: 0,
+ bottom: 20,
+ left: 30,
+ },
+ tooltip: {
+ trigger: 'axis',
+ axisPointer: {
+ type: 'shadow',
+ },
+ },
+ xAxis: {
+ data: ['1月', '2月', '3月', '4月', '5月', '6月'],
+ axisLine: {
+ lineStyle: {
+ color: 'rgba(22, 207, 208, 0.5)',
+ width: 1,
+ },
+ },
+ axisTick: {
+ show: false,
+ },
+ axisLabel: {
+ color: '#c0d1f2',
+ },
+ },
+ yAxis: [
+ {
+ type: 'value',
+ axisLine: {
+ show: true,
+ lineStyle: {
+ color: 'rgba(22, 207, 208, 0.1)',
+ },
+ },
+ axisLabel: {
+ color: '#c0d1f2',
+ },
+ splitLine: {
+ show: true,
+ lineStyle: {
+ color: 'rgba(22, 207, 208, 0.3)',
+ },
+ },
+ splitArea: {
+ show: true,
+ areaStyle: {
+ color: 'rgba(22, 207, 208, 0.02)',
+ },
+ },
+ nameTextStyle: {
+ color: '#16cfd0',
+ },
+ },
+ {
+ type: 'value',
+ position: 'right',
+ axisLine: {
+ show: false,
+ },
+ axisLabel: {
+ show: true,
+ formatter: '{value}%',
+ textStyle: {
+ color: '#16cfd0',
+ },
+ },
+ splitLine: {
+ show: false,
+ },
+ axisTick: {
+ show: false,
+ },
+ splitArea: {
+ show: true,
+ areaStyle: {
+ color: 'rgba(22, 207, 208, 0.02)',
+ },
+ },
+ nameTextStyle: {
+ color: '#16cfd0',
+ },
+ },
+ ],
+ series: [
+ {
+ name: '销售水量',
+ type: 'line',
+ yAxisIndex: 1,
+ smooth: true,
+ showAllSymbol: true,
+ symbol: 'circle',
+ itemStyle: {
+ color: '#058cff',
+ },
+ lineStyle: {
+ color: '#058cff',
+ },
+ areaStyle: {
+ color: 'rgba(5,140,255, 0.2)',
+ },
+ data: [4.2, 3.8, 4.8, 3.5, 2.9, 2.8],
+ },
+ {
+ name: '主营业务',
+ type: 'bar',
+ barWidth: 15,
+ itemStyle: {
+ normal: {
+ color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
+ {
+ offset: 0,
+ color: '#00FFE3',
+ },
+ {
+ offset: 1,
+ color: '#4693EC',
+ },
+ ]),
+ },
+ },
+ data: [4.2, 3.8, 4.8, 3.5, 2.9, 2.8],
+ },
+ ],
+};
diff --git a/src/views/visualizing/mock/data2-option3.ts b/src/views/visualizing/mock/data2-option3.ts
new file mode 100644
index 0000000000000000000000000000000000000000..eac525d5a6a747a59fef0294f5c903a901600506
--- /dev/null
+++ b/src/views/visualizing/mock/data2-option3.ts
@@ -0,0 +1,73 @@
+export const option3 = {
+ grid: {
+ top: 10,
+ right: 0,
+ bottom: 20,
+ left: 30,
+ },
+ tooltip: {
+ trigger: 'axis',
+ },
+ xAxis: {
+ data: ['1月', '2月', '3月', '4月', '5月', '6月'],
+ axisLine: {
+ lineStyle: {
+ color: 'rgba(22, 207, 208, 0.1)',
+ width: 1,
+ },
+ },
+ axisTick: {
+ show: false,
+ },
+ axisLabel: {
+ color: '#c0d1f2',
+ },
+ },
+ yAxis: [
+ {
+ type: 'value',
+ axisLine: {
+ show: true,
+ lineStyle: {
+ color: 'rgba(22, 207, 208, 0.1)',
+ },
+ },
+ axisLabel: {
+ color: '#c0d1f2',
+ },
+ splitLine: {
+ show: true,
+ lineStyle: {
+ color: 'rgba(22, 207, 208, 0.3)',
+ },
+ },
+ splitArea: {
+ show: true,
+ areaStyle: {
+ color: 'rgba(22, 207, 208, 0.02)',
+ },
+ },
+ nameTextStyle: {
+ color: '#16cfd0',
+ },
+ },
+ ],
+ series: [
+ {
+ name: '预购队列',
+ type: 'line',
+ data: [200, 85, 112, 275, 305, 415],
+ itemStyle: {
+ color: '#16cfd0',
+ },
+ },
+ {
+ name: '最新成交价',
+ type: 'line',
+ data: [50, 85, 22, 155, 170, 25],
+ itemStyle: {
+ color: '#febb50',
+ },
+ },
+ ],
+};
diff --git a/src/views/visualizing/mock/data2-option3d.ts b/src/views/visualizing/mock/data2-option3d.ts
new file mode 100644
index 0000000000000000000000000000000000000000..fd351a6f84d311f454d09d23e2c660a68f9ddde6
--- /dev/null
+++ b/src/views/visualizing/mock/data2-option3d.ts
@@ -0,0 +1,44 @@
+import worldImg from '../images/world.jpg';
+import bathymetryImg from '../images/bathymetry.jpg';
+
+export interface IPoint {
+ coords: [number, number][];
+ value: string;
+}
+
+export const option3d = {
+ globe: {
+ baseTexture: worldImg,
+ heightTexture: bathymetryImg,
+ shading: 'realistic',
+ light: {
+ ambient: {
+ intensity: 0.4,
+ },
+ main: {
+ intensity: 0.4,
+ },
+ },
+ viewControl: {
+ autoRotate: true,
+ },
+ postEffect: {
+ enable: true,
+ bloom: {
+ enable: true,
+ },
+ },
+ globeRadius: 0,
+ },
+ series: {
+ type: 'lines3D',
+ coordinateSystem: 'globe',
+ blendMode: 'lighter',
+ lineStyle: {
+ width: 1,
+ color: 'rgb(50, 50, 150)',
+ opacity: 0.1,
+ },
+ data: [] as IPoint[],
+ },
+};
diff --git a/src/views/visualizing/mock/data2-option4.ts b/src/views/visualizing/mock/data2-option4.ts
new file mode 100644
index 0000000000000000000000000000000000000000..231f838722c794c3ff25b38ff5ec4f1eecee84dd
--- /dev/null
+++ b/src/views/visualizing/mock/data2-option4.ts
@@ -0,0 +1,84 @@
+import * as echarts from 'echarts';
+
+export const option4 = {
+ grid: {
+ top: 10,
+ right: 10,
+ bottom: 20,
+ left: 30,
+ },
+ tooltip: {
+ trigger: 'axis',
+ },
+ xAxis: {
+ type: 'category',
+ boundaryGap: false,
+ data: ['1月', '2月', '3月', '4月', '5月', '6月'],
+ axisLine: {
+ lineStyle: {
+ color: 'rgba(22, 207, 208, 0.1)',
+ width: 1,
+ },
+ },
+ axisTick: {
+ show: false,
+ },
+ axisLabel: {
+ interval: 0,
+ color: '#c0d1f2',
+ textStyle: {
+ fontSize: 10,
+ },
+ },
+ },
+ yAxis: [
+ {
+ type: 'value',
+ axisLabel: {
+ color: '#c0d1f2',
+ },
+ splitLine: {
+ show: true,
+ lineStyle: {
+ color: 'rgba(22, 207, 208, 0.3)',
+ },
+ },
+ splitArea: {
+ show: true,
+ areaStyle: {
+ color: 'rgba(22, 207, 208, 0.02)',
+ },
+ },
+ nameTextStyle: {
+ color: '#16cfd0',
+ },
+ },
+ ],
+ series: [
+ {
+ name: '温度',
+ type: 'line',
+ smooth: true,
+ lineStyle: {
+ width: 0,
+ },
+ areaStyle: {
+ opacity: 0.8,
+ color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
+ {
+ offset: 0,
+ color: 'rgba(128, 255, 165)',
+ },
+ {
+ offset: 1,
+ color: 'rgba(1, 191, 236)',
+ },
+ ]),
+ },
+ emphasis: {
+ focus: 'series',
+ },
+ data: [140, 232, 101, 264, 90, 70],
+ },
+ ],
+};
diff --git a/src/views/visualizing/mock/data2-option6.ts b/src/views/visualizing/mock/data2-option6.ts
new file mode 100644
index 0000000000000000000000000000000000000000..6b6ccb7a925b2b75b13b3cdb25d183e1b2686d88
--- /dev/null
+++ b/src/views/visualizing/mock/data2-option6.ts
@@ -0,0 +1,83 @@
+import * as echarts from 'echarts';
+
+export const option6 = {
+ tooltip: {
+ trigger: 'axis',
+ axisPointer: {
+ type: 'shadow',
+ },
+ },
+ grid: {
+ top: 20,
+ right: 50,
+ bottom: 0,
+ left: 80,
+ },
+ xAxis: [
+ {
+ splitLine: {
+ show: false,
+ },
+ type: 'value',
+ show: false,
+ },
+ ],
+ yAxis: [
+ {
+ splitLine: {
+ show: false,
+ },
+ axisLine: {
+ //y轴
+ show: false,
+ },
+ type: 'category',
+ axisTick: {
+ show: false,
+ },
+ inverse: true,
+ data: ['施肥任务完成率', '施药任务完成率', '农事任务完成率'],
+ axisLabel: {
+ color: '#A7D6F4',
+ fontSize: 12,
+ },
+ },
+ ],
+ series: [
+ {
+ name: '标准化',
+ type: 'bar',
+ barWidth: 10, // 柱子宽度
+ label: {
+ show: true,
+ position: 'right', // 位置
+ color: '#A7D6F4',
+ fontSize: 12,
+ distance: 15, // 距离
+ formatter: '{c}%', // 这里是数据展示的时候显示的数据
+ }, // 柱子上方的数值
+ itemStyle: {
+ barBorderRadius: [0, 20, 20, 0], // 圆角(左上、右上、右下、左下)
+
+ color: new echarts.graphic.LinearGradient(
+ 1,
+ 0,
+ 0,
+ 0,
+ [
+ {
+ offset: 0,
+ color: '#51C5FD',
+ },
+ {
+ offset: 1,
+ color: '#005BB1',
+ },
+ ],
+ false
+ ), // 渐变
+ },
+ data: [75, 100, 60],
+ },
+ ],
+};
diff --git a/src/views/visualizing/mock/demo1.ts b/src/views/visualizing/mock/demo1.ts
index 60fd944cfca68579b810c6b928c7694c15bfb274..93a3b74b13c931975fdd5d5ace82378ea08cdea3 100644
--- a/src/views/visualizing/mock/demo1.ts
+++ b/src/views/visualizing/mock/demo1.ts
@@ -1,5 +1,5 @@
// 地图模拟数据
-export const echartsMapList: Array