Browse Source

0811提交

master
xiaohei 1 year ago
parent
commit
d7d6b6b8a2
41 changed files with 1946 additions and 135 deletions
  1. +865
    -0
      montier/package-lock.json
  2. +7
    -1
      montier/package.json
  3. +18
    -23
      montier/src/App.vue
  4. +459
    -0
      montier/src/assets/css/index.css
  5. BIN
      montier/src/assets/img/Banner/Banner1.jpg
  6. BIN
      montier/src/assets/img/Banner/Banner3.jpg
  7. BIN
      montier/src/assets/img/Banner/banner2.jpg
  8. BIN
      montier/src/assets/img/Quality icon/ASTM.jpg
  9. BIN
      montier/src/assets/img/Quality icon/ETL.jpg
  10. BIN
      montier/src/assets/img/Quality icon/ISO 9001.jpeg
  11. BIN
      montier/src/assets/img/Quality icon/Intertek.png
  12. BIN
      montier/src/assets/img/Quality icon/NFRC.png
  13. BIN
      montier/src/assets/img/Quality icon/UL.jpeg
  14. BIN
      montier/src/assets/img/Quality icon/UL1.png
  15. BIN
      montier/src/assets/img/Quality icon/ce标志符号.jpg
  16. BIN
      montier/src/assets/img/Quality icon/intertek-ETL.jpg
  17. BIN
      montier/src/assets/img/Quality icon/sgs.gif
  18. BIN
      montier/src/assets/img/Quality icon/门:FM.webp
  19. BIN
      montier/src/assets/img/logo.png
  20. BIN
      montier/src/assets/img/logo1.png
  21. BIN
      montier/src/assets/img/塑胶窗的安装.jpg
  22. BIN
      montier/src/assets/img/安装木地板.jpg
  23. BIN
      montier/src/assets/img/实验室的高级男性研究员.jpg
  24. BIN
      montier/src/assets/img/木匠在车间用砂弯木栏杆.jpg
  25. BIN
      montier/src/assets/img/检查员正在用量规检查钢板的厚度。.jpg
  26. BIN
      montier/src/assets/img/混凝土建筑.jpg
  27. BIN
      montier/src/assets/img/用焊接量规检查焊件.jpg
  28. BIN
      montier/src/assets/img/社交网络的象征。社交网络符号与人的形象.jpg
  29. BIN
      montier/src/assets/img/笔记本电脑上的购物车.jpg
  30. +11
    -0
      montier/src/components/FooterPage.vue
  31. +500
    -0
      montier/src/components/HeaderPage.vue
  32. +0
    -38
      montier/src/components/HelloWorld.vue
  33. +11
    -2
      montier/src/main.ts
  34. +11
    -0
      montier/src/pages/HomePage.vue
  35. +15
    -0
      montier/src/router/index.ts
  36. +3
    -0
      montier/src/store/index.ts
  37. +19
    -0
      montier/src/store/modules/homepage.ts
  38. +0
    -0
      montier/src/store/modules/interface/index.ts
  39. +16
    -71
      montier/src/style.css
  40. +5
    -0
      montier/src/vite-env.d.ts
  41. +6
    -0
      montier/vite.config.ts

+ 865
- 0
montier/package-lock.json View File

