This commit is contained in:
zmj 2024-02-22 18:12:18 +08:00
parent 88632945e8
commit 1fe5092741
39 changed files with 282 additions and 388 deletions

284
package-lock.json generated
View File

@ -8,8 +8,6 @@
"name": "tradescreen",
"version": "0.0.0",
"dependencies": {
"@dataview/datav-vue3": "^0.0.0-test.1672506674342",
"@jiaminghi/data-view": "^2.10.0",
"@vuepic/vue-datepicker": "^7.4.0",
"amfe-flexible": "^2.2.1",
"axios": "^1.6.5",
@ -17,6 +15,7 @@
"element-plus": "^2.4.4",
"mitt": "^3.0.1",
"pinia": "^2.1.7",
"postcss-pxtorem": "^6.1.0",
"vue": "^3.3.8",
"vue-router": "^4.2.5"
},
@ -488,19 +487,6 @@
"node": ">=10"
}
},
"node_modules/@dataview/datav-vue3": {
"version": "0.0.0-test.1672506674342",
"resolved": "https://registry.npmmirror.com/@dataview/datav-vue3/-/datav-vue3-0.0.0-test.1672506674342.tgz",
"integrity": "sha512-d0oT/msAi592CTvWmQl0umkLpHgMwtTN2+peyo0L2GHNG7b4cKeO9meEF5o28DgFzRwOLeNQW73vKCF4JC+ihw==",
"dependencies": {
"@jiaminghi/color": "^0.1.1",
"classnames": "^2.3.2",
"lodash-es": "^4.17.21"
},
"peerDependencies": {
"vue": ">=3.2.0"
}
},
"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",
@ -883,59 +869,6 @@
"resolved": "https://registry.npmmirror.com/@floating-ui/utils/-/utils-0.1.6.tgz",
"integrity": "sha512-OfX7E2oUDYxtBvsuS4e/jSn4Q9Qb6DzgeYtsAdkPZ47znpoNsMgZw0+tVijiv3uGNR6dgNlty6r9rzIzHjtd/A=="
},
"node_modules/@jiaminghi/bezier-curve": {
"version": "0.0.9",
"resolved": "https://registry.npmjs.org/@jiaminghi/bezier-curve/-/bezier-curve-0.0.9.tgz",
"integrity": "sha512-u9xJPOEl6Dri2E9FfmJoGxYQY7vYJkURNX04Vj64tdi535tPrpkuf9Sm0lNr3QTKdHQh0DdNRsaa62FLQNQEEw==",
"dependencies": {
"@babel/runtime": "^7.5.5"
}
},
"node_modules/@jiaminghi/c-render": {
"version": "0.4.3",
"resolved": "https://registry.npmjs.org/@jiaminghi/c-render/-/c-render-0.4.3.tgz",
"integrity": "sha512-FJfzj5hGj7MLqqqI2D7vEzHKbQ1Ynnn7PJKgzsjXaZpJzTqs2Yw5OSeZnm6l7Qj7jyPAP53lFvEQNH4o4j6s+Q==",
"dependencies": {
"@babel/runtime": "^7.5.5",
"@jiaminghi/bezier-curve": "*",
"@jiaminghi/color": "*",
"@jiaminghi/transition": "*"
}
},
"node_modules/@jiaminghi/charts": {
"version": "0.2.18",
"resolved": "https://registry.npmjs.org/@jiaminghi/charts/-/charts-0.2.18.tgz",
"integrity": "sha512-K+HXaOOeWG9OOY1VG6M4mBreeeIAPhb9X+khG651AbnwEwL6G2UtcAQ8GWCq6GzhczcLwwhIhuaHqRygwHC0sA==",
"dependencies": {
"@babel/runtime": "^7.5.5",
"@jiaminghi/c-render": "^0.4.3"
}
},
"node_modules/@jiaminghi/color": {
"version": "0.1.1",
"resolved": "https://registry.npmmirror.com/@jiaminghi/color/-/color-0.1.1.tgz",
"integrity": "sha512-M09+Sb5HGqVim0zo+nG5gU1v+6gXT8ptr0BZR6dMGt83XmCJgnZtO8s7llTW4hLFFFM5co6geZvTekqLpSPAAQ==",
"dependencies": {
"@babel/runtime": "^7.5.5"
}
},
"node_modules/@jiaminghi/data-view": {
"version": "2.10.0",
"resolved": "https://registry.npmjs.org/@jiaminghi/data-view/-/data-view-2.10.0.tgz",
"integrity": "sha512-Cud2MTiMcqc5k2KWabR/svuVQmXHANqURo+yj40370/LdI/gyUJ6LG203hWXEnT1nMCeiv/SLVmxv3PXLScCeA==",
"dependencies": {
"@babel/runtime": "^7.5.5",
"@jiaminghi/charts": "*"
}
},
"node_modules/@jiaminghi/transition": {
"version": "1.1.11",
"resolved": "https://registry.npmjs.org/@jiaminghi/transition/-/transition-1.1.11.tgz",
"integrity": "sha512-owBggipoHMikDHHDW5Gc7RZYlVuvxHADiU4bxfjBVkHDAmmck+fCkm46n2JzC3j33hWvP9nSCAeh37t6stgWeg==",
"dependencies": {
"@babel/runtime": "^7.5.5"
}
},
"node_modules/@jridgewell/gen-mapping": {
"version": "0.3.3",
"resolved": "https://registry.npmmirror.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz",
@ -994,12 +927,6 @@
"@jridgewell/sourcemap-codec": "^1.4.14"
}
},
"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/@rollup/rollup-android-arm-eabi": {
"version": "4.5.1",
"resolved": "https://registry.npmmirror.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.5.1.tgz",
@ -1157,9 +1084,9 @@
]
},
"node_modules/@types/eslint": {
"version": "8.44.7",
"resolved": "https://registry.npmmirror.com/@types/eslint/-/eslint-8.44.7.tgz",
"integrity": "sha512-f5ORu2hcBbKei97U73mf+l9t4zTGl74IqZ0GQk4oVea/VS8tQZYkUveSYojk+frraAVYId0V2WC9O4PTNru2FQ==",
"version": "8.56.2",
"resolved": "https://registry.npmmirror.com/@types/eslint/-/eslint-8.56.2.tgz",
"integrity": "sha512-uQDwm1wFHmbBbCZCqAlq6Do9LYwByNZHWzXppSnay9SuwJ+VRbjkbLABer54kcPnMSlG6Fdiy2yaFXm/z9Z5gw==",
"dev": true,
"peer": true,
"dependencies": {
@ -1206,9 +1133,9 @@
}
},
"node_modules/@types/node": {
"version": "20.9.4",
"resolved": "https://registry.npmmirror.com/@types/node/-/node-20.9.4.tgz",
"integrity": "sha512-wmyg8HUhcn6ACjsn8oKYjkN/zUzQeNtMy44weTJSM6p4MMzEOuKbA3OjJ267uPCOW7Xex9dyrNTful8XTQYoDA==",
"version": "20.11.19",
"resolved": "https://registry.npmmirror.com/@types/node/-/node-20.11.19.tgz",
"integrity": "sha512-7xMnVEcZFu0DikYjWOlRq7NTPETrm7teqUT2WkQjrTIkEgUyyGdWsj/Zg8bEJt5TNklzbPD1X3fqfsHw3SpapQ==",
"dev": true,
"peer": true,
"dependencies": {
@ -1643,9 +1570,9 @@
"peer": true
},
"node_modules/acorn": {
"version": "8.11.2",
"resolved": "https://registry.npmmirror.com/acorn/-/acorn-8.11.2.tgz",
"integrity": "sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==",
"version": "8.11.3",
"resolved": "https://registry.npmmirror.com/acorn/-/acorn-8.11.3.tgz",
"integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==",
"dev": true,
"peer": true,
"bin": {
@ -1865,11 +1792,6 @@
"node": ">=6.0"
}
},
"node_modules/classnames": {
"version": "2.3.2",
"resolved": "https://registry.npmmirror.com/classnames/-/classnames-2.3.2.tgz",
"integrity": "sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw=="
},
"node_modules/color-convert": {
"version": "1.9.3",
"resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-1.9.3.tgz",
@ -2003,6 +1925,12 @@
"vue": "^3.2.0"
}
},
"node_modules/element-plus/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/enhanced-resolve": {
"version": "5.15.0",
"resolved": "https://registry.npmmirror.com/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz",
@ -2582,6 +2510,14 @@
"node": "^10 || ^12 || >=14"
}
},
"node_modules/postcss-pxtorem": {
"version": "6.1.0",
"resolved": "https://registry.npmmirror.com/postcss-pxtorem/-/postcss-pxtorem-6.1.0.tgz",
"integrity": "sha512-ROODSNci9ADal3zUcPHOF/K83TiCgNSPXQFSbwyPHNV8ioHIE4SaC+FPOufd8jsr5jV2uIz29v1Uqy1c4ov42g==",
"peerDependencies": {
"postcss": "^8.0.0"
}
},
"node_modules/proxy-from-env": {
"version": "1.1.0",
"resolved": "https://registry.npmmirror.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
@ -2734,9 +2670,9 @@
}
},
"node_modules/serialize-javascript": {
"version": "6.0.1",
"resolved": "https://registry.npmmirror.com/serialize-javascript/-/serialize-javascript-6.0.1.tgz",
"integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==",
"version": "6.0.2",
"resolved": "https://registry.npmmirror.com/serialize-javascript/-/serialize-javascript-6.0.2.tgz",
"integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==",
"dev": true,
"peer": true,
"dependencies": {
@ -2802,9 +2738,9 @@
}
},
"node_modules/terser": {
"version": "5.24.0",
"resolved": "https://registry.npmmirror.com/terser/-/terser-5.24.0.tgz",
"integrity": "sha512-ZpGR4Hy3+wBEzVEnHvstMvqpD/nABNelQn/z2r0fjVWGQsN3bpOLzQlqDxmb4CDZnXq5lpjnQ+mHQLAOpfM5iw==",
"version": "5.27.2",
"resolved": "https://registry.npmmirror.com/terser/-/terser-5.27.2.tgz",
"integrity": "sha512-sHXmLSkImesJ4p5apTeT63DsV4Obe1s37qT8qvwHRmVxKTBH7Rv9Wr26VcAMmLbmk9UliiwK8z+657NyJHHy/w==",
"dev": true,
"peer": true,
"dependencies": {
@ -2821,17 +2757,17 @@
}
},
"node_modules/terser-webpack-plugin": {
"version": "5.3.9",
"resolved": "https://registry.npmmirror.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz",
"integrity": "sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==",
"version": "5.3.10",
"resolved": "https://registry.npmmirror.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz",
"integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==",
"dev": true,
"peer": true,
"dependencies": {
"@jridgewell/trace-mapping": "^0.3.17",
"@jridgewell/trace-mapping": "^0.3.20",
"jest-worker": "^27.4.5",
"schema-utils": "^3.1.1",
"serialize-javascript": "^6.0.1",
"terser": "^5.16.8"
"terser": "^5.26.0"
},
"engines": {
"node": ">= 10.13.0"
@ -3008,20 +2944,20 @@
}
},
"node_modules/webpack": {
"version": "5.89.0",
"resolved": "https://registry.npmmirror.com/webpack/-/webpack-5.89.0.tgz",
"integrity": "sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==",
"version": "5.90.3",
"resolved": "https://registry.npmmirror.com/webpack/-/webpack-5.90.3.tgz",
"integrity": "sha512-h6uDYlWCctQRuXBs1oYpVe6sFcWedl0dpcVaTf/YF67J9bKvwJajFulMVSYKHrksMB3I/pIagRzDxwxkebuzKA==",
"dev": true,
"peer": true,
"dependencies": {
"@types/eslint-scope": "^3.7.3",
"@types/estree": "^1.0.0",
"@types/estree": "^1.0.5",
"@webassemblyjs/ast": "^1.11.5",
"@webassemblyjs/wasm-edit": "^1.11.5",
"@webassemblyjs/wasm-parser": "^1.11.5",
"acorn": "^8.7.1",
"acorn-import-assertions": "^1.9.0",
"browserslist": "^4.14.5",
"browserslist": "^4.21.10",
"chrome-trace-event": "^1.0.2",
"enhanced-resolve": "^5.15.0",
"es-module-lexer": "^1.2.1",
@ -3035,7 +2971,7 @@
"neo-async": "^2.6.2",
"schema-utils": "^3.2.0",
"tapable": "^2.1.1",
"terser-webpack-plugin": "^5.3.7",
"terser-webpack-plugin": "^5.3.10",
"watchpack": "^2.4.0",
"webpack-sources": "^3.2.3"
},
@ -3414,16 +3350,6 @@
"resolved": "https://registry.npmmirror.com/@ctrl/tinycolor/-/tinycolor-3.6.1.tgz",
"integrity": "sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA=="
},
"@dataview/datav-vue3": {
"version": "0.0.0-test.1672506674342",
"resolved": "https://registry.npmmirror.com/@dataview/datav-vue3/-/datav-vue3-0.0.0-test.1672506674342.tgz",
"integrity": "sha512-d0oT/msAi592CTvWmQl0umkLpHgMwtTN2+peyo0L2GHNG7b4cKeO9meEF5o28DgFzRwOLeNQW73vKCF4JC+ihw==",
"requires": {
"@jiaminghi/color": "^0.1.1",
"classnames": "^2.3.2",
"lodash-es": "^4.17.21"
}
},
"@element-plus/icons-vue": {
"version": "2.3.1",
"resolved": "https://registry.npmmirror.com/@element-plus/icons-vue/-/icons-vue-2.3.1.tgz",
@ -3606,59 +3532,6 @@
"resolved": "https://registry.npmmirror.com/@floating-ui/utils/-/utils-0.1.6.tgz",
"integrity": "sha512-OfX7E2oUDYxtBvsuS4e/jSn4Q9Qb6DzgeYtsAdkPZ47znpoNsMgZw0+tVijiv3uGNR6dgNlty6r9rzIzHjtd/A=="
},
"@jiaminghi/bezier-curve": {
"version": "0.0.9",
"resolved": "https://registry.npmjs.org/@jiaminghi/bezier-curve/-/bezier-curve-0.0.9.tgz",
"integrity": "sha512-u9xJPOEl6Dri2E9FfmJoGxYQY7vYJkURNX04Vj64tdi535tPrpkuf9Sm0lNr3QTKdHQh0DdNRsaa62FLQNQEEw==",
"requires": {
"@babel/runtime": "^7.5.5"
}
},
"@jiaminghi/c-render": {
"version": "0.4.3",
"resolved": "https://registry.npmjs.org/@jiaminghi/c-render/-/c-render-0.4.3.tgz",
"integrity": "sha512-FJfzj5hGj7MLqqqI2D7vEzHKbQ1Ynnn7PJKgzsjXaZpJzTqs2Yw5OSeZnm6l7Qj7jyPAP53lFvEQNH4o4j6s+Q==",
"requires": {
"@babel/runtime": "^7.5.5",
"@jiaminghi/bezier-curve": "*",
"@jiaminghi/color": "*",
"@jiaminghi/transition": "*"
}
},
"@jiaminghi/charts": {
"version": "0.2.18",
"resolved": "https://registry.npmjs.org/@jiaminghi/charts/-/charts-0.2.18.tgz",
"integrity": "sha512-K+HXaOOeWG9OOY1VG6M4mBreeeIAPhb9X+khG651AbnwEwL6G2UtcAQ8GWCq6GzhczcLwwhIhuaHqRygwHC0sA==",
"requires": {
"@babel/runtime": "^7.5.5",
"@jiaminghi/c-render": "^0.4.3"
}
},
"@jiaminghi/color": {
"version": "0.1.1",
"resolved": "https://registry.npmmirror.com/@jiaminghi/color/-/color-0.1.1.tgz",
"integrity": "sha512-M09+Sb5HGqVim0zo+nG5gU1v+6gXT8ptr0BZR6dMGt83XmCJgnZtO8s7llTW4hLFFFM5co6geZvTekqLpSPAAQ==",
"requires": {
"@babel/runtime": "^7.5.5"
}
},
"@jiaminghi/data-view": {
"version": "2.10.0",
"resolved": "https://registry.npmjs.org/@jiaminghi/data-view/-/data-view-2.10.0.tgz",
"integrity": "sha512-Cud2MTiMcqc5k2KWabR/svuVQmXHANqURo+yj40370/LdI/gyUJ6LG203hWXEnT1nMCeiv/SLVmxv3PXLScCeA==",
"requires": {
"@babel/runtime": "^7.5.5",
"@jiaminghi/charts": "*"
}
},
"@jiaminghi/transition": {
"version": "1.1.11",
"resolved": "https://registry.npmjs.org/@jiaminghi/transition/-/transition-1.1.11.tgz",
"integrity": "sha512-owBggipoHMikDHHDW5Gc7RZYlVuvxHADiU4bxfjBVkHDAmmck+fCkm46n2JzC3j33hWvP9nSCAeh37t6stgWeg==",
"requires": {
"@babel/runtime": "^7.5.5"
}
},
"@jridgewell/gen-mapping": {
"version": "0.3.3",
"resolved": "https://registry.npmmirror.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz",
@ -3708,11 +3581,6 @@
"@jridgewell/sourcemap-codec": "^1.4.14"
}
},
"@popperjs/core": {
"version": "npm:@sxzz/popperjs-es@2.11.7",
"resolved": "https://registry.npmmirror.com/@sxzz/popperjs-es/-/popperjs-es-2.11.7.tgz",
"integrity": "sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ=="
},
"@rollup/rollup-android-arm-eabi": {
"version": "4.5.1",
"resolved": "https://registry.npmmirror.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.5.1.tgz",
@ -3798,9 +3666,9 @@
"optional": true
},
"@types/eslint": {
"version": "8.44.7",
"resolved": "https://registry.npmmirror.com/@types/eslint/-/eslint-8.44.7.tgz",
"integrity": "sha512-f5ORu2hcBbKei97U73mf+l9t4zTGl74IqZ0GQk4oVea/VS8tQZYkUveSYojk+frraAVYId0V2WC9O4PTNru2FQ==",
"version": "8.56.2",
"resolved": "https://registry.npmmirror.com/@types/eslint/-/eslint-8.56.2.tgz",
"integrity": "sha512-uQDwm1wFHmbBbCZCqAlq6Do9LYwByNZHWzXppSnay9SuwJ+VRbjkbLABer54kcPnMSlG6Fdiy2yaFXm/z9Z5gw==",
"dev": true,
"peer": true,
"requires": {
@ -3847,9 +3715,9 @@
}
},
"@types/node": {
"version": "20.9.4",
"resolved": "https://registry.npmmirror.com/@types/node/-/node-20.9.4.tgz",
"integrity": "sha512-wmyg8HUhcn6ACjsn8oKYjkN/zUzQeNtMy44weTJSM6p4MMzEOuKbA3OjJ267uPCOW7Xex9dyrNTful8XTQYoDA==",
"version": "20.11.19",
"resolved": "https://registry.npmmirror.com/@types/node/-/node-20.11.19.tgz",
"integrity": "sha512-7xMnVEcZFu0DikYjWOlRq7NTPETrm7teqUT2WkQjrTIkEgUyyGdWsj/Zg8bEJt5TNklzbPD1X3fqfsHw3SpapQ==",
"dev": true,
"peer": true,
"requires": {
@ -4231,9 +4099,9 @@
"peer": true
},
"acorn": {
"version": "8.11.2",
"resolved": "https://registry.npmmirror.com/acorn/-/acorn-8.11.2.tgz",
"integrity": "sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==",
"version": "8.11.3",
"resolved": "https://registry.npmmirror.com/acorn/-/acorn-8.11.3.tgz",
"integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==",
"dev": true,
"peer": true
},
@ -4407,11 +4275,6 @@
"dev": true,
"peer": true
},
"classnames": {
"version": "2.3.2",
"resolved": "https://registry.npmmirror.com/classnames/-/classnames-2.3.2.tgz",
"integrity": "sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw=="
},
"color-convert": {
"version": "1.9.3",
"resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-1.9.3.tgz",
@ -4521,6 +4384,13 @@
"lodash-unified": "^1.0.2",
"memoize-one": "^6.0.0",
"normalize-wheel-es": "^1.2.0"
},
"dependencies": {
"@popperjs/core": {
"version": "npm:@sxzz/popperjs-es@2.11.7",
"resolved": "https://registry.npmmirror.com/@sxzz/popperjs-es/-/popperjs-es-2.11.7.tgz",
"integrity": "sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ=="
}
}
},
"enhanced-resolve": {
@ -4952,6 +4822,12 @@
"source-map-js": "^1.0.2"
}
},
"postcss-pxtorem": {
"version": "6.1.0",
"resolved": "https://registry.npmmirror.com/postcss-pxtorem/-/postcss-pxtorem-6.1.0.tgz",
"integrity": "sha512-ROODSNci9ADal3zUcPHOF/K83TiCgNSPXQFSbwyPHNV8ioHIE4SaC+FPOufd8jsr5jV2uIz29v1Uqy1c4ov42g==",
"requires": {}
},
"proxy-from-env": {
"version": "1.1.0",
"resolved": "https://registry.npmmirror.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
@ -5055,9 +4931,9 @@
"dev": true
},
"serialize-javascript": {
"version": "6.0.1",
"resolved": "https://registry.npmmirror.com/serialize-javascript/-/serialize-javascript-6.0.1.tgz",
"integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==",
"version": "6.0.2",
"resolved": "https://registry.npmmirror.com/serialize-javascript/-/serialize-javascript-6.0.2.tgz",
"integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==",
"dev": true,
"peer": true,
"requires": {
@ -5111,9 +4987,9 @@
"peer": true
},
"terser": {
"version": "5.24.0",
"resolved": "https://registry.npmmirror.com/terser/-/terser-5.24.0.tgz",
"integrity": "sha512-ZpGR4Hy3+wBEzVEnHvstMvqpD/nABNelQn/z2r0fjVWGQsN3bpOLzQlqDxmb4CDZnXq5lpjnQ+mHQLAOpfM5iw==",
"version": "5.27.2",
"resolved": "https://registry.npmmirror.com/terser/-/terser-5.27.2.tgz",
"integrity": "sha512-sHXmLSkImesJ4p5apTeT63DsV4Obe1s37qT8qvwHRmVxKTBH7Rv9Wr26VcAMmLbmk9UliiwK8z+657NyJHHy/w==",
"dev": true,
"peer": true,
"requires": {
@ -5124,17 +5000,17 @@
}
},
"terser-webpack-plugin": {
"version": "5.3.9",
"resolved": "https://registry.npmmirror.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz",
"integrity": "sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==",
"version": "5.3.10",
"resolved": "https://registry.npmmirror.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz",
"integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==",
"dev": true,
"peer": true,
"requires": {
"@jridgewell/trace-mapping": "^0.3.17",
"@jridgewell/trace-mapping": "^0.3.20",
"jest-worker": "^27.4.5",
"schema-utils": "^3.1.1",
"serialize-javascript": "^6.0.1",
"terser": "^5.16.8"
"terser": "^5.26.0"
}
},
"to-fast-properties": {
@ -5228,20 +5104,20 @@
}
},
"webpack": {
"version": "5.89.0",
"resolved": "https://registry.npmmirror.com/webpack/-/webpack-5.89.0.tgz",
"integrity": "sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==",
"version": "5.90.3",
"resolved": "https://registry.npmmirror.com/webpack/-/webpack-5.90.3.tgz",
"integrity": "sha512-h6uDYlWCctQRuXBs1oYpVe6sFcWedl0dpcVaTf/YF67J9bKvwJajFulMVSYKHrksMB3I/pIagRzDxwxkebuzKA==",
"dev": true,
"peer": true,
"requires": {
"@types/eslint-scope": "^3.7.3",
"@types/estree": "^1.0.0",
"@types/estree": "^1.0.5",
"@webassemblyjs/ast": "^1.11.5",
"@webassemblyjs/wasm-edit": "^1.11.5",
"@webassemblyjs/wasm-parser": "^1.11.5",
"acorn": "^8.7.1",
"acorn-import-assertions": "^1.9.0",
"browserslist": "^4.14.5",
"browserslist": "^4.21.10",
"chrome-trace-event": "^1.0.2",
"enhanced-resolve": "^5.15.0",
"es-module-lexer": "^1.2.1",
@ -5255,7 +5131,7 @@
"neo-async": "^2.6.2",
"schema-utils": "^3.2.0",
"tapable": "^2.1.1",
"terser-webpack-plugin": "^5.3.7",
"terser-webpack-plugin": "^5.3.10",
"watchpack": "^2.4.0",
"webpack-sources": "^3.2.3"
}

View File

@ -9,8 +9,6 @@
"preview": "vite preview"
},
"dependencies": {
"@dataview/datav-vue3": "^0.0.0-test.1672506674342",
"@jiaminghi/data-view": "^2.10.0",
"@vuepic/vue-datepicker": "^7.4.0",
"amfe-flexible": "^2.2.1",
"axios": "^1.6.5",
@ -18,6 +16,7 @@
"element-plus": "^2.4.4",
"mitt": "^3.0.1",
"pinia": "^2.1.7",
"postcss-pxtorem": "^6.1.0",
"vue": "^3.3.8",
"vue-router": "^4.2.5"
},

