mirror of
https://gitee.com/fantastic-admin/basic.git
synced 2024-12-04 21:18:16 +08:00
增加 vue-currency-input 插件示例
This commit is contained in:
parent
15cfb9fb23
commit
86a70d6632
@ -51,6 +51,7 @@
|
||||
"tinymce": "^6.8.3",
|
||||
"vconsole": "^3.15.1",
|
||||
"vue": "^3.4.18",
|
||||
"vue-currency-input": "^3.1.0",
|
||||
"vue-esign": "^1.1.4",
|
||||
"vue-m-message": "^4.0.2",
|
||||
"vue-router": "^4.2.5",
|
||||
|
265
pnpm-lock.yaml
265
pnpm-lock.yaml
@ -113,6 +113,9 @@ dependencies:
|
||||
vue:
|
||||
specifier: ^3.4.18
|
||||
version: 3.4.18(typescript@5.3.3)
|
||||
vue-currency-input:
|
||||
specifier: ^3.1.0
|
||||
version: 3.1.0(vue@3.4.18)
|
||||
vue-esign:
|
||||
specifier: ^1.1.4
|
||||
version: 1.1.4
|
||||
@ -171,7 +174,7 @@ devDependencies:
|
||||
version: 0.58.5(eslint@8.56.0)(typescript@5.3.3)
|
||||
'@vitejs/plugin-legacy':
|
||||
specifier: ^5.3.0
|
||||
version: 5.3.0(esbuild@0.20.0)(terser@5.27.0)(vite@5.1.1)
|
||||
version: 5.3.0(esbuild@0.19.12)(terser@5.27.0)(vite@5.1.1)
|
||||
'@vitejs/plugin-vue':
|
||||
specifier: ^5.0.4
|
||||
version: 5.0.4(vite@5.1.1)(vue@3.4.18)
|
||||
@ -252,7 +255,7 @@ devDependencies:
|
||||
version: 0.17.5(@vueuse/core@10.7.2)
|
||||
unplugin-turbo-console:
|
||||
specifier: ^1.3.0
|
||||
version: 1.3.0(esbuild@0.20.0)(vite@5.1.1)(vue@3.4.18)
|
||||
version: 1.3.0(esbuild@0.19.12)(vite@5.1.1)(vue@3.4.18)
|
||||
unplugin-vue-components:
|
||||
specifier: ^0.26.0
|
||||
version: 0.26.0(vue@3.4.18)
|
||||
@ -2259,15 +2262,6 @@ packages:
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@esbuild/aix-ppc64@0.20.0:
|
||||
resolution: {integrity: sha512-fGFDEctNh0CcSwsiRPxiaqX0P5rq+AqE0SRhYGZ4PX46Lg1FNR6oCxJghf8YgY0WQEgQuh3lErUFE4KxLeRmmw==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [ppc64]
|
||||
os: [aix]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@esbuild/android-arm64@0.18.20:
|
||||
resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==}
|
||||
engines: {node: '>=12'}
|
||||
@ -2286,15 +2280,6 @@ packages:
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@esbuild/android-arm64@0.20.0:
|
||||
resolution: {integrity: sha512-aVpnM4lURNkp0D3qPoAzSG92VXStYmoVPOgXveAUoQBWRSuQzt51yvSju29J6AHPmwY1BjH49uR29oyfH1ra8Q==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [arm64]
|
||||
os: [android]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@esbuild/android-arm@0.18.20:
|
||||
resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==}
|
||||
engines: {node: '>=12'}
|
||||
@ -2313,15 +2298,6 @@ packages:
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@esbuild/android-arm@0.20.0:
|
||||
resolution: {integrity: sha512-3bMAfInvByLHfJwYPJRlpTeaQA75n8C/QKpEaiS4HrFWFiJlNI0vzq/zCjBrhAYcPyVPG7Eo9dMrcQXuqmNk5g==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [arm]
|
||||
os: [android]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@esbuild/android-x64@0.18.20:
|
||||
resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==}
|
||||
engines: {node: '>=12'}
|
||||
@ -2340,15 +2316,6 @@ packages:
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@esbuild/android-x64@0.20.0:
|
||||
resolution: {integrity: sha512-uK7wAnlRvjkCPzh8jJ+QejFyrP8ObKuR5cBIsQZ+qbMunwR8sbd8krmMbxTLSrDhiPZaJYKQAU5Y3iMDcZPhyQ==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [x64]
|
||||
os: [android]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@esbuild/darwin-arm64@0.18.20:
|
||||
resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==}
|
||||
engines: {node: '>=12'}
|
||||
@ -2367,15 +2334,6 @@ packages:
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@esbuild/darwin-arm64@0.20.0:
|
||||
resolution: {integrity: sha512-AjEcivGAlPs3UAcJedMa9qYg9eSfU6FnGHJjT8s346HSKkrcWlYezGE8VaO2xKfvvlZkgAhyvl06OJOxiMgOYQ==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [arm64]
|
||||
os: [darwin]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@esbuild/darwin-x64@0.18.20:
|
||||
resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==}
|
||||
engines: {node: '>=12'}
|
||||
@ -2394,15 +2352,6 @@ packages:
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@esbuild/darwin-x64@0.20.0:
|
||||
resolution: {integrity: sha512-bsgTPoyYDnPv8ER0HqnJggXK6RyFy4PH4rtsId0V7Efa90u2+EifxytE9pZnsDgExgkARy24WUQGv9irVbTvIw==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [x64]
|
||||
os: [darwin]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@esbuild/freebsd-arm64@0.18.20:
|
||||
resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==}
|
||||
engines: {node: '>=12'}
|
||||
@ -2421,15 +2370,6 @@ packages:
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@esbuild/freebsd-arm64@0.20.0:
|
||||
resolution: {integrity: sha512-kQ7jYdlKS335mpGbMW5tEe3IrQFIok9r84EM3PXB8qBFJPSc6dpWfrtsC/y1pyrz82xfUIn5ZrnSHQQsd6jebQ==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [arm64]
|
||||
os: [freebsd]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@esbuild/freebsd-x64@0.18.20:
|
||||
resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==}
|
||||
engines: {node: '>=12'}
|
||||
@ -2448,15 +2388,6 @@ packages:
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@esbuild/freebsd-x64@0.20.0:
|
||||
resolution: {integrity: sha512-uG8B0WSepMRsBNVXAQcHf9+Ko/Tr+XqmK7Ptel9HVmnykupXdS4J7ovSQUIi0tQGIndhbqWLaIL/qO/cWhXKyQ==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [x64]
|
||||
os: [freebsd]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@esbuild/linux-arm64@0.18.20:
|
||||
resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==}
|
||||
engines: {node: '>=12'}
|
||||
@ -2475,15 +2406,6 @@ packages:
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@esbuild/linux-arm64@0.20.0:
|
||||
resolution: {integrity: sha512-uTtyYAP5veqi2z9b6Gr0NUoNv9F/rOzI8tOD5jKcCvRUn7T60Bb+42NDBCWNhMjkQzI0qqwXkQGo1SY41G52nw==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@esbuild/linux-arm@0.18.20:
|
||||
resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==}
|
||||
engines: {node: '>=12'}
|
||||
@ -2502,15 +2424,6 @@ packages:
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@esbuild/linux-arm@0.20.0:
|
||||
resolution: {integrity: sha512-2ezuhdiZw8vuHf1HKSf4TIk80naTbP9At7sOqZmdVwvvMyuoDiZB49YZKLsLOfKIr77+I40dWpHVeY5JHpIEIg==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [arm]
|
||||
os: [linux]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@esbuild/linux-ia32@0.18.20:
|
||||
resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==}
|
||||
engines: {node: '>=12'}
|
||||
@ -2529,15 +2442,6 @@ packages:
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@esbuild/linux-ia32@0.20.0:
|
||||
resolution: {integrity: sha512-c88wwtfs8tTffPaoJ+SQn3y+lKtgTzyjkD8NgsyCtCmtoIC8RDL7PrJU05an/e9VuAke6eJqGkoMhJK1RY6z4w==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [ia32]
|
||||
os: [linux]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@esbuild/linux-loong64@0.18.20:
|
||||
resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==}
|
||||
engines: {node: '>=12'}
|
||||
@ -2556,15 +2460,6 @@ packages:
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@esbuild/linux-loong64@0.20.0:
|
||||
resolution: {integrity: sha512-lR2rr/128/6svngnVta6JN4gxSXle/yZEZL3o4XZ6esOqhyR4wsKyfu6qXAL04S4S5CgGfG+GYZnjFd4YiG3Aw==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [loong64]
|
||||
os: [linux]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@esbuild/linux-mips64el@0.18.20:
|
||||
resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==}
|
||||
engines: {node: '>=12'}
|
||||
@ -2583,15 +2478,6 @@ packages:
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@esbuild/linux-mips64el@0.20.0:
|
||||
resolution: {integrity: sha512-9Sycc+1uUsDnJCelDf6ZNqgZQoK1mJvFtqf2MUz4ujTxGhvCWw+4chYfDLPepMEvVL9PDwn6HrXad5yOrNzIsQ==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [mips64el]
|
||||
os: [linux]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@esbuild/linux-ppc64@0.18.20:
|
||||
resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==}
|
||||
engines: {node: '>=12'}
|
||||
@ -2610,15 +2496,6 @@ packages:
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@esbuild/linux-ppc64@0.20.0:
|
||||
resolution: {integrity: sha512-CoWSaaAXOZd+CjbUTdXIJE/t7Oz+4g90A3VBCHLbfuc5yUQU/nFDLOzQsN0cdxgXd97lYW/psIIBdjzQIwTBGw==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [ppc64]
|
||||
os: [linux]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@esbuild/linux-riscv64@0.18.20:
|
||||
resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==}
|
||||
engines: {node: '>=12'}
|
||||
@ -2637,15 +2514,6 @@ packages:
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@esbuild/linux-riscv64@0.20.0:
|
||||
resolution: {integrity: sha512-mlb1hg/eYRJUpv8h/x+4ShgoNLL8wgZ64SUr26KwglTYnwAWjkhR2GpoKftDbPOCnodA9t4Y/b68H4J9XmmPzA==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [riscv64]
|
||||
os: [linux]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@esbuild/linux-s390x@0.18.20:
|
||||
resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==}
|
||||
engines: {node: '>=12'}
|
||||
@ -2664,15 +2532,6 @@ packages:
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@esbuild/linux-s390x@0.20.0:
|
||||
resolution: {integrity: sha512-fgf9ubb53xSnOBqyvWEY6ukBNRl1mVX1srPNu06B6mNsNK20JfH6xV6jECzrQ69/VMiTLvHMicQR/PgTOgqJUQ==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [s390x]
|
||||
os: [linux]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@esbuild/linux-x64@0.18.20:
|
||||
resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==}
|
||||
engines: {node: '>=12'}
|
||||
@ -2691,15 +2550,6 @@ packages:
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@esbuild/linux-x64@0.20.0:
|
||||
resolution: {integrity: sha512-H9Eu6MGse++204XZcYsse1yFHmRXEWgadk2N58O/xd50P9EvFMLJTQLg+lB4E1cF2xhLZU5luSWtGTb0l9UeSg==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@esbuild/netbsd-x64@0.18.20:
|
||||
resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==}
|
||||
engines: {node: '>=12'}
|
||||
@ -2718,15 +2568,6 @@ packages:
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@esbuild/netbsd-x64@0.20.0:
|
||||
resolution: {integrity: sha512-lCT675rTN1v8Fo+RGrE5KjSnfY0x9Og4RN7t7lVrN3vMSjy34/+3na0q7RIfWDAj0e0rCh0OL+P88lu3Rt21MQ==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [x64]
|
||||
os: [netbsd]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@esbuild/openbsd-x64@0.18.20:
|
||||
resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==}
|
||||
engines: {node: '>=12'}
|
||||
@ -2745,15 +2586,6 @@ packages:
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@esbuild/openbsd-x64@0.20.0:
|
||||
resolution: {integrity: sha512-HKoUGXz/TOVXKQ+67NhxyHv+aDSZf44QpWLa3I1lLvAwGq8x1k0T+e2HHSRvxWhfJrFxaaqre1+YyzQ99KixoA==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [x64]
|
||||
os: [openbsd]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@esbuild/sunos-x64@0.18.20:
|
||||
resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==}
|
||||
engines: {node: '>=12'}
|
||||
@ -2772,15 +2604,6 @@ packages:
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@esbuild/sunos-x64@0.20.0:
|
||||
resolution: {integrity: sha512-GDwAqgHQm1mVoPppGsoq4WJwT3vhnz/2N62CzhvApFD1eJyTroob30FPpOZabN+FgCjhG+AgcZyOPIkR8dfD7g==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [x64]
|
||||
os: [sunos]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@esbuild/win32-arm64@0.18.20:
|
||||
resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==}
|
||||
engines: {node: '>=12'}
|
||||
@ -2799,15 +2622,6 @@ packages:
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@esbuild/win32-arm64@0.20.0:
|
||||
resolution: {integrity: sha512-0vYsP8aC4TvMlOQYozoksiaxjlvUcQrac+muDqj1Fxy6jh9l9CZJzj7zmh8JGfiV49cYLTorFLxg7593pGldwQ==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [arm64]
|
||||
os: [win32]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@esbuild/win32-ia32@0.18.20:
|
||||
resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==}
|
||||
engines: {node: '>=12'}
|
||||
@ -2826,15 +2640,6 @@ packages:
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@esbuild/win32-ia32@0.20.0:
|
||||
resolution: {integrity: sha512-p98u4rIgfh4gdpV00IqknBD5pC84LCub+4a3MO+zjqvU5MVXOc3hqR2UgT2jI2nh3h8s9EQxmOsVI3tyzv1iFg==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [ia32]
|
||||
os: [win32]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@esbuild/win32-x64@0.18.20:
|
||||
resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==}
|
||||
engines: {node: '>=12'}
|
||||
@ -2853,15 +2658,6 @@ packages:
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@esbuild/win32-x64@0.20.0:
|
||||
resolution: {integrity: sha512-NgJnesu1RtWihtTtXGFMU5YSE6JyyHPMxCwBZK7a6/8d31GuSo9l0Ss7w1Jw5QnKUawG6UEehs883kcXf5fYwg==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [x64]
|
||||
os: [win32]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@eslint-community/eslint-utils@4.4.0(eslint@8.56.0):
|
||||
resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==}
|
||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||
@ -3964,7 +3760,7 @@ packages:
|
||||
- rollup
|
||||
dev: true
|
||||
|
||||
/@vitejs/plugin-legacy@5.3.0(esbuild@0.20.0)(terser@5.27.0)(vite@5.1.1):
|
||||
/@vitejs/plugin-legacy@5.3.0(esbuild@0.19.12)(terser@5.27.0)(vite@5.1.1):
|
||||
resolution: {integrity: sha512-BhW+WcJmEgW5G/1UQRiVQ7wz9/ZPnxqzExT9n0zAk4RlqQQ/26udIeXzdU8+03AGnaF61wmZlCspexgEnxFWMA==}
|
||||
engines: {node: ^18.0.0 || >=20.0.0}
|
||||
peerDependencies:
|
||||
@ -3975,7 +3771,7 @@ packages:
|
||||
'@babel/preset-env': 7.23.9(@babel/core@7.23.9)
|
||||
browserslist: 4.22.3
|
||||
core-js: 3.35.1
|
||||
esbuild-plugin-browserslist: 0.10.0(browserslist@4.22.3)(esbuild@0.20.0)
|
||||
esbuild-plugin-browserslist: 0.10.0(browserslist@4.22.3)(esbuild@0.19.12)
|
||||
magic-string: 0.30.6
|
||||
regenerator-runtime: 0.14.1
|
||||
systemjs: 6.14.3
|
||||
@ -6092,7 +5888,7 @@ packages:
|
||||
is-date-object: 1.0.5
|
||||
is-symbol: 1.0.4
|
||||
|
||||
/esbuild-plugin-browserslist@0.10.0(browserslist@4.22.3)(esbuild@0.20.0):
|
||||
/esbuild-plugin-browserslist@0.10.0(browserslist@4.22.3)(esbuild@0.19.12):
|
||||
resolution: {integrity: sha512-rZWFcp3l+73xDiJB+Vl9UqP1VVs+L4E0lygbwJl6UTmW2qQago7DLT56hBu0vocH/TtZsAcRHj0+qHqkkB5Gww==}
|
||||
engines: {node: '>=18'}
|
||||
peerDependencies:
|
||||
@ -6101,7 +5897,7 @@ packages:
|
||||
dependencies:
|
||||
browserslist: 4.22.3
|
||||
debug: 4.3.4
|
||||
esbuild: 0.20.0
|
||||
esbuild: 0.19.12
|
||||
zod: 3.22.4
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
@ -6168,37 +5964,6 @@ packages:
|
||||
'@esbuild/win32-x64': 0.19.12
|
||||
dev: true
|
||||
|
||||
/esbuild@0.20.0:
|
||||
resolution: {integrity: sha512-6iwE3Y2RVYCME1jLpBqq7LQWK3MW6vjV2bZy6gt/WrqkY+WE74Spyc0ThAOYpMtITvnjX09CrC6ym7A/m9mebA==}
|
||||
engines: {node: '>=12'}
|
||||
hasBin: true
|
||||
requiresBuild: true
|
||||
optionalDependencies:
|
||||
'@esbuild/aix-ppc64': 0.20.0
|
||||
'@esbuild/android-arm': 0.20.0
|
||||
'@esbuild/android-arm64': 0.20.0
|
||||
'@esbuild/android-x64': 0.20.0
|
||||
'@esbuild/darwin-arm64': 0.20.0
|
||||
'@esbuild/darwin-x64': 0.20.0
|
||||
'@esbuild/freebsd-arm64': 0.20.0
|
||||
'@esbuild/freebsd-x64': 0.20.0
|
||||
'@esbuild/linux-arm': 0.20.0
|
||||
'@esbuild/linux-arm64': 0.20.0
|
||||
'@esbuild/linux-ia32': 0.20.0
|
||||
'@esbuild/linux-loong64': 0.20.0
|
||||
'@esbuild/linux-mips64el': 0.20.0
|
||||
'@esbuild/linux-ppc64': 0.20.0
|
||||
'@esbuild/linux-riscv64': 0.20.0
|
||||
'@esbuild/linux-s390x': 0.20.0
|
||||
'@esbuild/linux-x64': 0.20.0
|
||||
'@esbuild/netbsd-x64': 0.20.0
|
||||
'@esbuild/openbsd-x64': 0.20.0
|
||||
'@esbuild/sunos-x64': 0.20.0
|
||||
'@esbuild/win32-arm64': 0.20.0
|
||||
'@esbuild/win32-ia32': 0.20.0
|
||||
'@esbuild/win32-x64': 0.20.0
|
||||
dev: true
|
||||
|
||||
/escalade@3.1.1:
|
||||
resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==}
|
||||
engines: {node: '>=6'}
|
||||
@ -11949,7 +11714,7 @@ packages:
|
||||
- rollup
|
||||
dev: true
|
||||
|
||||
/unplugin-turbo-console@1.3.0(esbuild@0.20.0)(vite@5.1.1)(vue@3.4.18):
|
||||
/unplugin-turbo-console@1.3.0(esbuild@0.19.12)(vite@5.1.1)(vue@3.4.18):
|
||||
resolution: {integrity: sha512-Z5jquMBms6a/BiBAMpYGeUdERtapYdcTL3AhRx/vX4Vnd3lH9VoROfwGktCfTSD3laJCZLhs/un8GQCPf9ZgsQ==}
|
||||
peerDependencies:
|
||||
'@nuxt/kit': '>=3'
|
||||
@ -11980,7 +11745,7 @@ packages:
|
||||
dependencies:
|
||||
'@rollup/pluginutils': 5.1.0
|
||||
ast-kit: 0.11.3
|
||||
esbuild: 0.20.0
|
||||
esbuild: 0.19.12
|
||||
get-port-please: 3.1.2
|
||||
h3: 1.10.1
|
||||
launch-editor: 2.6.1
|
||||
@ -12388,6 +12153,14 @@ packages:
|
||||
resolution: {integrity: sha512-6R4OVBVNtQTlcbXu6SJ8ENR35M2/CdWt3Jmv57jOUM+1ojiFmjVGvZPH8DfHpMDSA+ITs+EW5V6qthADxeyYOQ==}
|
||||
dev: false
|
||||
|
||||
/vue-currency-input@3.1.0(vue@3.4.18):
|
||||
resolution: {integrity: sha512-XZ8bg61zRNJjRDo7I4K0UAah9qtkipexRcn/h9MzEqZQ9gVZWABObgN+042UchmCTiwSfsjGOd6DZGzd/TUUMA==}
|
||||
peerDependencies:
|
||||
vue: ^2.7 || ^3.0.0
|
||||
dependencies:
|
||||
vue: 3.4.18(typescript@5.3.3)
|
||||
dev: false
|
||||
|
||||
/vue-demi@0.14.6(vue@3.4.18):
|
||||
resolution: {integrity: sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==}
|
||||
engines: {node: '>=12'}
|
||||
|
@ -113,6 +113,15 @@ const routes: RouteRecordRaw = {
|
||||
icon: 'i-carbon:character-whole-number',
|
||||
},
|
||||
},
|
||||
{
|
||||
path: 'currencyinput',
|
||||
name: 'pluginExampleCurrencyInput',
|
||||
component: () => import('@/views/plugin_example/currency.input.vue'),
|
||||
meta: {
|
||||
title: '货币格式输入',
|
||||
icon: 'i-ph:currency-cny-bold',
|
||||
},
|
||||
},
|
||||
{
|
||||
path: 'splitpanes',
|
||||
name: 'pluginExampleSplitpanes',
|
||||
|
259
src/views/plugin_example/currency.input.vue
Normal file
259
src/views/plugin_example/currency.input.vue
Normal file
@ -0,0 +1,259 @@
|
||||
<route lang="yaml">
|
||||
meta:
|
||||
enabled: false
|
||||
</route>
|
||||
|
||||
<script setup lang="ts">
|
||||
import Message from 'vue-m-message'
|
||||
import type { CurrencyInputOptions } from 'vue-currency-input'
|
||||
import { useCurrencyInput } from 'vue-currency-input'
|
||||
import { createReusableTemplate, useClipboard } from '@vueuse/core'
|
||||
import Alert from './components/alert.vue'
|
||||
|
||||
const Option = createReusableTemplate<{
|
||||
label: string
|
||||
description?: string
|
||||
}>()
|
||||
|
||||
const localeEnabled = ref(false)
|
||||
const locale = ref('zh-ZH')
|
||||
const locales = ref(['de-DE', 'de-CH', 'en-US', 'en-IN', 'nl-NL', 'sv-SE', 'fr-FR', 'es-ES', 'pt-PT', 'pt-BR', 'zh-ZH', 'ja-JP', 'ar-SA', 'fa-IR', 'bg-BG'])
|
||||
|
||||
const currency = ref('CNY')
|
||||
const currencies = ref(['EUR', 'USD', 'GBP', 'BRL', 'INR', 'CNY', 'JPY', 'SAR', 'IRR', 'BGN'])
|
||||
|
||||
const currencyDisplay = ref('symbol')
|
||||
const currencyDisplays = ref([
|
||||
{ value: 'symbol', label: 'Symbol' },
|
||||
{ value: 'narrowSymbol', label: 'Narrow symbol' },
|
||||
{ value: 'code', label: 'Code' },
|
||||
{ value: 'name', label: 'Name' },
|
||||
{ value: 'hidden', label: 'Hidden' },
|
||||
])
|
||||
|
||||
const accountingSign = ref(false)
|
||||
|
||||
const useGrouping = ref(true)
|
||||
|
||||
const hideCurrencySymbolOnFocus = ref(true)
|
||||
const hideGroupingSeparatorOnFocus = ref(true)
|
||||
const hideNegligibleDecimalDigitsOnFocus = ref(true)
|
||||
const hideNegligibleDecimalDigitsOnFocusEnabled = ref(true)
|
||||
|
||||
const valueRangeEnabled = ref(false)
|
||||
const minValue = ref(undefined)
|
||||
const maxValue = ref(undefined)
|
||||
|
||||
const precisionEnabled = ref(false)
|
||||
const precisionRangeEnabled = ref(false)
|
||||
const precisionRangeValue = ref([2, 5])
|
||||
function range(from: number, to: number) {
|
||||
return Array(to - from).fill(from).map((x, y) => x + y)
|
||||
}
|
||||
const precision = ref(2)
|
||||
const precisionOptions = computed(() => range(1, 16))
|
||||
|
||||
const valueScalingEnabled = ref(false)
|
||||
const valueScaling = ref('precision')
|
||||
const valueScalingOptions = ref([
|
||||
{ value: 'precision', label: 'Precision' },
|
||||
{ value: 'thousands', label: 'Thousands' },
|
||||
{ value: 'millions', label: 'Millions' },
|
||||
{ value: 'billions', label: 'Billions' },
|
||||
])
|
||||
|
||||
const autoDecimalDigits = ref(false)
|
||||
watch(autoDecimalDigits, (value) => {
|
||||
hideNegligibleDecimalDigitsOnFocusEnabled.value = !value
|
||||
hideNegligibleDecimalDigitsOnFocus.value = !value
|
||||
})
|
||||
|
||||
const options = computed(() => {
|
||||
return {
|
||||
locale: localeEnabled.value ? locale.value : undefined,
|
||||
currency: currency.value,
|
||||
currencyDisplay: currencyDisplay.value,
|
||||
valueRange: valueRangeEnabled.value
|
||||
? {
|
||||
min: minValue.value === '' ? undefined : minValue.value,
|
||||
max: maxValue.value === '' ? undefined : maxValue.value,
|
||||
}
|
||||
: undefined,
|
||||
precision: precisionEnabled.value
|
||||
? precisionRangeEnabled.value
|
||||
? { min: precisionRangeValue.value[0], max: precisionRangeValue.value[1] }
|
||||
: precision.value
|
||||
: undefined,
|
||||
hideCurrencySymbolOnFocus: hideCurrencySymbolOnFocus.value,
|
||||
hideGroupingSeparatorOnFocus: hideGroupingSeparatorOnFocus.value,
|
||||
hideNegligibleDecimalDigitsOnFocus: hideNegligibleDecimalDigitsOnFocus.value,
|
||||
autoDecimalDigits: autoDecimalDigits.value,
|
||||
valueScaling: valueScalingEnabled.value ? valueScaling.value : undefined,
|
||||
useGrouping: useGrouping.value,
|
||||
accountingSign: accountingSign.value,
|
||||
}
|
||||
})
|
||||
|
||||
const { inputRef, setValue, setOptions, numberValue, formattedValue } = useCurrencyInput(options.value as CurrencyInputOptions)
|
||||
|
||||
watch(options, (value) => {
|
||||
setOptions(value as CurrencyInputOptions)
|
||||
})
|
||||
|
||||
watch(numberValue, (val) => {
|
||||
setValue(val)
|
||||
}, {
|
||||
immediate: true,
|
||||
})
|
||||
|
||||
onMounted(() => {
|
||||
numberValue.value = 1234.5
|
||||
})
|
||||
|
||||
const { copy, copied, isSupported } = useClipboard()
|
||||
|
||||
watch(copied, (val) => {
|
||||
if (val) {
|
||||
Message.success('复制成功', {
|
||||
zIndex: 2000,
|
||||
})
|
||||
}
|
||||
})
|
||||
|
||||
function handleCopy() {
|
||||
copy(JSON.stringify(options.value, null, 2))
|
||||
}
|
||||
|
||||
function open(url: string) {
|
||||
window.open(url, '_blank')
|
||||
}
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div>
|
||||
<Option.define v-slot="{ $slots, label, description }">
|
||||
<section class="mb-6 min-w-0">
|
||||
<div class="mb-2 flex items-center justify-between">
|
||||
<span class="text-xl font-medium">{{ label }}</span>
|
||||
<component :is="$slots.switch" />
|
||||
</div>
|
||||
<div v-if="description" class="mb-2 text-sm opacity-30">
|
||||
{{ description }}
|
||||
</div>
|
||||
<component :is="$slots.default" />
|
||||
</section>
|
||||
</Option.define>
|
||||
<Alert />
|
||||
<PageHeader title="货币格式输入">
|
||||
<template #content>
|
||||
<p style="margin-bottom: 0;">
|
||||
安装命令:<ElTag>pnpm add vue-currency-input</ElTag>
|
||||
</p>
|
||||
</template>
|
||||
<ElButton @click="open('https://github.com/dm4t2/vue-currency-input')">
|
||||
<template #icon>
|
||||
<SvgIcon name="i-ep:link" />
|
||||
</template>
|
||||
访问 vue-currency-input
|
||||
</ElButton>
|
||||
</PageHeader>
|
||||
<PageMain>
|
||||
<div class="grid items-center gap-y-4 md:grid-cols-2 md:gap-x-8">
|
||||
<el-input ref="inputRef" v-model="formattedValue" />
|
||||
<div>
|
||||
数值:<code class="ml-2">{{ numberValue != null ? numberValue : 'null' }}</code>
|
||||
</div>
|
||||
</div>
|
||||
</PageMain>
|
||||
<PageMain title="选项">
|
||||
<template #title>
|
||||
<div class="flex items-center justify-between">
|
||||
选项
|
||||
<el-button v-if="isSupported" size="small" @click="handleCopy">
|
||||
复制选项
|
||||
</el-button>
|
||||
</div>
|
||||
</template>
|
||||
<div class="grid grid-cols-1 gap-x-8 md:grid-cols-2">
|
||||
<div>
|
||||
<Option.reuse label="地理位置">
|
||||
<template #switch>
|
||||
<el-switch v-model="localeEnabled" />
|
||||
</template>
|
||||
<el-select v-model="locale" :disabled="!localeEnabled">
|
||||
<el-option v-for="item in locales" :key="item" :value="item" :label="item" />
|
||||
</el-select>
|
||||
</Option.reuse>
|
||||
<Option.reuse label="货币">
|
||||
<el-select v-model="currency">
|
||||
<el-option v-for="item in currencies" :key="item" :value="item" :label="item" />
|
||||
</el-select>
|
||||
</Option.reuse>
|
||||
<Option.reuse label="货币显示" description="如何在格式化中显示货币">
|
||||
<el-select v-model="currencyDisplay">
|
||||
<el-option v-for="item in currencyDisplays" :key="item.value" :value="item.value" :label="item.label" />
|
||||
</el-select>
|
||||
</Option.reuse>
|
||||
<Option.reuse label="会计标志" description="是否使用会计符号格式化">
|
||||
<template #switch>
|
||||
<el-switch v-model="accountingSign" />
|
||||
</template>
|
||||
</Option.reuse>
|
||||
<Option.reuse label="使用分组" description="是否使用分组分隔符,如千/万/千万分隔符">
|
||||
<template #switch>
|
||||
<el-switch v-model="useGrouping" />
|
||||
</template>
|
||||
</Option.reuse>
|
||||
<Option.reuse label="无干扰输入" description="对焦时隐藏格式的不同部分,以方便输入">
|
||||
<div>
|
||||
<el-checkbox v-model="hideCurrencySymbolOnFocus" label="隐藏货币符号" />
|
||||
</div>
|
||||
<div>
|
||||
<el-checkbox v-model="hideGroupingSeparatorOnFocus" label="隐藏分组分隔符" />
|
||||
</div>
|
||||
<div>
|
||||
<el-checkbox v-model="hideNegligibleDecimalDigitsOnFocus" :disabled="!hideNegligibleDecimalDigitsOnFocusEnabled" label="隐藏可忽略的小数位数" />
|
||||
</div>
|
||||
</Option.reuse>
|
||||
</div>
|
||||
<div>
|
||||
<Option.reuse label="数值范围" description="验证在模糊时触发,并在超出范围时自动设置相应的阈值">
|
||||
<template #switch>
|
||||
<el-switch v-model="valueRangeEnabled" />
|
||||
</template>
|
||||
<div class="flex items-center space-x-4">
|
||||
<el-input-number v-model="minValue" :disabled="!valueRangeEnabled" placeholder="最小值" class="flex-1" />
|
||||
<span class="text-center">to</span>
|
||||
<el-input-number v-model="maxValue" :disabled="!valueRangeEnabled" placeholder="最大值" class="flex-1" />
|
||||
</div>
|
||||
</Option.reuse>
|
||||
<Option.reuse label="精确度" description="覆盖显示的小数位数,仅适用于支持小数位的货币">
|
||||
<template #switch>
|
||||
<el-switch v-model="precisionEnabled" />
|
||||
</template>
|
||||
<div>
|
||||
<el-checkbox v-model="precisionRangeEnabled" :disabled="!precisionEnabled" label="使用范围" />
|
||||
<el-slider v-if="precisionRangeEnabled" v-model="precisionRangeValue" range show-stops :min="1" :max="15" />
|
||||
<el-select v-else v-model="precision" :disabled="!precisionEnabled">
|
||||
<el-option v-for="item in precisionOptions" :key="item" :value="item" :label="item" />
|
||||
</el-select>
|
||||
</div>
|
||||
</Option.reuse>
|
||||
<Option.reuse label="数值缩放" description="对输出值进行缩放">
|
||||
<template #switch>
|
||||
<el-switch v-model="valueScalingEnabled" />
|
||||
</template>
|
||||
<el-select v-model="valueScaling" :disabled="!valueScalingEnabled">
|
||||
<el-option v-for="item in valueScalingOptions" :key="item.value" :value="item.value" :label="item.label" />
|
||||
</el-select>
|
||||
</Option.reuse>
|
||||
<Option.reuse label="自动小数位" description="是否自动插入小数符号,将最后输入的数字作为小数位">
|
||||
<template #switch>
|
||||
<el-switch v-model="autoDecimalDigits" />
|
||||
</template>
|
||||
</Option.reuse>
|
||||
</div>
|
||||
</div>
|
||||
</PageMain>
|
||||
</div>
|
||||
</template>
|
Loading…
Reference in New Issue
Block a user