@ -0,0 +1,865 @@
{
"name": "montier",
"version": "0.0.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
"@babel/parser": {
"version": "7.22.10",
"resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.22.10.tgz",
"integrity": "sha512-lNbdGsQb9ekfsnjFGhEiF4hfFqGgfOP3H3d27re3n+CGhNuTSUEQdfWk556sTLNTloczcdM5TYF2LhzmDQKyvQ=="
},
"@ctrl/tinycolor": {
"version": "3.6.0",
"resolved": "https://registry.npmmirror.com/@ctrl/tinycolor/-/tinycolor-3.6.0.tgz",
"integrity": "sha512-/Z3l6pXthq0JvMYdUFyX9j0MaCltlIn6mfh9jLyQwg5aPKxkyNa0PTHtU1AlFXLNk55ZuAeJRcpvq+tmLfKmaQ=="
},
"@element-plus/icons-vue": {
"version": "2.1.0",
"resolved": "https://registry.npmmirror.com/@element-plus/icons-vue/-/icons-vue-2.1.0.tgz",
"integrity": "sha512-PSBn3elNoanENc1vnCfh+3WA9fimRC7n+fWkf3rE5jvv+aBohNHABC/KAR5KWPecxWxDTVT1ERpRbOMRcOV/vA=="
},
"@esbuild/android-arm": {
"version": "0.18.20",
"resolved": "https://registry.npmmirror.com/@esbuild/android-arm/-/android-arm-0.18.20.tgz",
"integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==",
"dev": true,
"optional": true
},
"@esbuild/android-arm64": {
"version": "0.18.20",
"resolved": "https://registry.npmmirror.com/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz",
"integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==",
"dev": true,
"optional": true
},
"@esbuild/android-x64": {
"version": "0.18.20",
"resolved": "https://registry.npmmirror.com/@esbuild/android-x64/-/android-x64-0.18.20.tgz",
"integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==",
"dev": true,
"optional": true
},
"@esbuild/darwin-arm64": {
"version": "0.18.20",
"resolved": "https://registry.npmmirror.com/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz",
"integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==",
"dev": true,
"optional": true
},
"@esbuild/darwin-x64": {
"version": "0.18.20",
"resolved": "https://registry.npmmirror.com/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz",
"integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==",
"dev": true,
"optional": true
},
"@esbuild/freebsd-arm64": {
"version": "0.18.20",
"resolved": "https://registry.npmmirror.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz",
"integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==",
"dev": true,
"optional": true
},
"@esbuild/freebsd-x64": {
"version": "0.18.20",
"resolved": "https://registry.npmmirror.com/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz",
"integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==",
"dev": true,
"optional": true
},
"@esbuild/linux-arm": {
"version": "0.18.20",
"resolved": "https://registry.npmmirror.com/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz",
"integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==",
"dev": true,
"optional": true
},
"@esbuild/linux-arm64": {
"version": "0.18.20",
"resolved": "https://registry.npmmirror.com/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz",
"integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==",
"dev": true,
"optional": true
},
"@esbuild/linux-ia32": {
"version": "0.18.20",
"resolved": "https://registry.npmmirror.com/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz",
"integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==",
"dev": true,
"optional": true
},
"@esbuild/linux-loong64": {
"version": "0.18.20",
"resolved": "https://registry.npmmirror.com/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz",
"integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==",
"dev": true,
"optional": true
},
"@esbuild/linux-mips64el": {
"version": "0.18.20",
"resolved": "https://registry.npmmirror.com/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz",
"integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==",
"dev": true,
"optional": true
},
"@esbuild/linux-ppc64": {
"version": "0.18.20",
"resolved": "https://registry.npmmirror.com/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz",
"integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==",
"dev": true,
"optional": true
},
"@esbuild/linux-riscv64": {
"version": "0.18.20",
"resolved": "https://registry.npmmirror.com/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz",
"integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==",
"dev": true,
"optional": true
},
"@esbuild/linux-s390x": {
"version": "0.18.20",
"resolved": "https://registry.npmmirror.com/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz",
"integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==",
"dev": true,
"optional": true
},
"@esbuild/linux-x64": {
"version": "0.18.20",
"resolved": "https://registry.npmmirror.com/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz",
"integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==",
"dev": true,
"optional": true
},
"@esbuild/netbsd-x64": {
"version": "0.18.20",
"resolved": "https://registry.npmmirror.com/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz",
"integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==",
"dev": true,
"optional": true
},
"@esbuild/openbsd-x64": {
"version": "0.18.20",
"resolved": "https://registry.npmmirror.com/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz",
"integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==",
"dev": true,
"optional": true
},
"@esbuild/sunos-x64": {
"version": "0.18.20",
"resolved": "https://registry.npmmirror.com/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz",
"integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==",
"dev": true,
"optional": true
},
"@esbuild/win32-arm64": {
"version": "0.18.20",
"resolved": "https://registry.npmmirror.com/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz",
"integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==",
"dev": true,
"optional": true
},
"@esbuild/win32-ia32": {
"version": "0.18.20",
"resolved": "https://registry.npmmirror.com/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz",
"integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==",
"dev": true,
"optional": true
},
"@esbuild/win32-x64": {
"version": "0.18.20",
"resolved": "https://registry.npmmirror.com/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz",
"integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==",
"dev": true,
"optional": true
},
"@floating-ui/core": {
"version": "1.4.1",
"resolved": "https://registry.npmmirror.com/@floating-ui/core/-/core-1.4.1.tgz",
"integrity": "sha512-jk3WqquEJRlcyu7997NtR5PibI+y5bi+LS3hPmguVClypenMsCY3CBa3LAQnozRCtCrYWSEtAdiskpamuJRFOQ==",
"requires": {
"@floating-ui/utils": "^0.1.1"
}
},
"@floating-ui/dom": {
"version": "1.5.1",
"resolved": "https://registry.npmmirror.com/@floating-ui/dom/-/dom-1.5.1.tgz",
"integrity": "sha512-KwvVcPSXg6mQygvA1TjbN/gh///36kKtllIF8SUm0qpFj8+rvYrpvlYdL1JoA71SHpDqgSSdGOSoQ0Mp3uY5aw==",
"requires": {
"@floating-ui/core": "^1.4.1",
"@floating-ui/utils": "^0.1.1"
}
},
"@floating-ui/utils": {
"version": "0.1.1",
"resolved": "https://registry.npmmirror.com/@floating-ui/utils/-/utils-0.1.1.tgz",
"integrity": "sha512-m0G6wlnhm/AX0H12IOWtK8gASEMffnX08RtKkCgTdHb9JpHKGloI7icFfLg9ZmQeavcvR0PKmzxClyuFPSjKWw=="
},
"@jridgewell/sourcemap-codec": {
"version": "1.4.15",
"resolved": "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz",
"integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg=="
},
"@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=="
},
"@types/lodash": {
"version": "4.14.197",
"resolved": "https://registry.npmmirror.com/@types/lodash/-/lodash-4.14.197.tgz",
"integrity": "sha512-BMVOiWs0uNxHVlHBgzTIqJYmj+PgCo4euloGF+5m4okL3rEYzM2EEv78mw8zWSMM57dM7kVIgJ2QDvwHSoCI5g=="
},
"@types/lodash-es": {
"version": "4.17.8",
"resolved": "https://registry.npmmirror.com/@types/lodash-es/-/lodash-es-4.17.8.tgz",
"integrity": "sha512-euY3XQcZmIzSy7YH5+Unb3b2X12Wtk54YWINBvvGQ5SmMvwb11JQskGsfkH/5HXK77Kr8GF0wkVDIxzAisWtog==",
"requires": {
"@types/lodash": "*"
}
},
"@types/node": {
"version": "20.4.9",
"resolved": "https://registry.npmmirror.com/@types/node/-/node-20.4.9.tgz",
"integrity": "sha512-8e2HYcg7ohnTUbHk8focoklEQYvemQmu9M/f43DZVx43kHn0tE3BY/6gSDxS7k0SprtS0NHvj+L80cGLnoOUcQ==",
"dev": true
},
"@types/web-bluetooth": {
"version": "0.0.16",
"resolved": "https://registry.npmmirror.com/@types/web-bluetooth/-/web-bluetooth-0.0.16.tgz",
"integrity": "sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ=="
},
"@vitejs/plugin-vue": {
"version": "4.2.3",
"resolved": "https://registry.npmmirror.com/@vitejs/plugin-vue/-/plugin-vue-4.2.3.tgz",
"integrity": "sha512-R6JDUfiZbJA9cMiguQ7jxALsgiprjBeHL5ikpXfJCH62pPHtI+JdJ5xWj6Ev73yXSlYl86+blXn1kZHQ7uElxw==",
"dev": true
},
"@volar/language-core": {
"version": "1.10.0",
"resolved": "https://registry.npmmirror.com/@volar/language-core/-/language-core-1.10.0.tgz",
"integrity": "sha512-ddyWwSYqcbEZNFHm+Z3NZd6M7Ihjcwl/9B5cZd8kECdimVXUFdFi60XHWD27nrWtUQIsUYIG7Ca1WBwV2u2LSQ==",
"dev": true,
"requires": {
"@volar/source-map": "1.10.0"
}
},
"@volar/source-map": {
"version": "1.10.0",
"resolved": "https://registry.npmmirror.com/@volar/source-map/-/source-map-1.10.0.tgz",
"integrity": "sha512-/ibWdcOzDGiq/GM1JU2eX8fH1bvAhl66hfe8yEgLEzg9txgr6qb5sQ/DEz5PcDL75tF5H5sCRRwn8Eu8ezi9mw==",
"dev": true,
"requires": {
"muggle-string": "^0.3.1"
}
},
"@volar/typescript": {
"version": "1.10.0",
"resolved": "https://registry.npmmirror.com/@volar/typescript/-/typescript-1.10.0.tgz",
"integrity": "sha512-OtqGtFbUKYC0pLNIk3mHQp5xWnvL1CJIUc9VE39VdZ/oqpoBh5jKfb9uJ45Y4/oP/WYTrif/Uxl1k8VTPz66Gg==",
"dev": true,
"requires": {
"@volar/language-core": "1.10.0"
}
},
"@vue/compiler-core": {
"version": "3.3.4",
"resolved": "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.3.4.tgz",
"integrity": "sha512-cquyDNvZ6jTbf/+x+AgM2Arrp6G4Dzbb0R64jiG804HRMfRiFXWI6kqUVqZ6ZR0bQhIoQjB4+2bhNtVwndW15g==",
"requires": {
"@babel/parser": "^7.21.3",
"@vue/shared": "3.3.4",
"estree-walker": "^2.0.2",
"source-map-js": "^1.0.2"
}
},
"@vue/compiler-dom": {
"version": "3.3.4",
"resolved": "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.3.4.tgz",
"integrity": "sha512-wyM+OjOVpuUukIq6p5+nwHYtj9cFroz9cwkfmP9O1nzH68BenTTv0u7/ndggT8cIQlnBeOo6sUT/gvHcIkLA5w==",
"requires": {
"@vue/compiler-core": "3.3.4",
"@vue/shared": "3.3.4"
}
},
"@vue/compiler-sfc": {
"version": "3.3.4",
"resolved": "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.3.4.tgz",
"integrity": "sha512-6y/d8uw+5TkCuzBkgLS0v3lSM3hJDntFEiUORM11pQ/hKvkhSKZrXW6i69UyXlJQisJxuUEJKAWEqWbWsLeNKQ==",
"requires": {
"@babel/parser": "^7.20.15",
"@vue/compiler-core": "3.3.4",
"@vue/compiler-dom": "3.3.4",
"@vue/compiler-ssr": "3.3.4",
"@vue/reactivity-transform": "3.3.4",
"@vue/shared": "3.3.4",
"estree-walker": "^2.0.2",
"magic-string": "^0.30.0",
"postcss": "^8.1.10",
"source-map-js": "^1.0.2"
}
},
"@vue/compiler-ssr": {
"version": "3.3.4",
"resolved": "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.3.4.tgz",
"integrity": "sha512-m0v6oKpup2nMSehwA6Uuu+j+wEwcy7QmwMkVNVfrV9P2qE5KshC6RwOCq8fjGS/Eak/uNb8AaWekfiXxbBB6gQ==",
"requires": {
"@vue/compiler-dom": "3.3.4",
"@vue/shared": "3.3.4"
}
},
"@vue/devtools-api": {
"version": "6.5.0",
"resolved": "https://registry.npmmirror.com/@vue/devtools-api/-/devtools-api-6.5.0.tgz",
"integrity": "sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q=="
},
"@vue/language-core": {
"version": "1.8.8",
"resolved": "https://registry.npmmirror.com/@vue/language-core/-/language-core-1.8.8.tgz",
"integrity": "sha512-i4KMTuPazf48yMdYoebTkgSOJdFraE4pQf0B+FTOFkbB+6hAfjrSou/UmYWRsWyZV6r4Rc6DDZdI39CJwL0rWw==",
"dev": true,
"requires": {
"@volar/language-core": "~1.10.0",
"@volar/source-map": "~1.10.0",
"@vue/compiler-dom": "^3.3.0",
"@vue/reactivity": "^3.3.0",
"@vue/shared": "^3.3.0",
"minimatch": "^9.0.0",
"muggle-string": "^0.3.1",
"vue-template-compiler": "^2.7.14"
}
},
"@vue/reactivity": {
"version": "3.3.4",
"resolved": "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.3.4.tgz",
"integrity": "sha512-kLTDLwd0B1jG08NBF3R5rqULtv/f8x3rOFByTDz4J53ttIQEDmALqKqXY0J+XQeN0aV2FBxY8nJDf88yvOPAqQ==",
"requires": {
"@vue/shared": "3.3.4"
}
},
"@vue/reactivity-transform": {
"version": "3.3.4",
"resolved": "https://registry.npmmirror.com/@vue/reactivity-transform/-/reactivity-transform-3.3.4.tgz",
"integrity": "sha512-MXgwjako4nu5WFLAjpBnCj/ieqcjE2aJBINUNQzkZQfzIZA4xn+0fV1tIYBJvvva3N3OvKGofRLvQIwEQPpaXw==",
"requires": {
"@babel/parser": "^7.20.15",
"@vue/compiler-core": "3.3.4",
"@vue/shared": "3.3.4",
"estree-walker": "^2.0.2",
"magic-string": "^0.30.0"
}
},
"@vue/runtime-core": {
"version": "3.3.4",
"resolved": "https://registry.npmmirror.com/@vue/runtime-core/-/runtime-core-3.3.4.tgz",
"integrity": "sha512-R+bqxMN6pWO7zGI4OMlmvePOdP2c93GsHFM/siJI7O2nxFRzj55pLwkpCedEY+bTMgp5miZ8CxfIZo3S+gFqvA==",
"requires": {
"@vue/reactivity": "3.3.4",
"@vue/shared": "3.3.4"
}
},
"@vue/runtime-dom": {
"version": "3.3.4",
"resolved": "https://registry.npmmirror.com/@vue/runtime-dom/-/runtime-dom-3.3.4.tgz",
"integrity": "sha512-Aj5bTJ3u5sFsUckRghsNjVTtxZQ1OyMWCr5dZRAPijF/0Vy4xEoRCwLyHXcj4D0UFbJ4lbx3gPTgg06K/GnPnQ==",
"requires": {
"@vue/runtime-core": "3.3.4",
"@vue/shared": "3.3.4",
"csstype": "^3.1.1"
}
},
"@vue/server-renderer": {
"version": "3.3.4",
"resolved": "https://registry.npmmirror.com/@vue/server-renderer/-/server-renderer-3.3.4.tgz",
"integrity": "sha512-Q6jDDzR23ViIb67v+vM1Dqntu+HUexQcsWKhhQa4ARVzxOY2HbC7QRW/ggkDBd5BU+uM1sV6XOAP0b216o34JQ==",
"requires": {
"@vue/compiler-ssr": "3.3.4",
"@vue/shared": "3.3.4"
}
},
"@vue/shared": {
"version": "3.3.4",
"resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.3.4.tgz",
"integrity": "sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ=="
},
"@vue/typescript": {
"version": "1.8.8",
"resolved": "https://registry.npmmirror.com/@vue/typescript/-/typescript-1.8.8.tgz",
"integrity": "sha512-jUnmMB6egu5wl342eaUH236v8tdcEPXXkPgj+eI/F6JwW/lb+yAU6U07ZbQ3MVabZRlupIlPESB7ajgAGixhow==",
"dev": true,
"requires": {
"@volar/typescript": "~1.10.0",
"@vue/language-core": "1.8.8"
}
},
"@vueuse/core": {
"version": "9.13.0",
"resolved": "https://registry.npmmirror.com/@vueuse/core/-/core-9.13.0.tgz",
"integrity": "sha512-pujnclbeHWxxPRqXWmdkKV5OX4Wk4YeK7wusHqRwU0Q7EFusHoqNA/aPhB6KCh9hEqJkLAJo7bb0Lh9b+OIVzw==",
"requires": {
"@types/web-bluetooth": "^0.0.16",
"@vueuse/metadata": "9.13.0",
"@vueuse/shared": "9.13.0",
"vue-demi": "*"
}
},
"@vueuse/metadata": {
"version": "9.13.0",
"resolved": "https://registry.npmmirror.com/@vueuse/metadata/-/metadata-9.13.0.tgz",
"integrity": "sha512-gdU7TKNAUVlXXLbaF+ZCfte8BjRJQWPCa2J55+7/h+yDtzw3vOoGQDRXzI6pyKyo6bXFT5/QoPE4hAknExjRLQ=="
},
"@vueuse/shared": {
"version": "9.13.0",
"resolved": "https://registry.npmmirror.com/@vueuse/shared/-/shared-9.13.0.tgz",
"integrity": "sha512-UrnhU+Cnufu4S6JLCPZnkWh0WwZGUp72ktOF2DFptMlOs3TOdVv8xJN53zhHGARmVOsz5KqOls09+J1NR6sBKw==",
"requires": {
"vue-demi": "*"
}
},
"async-validator": {
"version": "4.2.5",
"resolved": "https://registry.npmmirror.com/async-validator/-/async-validator-4.2.5.tgz",
"integrity": "sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg=="
},
"balanced-match": {
"version": "1.0.2",
"resolved": "https://registry.npmmirror.com/balanced-match/-/balanced-match-1.0.2.tgz",
"integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
"dev": true
},
"brace-expansion": {
"version": "2.0.1",
"resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-2.0.1.tgz",
"integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
"dev": true,
"requires": {
"balanced-match": "^1.0.0"
}
},
"copy-anything": {
"version": "2.0.6",
"resolved": "https://registry.npmmirror.com/copy-anything/-/copy-anything-2.0.6.tgz",
"integrity": "sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==",
"requires": {
"is-what": "^3.14.1"
}
},
"csstype": {
"version": "3.1.2",
"resolved": "https://registry.npmmirror.com/csstype/-/csstype-3.1.2.tgz",
"integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ=="
},
"dayjs": {
"version": "1.11.9",
"resolved": "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.9.tgz",
"integrity": "sha512-QvzAURSbQ0pKdIye2txOzNaHmxtUBXerpY0FJsFXUMKbIZeFm5ht1LS/jFsrncjnmtv8HsG0W2g6c0zUjZWmpA=="
},
"de-indent": {
"version": "1.0.2",
"resolved": "https://registry.npmmirror.com/de-indent/-/de-indent-1.0.2.tgz",
"integrity": "sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==",
"dev": true
},
"debug": {
"version": "3.2.7",
"resolved": "https://registry.npmmirror.com/debug/-/debug-3.2.7.tgz",
"integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
"optional": true,
"requires": {
"ms": "^2.1.1"
}
},
"element-plus": {
"version": "2.3.9",
"resolved": "https://registry.npmmirror.com/element-plus/-/element-plus-2.3.9.tgz",
"integrity": "sha512-TIOLnPl4cnoCPXqK3QYh+jpkthUBQnAM21O7o3Lhbse8v9pfrRXRTaBJtoEKnYNa8GZ4lZptUfH0PeZgDCNLUg==",
"requires": {
"@ctrl/tinycolor": "^3.4.1",
"@element-plus/icons-vue": "^2.0.6",
"@floating-ui/dom": "^1.0.1",
"@popperjs/core": "npm:@sxzz/popperjs-es@^2.11.7",
"@types/lodash": "^4.14.182",
"@types/lodash-es": "^4.17.6",
"@vueuse/core": "^9.1.0",
"async-validator": "^4.2.5",
"dayjs": "^1.11.3",
"escape-html": "^1.0.3",
"lodash": "^4.17.21",
"lodash-es": "^4.17.21",
"lodash-unified": "^1.0.2",
"memoize-one": "^6.0.0",
"normalize-wheel-es": "^1.2.0"
}
},
"errno": {
"version": "0.1.8",
"resolved": "https://registry.npmmirror.com/errno/-/errno-0.1.8.tgz",
"integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==",
"optional": true,
"requires": {
"prr": "~1.0.1"
}
},
"esbuild": {
"version": "0.18.20",
"resolved": "https://registry.npmmirror.com/esbuild/-/esbuild-0.18.20.tgz",
"integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==",
"dev": true,
"requires": {
"@esbuild/android-arm": "0.18.20",
"@esbuild/android-arm64": "0.18.20",
"@esbuild/android-x64": "0.18.20",
"@esbuild/darwin-arm64": "0.18.20",
"@esbuild/darwin-x64": "0.18.20",
"@esbuild/freebsd-arm64": "0.18.20",
"@esbuild/freebsd-x64": "0.18.20",
"@esbuild/linux-arm": "0.18.20",
"@esbuild/linux-arm64": "0.18.20",
"@esbuild/linux-ia32": "0.18.20",
"@esbuild/linux-loong64": "0.18.20",
"@esbuild/linux-mips64el": "0.18.20",
"@esbuild/linux-ppc64": "0.18.20",
"@esbuild/linux-riscv64": "0.18.20",
"@esbuild/linux-s390x": "0.18.20",
"@esbuild/linux-x64": "0.18.20",
"@esbuild/netbsd-x64": "0.18.20",
"@esbuild/openbsd-x64": "0.18.20",
"@esbuild/sunos-x64": "0.18.20",
"@esbuild/win32-arm64": "0.18.20",
"@esbuild/win32-ia32": "0.18.20",
"@esbuild/win32-x64": "0.18.20"
}
},
"escape-html": {
"version": "1.0.3",
"resolved": "https://registry.npmmirror.com/escape-html/-/escape-html-1.0.3.tgz",
"integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow=="
},
"estree-walker": {
"version": "2.0.2",
"resolved": "https://registry.npmmirror.com/estree-walker/-/estree-walker-2.0.2.tgz",
"integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="
},
"fsevents": {
"version": "2.3.2",
"resolved": "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.2.tgz",
"integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
"dev": true,
"optional": true
},
"graceful-fs": {
"version": "4.2.11",
"resolved": "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.11.tgz",
"integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
"optional": true
},
"he": {
"version": "1.2.0",
"resolved": "https://registry.npmmirror.com/he/-/he-1.2.0.tgz",
"integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==",
"dev": true
},
"iconv-lite": {
"version": "0.6.3",
"resolved": "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.6.3.tgz",
"integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
"optional": true,
"requires": {
"safer-buffer": ">= 2.1.2 < 3.0.0"
}
},
"image-size": {
"version": "0.5.5",
"resolved": "https://registry.npmmirror.com/image-size/-/image-size-0.5.5.tgz",
"integrity": "sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==",
"optional": true
},
"is-what": {
"version": "3.14.1",
"resolved": "https://registry.npmmirror.com/is-what/-/is-what-3.14.1.tgz",
"integrity": "sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA=="
},
"less": {
"version": "4.2.0",
"resolved": "https://registry.npmmirror.com/less/-/less-4.2.0.tgz",
"integrity": "sha512-P3b3HJDBtSzsXUl0im2L7gTO5Ubg8mEN6G8qoTS77iXxXX4Hvu4Qj540PZDvQ8V6DmX6iXo98k7Md0Cm1PrLaA==",
"requires": {
"copy-anything": "^2.0.1",
"errno": "^0.1.1",
"graceful-fs": "^4.1.2",
"image-size": "~0.5.0",
"make-dir": "^2.1.0",
"mime": "^1.4.1",
"needle": "^3.1.0",
"parse-node-version": "^1.0.1",
"source-map": "~0.6.0",
"tslib": "^2.3.0"
}
},
"less-loader": {
"version": "11.1.3",
"resolved": "https://registry.npmmirror.com/less-loader/-/less-loader-11.1.3.tgz",
"integrity": "sha512-A5b7O8dH9xpxvkosNrP0dFp2i/dISOJa9WwGF3WJflfqIERE2ybxh1BFDj5CovC2+jCE4M354mk90hN6ziXlVw=="
},
"lodash": {
"version": "4.17.21",
"resolved": "https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz",
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
},
"lodash-es": {
"version": "4.17.21",
"resolved": "https://registry.npmmirror.com/lodash-es/-/lodash-es-4.17.21.tgz",
"integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw=="
},
"lodash-unified": {
"version": "1.0.3",
"resolved": "https://registry.npmmirror.com/lodash-unified/-/lodash-unified-1.0.3.tgz",
"integrity": "sha512-WK9qSozxXOD7ZJQlpSqOT+om2ZfcT4yO+03FuzAHD0wF6S0l0090LRPDx3vhTTLZ8cFKpBn+IOcVXK6qOcIlfQ=="
},
"lru-cache": {
"version": "6.0.0",
"resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-6.0.0.tgz",
"integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
"dev": true,
"requires": {
"yallist": "^4.0.0"
}
},
"magic-string": {
"version": "0.30.2",
"resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.30.2.tgz",
"integrity": "sha512-lNZdu7pewtq/ZvWUp9Wpf/x7WzMTsR26TWV03BRZrXFsv+BI6dy8RAiKgm1uM/kyR0rCfUcqvOlXKG66KhIGug==",
"requires": {
"@jridgewell/sourcemap-codec": "^1.4.15"
}
},
"make-dir": {
"version": "2.1.0",
"resolved": "https://registry.npmmirror.com/make-dir/-/make-dir-2.1.0.tgz",
"integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==",
"optional": true,
"requires": {
"pify": "^4.0.1",
"semver": "^5.6.0"
},
"dependencies": {
"semver": {
"version": "5.7.2",
"resolved": "https://registry.npmmirror.com/semver/-/semver-5.7.2.tgz",
"integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
"optional": true
}
}
},
"memoize-one": {
"version": "6.0.0",
"resolved": "https://registry.npmmirror.com/memoize-one/-/memoize-one-6.0.0.tgz",
"integrity": "sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw=="
},
"mime": {
"version": "1.6.0",
"resolved": "https://registry.npmmirror.com/mime/-/mime-1.6.0.tgz",
"integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
"optional": true
},
"minimatch": {
"version": "9.0.3",
"resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-9.0.3.tgz",
"integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==",
"dev": true,
"requires": {
"brace-expansion": "^2.0.1"
}
},
"ms": {
"version": "2.1.3",
"resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz",
"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
"optional": true
},
"muggle-string": {
"version": "0.3.1",
"resolved": "https://registry.npmmirror.com/muggle-string/-/muggle-string-0.3.1.tgz",
"integrity": "sha512-ckmWDJjphvd/FvZawgygcUeQCxzvohjFO5RxTjj4eq8kw359gFF3E1brjfI+viLMxss5JrHTDRHZvu2/tuy0Qg==",
"dev": true
},
"nanoid": {
"version": "3.3.6",
"resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.6.tgz",
"integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA=="
},
"needle": {
"version": "3.2.0",
"resolved": "https://registry.npmmirror.com/needle/-/needle-3.2.0.tgz",
"integrity": "sha512-oUvzXnyLiVyVGoianLijF9O/RecZUf7TkBfimjGrLM4eQhXyeJwM6GeAWccwfQ9aa4gMCZKqhAOuLaMIcQxajQ==",
"optional": true,
"requires": {
"debug": "^3.2.6",
"iconv-lite": "^0.6.3",
"sax": "^1.2.4"
}
},
"normalize-wheel-es": {
"version": "1.2.0",
"resolved": "https://registry.npmmirror.com/normalize-wheel-es/-/normalize-wheel-es-1.2.0.tgz",
"integrity": "sha512-Wj7+EJQ8mSuXr2iWfnujrimU35R2W4FAErEyTmJoJ7ucwTn2hOUSsRehMb5RSYkxXGTM7Y9QpvPmp++w5ftoJw=="
},
"parse-node-version": {
"version": "1.0.1",
"resolved": "https://registry.npmmirror.com/parse-node-version/-/parse-node-version-1.0.1.tgz",
"integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA=="
},
"picocolors": {
"version": "1.0.0",
"resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.0.0.tgz",
"integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ=="
},
"pify": {
"version": "4.0.1",
"resolved": "https://registry.npmmirror.com/pify/-/pify-4.0.1.tgz",
"integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
"optional": true
},
"pinia": {
"version": "2.1.6",
"resolved": "https://registry.npmmirror.com/pinia/-/pinia-2.1.6.tgz",
"integrity": "sha512-bIU6QuE5qZviMmct5XwCesXelb5VavdOWKWaB17ggk++NUwQWWbP5YnsONTk3b752QkW9sACiR81rorpeOMSvQ==",
"requires": {
"@vue/devtools-api": "^6.5.0",
"vue-demi": ">=0.14.5"
}
},
"postcss": {
"version": "8.4.27",
"resolved": "https://registry.npmmirror.com/postcss/-/postcss-8.4.27.tgz",
"integrity": "sha512-gY/ACJtJPSmUFPDCHtX78+01fHa64FaU4zaaWfuh1MhGJISufJAH4cun6k/8fwsHYeK4UQmENQK+tRLCFJE8JQ==",
"requires": {
"nanoid": "^3.3.6",
"picocolors": "^1.0.0",
"source-map-js": "^1.0.2"
}
},
"prr": {
"version": "1.0.1",
"resolved": "https://registry.npmmirror.com/prr/-/prr-1.0.1.tgz",
"integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==",
"optional": true
},
"rollup": {
"version": "3.28.0",
"resolved": "https://registry.npmmirror.com/rollup/-/rollup-3.28.0.tgz",
"integrity": "sha512-d7zhvo1OUY2SXSM6pfNjgD5+d0Nz87CUp4mt8l/GgVP3oBsPwzNvSzyu1me6BSG9JIgWNTVcafIXBIyM8yQ3yw==",
"dev": true,
"requires": {
"fsevents": "~2.3.2"
}
},
"safer-buffer": {
"version": "2.1.2",
"resolved": "https://registry.npmmirror.com/safer-buffer/-/safer-buffer-2.1.2.tgz",
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
"optional": true
},
"sax": {
"version": "1.2.4",
"resolved": "https://registry.npmmirror.com/sax/-/sax-1.2.4.tgz",
"integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==",
"optional": true
},
"semver": {
"version": "7.5.4",
"resolved": "https://registry.npmmirror.com/semver/-/semver-7.5.4.tgz",
"integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
"dev": true,
"requires": {
"lru-cache": "^6.0.0"
}
},
"source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"optional": true
},
"source-map-js": {
"version": "1.0.2",
"resolved": "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.0.2.tgz",
"integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw=="
},
"tslib": {
"version": "2.6.1",
"resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.6.1.tgz",
"integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig=="
},
"typescript": {
"version": "5.1.6",
"resolved": "https://registry.npmmirror.com/typescript/-/typescript-5.1.6.tgz",
"integrity": "sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==",
"dev": true
},
"vite": {
"version": "4.4.9",
"resolved": "https://registry.npmmirror.com/vite/-/vite-4.4.9.tgz",
"integrity": "sha512-2mbUn2LlUmNASWwSCNSJ/EG2HuSRTnVNaydp6vMCm5VIqJsjMfbIWtbH2kDuwUVW5mMUKKZvGPX/rqeqVvv1XA==",
"dev": true,
"requires": {
"esbuild": "^0.18.10",
"fsevents": "~2.3.2",
"postcss": "^8.4.27",
"rollup": "^3.27.1"
}
},
"vue": {
"version": "3.3.4",
"resolved": "https://registry.npmmirror.com/vue/-/vue-3.3.4.tgz",
"integrity": "sha512-VTyEYn3yvIeY1Py0WaYGZsXnz3y5UnGi62GjVEqvEGPl6nxbOrCXbVOTQWBEJUqAyTUk2uJ5JLVnYJ6ZzGbrSw==",
"requires": {
"@vue/compiler-dom": "3.3.4",
"@vue/compiler-sfc": "3.3.4",
"@vue/runtime-dom": "3.3.4",
"@vue/server-renderer": "3.3.4",
"@vue/shared": "3.3.4"
}
},
"vue-demi": {
"version": "0.14.5",
"resolved": "https://registry.npmmirror.com/vue-demi/-/vue-demi-0.14.5.tgz",
"integrity": "sha512-o9NUVpl/YlsGJ7t+xuqJKx8EBGf1quRhCiT6D/J0pfwmk9zUwYkC7yrF4SZCe6fETvSM3UNL2edcbYrSyc4QHA=="
},
"vue-router": {
"version": "4.2.4",
"resolved": "https://registry.npmmirror.com/vue-router/-/vue-router-4.2.4.tgz",
"integrity": "sha512-9PISkmaCO02OzPVOMq2w82ilty6+xJmQrarYZDkjZBfl4RvYAlt4PKnEX21oW4KTtWfa9OuO/b3qk1Od3AEdCQ==",
"requires": {
"@vue/devtools-api": "^6.5.0"
}
},
"vue-template-compiler": {
"version": "2.7.14",
"resolved": "https://registry.npmmirror.com/vue-template-compiler/-/vue-template-compiler-2.7.14.tgz",
"integrity": "sha512-zyA5Y3ArvVG0NacJDkkzJuPQDF8RFeRlzV2vLeSnhSpieO6LK2OVbdLPi5MPPs09Ii+gMO8nY4S3iKQxBxDmWQ==",
"dev": true,
"requires": {
"de-indent": "^1.0.2",
"he": "^1.2.0"
}
},
"vue-tsc": {
"version": "1.8.8",
"resolved": "https://registry.npmmirror.com/vue-tsc/-/vue-tsc-1.8.8.tgz",
"integrity": "sha512-bSydNFQsF7AMvwWsRXD7cBIXaNs/KSjvzWLymq/UtKE36697sboX4EccSHFVxvgdBlI1frYPc/VMKJNB7DFeDQ==",
"dev": true,
"requires": {
"@vue/language-core": "1.8.8",
"@vue/typescript": "1.8.8",
"semver": "^7.3.8"
}
},
"yallist": {
"version": "4.0.0",
"resolved": "https://registry.npmmirror.com/yallist/-/yallist-4.0.0.tgz",
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
"dev": true
}
}
}