View File

@ -1,11 +1,8 @@
<script setup lang="ts">
</script>
<template>
<div class="main-box">
<router-view></router-view>
</div>
</template>
@ -19,16 +16,5 @@
padding: 0;
}
.main-box {
width: 720px;
overflow: hidden;
box-sizing: border-box;
min-height: 100px;
inset: 0;
margin: 0 auto;
background-color: black;
color: white;
}
</style>

View File

@ -1,15 +1,9 @@
import { createApp } from 'vue'
import App from './App.vue'
import dataV from '@jiaminghi/data-view'
import router from "./router";
import ElementPlus from 'element-plus'
import * as ElementPlusIconsVue from '@element-plus/icons-vue'
// 标准的ES模块化引入方式
import '@/utils/rem.js'
import {
createPinia
} from 'pinia'
@ -20,7 +14,6 @@ const app = createApp(App)
app.use(router)
app.use(dataV)
app.use(pinia)
app.use(ElementPlus)
app.mount('#app')

16
src/utils/rem.js Normal file
View File

@ -0,0 +1,16 @@
// 基准大小
const baseSize = 192
// 设置 rem 函数
function setRem() {
// 当前页面宽度相对于 750 宽的缩放比例,可根据自己需要修改。
const scale = document.documentElement.clientWidth / 1280
// 设置页面根节点字体大小
document.documentElement.style.fontSize = (baseSize * Math.min(scale, 2)) + 'px'
}
// 初始化
setRem()
// 改变窗口大小时重新设置 rem
window.onresize = function () {
setRem()
}

