diff --git a/package.json b/package.json index 460c6ee..b64dd33 100644 --- a/package.json +++ b/package.json @@ -11,6 +11,7 @@ "dependencies": { "@auth0/auth0-vue": "^2.4.0", "axios": "^1.7.2", + "echarts": "^5.6.0", "ftp-deploy": "^2.4.7", "js-cookie": "^3.0.5", "naive-ui": "^2.39.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 497ed08..f0f7084 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -14,6 +14,9 @@ importers: axios: specifier: ^1.7.2 version: 1.10.0 + echarts: + specifier: ^5.6.0 + version: 5.6.0 ftp-deploy: specifier: ^2.4.7 version: 2.4.7(promise-ftp-common@1.1.5) @@ -40,7 +43,7 @@ importers: version: 14.2.1(sass@1.77.2) unplugin-auto-import: specifier: ^0.18.0 - version: 0.18.6(rollup@4.44.1) + version: 0.18.6(@vueuse/core@10.11.1(vue@3.5.17(typescript@5.8.3)))(rollup@4.44.1) vfonts: specifier: ^0.0.3 version: 0.0.3 @@ -481,6 +484,9 @@ packages: '@types/node@24.0.7': resolution: {integrity: sha512-YIEUUr4yf8q8oQoXPpSlnvKNVKDQlPMWrmOcgzoduo7kvA2UF0/BwJ/eMKFTiTtkNL17I0M6Xe2tvwFU7be6iw==} + '@types/web-bluetooth@0.0.20': + resolution: {integrity: sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==} + '@vicons/ionicons5@0.12.0': resolution: {integrity: sha512-Iy1EUVRpX0WWxeu1VIReR1zsZLMc4fqpt223czR+Rpnrwu7pt46nbnC2ycO7ItI/uqDLJxnbcMC7FujKs9IfFA==} @@ -559,6 +565,15 @@ packages: '@vue/shared@3.5.17': resolution: {integrity: sha512-CabR+UN630VnsJO/jHWYBC1YVXyMq94KKp6iF5MQgZJs5I8cmjw6oVMO1oDbtBkENSHSSn/UadWlW/OAgdmKrg==} + '@vueuse/core@10.11.1': + resolution: {integrity: sha512-guoy26JQktXPcz+0n3GukWIy/JDNKti9v6VEMu6kV2sYBsWuGiTU8OWdg+ADfUbHg3/3DlqySDe7JmdHrktiww==} + + '@vueuse/metadata@10.11.1': + resolution: {integrity: sha512-IGa5FXd003Ug1qAZmyE8wF3sJ81xGLSqTqtQ6jaVfkeZ4i5kS2mwQF61yhVqojRnenVew5PldLyRgvdl4YYuSw==} + + '@vueuse/shared@10.11.1': + resolution: {integrity: sha512-LHpC8711VFZlDaYUXEBbFBCQ7GS3dVU9mjOhhMhXP6txTV4EhYQg/KGnQuvt/sPAtoUKq7VVUnL6mVtFoL42sA==} + acorn@8.15.0: resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==} engines: {node: '>=0.4.0'} @@ -687,6 +702,9 @@ packages: resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} engines: {node: '>= 0.4'} + echarts@5.6.0: + resolution: {integrity: sha512-oTbVTsXfKuEhxftHqL5xprgLoc0k7uScAwtryCgWF6hPYFLRwOUHiFmHGCBKP5NPFNkDVopOieyUqYGH8Fa3kA==} + electron-to-chromium@1.5.177: resolution: {integrity: sha512-7EH2G59nLsEMj97fpDuvVcYi6lwTcM1xuWw3PssD8xzboAW7zj7iB3COEEEATUfjLHrs5uKBLQT03V/8URx06g==} @@ -1114,6 +1132,9 @@ packages: treemate@0.3.11: resolution: {integrity: sha512-M8RGFoKtZ8dF+iwJfAJTOH/SM4KluKOKRJpjCMhI8bG3qB74zrFoArKZ62ll0Fr3mqkMJiQOmWYkdYgDeITYQg==} + tslib@2.3.0: + resolution: {integrity: sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==} + tweetnacl@0.14.5: resolution: {integrity: sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==} @@ -1251,6 +1272,9 @@ packages: yallist@3.1.1: resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + zrender@5.6.1: + resolution: {integrity: sha512-OFXkDJKcrlx5su2XbzJvj/34Q3m6PvyCZkVPHGYpcCJ52ek4U/ymZyfuV1nKE23AyBJ51E/6Yr0mhZ7xGTO4ag==} + snapshots: '@ampproject/remapping@2.3.0': @@ -1576,6 +1600,9 @@ snapshots: undici-types: 7.8.0 optional: true + '@types/web-bluetooth@0.0.20': + optional: true + '@vicons/ionicons5@0.12.0': {} '@vitejs/plugin-vue@5.2.4(vite@5.3.4(@types/node@24.0.7)(sass@1.77.2))(vue@3.5.17(typescript@5.8.3))': @@ -1698,6 +1725,28 @@ snapshots: '@vue/shared@3.5.17': {} + '@vueuse/core@10.11.1(vue@3.5.17(typescript@5.8.3))': + dependencies: + '@types/web-bluetooth': 0.0.20 + '@vueuse/metadata': 10.11.1 + '@vueuse/shared': 10.11.1(vue@3.5.17(typescript@5.8.3)) + vue-demi: 0.14.10(vue@3.5.17(typescript@5.8.3)) + transitivePeerDependencies: + - '@vue/composition-api' + - vue + optional: true + + '@vueuse/metadata@10.11.1': + optional: true + + '@vueuse/shared@10.11.1(vue@3.5.17(typescript@5.8.3))': + dependencies: + vue-demi: 0.14.10(vue@3.5.17(typescript@5.8.3)) + transitivePeerDependencies: + - '@vue/composition-api' + - vue + optional: true + acorn@8.15.0: {} alien-signals@1.0.13: {} @@ -1826,6 +1875,11 @@ snapshots: es-errors: 1.3.0 gopd: 1.2.0 + echarts@5.6.0: + dependencies: + tslib: 2.3.0 + zrender: 5.6.1 + electron-to-chromium@1.5.177: {} entities@4.5.0: {} @@ -2263,6 +2317,8 @@ snapshots: treemate@0.3.11: {} + tslib@2.3.0: {} + tweetnacl@0.14.5: {} typedarray@0.0.6: {} @@ -2293,7 +2349,7 @@ snapshots: transitivePeerDependencies: - rollup - unplugin-auto-import@0.18.6(rollup@4.44.1): + unplugin-auto-import@0.18.6(@vueuse/core@10.11.1(vue@3.5.17(typescript@5.8.3)))(rollup@4.44.1): dependencies: '@antfu/utils': 0.7.10 '@rollup/pluginutils': 5.2.0(rollup@4.44.1) @@ -2303,6 +2359,8 @@ snapshots: minimatch: 9.0.5 unimport: 3.14.6(rollup@4.44.1) unplugin: 1.16.1 + optionalDependencies: + '@vueuse/core': 10.11.1(vue@3.5.17(typescript@5.8.3)) transitivePeerDependencies: - rollup @@ -2386,3 +2444,7 @@ snapshots: xregexp@2.0.0: {} yallist@3.1.1: {} + + zrender@5.6.1: + dependencies: + tslib: 2.3.0 diff --git a/src/assets/icons/mainproject.svg b/src/assets/icons/mainproject.svg new file mode 100644 index 0000000..db6d17b --- /dev/null +++ b/src/assets/icons/mainproject.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/money.svg b/src/assets/icons/money.svg new file mode 100644 index 0000000..2f91336 --- /dev/null +++ b/src/assets/icons/money.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/order.svg b/src/assets/icons/order.svg new file mode 100644 index 0000000..9c87c32 --- /dev/null +++ b/src/assets/icons/order.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/styles/variable.scss b/src/assets/styles/variable.scss index 2274898..e0fb8fe 100644 --- a/src/assets/styles/variable.scss +++ b/src/assets/styles/variable.scss @@ -1,4 +1,7 @@ $primaryColor: #3D8EFF; // 主色保持不变的蓝色 $primaryColorHover: #6AA1FF; // 比主色亮20%的浅蓝色 $primaryColorPressed: #2B7AEB;// 比主色深10%的深蓝色 -$primaryColorSuppl: #5A95FF; // 介于主色和hover之间的蓝色 \ No newline at end of file +$primaryColorSuppl: #5A95FF; // 介于主色和hover之间的蓝色 +// 字体相关颜色 +$titleTextColor:#808080; //标题颜色 +$dashLineColor:#E7E7E7; //border-color的颜色 \ No newline at end of file diff --git a/src/views/home/compoents/MainDashBoardHeader.vue b/src/views/home/compoents/MainDashBoardHeader.vue new file mode 100644 index 0000000..a6c5313 --- /dev/null +++ b/src/views/home/compoents/MainDashBoardHeader.vue @@ -0,0 +1,153 @@ + + + + \ No newline at end of file diff --git a/src/views/home/compoents/MainDashBoardLiner.vue b/src/views/home/compoents/MainDashBoardLiner.vue new file mode 100644 index 0000000..45edb76 --- /dev/null +++ b/src/views/home/compoents/MainDashBoardLiner.vue @@ -0,0 +1,193 @@ + + + + + \ No newline at end of file diff --git a/src/views/home/compoents/MainDashBoradProxy.vue b/src/views/home/compoents/MainDashBoradProxy.vue new file mode 100644 index 0000000..c7dea5e --- /dev/null +++ b/src/views/home/compoents/MainDashBoradProxy.vue @@ -0,0 +1,93 @@ + + + + \ No newline at end of file diff --git a/src/views/home/compoents/SubDashBoardHistory.vue b/src/views/home/compoents/SubDashBoardHistory.vue new file mode 100644 index 0000000..92a3dc4 --- /dev/null +++ b/src/views/home/compoents/SubDashBoardHistory.vue @@ -0,0 +1,39 @@ + + + + \ No newline at end of file diff --git a/src/views/home/compoents/SubDashBoardMoney.vue b/src/views/home/compoents/SubDashBoardMoney.vue new file mode 100644 index 0000000..ea7be16 --- /dev/null +++ b/src/views/home/compoents/SubDashBoardMoney.vue @@ -0,0 +1,222 @@ + + + + + \ No newline at end of file diff --git a/src/views/home/compoents/SubDashBoardQuick.vue b/src/views/home/compoents/SubDashBoardQuick.vue new file mode 100644 index 0000000..b621a23 --- /dev/null +++ b/src/views/home/compoents/SubDashBoardQuick.vue @@ -0,0 +1,77 @@ + + + + \ No newline at end of file diff --git a/src/views/home/index.vue b/src/views/home/index.vue index 9885d76..679bb68 100644 --- a/src/views/home/index.vue +++ b/src/views/home/index.vue @@ -1,12 +1,102 @@ - - \ No newline at end of file