+ 7
- 1
montier/package.json View File

@ -9,9 +9,15 @@
"preview": "vite preview"
},
"dependencies": {
"vue": "^3.3.4"
"element-plus": "^2.3.9",
"less": "^4.2.0",
"less-loader": "^11.1.3",
"pinia": "^2.1.6",
"vue": "^3.3.4",
"vue-router": "^4.2.4"
},
"devDependencies": {
"@types/node": "^20.4.9",
"@vitejs/plugin-vue": "^4.2.3",
"typescript": "^5.0.2",
"vite": "^4.4.5",


+ 18
- 23
montier/src/App.vue View File

@ -1,30 +1,25 @@
<script setup lang="ts">
import HelloWorld from './components/HelloWorld.vue'
import HeaderPage from './components/HeaderPage.vue';
import FooterPage from './components/FooterPage.vue';
import { useRoute } from 'vue-router'
import {computed} from "vue";
const route = useRoute()
console.log(route)
const routerKey = computed(() => {
return route.path + Math.random()
})
</script>
<template>
<div>
<a href="https://vitejs.dev" target="_blank">
<img src="/vite.svg" class="logo" alt="Vite logo" />
</a>
<a href="https://vuejs.org/" target="_blank">
<img src="./assets/vue.svg" class="logo vue" alt="Vue logo" />
</a>
</div>
<HelloWorld msg="Vite + Vue" />
<HeaderPage></HeaderPage>
<router-view :key="routerKey"></router-view>
<FooterPage></FooterPage>
</template>
<style scoped>
.logo {
height: 6em;
padding: 1.5em;
will-change: filter;
transition: filter 300ms;
}
.logo:hover {
filter: drop-shadow(0 0 2em #646cffaa);
}
.logo.vue:hover {
filter: drop-shadow(0 0 2em #42b883aa);
}
<style>
@import './assets/css/index.css';
body{
background-color: pink;
}
</style>

+ 459
- 0
montier/src/assets/css/index.css View File

@ -0,0 +1,459 @@
/*行高*/
.line-height-2{
line-height: 2;
}
/*字体大小*/
.font-size-14{
font-size: 14px;
}
.font-size-16{
font-size: 16px;
}
.font-size-18{
font-size: 18px;
}
.font-size-20{
font-size: 20px;
}
.font-size-22{
font-size: 22px;
}
.font-size-24{
font-size: 24px;
}
.font-size-26{
font-size: 26px;
}
.font-size-28{
font-size: 28px;
}
.font-size-30{
font-size: 30px;
}
.font-size-32{
font-size: 32px;
}
.font-size-34{
font-size: 34px;
}
.font-size-36{
font-size: 36px;
}
.font-size-50{
font-size: 50px;
}
.font-size-60{
font-size: 60px;
}
.font-bold{
font-weight: bold;
}
.incline-text{
font-style: italic;
}
/*字体颜色*/
.color-000{
color: #000;
}
.color-fff{
color: #fff;
}
.color-gray{
color: gray;
}
.color-bcbcbc{
color: #bcbcbc;
}
.color-8c8fa4{
color: #8c8fa4;
}
.color-343434{
color: #343434;
}
.color-8e8e8e{
color: #8e8e8e;
}
.color-0167b1{
color: #0167b1;
}
.color-666{
color: #666;
}
.color-3370ff{
color: #3370ff;
}
/*宽度*/
.width-100{
width: 100%;
}
.width-90{
width: 90%;
}
.width-80{
width: 80%;
}
.width-70{
width: 70%;
}
.width-60{
width: 60%;
}
.width-50{
width: 50%;
}
.width-40{
width: 40%;
}
.width-15{
width: 15%;
}
.width-10{
width: 10%;
}
.width-5{
width: 5%;
}
.height-100{
height: 100%;
}
.height-35-px{
height: 35px;
}
.width-50-px{
width: 50px;
}
.width-100-px{
width: 100px;
}
.width-200-px{
width: 200px;
}
/*flex布局*/
.d-flex{
display: flex;
}
.d-block{
display: block;
}
.d-table{
display: table;
}
.d-inline-block{
display: inline-block;
}
.flex-wrap{
flex-wrap: wrap;
}
.flex-nowrap{
flex-wrap: nowrap;
}
/*对齐方式*/
.justify-content-center{
justify-content: center;
}
.justify-content-around{
justify-content: space-around;
}
.justify-content-between{
justify-content: space-between;
}
.align-items-center{
align-items: center;
}
.text-center{
text-align: center;
}
.text-align-right{
text-align: right;
}
.text-left{
text-align: left;
}
.text-decoration-underline{
text-decoration: underline;
}
.text-hidden{
opacity: 0;
transition: all .6s;
color: #fff;
}
.m-auto{
margin: 0 auto;
}
/*文本超出隐藏*/
.text-overflow-ellipsis{
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
.overflow-hidden{
overflow: hidden;
}
.border-box{
box-sizing: border-box;
}
.text-indent-36{
text-indent: 36px;
}
/*定位*/
.position-relative{
position: relative;
}
.position-absolute{
position: absolute;
}
/*背景颜色*/
.bg-white{
background: #fff;
}
.bgColor-000{
background: #000;
}
.bg-F4F4F4{
background: #F4F4F4;
}
/*内边距*/
.pb-4-px{
padding-bottom: 4px;
}
.pa-1{
padding: 10px;
}
.px-1{
padding: 0 10px;
}
.py-1{
padding: 10px 0;
}
.pt-1{
padding-top: 10px;
}
.pb-1{
padding-bottom: 10px;
}
.pr-1{
padding-right: 10px;
}
.pl-1{
padding-left: 10px;
}
.pa-2{
padding: 20px;
}
.px-2{
padding: 0 20px;
}
.py-2{
padding: 20px 0;
}
.pt-2{
padding-top: 20px;
}
.pb-2{
padding-bottom: 20px;
}
.pr-2{
padding-right: 20px;
}
.pl-2{
padding-left: 20px;
}
.pa-3{
padding: 30px;
}
.px-3{
padding: 0 30px;
}
.py-3{
padding: 30px 0;
}
.pt-3{
padding-top: 30px;
}
.pb-3{
padding-bottom: 30px;
}
.pr-3{
padding-right: 30px;
}
.pl-3{
padding-left: 30px;
}
.pa-4{
padding: 40px;
}
.px-4{
padding: 0 40px;
}
.py-4{
padding: 40px 0;
}
.pt-4{
padding-top: 40px;
}
.pb-4{
padding-bottom: 40px;
}
.pr-4{
padding-right: 40px;
}
.pl-4{
padding-left: 40px;
}
.px-16-px{
padding: 0 16px;
}
.pt-6{
padding-top: 60px;
}
.pb-6{
padding-bottom: 60px;
}
.pl-6{
padding-left: 60px;
}
.pt-9{
padding-top: 90px;
}
.pt-10{
padding-top: 100px;
}
.pb-10{
padding-bottom: 100px;
}
.pt-13{
padding-top: 130px;
}
.pt-15{
padding-top: 150px;
}
/*外边距*/
.ma-1{
margin: 10px;
}
.mx-1{
margin: 0 10px;
}
.my-1{
margin: 10px 0;
}
.mt-1{
margin-top: 10px;
}
.mb-1{
margin-bottom: 10px;
}
.mr-1{
margin-right: 10px;
}
.ml-1{
margin-left: 10px;
}
.ma-2{
margin: 20px;
}
.mx-2{
margin: 0 20px;
}
.my-2{
margin: 20px 0;
}
.mt-2{
margin-top: 20px;
}
.mb-2{
margin-bottom: 20px;
}
.mr-2{
margin-right: 20px;
}
.ml-2{
margin-left: 20px;
}
.ma-3{
margin: 30px;
}
.mx-3{
margin: 0 30px;
}
.my-3{
margin: 30px 0;
}
.mt-3{
margin-top: 30px;
}
.mb-3{
margin-bottom: 30px;
}
.mr-3{
margin-right: 30px;
}
.ml-3{
margin-left: 30px;
}
.ma-4{
margin: 40px;
}
.mx-4{
margin: 0 40px;
}
.my-4{
margin: 40px 0;
}
.mt-4{
margin-top: 40px;
}
.mb-4{
margin-bottom: 40px;
}
.mr-4{
margin-right: 40px;
}
.ml-4{
margin-left: 40px;
}
.mt-5{
margin-top: 50px;
}
.hover-color:hover{
color: #0167b1;
}
.height-500-px{
height: 500px;
}
.height-400-px{
height: 400px;
}
.width-1200-px{
width: 1200px;
}
/*圆角*/
.border-radius-10-px{
border-radius: 10px;
}
.border-radius-20-px{
border-radius: 20px;
}
@media (max-width: 900px) {
.font-size-32{
font-size: 24px;
}
}
@media (max-width: 700px) {
.font-size-32{
font-size: 18px;
}
}

BIN
montier/src/assets/img/Banner/Banner1.jpg View File

Before After
Width: 3760  |  Height: 2508  |  Size: 886 KiB

BIN
montier/src/assets/img/Banner/Banner3.jpg View File

Before After
Width: 1700  |  Height: 1133  |  Size: 1.2 MiB

BIN
montier/src/assets/img/Banner/banner2.jpg View File

Before After
Width: 1700  |  Height: 1275  |  Size: 1.2 MiB

BIN
montier/src/assets/img/Quality icon/ASTM.jpg View File

Before After
Width: 380  |  Height: 322  |  Size: 13 KiB

BIN
montier/src/assets/img/Quality icon/ETL.jpg View File

Before After
Width: 1300  |  Height: 1072  |  Size: 38 KiB

BIN
montier/src/assets/img/Quality icon/ISO 9001.jpeg View File

Before After
Width: 500  |  Height: 492  |  Size: 98 KiB

BIN
montier/src/assets/img/Quality icon/Intertek.png View File

Before After
Width: 167  |  Height: 209  |  Size: 4.1 KiB

BIN
montier/src/assets/img/Quality icon/NFRC.png View File

Before After
Width: 224  |  Height: 225  |  Size: 9.7 KiB

BIN
montier/src/assets/img/Quality icon/UL.jpeg View File

Before After
Width: 500  |  Height: 500  |  Size: 13 KiB

BIN
montier/src/assets/img/Quality icon/UL1.png View File

Before After
Width: 441  |  Height: 114  |  Size: 13 KiB

BIN
montier/src/assets/img/Quality icon/ce标志符号.jpg View File

Before After
Width: 1700  |  Height: 1700  |  Size: 75 KiB

BIN
montier/src/assets/img/Quality icon/intertek-ETL.jpg View File

Before After
Width: 785  |  Height: 827  |  Size: 155 KiB

BIN
montier/src/assets/img/Quality icon/sgs.gif View File

Before After
Width: 1500  |  Height: 698  |  Size: 109 KiB

BIN
montier/src/assets/img/Quality icon/门:FM.webp View File

Before After

BIN
montier/src/assets/img/logo.png View File

Before After
Width: 274  |  Height: 80  |  Size: 7.2 KiB

BIN
montier/src/assets/img/logo1.png View File

Before After
Width: 274  |  Height: 80  |  Size: 13 KiB

BIN
montier/src/assets/img/塑胶窗的安装.jpg View File

Before After
Width: 1700  |  Height: 1138  |  Size: 911 KiB

BIN
montier/src/assets/img/安装木地板.jpg View File

Before After
Width: 2048  |  Height: 1365  |  Size: 240 KiB

BIN
montier/src/assets/img/实验室的高级男性研究员.jpg View File

Before After
Width: 1700  |  Height: 1133  |  Size: 1.5 MiB

BIN
montier/src/assets/img/木匠在车间用砂弯木栏杆.jpg View File

Before After
Width: 1133  |  Height: 1700  |  Size: 788 KiB

BIN
montier/src/assets/img/检查员正在用量规检查钢板的厚度。.jpg View File

Before After
Width: 1700  |  Height: 1133  |  Size: 1.6 MiB

BIN
montier/src/assets/img/混凝土建筑.jpg View File

Before After
Width: 1700  |  Height: 1063  |  Size: 1.0 MiB

BIN
montier/src/assets/img/用焊接量规检查焊件.jpg View File

Before After
Width: 1700  |  Height: 1133  |  Size: 254 KiB

BIN
montier/src/assets/img/社交网络的象征。社交网络符号与人的形象.jpg View File

Before After
Width: 1700  |  Height: 1188  |  Size: 1.4 MiB

BIN
montier/src/assets/img/笔记本电脑上的购物车.jpg View File

Before After
Width: 1700  |  Height: 1133  |  Size: 1.3 MiB

+ 11
- 0
montier/src/components/FooterPage.vue View File

@ -0,0 +1,11 @@
<template>
底部
</template>
<script setup lang="ts">
</script>
<style scoped lang="less">
</style>

+ 500
- 0
montier/src/components/HeaderPage.vue View File

@ -0,0 +1,500 @@
<script setup lang="ts">
import { onMounted, reactive, ref } from 'vue'
import { useRouter } from "vue-router";
let caselist = ref<any>([
{
detail: {
title: 'door', position: 'door'
}
},
{
detail: {
title: 'window', position: 'window'
}
},
{
detail: {
title: 'railing and stair', position: 'rs'
}
},
{
detail: {
title: 'Building Materials', position: 'BM'
}
},
{
detail: {
title: 'Kitchen Cabinets with Customization', position: 'KCwC'
}
},
{
detail: {
title: 'Kitchen faucet and sink', position: 'Kfs'
}
},
{
detail: {
title: 'Sanitary Ware', position: 'SW'
}
},
])
let productListArr = ref<any>([])
let screenWidth = ref<any>(0)
let clickStatus = ref<any>(false)
let scrollTopShow = ref<any>(true)
const router = useRouter()
onMounted(async () => {
screenWidth.value = document.body.offsetWidth;
await getProduct()
window.addEventListener('resize', function () {
screenWidth.value = document.body.offsetWidth;
})
window.addEventListener("scroll", windowScrollListener, true)
})
//
const windowScrollListener = () => {
let scrollTop = document.body.scrollTop || document.documentElement.scrollTop;
if (scrollTop === 0) {
scrollTopShow.value = true
} else {
scrollTopShow.value = false
}
}
//
const goPage = (url: any) => {
document.documentElement.scrollTop = 0
clickStatus.value = false
router.push(url)
}
// const mobheadFun = async () =>{
// clickStatus.value=!clickStatus.value
// }
const getProduct = async () => {
productListArr.value = [
[{ type: 'Design', position: 'Ds' }],
[{ type: 'Procurement & Manufacture', position: 'PM' }],
[{ type: 'Logistic and warehouseing', position: 'Lw' }],
[{ type: 'Installaion', position: 'Ts' }],
[{ type: 'quality control', position: 'qc' }],
]
}
const projectcaseslist = reactive([
[{ type: 'State Street, Carlsbad, CA', position: 'SSCC' }],
[{ type: 'Lofts on Laurel, San Diego', position: 'LLSD' }],
[{ type: 'Virgin Hotel,SFO', position: 'VHS' }],
[{ type: 'GOA, India Wyndham', position: 'GIW' }],
[{ type: 'METROPICA, MIAMI', position: 'MM' }],
[{ type: '989 Johnson Street, Victoria,Canada', position: 'JSV' }],
])
</script>
<template>
<div class="position-relative ">
<div class="navbar pb-4-px" :class="scrollTopShow ? '' : 'bg-white'" v-if="screenWidth > 1200">
<div class="navbar-container">
<div class="navbar-header">
<div class="navbar-brand">
<router-link to="/" class="text-center">
<div class="navbar-brand-logo" :class="scrollTopShow ? 'white-img' : 'black-img'"></div>
<!-- <p :class="scrollTopShow?'color-fff':'color-0167b1'" class="font-size-20">锁到之处 即小见大</p>-->
</router-link>
</div>
</div>
<div class="site-header-navbar d-flex justify-content-between">
<div class="navbar-left width-5"></div>
<div class="navbar-category">
<div class="category-item font-size-14 position-relative">
<div class="nav-item-title px-1 d-flex align-items-center"
:class="scrollTopShow ? 'color-fff' : 'color-000'" @click="goPage('/')">Home</div>
<div class="dui-dropdown-men position-absolute">
<div class="menu-container mt-1">
</div>
</div>
</div>
<div class="category-item ml-3 font-size-14 position-relative">
<div class="nav-item-title d-flex px-1 align-items-center"
:class="scrollTopShow ? 'color-fff' : 'color-000'">
Product Center</div>
<div class="dui-dropdown-men position-absolute">
<div class="menu-container mt-1">
<ul>
<li class="nav-item text-center" v-for="(item, index) in caselist" :key="index">
<div>
<div class="nav-item-link px-16-px text-overflow-ellipsis" :title="item.detail.title">{{
item.detail.title }}</div>
</div>
</li>
</ul>
</div>
</div>
</div>
<div class="category-item ml-3 font-size-14 position-relative">
<div class="nav-item-title d-flex px-1 align-items-center"
:class="scrollTopShow ? 'color-fff' : 'color-000'">
Service</div>
<div class="dui-dropdown-men position-absolute">
<div class="menu-container mt-1">
<ul>
<li class="nav-item text-center" v-for="(item, index) in productListArr" :key="index">
<div>
<div class="nav-item-link px-16-px text-overflow-ellipsis" :title="item[0].type">{{ item[0].type
}}</div>
</div>
</li>
</ul>
</div>
</div>
</div>
<div class="category-item ml-3 font-size-14 position-relative">
<div class="nav-item-title d-flex px-1 align-items-center"
:class="scrollTopShow ? 'color-fff' : 'color-000'">
Project Cases</div>
<div class="dui-dropdown-men position-absolute">
<div class="menu-container mt-1">
<ul>
<li class="nav-item text-center" v-for="(item, index) in projectcaseslist" :key="index">
<div>
<div class="nav-item-link px-16-px text-overflow-ellipsis" :title="item[0].type">{{ item[0].type
}}</div>
</div>
</li>
</ul>
</div>
</div>
</div>
<div class="category-item ml-3 font-size-14 position-relative">
<div class="nav-item-title px-1 d-flex align-items-center"
:class="scrollTopShow ? 'color-fff' : 'color-000'">
News</div>
<div class="dui-dropdown-men position-absolute">
<div class="menu-container mt-1">
<ul>
<li class="nav-item text-center">
<div>
<div class="nav-item-link px-16-px text-overflow-ellipsis">产品试用申请</div>
</div>
</li>
<li class="nav-item text-center">
<div>
<div class="nav-item-link px-16-px text-overflow-ellipsis">产品安装指导</div>
</div>
</li>
</ul>
</div>
</div>
</div>
<div class="category-item ml-3 font-size-14 position-relative">
<div class="nav-item-title px-1 d-flex align-items-center"
:class="scrollTopShow ? 'color-fff' : 'color-000'">
Contact Us</div>
<div class="dui-dropdown-men position-absolute">
<div class="menu-container mt-1">
</div>
</div>
</div>
</div>
<div class="navbar-right width-10"></div>
</div>
</div>
</div>
<div v-else>
<div class="MobileHead">
<div class="logoimg text-center position-absolute">
<!-- <img src="../assets/img/logo1.png" alt="深圳市小之物联科技有限公司" class="width-100"> -->
</div>
<div class="position-absolute menuIcon color-8c8fa4">
<!-- <img src="../assets/img/menu.svg" alt="菜单栏" class="width-15" v-if="!clickStatus" /> -->
<!-- <img src="../assets/img/close.svg" class="width-15" alt="关闭菜单栏" @click="mobheadFun" v-else> -->
</div>
<div class="mobmenu" :class="clickStatus ? 'mobmenu1' : ''">
<el-menu default-active="0" class="el-menu-vertical-demo">
<el-menu-item index="0" @click="goPage('/')">
<span>首页</span>
</el-menu-item>
<el-sub-menu index="1">
<template #title>
<span>解决方案</span>
</template>
<el-menu-item :index="'1-' + index" v-for="(item, index) in caselist" :key="index">
{{ item.detail.title }}
</el-menu-item>
</el-sub-menu>
<el-sub-menu index="2">
<template #title>
<span>产品中心</span>
</template>
<el-menu-item :index="'2-' + index" v-for="(item, index) in productListArr" :key="index">{{ item[0].type
}}</el-menu-item>
</el-sub-menu>
<el-sub-menu index="3">
<template #title>
<span>服务支持</span>
</template>
<el-menu-item index="3-1">
<span>产品试用申请</span>
</el-menu-item>
<el-menu-item index="3-2">
<span>产品安装指导</span>
</el-menu-item>
</el-sub-menu>
<el-menu-item index="4">
<template #title>
<span>合作发展</span>
</template>
</el-menu-item>
<el-menu-item index="5">
<template #title>
<span>联系小之</span>
</template>
</el-menu-item>
</el-menu>
</div>
</div>
</div>
</div>
</template>
<style scoped lang="less">
.navbar {
position: fixed;
top: 0;
left: 0;
width: 100%;
//height: 55px;
border: 0;
margin: auto;
-webkit-font-smoothing: antialiased;
font-smoothing: antialiased;
z-index: 1001;
box-sizing: border-box;
//box-shadow: 0 0 12px rgba(0,0,0,0.12);
}
.navbar-container {
width: 100%;
padding: 0 40px;
/* max-width: 1200px; */
margin: 0 auto;
display: flex;
align-items: center;
justify-content: space-between;
transition: all 0.48s;
box-sizing: border-box;
}
.navbar-header {
float: none;
width: 215px;
}
.navbar-brand {
display: inline-block;
float: left;
height: auto;
}
.navbar-brand-logo {
transition: backgroundImage .3s ease;
vertical-align: middle;
display: inline-block;
width: 530px;
height: 40px;
background-size: 100% 100%;
}
.black-img {
background: url("../assets/img/logo1.png") no-repeat;
background-size: 45% auto;
background-position: center;
}
.white-img {
background: url("../assets/img/logo.png") no-repeat ;
background-size: 45% auto;
background-position: center;
}
.site-header-navbar {
width: calc(100% - 165px);
box-sizing: border-box;
}
.navbar-category {
list-style: none;
vertical-align: middle;
display: flex;
transition: all 0.5s;
}
.nav-item-title {
transition: all .3s;
vertical-align: middle;
line-height: 16px;
font-weight: 400;
font-size: 14px;
cursor: pointer;
position: relative;
-moz-justify-content: center;
justify-content: center;
word-spacing: 0;
height: 55px;
}
.nav-item-title::after {
transition: all .3s ease;
content: '';
display: inline-block;
position: absolute;
bottom: 0;
z-index: 1200;
width: 100%;
left: 0;
height: 2px;
background-color: rgba(0, 0, 0, .85);
opacity: 0;
}
.menu-container {
top: 55px;
}
.dui-dropdown-men {
top: 55px;
opacity: 0;
transition: all .5s;
left: 50%;
transform: translate(-50%, -16px);
height: 0;
overflow: hidden;
}
.category-item:hover .dui-dropdown-men {
opacity: 1;
height: auto;
z-index: 9998;
transform: translate(-50%, 0);
}
.category-item:hover .nav-item-title::after {
opacity: 1;
}
.menu-container ul {
position: relative;
overflow: visible;
display: flex;
-moz-flex-direction: column;
flex-direction: column;
align-content: stretch;
vertical-align: middle;
margin: 0;
list-style: none;
background: #fff;
color: rgba(0, 0, 0, .65);
white-space: nowrap;
-ms-box-shadow: 0 8px 16px rgba(0, 0, 0, .1);
-o-box-shadow: 0 8px 16px rgba(0, 0, 0, .1);
box-shadow: 0 8px 16px rgb(0 0 0 / 10%);
-moz-align-items: stretch;
align-items: stretch;
padding: 8px 0;
font-size: 14px;
border-radius: 4px;
cursor: pointer;
}
.nav-item-link {
height: 40px;
line-height: 40px;
vertical-align: middle;
color: rgba(0, 0, 0, .65);
}
.nav-item-link:hover {
background: rgba(0, 0, 0, .04);
text-decoration: none;
}
.MobileHead {
width: 100%;
position: fixed;
background: #0167b1;
top: 0;
left: 0;
padding: 0.625rem 1.25rem;
box-shadow: 1px 1px 10px #eee;
z-index: 999;
height: 50px;
box-sizing: border-box;
.logoimg {
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
}
.menuIcon {
left: 20px;
top: 50%;
transform: translate(0, -50%);
}
.leftimg {
width: 50%;
img {
width: 11.25rem;
}
}
.rightHead {
.lbimg {
width: 2.5rem;
img {
width: 100%;
}
}
}
.mobmenu {
position: fixed;
top: 3.8125rem;
left: 0;
width: 100%;
top: 50px;
background: #fff;
text-align: left;
overflow-y: auto;
height: 0;
box-sizing: border-box;
transition: all .5s;
}
.mobmenu1 {
height: 100%;
span {
color: #333;
}
}
}
@media screen and (max-width: 1600px) {
.navbar-brand-logo {
width: 480px;
}
}
@media screen and (max-width: 1400px) {
.navbar-brand-logo {
width: 360px;
}
}</style>

+ 0
- 38
montier/src/components/HelloWorld.vue View File

@ -1,38 +0,0 @@
<script setup lang="ts">
import { ref } from 'vue'
defineProps<{ msg: string }>()
const count = ref(0)
</script>
<template>
<h1>{{ msg }}</h1>
<div class="card">
<button type="button" @click="count++">count is {{ count }}</button>
<p>
Edit
<code>components/HelloWorld.vue</code> to test HMR
</p>
</div>
<p>
Check out
<a href="https://vuejs.org/guide/quick-start.html#local" target="_blank"
>create-vue</a
>, the official Vue + Vite starter
</p>
<p>
Install
<a href="https://github.com/vuejs/language-tools" target="_blank">Volar</a>
in your IDE for a better DX
</p>
<p class="read-the-docs">Click on the Vite and Vue logos to learn more</p>
</template>
<style scoped>
.read-the-docs {
color: #888;
}
</style>

+ 11
- 2
montier/src/main.ts View File

@ -1,5 +1,14 @@
import { createApp } from 'vue'
import './style.css'
import App from './App.vue'
import './style.css'
import { createPinia } from 'pinia'
import router from './router'
import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'
const app = createApp(App)
app.use(ElementPlus)
app.use(createPinia())
app.use(router)
createApp(App).mount('#app')
app.mount('#app')

+ 11
- 0
montier/src/pages/HomePage.vue View File

@ -0,0 +1,11 @@
<template>
</template>
<script setup lang="ts">
</script>
<style scoped lang="less">
</style>

+ 15
- 0
montier/src/router/index.ts View File

@ -0,0 +1,15 @@
import {createRouter,createWebHistory} from "vue-router";
const routes = [
{
path: '/',
component: ()=>import('../pages/HomePage.vue')
}
]
const router = createRouter({
history: createWebHistory(),
routes
})
export default router

+ 3
- 0
montier/src/store/index.ts View File

@ -0,0 +1,3 @@
import { createPinia } from 'pinia';
//对外暴露大仓库
export default createPinia();

+ 19
- 0
montier/src/store/modules/homepage.ts View File

@ -0,0 +1,19 @@
import { defineStore } from "pinia";
const useHomeStore = defineStore('Home', {
state: () => {
return {
}
},
actions: {
},
getters: {
}
})
export default useHomeStore

+ 0
- 0
montier/src/store/modules/interface/index.ts View File


+ 16
- 71
montier/src/style.css View File

@ -1,80 +1,25 @@
:root {
font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif;
line-height: 1.5;
font-weight: 400;
color-scheme: light dark;
color: rgba(255, 255, 255, 0.87);
background-color: #242424;
font-synthesis: none;
text-rendering: optimizeLegibility;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
-webkit-text-size-adjust: 100%;
}
a {
font-weight: 500;
color: #646cff;
text-decoration: inherit;
}
a:hover {
color: #535bf2;
}
body {
body,html,ul,li,span,p,h1,h2,h5{
padding: 0;
margin: 0;
display: flex;
place-items: center;
min-width: 320px;
min-height: 100vh;
}
h1 {
font-size: 3.2em;
line-height: 1.1;
}
button {
border-radius: 8px;
border: 1px solid transparent;
padding: 0.6em 1.2em;
font-size: 1em;
h1,h2,h3,h4,h5,h6{
margin-bottom: 0.5rem;
font-weight: 500;
font-family: inherit;
background-color: #1a1a1a;
cursor: pointer;
transition: border-color 0.25s;
line-height: 1.2;
}
button:hover {
border-color: #646cff;
li{
list-style: none;
}
button:focus,
button:focus-visible {
outline: 4px auto -webkit-focus-ring-color;
h2{
font-size: 2rem;
}
.card {
padding: 2em;
a {
font-weight: 500;
color: initial;
text-decoration: inherit;
}
#app {
max-width: 1280px;
margin: 0 auto;
padding: 2rem;
text-align: center;
a:hover {
/*color: #535bf2;*/
text-decoration:none;
}
@media (prefers-color-scheme: light) {
:root {
color: #213547;
background-color: #ffffff;
}
a:hover {
color: #747bff;
}
button {
background-color: #f9f9f9;
}
}

+ 5
- 0
montier/src/vite-env.d.ts View File

@ -1 +1,6 @@
/// <reference types="vite/client" />
declare module "*.vue" {
import { DefineComponent } from "vue"
const component: DefineComponent<{}, {}, any>
export default component
}

+ 6
- 0
montier/vite.config.ts View File

@ -1,7 +1,13 @@
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import path from 'path'
// https://vitejs.dev/config/
export default defineConfig({
plugins: [vue()],
resolve: {
alias: {
'@': path.resolve(__dirname, 'src')
}
}
})

Loading…
Cancel
Save