View File

View File

@ -1,15 +1,14 @@
<template>
<div class="main-box">
<router-view :key="route.path"></router-view>
</div>
</template>
<script setup>
import { useRoute } from "vue-router";
const route = useRoute()
import { globalEventBus } from '@/common/eventBus'
//
for (let i = 1; i < 6; i++) {
globalEventBus.on('header' + i, data => {
@ -17,11 +16,19 @@ for (let i = 1; i < 6; i++) {
console.log(i)
})
}
</script>
<style>
.main-box{
width: 100vw;
height: 100vh;
overflow: hidden;
background-image: url('/static/img/index/index_bg.png');
background-size: 100% 100%;
}
</style>

View File

@ -1,47 +1,61 @@
<template>
<div class="menu">
<router-link to="/tradeScreen" style="color: white;">
<div class="menu-li"> 数据之眼可视化大屏 </div>
</router-link>
<router-link to="/plantScreen" style="color: white;">
<div class="menu-li"> 种植溯源可视化大屏 </div>
</router-link>
<router-link to="/logisticsScreen" style="color: white;">
<div class="menu-li"> 物流溯源可视化大屏 </div>
</router-link>
<div class="menu-li sjzy" @click="navgo('tradeScreen')">
</div>
<div class="menu-li ylps" @click="navgo('logisticsScreen')">
</div>
<div class="menu-li ylsq" @click="navgo('plantScreen')">
</div>
<div class="menu-li ylyz" @click="navgo('plantScreen')">
</div>
</div>
</template>
<script setup>
import { useRouter } from "vue-router";
const router =useRouter()
const navgo=(path)=>{
router.push('/'+path)
}
</script>
<style lang="scss">
.menu {
width: 720px;
background-color: black;
min-height: 100vh;
color: white;
font-family: 'FZCYJ';
padding: 30px 0;
width: 1280px;
height: 720px;
display: flex;
align-items: center;
justify-content: center;
.menu-li {
text-align: center;
margin: 2vh;
cursor: pointer;
margin-right: 20px;
width: 203.93px;
height: 275.09px;
background-size: 100% 100%;
}
.sjzy {
background-image: url('/static/img/index/sjzy.png');
}
.sjzy:active {
background-image: url('/static/img/index/sjzyAct.png');
}
.ylps{
background-image: url('/static/img/index/ylps.png');
}
.ylps:active {
background-image: url('/static/img/index/ylpsAct.png');
}
.ylsq{
background-image: url('/static/img/index/ylsq.png');
}
.ylsq:active {
background-image: url('/static/img/index/ylsqAct.png');
}
.ylyz{
background-image: url('/static/img/index/ylyz.png');
}
.ylyz:active {
background-image: url('/static/img/index/ylyzAct.png');
}
}
</style>

View File

@ -1,5 +1,5 @@
<template>
<div style="text-align: center;">数据之眼可视化大屏</div>
<div style="text-align: center;">伤感情</div>
<el-select v-model="areaCode" class="m-2" @change="changeArea" placeholder="Select" size="large">
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value" />
</el-select>

View File

@ -1,5 +1,29 @@
<template>
<div style="text-align: center;">数据之眼可视化大屏</div>
<div style="height: 100vh;">
<div class="menu">
<!-- <img src="/static/img/tradeScreen/SY.png" alt=""> -->
<!-- <img src="" alt=""> -->
<!-- <el-image style="width: 10px; height: 10px" src="/static/img/tradeScreen/SY.png" :fit="fit" /> -->
<div class="menu-li sy"></div>
<div class="menu-li sc"></div>
<div class="menu-li sc"></div>
<div class="menu-li sc"></div>
<div class="menu-li sc"></div>
</div>
<div class="area">
<!-- <span>江陽區</span>
<span>那成接納</span> -->
<div class="area-top">
<div class="town">江陽區</div>
<div class="town">江陽區</div>
</div>
<div class="area-bottom"></div>
</div>
</div>
<!-- <div style="text-align: center;">数据之眼可视化大屏</div>
<div>
<button @click="sendFn('header1', { page: 1 })">首页</button>
<button @click="sendFn('header2', { page: 2 })">商品</button>
@ -13,63 +37,9 @@
<el-select v-model="townCode" class="m-2" @change="changeTown" placeholder="Select" size="large">
<el-option v-for="item in townOptions" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
<!-- <button @click="sendFn('header7', { id: 510521107, name: '玄潭镇' })">玄潭镇</button> -->
</div>
<div v-if="page == 1">
<!-- <button @click="sendFn('indextopleft', { num: 1 })">地方店铺统计1</button>
<button @click="sendFn('indextopleft', { num: 2 })">地方店铺统计2</button>
<button @click="sendFn('indextopleft', { num: 3 })">地方店铺统计3</button>
<button @click="sendFn('indextopleft', { num: 3 })">商品销售排行</button>
<button @click="sendFn('indextopleft', { num: 3 })">商品销售排行</button>
<button @click="sendFn('indextopright-1')">商品销售排行</button>
<button @click="sendFn('indextopright-2')">店铺销量排行</button>
<button @click="sendFn('indextopright', { num: 1 })"> 平台用户数量1</button>
<button @click="sendFn('indextopright', { num: 2 })"> 平台用户数量2</button>
<button @click="sendFn('indextopright', { num: 3 })"> 平台用户数量3</button> -->
</div>
<div v-if="page == 2">
<!-- <button @click="sendFn('header2-1', { num: 2 })"> 商品分类</button>
<button @click="sendFn('header2-2', { num: 2 })"> 积分管理</button>
<button @click="sendFn('header2-2-1', { type: 1 })"> 出售中的商品</button>
<button @click="sendFn('header2-2-2', { type: 2 })"> 仓库中商品</button>
<button @click="sendFn('header2-2-3', { type: 6 })"> 待审核商品</button>
<button @click="sendFn('header2-2-4', { type: 7 })"> 审核未通过商品</button> -->
</div>
<div v-if="page == 3">
<!-- <button @click="sendFn('header3-1')"> 开启的商户</button>
<button @click="sendFn('header3-2')"> 关闭的商户</button>
<button @click="sendFn('header3-3', { id: 42 })"> 登录42</button> -->
</div>
<div v-if="page == 4">
<!--
<button @click="sendFn('header4-1')"> 订单列表</button>
<button @click="sendFn('header4-1-1', { index: 4 })"> 订单详情</button>
<button @click="sendFn('header4-2')"> 退款单</button>
<button @click="sendFn('header4-3',)"> 核销订单</button> -->
</div>
<div v-if="page == 5">
<!-- <button @click="sendFn('header5-1')"> 提现记录</button>
<button @click="sendFn('header5-2', { index: 4 })"> 资金记录</button>
<button @click="sendFn('header5-3')"> 账单管理</button>
<button @click="sendFn('header5-3-1',)"> 日账单</button>
<button @click="sendFn('header5-3-2',)"> 月账单</button>
<button @click="sendFn('header5-3-3', {time:'2023-11-16'})"> 详情</button>
<button @click="sendFn('header5-3-4')"> 关闭弹窗</button> -->
</div>
</div> -->
</template>
<script setup scoped>
@ -78,33 +48,33 @@ import { sendMsg } from "@/api.js"
import axios from "axios"
const options = [
{
value: '510502',
label: '江阳区',
},
{
value: '510503',
label: '纳溪区',
},
{
value: '510504',
label: '龙马潭区',
},
{
value: '510521',
label: '泸县',
},
{
value: '510522',
label: '合江县 ',
},
{
value: '510524',
label: '叙永县 ',
}, {
value: '510525',
label: '古蔺县 ',
},
{
value: '510502',
label: '江阳区',
},
{
value: '510503',
label: '纳溪区',
},
{
value: '510504',
label: '龙马潭区',
},
{
value: '510521',
label: '泸县',
},
{
value: '510522',
label: '合江县 ',
},
{
value: '510524',
label: '叙永县 ',
}, {
value: '510525',
label: '古蔺县 ',
},
]
const townOptions = []
@ -115,18 +85,18 @@ const townCode = ref("")
const changeArea = (e) => {
getTownList()
options.forEach(item => {
if (item.value == e) {
sendFn('choserArea', { name: item.label, code: item.value })
}
})
getTownList()
options.forEach(item => {
if (item.value == e) {
sendFn('choserArea', { name: item.label, code: item.value })
}
})
}
const changeTown = (e) => {
townOptions.forEach(item => {
if (item.value == e) {
sendFn('header7', { id: item.value, name: item.label })
sendFn('header7', { id: item.value, name: item.label })
// sendFn('choseTown', { name: item.label })
}
})
@ -154,14 +124,65 @@ const page = ref(1)
const sendFn = (event, data = '') => {
if (data.page) page.value = data.page;
sendMsg({ channel: 'user-2', event, data })
if (data.page) page.value = data.page;
sendMsg({ channel: 'user-2', event, data })
}
</script>
<style lang="scss" scoped>
button {
padding: 10px;
margin: 10px;
.menu {
display: flex;
align-items: center;
justify-content: center;
height: 100%;
}
.menu-li {
width: 185.56px;
height: 213.05px;
background-size: 100% 100%;
}
.sy {
background-image: url('/static/img/tradeScreen/SC.png');
}
.sc {
background-image: url('/static/img/tradeScreen/SC.png');
}
.area {
position: absolute;
font-size: 20px;
color: white;
bottom: 0px;
left: 50%;
transform: translateX(-50%);
width: 558px;
.area-top {
display: flex;
justify-content: space-around;
.town {
background-image: url('/static/img/tradeScreen/areaA.png');
background-size: 100% 100%;
width: 160.12px;
height: 30.94px;
text-align: center;
line-height: 10px;
}
}
}
.area-bottom {
background-image: url('/static/img/tradeScreen/areaB.png');
width: 558px;
height: 57px;
background-size: 100% 100%;
transform: translateY(-20px);
}
</style>

Binary file not shown.

After

Width:  |  Height:  |  Size: 499 KiB

BIN
static/img/index/sjzy.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

BIN
static/img/index/ylps.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

BIN
static/img/index/ylsq.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

BIN
static/img/index/ylyz.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 182 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 172 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 148 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 163 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 151 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 162 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 151 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 175 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 181 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 175 KiB

View File

@ -1,22 +0,0 @@
<template>
fdsfsdssdf
</template>
<script setup scoped>
import {ref,reactive} from "vue"
</script>
<style lang="scss" scoped>
</style>

View File

@ -1,11 +1,12 @@
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import path from 'path'
import postCssPxToRem from 'postcss-pxtorem'
export default defineConfig({
plugins: [vue()],
server: { // ← ← ← ← ← ←
host: '0.0.0.0' ,// ← 新增内容 ←
port:"8888"
port:"9999"
},
resolve: {
//别名配置引用src路径下的东西可以通过@如import Layout from '@/layout/index.vue'
@ -17,7 +18,10 @@ export default defineConfig({
css: {
postcss: {
plugins: [
postCssPxToRem({
rootValue: 192,
propList: ['*'],
})
]
}
},