diff --git a/package.json b/package.json
index 1eaa801..659b7ae 100644
--- a/package.json
+++ b/package.json
@@ -38,7 +38,9 @@
"@vueuse/core": "^13.5.0",
"@wot-ui/ui": "^2.3.2",
"axios": "^1.19.0",
+ "echarts": "^6.1.0",
"pinia": "^4.0.3",
+ "uni-echarts": "^2.5.2",
"vue": "3.4.21",
"vue-i18n": "^9.14.5",
"vue-router": "4.5.1"
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 3031cf6..a3fa1cc 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -74,9 +74,15 @@ importers:
axios:
specifier: ^1.19.0
version: 1.19.0
+ echarts:
+ specifier: ^6.1.0
+ version: 6.1.0
pinia:
specifier: ^4.0.3
version: 4.0.3(@vue/devtools-api@6.6.4)(typescript@5.8.3)(vue@3.4.21(typescript@5.8.3))
+ uni-echarts:
+ specifier: ^2.5.2
+ version: 2.5.2(echarts@6.1.0)(vue@3.4.21(typescript@5.8.3))
vue:
specifier: 3.4.21
version: 3.4.21(typescript@5.8.3)
@@ -1012,15 +1018,24 @@ packages:
peerDependencies:
vite: 5.2.8
+ '@emnapi/core@1.10.0':
+ resolution: {integrity: sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==}
+
'@emnapi/core@1.4.5':
resolution: {integrity: sha512-XsLw1dEOpkSX/WucdqUhPWP7hDxSvZiY+fsUC14h+FtQ2Ifni4znbBt8punRX+Uj2JG/uDb8nEHVKvrVlvdZ5Q==}
+ '@emnapi/runtime@1.10.0':
+ resolution: {integrity: sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==}
+
'@emnapi/runtime@1.4.5':
resolution: {integrity: sha512-++LApOtY0pEEz1zrd9vy1/zXVaVJJ/EbAF3u0fXIzPJEDtnITsBGbbK0EkM72amhl/R5b+5xx0Y/QhcVOpuulg==}
'@emnapi/wasi-threads@1.0.4':
resolution: {integrity: sha512-PJR+bOmMOPH8AtcTGAyYNiuJ3/Fcoj2XN/gBEWzDIKh254XO+mM9XoXHk5GNEhodxeMznbg7BlRojVbKN+gC6g==}
+ '@emnapi/wasi-threads@1.2.1':
+ resolution: {integrity: sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==}
+
'@es-joy/jsdoccomment@0.50.2':
resolution: {integrity: sha512-YAdE/IJSpwbOTiaURNCKECdAwqrJuFiZhylmesBcIRawtYKnBR2wxPhoIewMg+Yu+QuYvHfJNReWpoxGBKOChA==}
engines: {node: '>=18'}
@@ -1741,6 +1756,13 @@ packages:
'@napi-rs/wasm-runtime@0.2.12':
resolution: {integrity: sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ==}
+ '@napi-rs/wasm-runtime@1.2.3':
+ resolution: {integrity: sha512-UMduMbqO5s5zF2NkNacMT/yK5Y5QiKvWr2+50bzIIxFDwVJ2h49b+oyjaCGPhJxd2/gC2x39EHv/gHVuu36x2Q==}
+ engines: {node: ^20.19.0 || ^22.13.0 || >=23.5.0}
+ peerDependencies:
+ '@emnapi/core': ^1.7.1 || ^2.0.0-alpha.4
+ '@emnapi/runtime': ^1.7.1 || ^2.0.0-alpha.4
+
'@nodelib/fs.scandir@2.1.5':
resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
engines: {node: '>= 8'}
@@ -1753,6 +1775,128 @@ packages:
resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
engines: {node: '>= 8'}
+ '@oxc-parser/binding-android-arm-eabi@0.132.0':
+ resolution: {integrity: sha512-KrLaPWa5c9Y7LkW+rKkaUE3y7DBDrQtaf7rlsSDfv6KAHUjgzAIRA761Lrrp6//Yd/Rlie/yEOt9YENCoJnOcw==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm]
+ os: [android]
+
+ '@oxc-parser/binding-android-arm64@0.132.0':
+ resolution: {integrity: sha512-SThDrSeamB/kG2+NxcJ5/wSLcV6dUqDknrPLqFYQ0ST/55mtBP4M7Q/f3QbubH6aAd11wpzZn/nwbVRSdobOpg==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [android]
+
+ '@oxc-parser/binding-darwin-arm64@0.132.0':
+ resolution: {integrity: sha512-Lc0f/TYoKBghE5/2Gsv7bLXk+TJZunx2Tf61X8hG4ARXdc8UYI26dCGccFSd1AyFbK3jfaNXtMnupggDbjPXdQ==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@oxc-parser/binding-darwin-x64@0.132.0':
+ resolution: {integrity: sha512-RG2eJIpf7C21z9HSSXFw1bTArdpKe7Y4fwcJTwRq1yCSe1vSavaN9GA1sm9KqzemTLAGVktQ+7qBTGp0vQeUZg==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [darwin]
+
+ '@oxc-parser/binding-freebsd-x64@0.132.0':
+ resolution: {integrity: sha512-wQIPntPLtJ8NcBpvKPbEv3NqzV6k8eP8tP/jE9Rg8HTg/j7urZGFSsTCPCW5k77Qfw2DM4vRvc9p3I4yq/Shvw==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [freebsd]
+
+ '@oxc-parser/binding-linux-arm-gnueabihf@0.132.0':
+ resolution: {integrity: sha512-PixKEpeSe3yxQWqNyOCBALRYc72+Tj7ILDofUl3iXo25cVOzLA6jHUhmOINRtWIPh7dbUie3QNeabwaQpZTw6w==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm]
+ os: [linux]
+
+ '@oxc-parser/binding-linux-arm-musleabihf@0.132.0':
+ resolution: {integrity: sha512-sCR+DzGHlyHKnbA2z9zWjTUhIo8Sy0enJl4RDsBwPmkxYynPatpwOAWe8W5127SlW0boqUWHGtr1NWn5UwIhXQ==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm]
+ os: [linux]
+
+ '@oxc-parser/binding-linux-arm64-gnu@0.132.0':
+ resolution: {integrity: sha512-sQBix5P2cW+IpzTcCwYxnh9yALrKSIkKJThspBvMGcygSMnbzkSvhN7SfuX1hvBk8y1XEChsdkU3ET0V5DmzUw==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [linux]
+
+ '@oxc-parser/binding-linux-arm64-musl@0.132.0':
+ resolution: {integrity: sha512-WozHg3Kc//8Sk756HXXgMbEAvqtG+Lzb9JOojwQzIGDtN78Az2dLttkb71akWYUF/8IgYfDSlfKh4Uot8is5Vw==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [linux]
+
+ '@oxc-parser/binding-linux-ppc64-gnu@0.132.0':
+ resolution: {integrity: sha512-CmX/ulNBOEwWTyVRmcpYKAcAizW6+OjtLJgo7fXoL9OqQvjF4VER8tPomv44vwzfSCy1BHbsB0ZlZYzYJNj4cA==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [ppc64]
+ os: [linux]
+
+ '@oxc-parser/binding-linux-riscv64-gnu@0.132.0':
+ resolution: {integrity: sha512-j9oQS+hM90SdhviNGWbPgT4+Rlq+ac++q/zjgwPD1mVHgxHzATvoRGtDx0sXGmFOQ9J9YkwAhYGb5MAHL6TAsA==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [riscv64]
+ os: [linux]
+
+ '@oxc-parser/binding-linux-riscv64-musl@0.132.0':
+ resolution: {integrity: sha512-bLz+Xi+Agnfmd7kWPEsSVwCn2k4EyIalZkNBcQ0OGIv9rqn8VgCPLNd03tM9mKX/5TdlvDXalz0q71BIrOPNqg==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [riscv64]
+ os: [linux]
+
+ '@oxc-parser/binding-linux-s390x-gnu@0.132.0':
+ resolution: {integrity: sha512-U6t2qbJU0ypTfyj9QV3W1Y6mITDTL8ai/OR6NUn85vyHthOvobKWgXzU4tu0EskSzlpuVFz1g0jFGulDIUKHxQ==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [s390x]
+ os: [linux]
+
+ '@oxc-parser/binding-linux-x64-gnu@0.132.0':
+ resolution: {integrity: sha512-WcEaSNHFk8yz5YFlQQAlhq6jOFmZBB/RKE7uzhyCIf+pF1Lmv9gUH4221mle2Gd9iHyWT3ySNph8yZgb1xYdWg==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [linux]
+
+ '@oxc-parser/binding-linux-x64-musl@0.132.0':
+ resolution: {integrity: sha512-iQrV4iJzQgRwK3BWRmQl1C3C6g3wYpXN2WLdQdyR+efoUnncdShZAVp9OgcojtlD3MDRbuOMGG3SjxF4fL4nlQ==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [linux]
+
+ '@oxc-parser/binding-openharmony-arm64@0.132.0':
+ resolution: {integrity: sha512-FWzmUGrZ6GUby4U7WIwcCtab6tdmlTO3xTRRKyb5kjIJVEiaUAT8animUG/nK8ZCA8gkRkPOTId4rl6uTqUmJQ==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [openharmony]
+
+ '@oxc-parser/binding-wasm32-wasi@0.132.0':
+ resolution: {integrity: sha512-TlbMppxJI5CjWDes0QaP6G3aneVg1yikBu5QYI+DUShF9WDL66ccgKFNNGmi/Wybtszw6hxwAvv76T4DaPKnHw==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [wasm32]
+
+ '@oxc-parser/binding-win32-arm64-msvc@0.132.0':
+ resolution: {integrity: sha512-RH/NbFjGKqdUAUi7Oh3LQPxUk2hsWFEEQ38HSnbRQT8QjBZFKqL1fMbmsB3N4jy/KPh9iX94+9dmkEMBBbambw==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [arm64]
+ os: [win32]
+
+ '@oxc-parser/binding-win32-ia32-msvc@0.132.0':
+ resolution: {integrity: sha512-JUr4jQY9jxoIB/YTLXr6XofSi5xikj6p5/Ns1h0VOBDT0j1jKU+kMsv2xxv51RwnETcXpA1Yw/9oUAfcqfaqEA==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [ia32]
+ os: [win32]
+
+ '@oxc-parser/binding-win32-x64-msvc@0.132.0':
+ resolution: {integrity: sha512-2dapgHpA5X8DSXF4AU36hJWYf6zP0tKjMXFRAZFBD62pkevW/uhFDXoFH9Y/3Fd2EtDrw5ByNnR1wVE9X9y0SQ==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ cpu: [x64]
+ os: [win32]
+
+ '@oxc-project/types@0.132.0':
+ resolution: {integrity: sha512-FESMOxil5Se014ui/Eq8fT5uHJo6nIRwH0PfJrZJXs6Gek3ZVFOrpUv3YIZT20m+extU98Hg1Ym72U58rlsxUQ==}
+
'@parcel/watcher-android-arm64@2.6.0':
resolution: {integrity: sha512-trgpLSCKRC/huFjXX/Smh+0sWe4+YtKfktIToiMl59ghz7z+qkH6kMvNnUbLyRs9N11t8l4svSCs1+5B3rOAhA==}
engines: {node: '>= 10.0.0'}
@@ -2104,6 +2248,9 @@ packages:
'@tybys/wasm-util@0.10.0':
resolution: {integrity: sha512-VyyPYFlOMNylG45GoAe0xDoLwWuowvf92F9kySqzYh8vmYm7D2u4iUJKa1tOUpS70Ku13ASrOkS4ScXFsTaCNQ==}
+ '@tybys/wasm-util@0.10.3':
+ resolution: {integrity: sha512-F3fo1MYrRJYL3zER0OUOmkutjr1Vp23m7OsSgp7nq4SP6OqX6C/56XFIPAl5bt3zaBRjmW7SGz3u/6LwFpYcOg==}
+
'@types/babel__core@7.20.5':
resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==}
@@ -3436,6 +3583,9 @@ packages:
duplexer@0.1.2:
resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==}
+ echarts@6.1.0:
+ resolution: {integrity: sha512-q0yaFPggC9FUdsWH4blavRWFmxdrIodbkoKNAjJudAI6CA9gNPxHtV2RcZNEepZVlk4yvBYkOkbk6HIVpIyHZA==}
+
ee-first@1.1.1:
resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==}
@@ -4943,6 +5093,10 @@ packages:
resolution: {integrity: sha512-Sv0OvhPiMutICiwORAUefv02DCPb62IelBmo8ZsSrRHyI3FStqIWZvjqDkvtjU+lcujo7UNir+dCwKSqlEQ/5w==}
engines: {node: '>=10', yarn: ^1.22.4}
+ oxc-parser@0.132.0:
+ resolution: {integrity: sha512-+0LAPHaqtfQlvWdpaAa09SmOaZZgP8C552xosEkGJ4+ruEwP1Vgx+sqBgcBCNfR6KDCmagGOZTde8wmAvcI/Hg==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+
p-limit@2.3.0:
resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==}
engines: {node: '>=6'}
@@ -5746,6 +5900,9 @@ packages:
peerDependencies:
typescript: '>=4.0.0'
+ tslib@2.3.0:
+ resolution: {integrity: sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==}
+
tslib@2.8.1:
resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==}
@@ -5805,6 +5962,12 @@ packages:
undici-types@7.8.0:
resolution: {integrity: sha512-9UJ2xGDvQ43tYyVMpuHlsgApydB8ZKfVYTsLDhXkFL/6gfkp+U8xTGdh8pMJv1SpZna0zxG1DwsKZsreLbXBxw==}
+ uni-echarts@2.5.2:
+ resolution: {integrity: sha512-llHpuJURhDBQlGHB4CstZI4X9PJrtw6U6lrp1FRdaSYf84b57ZdQ2D8a8xuMrbK+uo0EbzBaye50DcCuN8SOfQ==}
+ peerDependencies:
+ echarts: '>=5.3.0'
+ vue: '>=3.3.0'
+
unicode-canonical-property-names-ecmascript@2.0.1:
resolution: {integrity: sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==}
engines: {node: '>=4'}
@@ -6275,6 +6438,9 @@ packages:
resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
engines: {node: '>=10'}
+ zrender@6.1.0:
+ resolution: {integrity: sha512-oEGMDB6pOP2S6OwRR4PdVv610zrjnA3Bh+JnSG12fYJlBKjtNAoEb5fSUoCOOINlH96I2fU38/A2UpRKs67xYQ==}
+
zwitch@2.0.4:
resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==}
@@ -7850,12 +8016,23 @@ snapshots:
- ts-node
- vue
+ '@emnapi/core@1.10.0':
+ dependencies:
+ '@emnapi/wasi-threads': 1.2.1
+ tslib: 2.8.1
+ optional: true
+
'@emnapi/core@1.4.5':
dependencies:
'@emnapi/wasi-threads': 1.0.4
tslib: 2.8.1
optional: true
+ '@emnapi/runtime@1.10.0':
+ dependencies:
+ tslib: 2.8.1
+ optional: true
+
'@emnapi/runtime@1.4.5':
dependencies:
tslib: 2.8.1
@@ -7866,6 +8043,11 @@ snapshots:
tslib: 2.8.1
optional: true
+ '@emnapi/wasi-threads@1.2.1':
+ dependencies:
+ tslib: 2.8.1
+ optional: true
+
'@es-joy/jsdoccomment@0.50.2':
dependencies:
'@types/estree': 1.0.8
@@ -8692,6 +8874,13 @@ snapshots:
'@tybys/wasm-util': 0.10.0
optional: true
+ '@napi-rs/wasm-runtime@1.2.3(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)':
+ dependencies:
+ '@emnapi/core': 1.10.0
+ '@emnapi/runtime': 1.10.0
+ '@tybys/wasm-util': 0.10.3
+ optional: true
+
'@nodelib/fs.scandir@2.1.5':
dependencies:
'@nodelib/fs.stat': 2.0.5
@@ -8704,6 +8893,72 @@ snapshots:
'@nodelib/fs.scandir': 2.1.5
fastq: 1.18.0
+ '@oxc-parser/binding-android-arm-eabi@0.132.0':
+ optional: true
+
+ '@oxc-parser/binding-android-arm64@0.132.0':
+ optional: true
+
+ '@oxc-parser/binding-darwin-arm64@0.132.0':
+ optional: true
+
+ '@oxc-parser/binding-darwin-x64@0.132.0':
+ optional: true
+
+ '@oxc-parser/binding-freebsd-x64@0.132.0':
+ optional: true
+
+ '@oxc-parser/binding-linux-arm-gnueabihf@0.132.0':
+ optional: true
+
+ '@oxc-parser/binding-linux-arm-musleabihf@0.132.0':
+ optional: true
+
+ '@oxc-parser/binding-linux-arm64-gnu@0.132.0':
+ optional: true
+
+ '@oxc-parser/binding-linux-arm64-musl@0.132.0':
+ optional: true
+
+ '@oxc-parser/binding-linux-ppc64-gnu@0.132.0':
+ optional: true
+
+ '@oxc-parser/binding-linux-riscv64-gnu@0.132.0':
+ optional: true
+
+ '@oxc-parser/binding-linux-riscv64-musl@0.132.0':
+ optional: true
+
+ '@oxc-parser/binding-linux-s390x-gnu@0.132.0':
+ optional: true
+
+ '@oxc-parser/binding-linux-x64-gnu@0.132.0':
+ optional: true
+
+ '@oxc-parser/binding-linux-x64-musl@0.132.0':
+ optional: true
+
+ '@oxc-parser/binding-openharmony-arm64@0.132.0':
+ optional: true
+
+ '@oxc-parser/binding-wasm32-wasi@0.132.0':
+ dependencies:
+ '@emnapi/core': 1.10.0
+ '@emnapi/runtime': 1.10.0
+ '@napi-rs/wasm-runtime': 1.2.3(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)
+ optional: true
+
+ '@oxc-parser/binding-win32-arm64-msvc@0.132.0':
+ optional: true
+
+ '@oxc-parser/binding-win32-ia32-msvc@0.132.0':
+ optional: true
+
+ '@oxc-parser/binding-win32-x64-msvc@0.132.0':
+ optional: true
+
+ '@oxc-project/types@0.132.0': {}
+
'@parcel/watcher-android-arm64@2.6.0':
optional: true
@@ -8949,6 +9204,11 @@ snapshots:
tslib: 2.8.1
optional: true
+ '@tybys/wasm-util@0.10.3':
+ dependencies:
+ tslib: 2.8.1
+ optional: true
+
'@types/babel__core@7.20.5':
dependencies:
'@babel/parser': 7.28.3
@@ -10499,6 +10759,11 @@ snapshots:
duplexer@0.1.2: {}
+ echarts@6.1.0:
+ dependencies:
+ tslib: 2.3.0
+ zrender: 6.1.0
+
ee-first@1.1.1: {}
electron-to-chromium@1.5.209: {}
@@ -12509,6 +12774,31 @@ snapshots:
dependencies:
lcid: 3.1.1
+ oxc-parser@0.132.0:
+ dependencies:
+ '@oxc-project/types': 0.132.0
+ optionalDependencies:
+ '@oxc-parser/binding-android-arm-eabi': 0.132.0
+ '@oxc-parser/binding-android-arm64': 0.132.0
+ '@oxc-parser/binding-darwin-arm64': 0.132.0
+ '@oxc-parser/binding-darwin-x64': 0.132.0
+ '@oxc-parser/binding-freebsd-x64': 0.132.0
+ '@oxc-parser/binding-linux-arm-gnueabihf': 0.132.0
+ '@oxc-parser/binding-linux-arm-musleabihf': 0.132.0
+ '@oxc-parser/binding-linux-arm64-gnu': 0.132.0
+ '@oxc-parser/binding-linux-arm64-musl': 0.132.0
+ '@oxc-parser/binding-linux-ppc64-gnu': 0.132.0
+ '@oxc-parser/binding-linux-riscv64-gnu': 0.132.0
+ '@oxc-parser/binding-linux-riscv64-musl': 0.132.0
+ '@oxc-parser/binding-linux-s390x-gnu': 0.132.0
+ '@oxc-parser/binding-linux-x64-gnu': 0.132.0
+ '@oxc-parser/binding-linux-x64-musl': 0.132.0
+ '@oxc-parser/binding-openharmony-arm64': 0.132.0
+ '@oxc-parser/binding-wasm32-wasi': 0.132.0
+ '@oxc-parser/binding-win32-arm64-msvc': 0.132.0
+ '@oxc-parser/binding-win32-ia32-msvc': 0.132.0
+ '@oxc-parser/binding-win32-x64-msvc': 0.132.0
+
p-limit@2.3.0:
dependencies:
p-try: 2.2.0
@@ -13333,6 +13623,8 @@ snapshots:
picomatch: 4.0.7
typescript: 5.8.3
+ tslib@2.3.0: {}
+
tslib@2.8.1:
optional: true
@@ -13378,6 +13670,12 @@ snapshots:
undici-types@7.8.0: {}
+ uni-echarts@2.5.2(echarts@6.1.0)(vue@3.4.21(typescript@5.8.3)):
+ dependencies:
+ echarts: 6.1.0
+ oxc-parser: 0.132.0
+ vue: 3.4.21(typescript@5.8.3)
+
unicode-canonical-property-names-ecmascript@2.0.1: {}
unicode-match-property-ecmascript@2.0.0:
@@ -13854,4 +14152,8 @@ snapshots:
yocto-queue@0.1.0: {}
+ zrender@6.1.0:
+ dependencies:
+ tslib: 2.3.0
+
zwitch@2.0.4: {}
diff --git a/src/components.d.ts b/src/components.d.ts
index 0ef0254..15a74eb 100644
--- a/src/components.d.ts
+++ b/src/components.d.ts
@@ -36,5 +36,8 @@ declare module 'vue' {
SettingsWifiSettings: typeof import('./components/settings/wifiSettings.vue')['default']
WarningFilter: typeof import('./components/warning/filter.vue')['default']
WarningItem: typeof import('./components/warning/item.vue')['default']
+ WorkDashboard: typeof import('./components/work/dashboard.vue')['default']
+ WorkDeviceControl: typeof import('./components/work/deviceControl.vue')['default']
+ WorkRtkMonitor: typeof import('./components/work/rtkMonitor.vue')['default']
}
}
diff --git a/src/components/work/dashboard.vue b/src/components/work/dashboard.vue
new file mode 100644
index 0000000..0135d92
--- /dev/null
+++ b/src/components/work/dashboard.vue
@@ -0,0 +1,30 @@
+
+
+
+
+
+ 实时数据仪表盘
+
+
+
+
+
diff --git a/src/components/work/deviceControl.vue b/src/components/work/deviceControl.vue
new file mode 100644
index 0000000..9e66c57
--- /dev/null
+++ b/src/components/work/deviceControl.vue
@@ -0,0 +1,214 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ deviceInfo.status }}
+
+
+
+ {{ deviceInfo.connected }}
+
+
+
+
+
+
+ 压实作业
+
+
+ {{ deviceInfo.workStatus }}
+
+
+
+
+ 设备连接
+
+
+ {{ deviceInfo.signalStatus }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 当前:{{ workStatus }}
+
+
+
+
+ 暂停作业
+
+
+
+
+
+
+
diff --git a/src/components/work/rtkMonitor.vue b/src/components/work/rtkMonitor.vue
new file mode 100644
index 0000000..f18ca52
--- /dev/null
+++ b/src/components/work/rtkMonitor.vue
@@ -0,0 +1,30 @@
+
+
+
+
+
+ RTK轨迹实时监测 + 压实热力图
+
+
+
+
+
diff --git a/src/main.ts b/src/main.ts
index c97747e..a54ab5e 100644
--- a/src/main.ts
+++ b/src/main.ts
@@ -1,9 +1,12 @@
+import * as echarts from 'echarts'
+import { provideEcharts } from 'uni-echarts'
import { createSSRApp } from 'vue'
import App from './App.vue'
import 'uno.css'
export function createApp() {
const app = createSSRApp(App)
+ provideEcharts(echarts)
return {
app,
}
diff --git a/src/pages/work/index.vue b/src/pages/work/index.vue
index 600c054..5c81f30 100644
--- a/src/pages/work/index.vue
+++ b/src/pages/work/index.vue
@@ -2,15 +2,57 @@
definePage({
layout: false,
style: {
- navigationBarTitleText: '工作',
+ navigationBarTitleText: '压实作业',
},
})
-
-// const { value: name } = useQuery('name')
-
- 压实作业
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/vite.config.ts b/vite.config.ts
index 08bc633..95edf35 100644
--- a/vite.config.ts
+++ b/vite.config.ts
@@ -3,6 +3,7 @@ import UniHelperComponents from '@uni-helper/vite-plugin-uni-components'
import UniHelperLayouts from '@uni-helper/vite-plugin-uni-layouts'
import UniHelperManifest from '@uni-helper/vite-plugin-uni-manifest'
import UniHelperPages from '@uni-helper/vite-plugin-uni-pages'
+import { UniEcharts } from 'uni-echarts/vite'
import UnoCSS from 'unocss/vite'
import AutoImport from 'unplugin-auto-import/vite'
import { defineConfig } from 'vite'
@@ -24,6 +25,8 @@ export default defineConfig({
dts: 'src/components.d.ts',
directoryAsNamespace: true,
}),
+ // https://uni-echarts.xiaohe.ink/guide/getting-started
+ UniEcharts(),
// https://uni-helper.js.org/plugin-uni
Uni(),
UniPolyfill(),