sohelp-eleplus 1.1.24 → 1.1.26

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/components.js +1 -0
  2. package/http/SohelpHttp.js +21 -21
  3. package/icons/flag/AustraliaFlag.vue +10 -0
  4. package/icons/flag/BrazilFlag.vue +13 -0
  5. package/icons/flag/CanadaFlag.vue +6 -0
  6. package/icons/flag/ChinaFlag.vue +13 -0
  7. package/icons/flag/DenmarkFlag.vue +7 -0
  8. package/icons/flag/EuropeFlag.vue +30 -0
  9. package/icons/flag/HongkongFlag.vue +10 -0
  10. package/icons/flag/IndiaFlag.vue +27 -0
  11. package/icons/flag/IndonesiaFlag.vue +12 -0
  12. package/icons/flag/JapanFlag.vue +13 -0
  13. package/icons/flag/KoreaFlag.vue +26 -0
  14. package/icons/flag/MalaysiaFlag.vue +28 -0
  15. package/icons/flag/MexicoFlag.vue +15 -0
  16. package/icons/flag/NewZealandFlag.vue +45 -0
  17. package/icons/flag/NorwayFlag.vue +9 -0
  18. package/icons/flag/PhilippinesFlag.vue +8 -0
  19. package/icons/flag/PolandFlag.vue +12 -0
  20. package/icons/flag/README.md +100 -0
  21. package/icons/flag/RussiaFlag.vue +7 -0
  22. package/icons/flag/SingaporeFlag.vue +15 -0
  23. package/icons/flag/SouthAfricaFlag.vue +19 -0
  24. package/icons/flag/SwedenFlag.vue +6 -0
  25. package/icons/flag/SwitzerlandFlag.vue +11 -0
  26. package/icons/flag/ThailandFlag.vue +9 -0
  27. package/icons/flag/TurkeyFlag.vue +14 -0
  28. package/icons/flag/UkFlag.vue +9 -0
  29. package/icons/flag/UsaFlag.vue +11 -0
  30. package/icons/flag/VietnamFlag.vue +12 -0
  31. package/icons/flag/index.js +97 -0
  32. package/package.json +1 -1
  33. package/sohelp-country-select/README.md +140 -0
  34. package/sohelp-country-select/index.vue +146 -0
  35. package/sohelp-cry-input/README.md +191 -10
  36. package/sohelp-cry-input/index.vue +137 -47
  37. package/sohelp-grid/index.vue +121 -114
  38. package/sohelp-grid/js/DefaultGridOptions.js +1 -1
  39. package/sohelp-grid/js/useSohelpGridConfig.js +5 -5
  40. package/sohelp-import/index.vue +372 -365
  41. package/sohelp-table/index.vue +113 -115
  42. package/sohelp-vform-eleplus/render.es.js +0 -1
  43. package/sohelp-vxe-table/index.vue +20 -32
  44. package/sohelp-workflow-drawer/components/form.vue +1 -1
  45. package/sohelp-workflow-drawer/components/table.vue +0 -1
  46. package/sohelp-workflow-drawer/components/timeline.vue +2 -2
  47. package/sohelp-workflow-drawer/components/workflow.vue +28 -0
  48. package/sohelp-workflow-drawer/index.vue +189 -200
package/components.js CHANGED
@@ -3,6 +3,7 @@ export { default as SohelpDynSelect } from './sohelp-dyn-select/index.vue';
3
3
  export { default as SohelpOrgSelect } from './sohelp-org-select/index.vue';
4
4
  export { default as SohelpRoleSelect } from './sohelp-role-select/index.vue';
5
5
  export { default as SohelpSelect } from './sohelp-select/index.vue';
6
+ export { default as SohelpCountrySelect } from './sohelp-country-select/index.vue';
6
7
  export { default as SohelpGridSelect } from './sohelp-grid-select/index.vue';
7
8
  export { default as SohelpProTable } from './sohelp-pro-table/index.vue';
8
9
  export { default as SohelpText } from './sohelp-text/index.vue';
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * axios实例
3
3
  */
4
- import { ElMessageBox } from 'element-plus/es';
4
+ import { ElMessageBox } from "element-plus/es";
5
5
 
6
6
  export const SohelpHttp = {
7
7
  /**
@@ -12,7 +12,7 @@ export const SohelpHttp = {
12
12
  },
13
13
 
14
14
  /**
15
- * 下载文件
15
+ * 通过Get请求,下载文件
16
16
  * @param _url
17
17
  * @param param
18
18
  * @param fileName
@@ -20,9 +20,9 @@ export const SohelpHttp = {
20
20
  * @param config
21
21
  * @returns {Promise<never>}
22
22
  */
23
- download: async function (_url, param, fileName, onProgress, config = {}) {
23
+ download: async function(_url, param, fileName, onProgress, config = {}) {
24
24
  if (window.$axios == null) {
25
- console.error('请在配置main.js中配置window.$axios实例!!');
25
+ console.error("请在配置main.js中配置window.$axios实例!!");
26
26
  return;
27
27
  }
28
28
  try {
@@ -33,10 +33,10 @@ export const SohelpHttp = {
33
33
  const response = await window.$axios
34
34
  .get(_url, {
35
35
  params: param || {},
36
- responseType: 'blob',
36
+ responseType: "blob",
37
37
  ...config,
38
38
  onDownloadProgress: (evt) => {
39
- if (typeof onProgress === 'function') {
39
+ if (typeof onProgress === "function") {
40
40
  const total = evt?.total || 0;
41
41
  const loaded = evt?.loaded || 0;
42
42
  onProgress(loaded, total);
@@ -47,7 +47,7 @@ export const SohelpHttp = {
47
47
  return Promise.reject(e.message);
48
48
  });
49
49
 
50
- if (response.type === 'application/json') {
50
+ if (response.type === "application/json") {
51
51
  try {
52
52
  const text = await response.text();
53
53
  const res = JSON.parse(text);
@@ -55,7 +55,7 @@ export const SohelpHttp = {
55
55
  return res.data;
56
56
  } else {
57
57
  if (res?.meta?.error) {
58
- console.log('SohelpHttp.download:', res.meta.error);
58
+ console.log("SohelpHttp.download:", res.meta.error);
59
59
  }
60
60
  return Promise.reject(new Error(res.meta.message));
61
61
  }
@@ -65,12 +65,12 @@ export const SohelpHttp = {
65
65
  return;
66
66
  }
67
67
  // 创建一个链接元素用于下载
68
- const url = _url + '?' + new URLSearchParams(param).toString();
68
+ const url = _url + "?" + new URLSearchParams(param).toString();
69
69
  // const url = window.URL.createObjectURL(response.data);
70
- const link = document.createElement('a');
70
+ const link = document.createElement("a");
71
71
  link.href = url;
72
- link.target = '_blank';
73
- link.setAttribute('download', fileName); // 设置下载的文件名
72
+ link.target = "_blank";
73
+ link.setAttribute("download", fileName); // 设置下载的文件名
74
74
  document.body.appendChild(link);
75
75
 
76
76
  // 触发下载
@@ -82,22 +82,22 @@ export const SohelpHttp = {
82
82
  return Promise.reject(error);
83
83
  }
84
84
  },
85
- get: function (url, param, callback) {
85
+ get: function(url, param, callback) {
86
86
  if (window.$axios == null) {
87
- console.error('请在配置main.js中配置window.$axios实例!!');
87
+ console.error("请在配置main.js中配置window.$axios实例!!");
88
88
  return;
89
89
  }
90
90
  for (const key in param) {
91
- if (typeof param[key] === 'object' && param[key] !== null) {
91
+ if (typeof param[key] === "object" && param[key] !== null) {
92
92
  param[key] = JSON.stringify(param[key]); // 转换为 JSON 字符串
93
93
  }
94
94
  }
95
95
  let promise = window.$axios.get(url, { params: param });
96
96
  return promise.then((r) => {
97
97
  if (!r.meta.success && r.meta.error) {
98
- console.error('(GET请求URL):', url, '(请求参数):', param, '(返回结果):', r.meta.error);
98
+ console.error("(GET请求URL):", url, "(请求参数):", param, "(返回结果):", r.meta.error);
99
99
  }
100
- if (typeof callback === 'function') {
100
+ if (typeof callback === "function") {
101
101
  callback.call(this, r);
102
102
  }
103
103
  return Promise.resolve(r);
@@ -112,17 +112,17 @@ export const SohelpHttp = {
112
112
  * @param {Function} [error] 错误回调函数(目前未使用)
113
113
  * @returns {Promise<any>} 返回Promise对象
114
114
  */
115
- post: function (url, param, callback, error) {
115
+ post: function(url, param, callback, error) {
116
116
  if (window.$axios == null) {
117
- console.error('请在配置main.js中配置window.$axios实例!');
117
+ console.error("请在配置main.js中配置window.$axios实例!");
118
118
  return;
119
119
  }
120
120
  let promise = window.$axios.post(url, param);
121
121
  return promise.then((r) => {
122
122
  if (!r.meta.success && r.meta.error) {
123
- console.error('(GET请求URL):', url, '(请求参数):', param, '(返回结果):', r.meta.error);
123
+ console.error("(GET请求URL):", url, "(请求参数):", param, "(返回结果):", r.meta.error);
124
124
  }
125
- if (typeof callback === 'function') {
125
+ if (typeof callback === "function") {
126
126
  callback.call(this, r);
127
127
  }
128
128
  return Promise.resolve(r);
@@ -0,0 +1,10 @@
1
+ <template>
2
+ <svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-au" viewBox="0 0 640 480">
3
+ <path fill="#00008B" d="M0 0h640v480H0z"/>
4
+ <path fill="#fff" d="m37.5 0 122 90.5L281 0h39v31l-120 89.5 120 89V240h-40l-120-89.5L40.5 240H0v-30l119.5-89L0 32V0z"/>
5
+ <path fill="red" d="M212 140.5 320 220v20l-135.5-99.5zm-92 10 3 17.5-96 72H0zM320 0v1.5l-124.5 94 1-22L295 0zM0 0l119.5 88h-30L0 21z"/>
6
+ <path fill="#fff" d="M120.5 0v240h80V0zM0 80v80h320V80z"/>
7
+ <path fill="red" d="M0 96.5v48h320v-48zM136.5 0v240h48V0z"/>
8
+ <path fill="#fff" d="m527 396.7-20.5 2.6 2.2 20.5-14.8-14.4-14.7 14.5 2-20.5-20.5-2.4 17.3-11.2-10.9-17.5 19.6 6.5 6.9-19.5 7.1 19.4 19.5-6.7-10.7 17.6zm-3.7-117.2 2.7-13-9.8-9 13.2-1.5 5.5-12.1 5.5 12.1 13.2 1.5-9.8 9 2.7 13-11.6-6.6zm-104.1-60-20.3 2.2 1.8 20.3-14.4-14.5-14.8 14.1 2.4-20.3-20.2-2.7 17.3-10.8-10.5-17.5 19.3 6.8L387 178l6.7 19.3 19.4-6.3-10.9 17.3 17.1 11.2ZM623 186.7l-20.9 2.7 2.3 20.9-15.1-14.7-15 14.8 2.1-21-20.9-2.4 17.7-11.5-11.1-17.9 20 6.7 7-19.8 7.2 19.8 19.9-6.9-11 18zm-96.1-83.5-20.7 2.3 1.9 20.8-14.7-14.8-15.1 14.4 2.4-20.7-20.7-2.8 17.7-11L467 73.5l19.7 6.9 7.3-19.5 6.8 19.7 19.8-6.5-11.1 17.6zM234 385.7l-45.8 5.4 4.6 45.9-32.8-32.4-33 32.2 4.9-45.9-45.8-5.8 38.9-24.8-24-39.4 43.6 15 15.8-43.4 15.5 43.5 43.7-14.7-24.3 39.2 38.8 25.1Z"/>
9
+ </svg>
10
+ </template>
@@ -0,0 +1,13 @@
1
+ <template>
2
+ <svg viewBox="0 0 720 504" xmlns="http://www.w3.org/2000/svg">
3
+ <path fill="#009c3b" d="M0 0h720v504H0z"/>
4
+ <path fill="#fedf00" d="M720 0L0 252l720 252z"/>
5
+ <path fill="#002776" d="M360 252a126 126 0 10 0 252 126 126 0 10 0-252"/>
6
+ </svg>
7
+ </template>
8
+
9
+ <script>
10
+ export default {
11
+ name: 'BrazilFlag'
12
+ }
13
+ </script>
@@ -0,0 +1,6 @@
1
+ <template>
2
+ <svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-ca" viewBox="0 0 640 480">
3
+ <path fill="#fff" d="M150.1 0h339.7v480H150z"/>
4
+ <path fill="#d52b1e" d="M-19.7 0h169.8v480H-19.7zm509.5 0h169.8v480H489.9zM201 232l-13.3 4.4 61.4 54c4.7 13.7-1.6 17.8-5.6 25l66.6-8.4-1.6 67 13.9-.3-3.1-66.6 66.7 8c-4.1-8.7-7.8-13.3-4-27.2l61.3-51-10.7-4c-8.8-6.8 3.8-32.6 5.6-48.9 0 0-35.7 12.3-38 5.8l-9.2-17.5-32.6 35.8c-3.5.9-5-.5-5.9-3.5l15-74.8-23.8 13.4q-3.2 1.3-5.2-2.2l-23-46-23.6 47.8q-2.8 2.5-5 .7L264 130.8l13.7 74.1c-1.1 3-3.7 3.8-6.7 2.2l-31.2-35.3c-4 6.5-6.8 17.1-12.2 19.5s-23.5-4.5-35.6-7c4.2 14.8 17 39.6 9 47.7"/>
5
+ </svg>
6
+ </template>
@@ -0,0 +1,13 @@
1
+ <template>
2
+ <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 640 480">
3
+ <defs>
4
+ <path id="cn-a" fill="#ff0" d="M-.6.8 0-1 .6.8-1-.3h2z"/>
5
+ </defs>
6
+ <path fill="#ee1c25" d="M0 0h640v480H0z"/>
7
+ <use xlink:href="#cn-a" width="30" height="20" transform="matrix(71.9991 0 0 72 120 120)"/>
8
+ <use xlink:href="#cn-a" width="30" height="20" transform="matrix(-12.33562 -20.5871 20.58684 -12.33577 240.3 48)"/>
9
+ <use xlink:href="#cn-a" width="30" height="20" transform="matrix(-3.38573 -23.75998 23.75968 -3.38578 288 95.8)"/>
10
+ <use xlink:href="#cn-a" width="30" height="20" transform="matrix(6.5991 -23.0749 23.0746 6.59919 288 168)"/>
11
+ <use xlink:href="#cn-a" width="30" height="20" transform="matrix(14.9991 -18.73557 18.73533 14.99929 240 216)"/>
12
+ </svg>
13
+ </template>
@@ -0,0 +1,7 @@
1
+ <template>
2
+ <svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-dk" viewBox="0 0 640 480">
3
+ <path fill="#c8102e" d="M0 0h640.1v480H0z"/>
4
+ <path fill="#fff" d="M205.7 0h68.6v480h-68.6z"/>
5
+ <path fill="#fff" d="M0 205.7h640.1v68.6H0z"/>
6
+ </svg>
7
+ </template>
@@ -0,0 +1,30 @@
1
+ <template>
2
+ <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icons-eu" viewBox="0 0 640 480">
3
+ <defs>
4
+ <g id="eu-d">
5
+ <g id="eu-b">
6
+ <path id="eu-a" d="m0-1-.3 1 .5.1z"/>
7
+ <use xlink:href="#eu-a" transform="scale(-1 1)"/>
8
+ </g>
9
+ <g id="eu-c">
10
+ <use xlink:href="#eu-b" transform="rotate(72)"/>
11
+ <use xlink:href="#eu-b" transform="rotate(144)"/>
12
+ </g>
13
+ <use xlink:href="#eu-c" transform="scale(-1 1)"/>
14
+ </g>
15
+ </defs>
16
+ <path fill="#039" d="M0 0h640v480H0z"/>
17
+ <g fill="#fc0" transform="translate(320 242.3)scale(23.7037)">
18
+ <use xlink:href="#eu-d" width="100%" height="100%" y="-6"/>
19
+ <use xlink:href="#eu-d" width="100%" height="100%" y="6"/>
20
+ <g id="eu-e">
21
+ <use xlink:href="#eu-d" width="100%" height="100%" x="-6"/>
22
+ <use xlink:href="#eu-d" width="100%" height="100%" transform="rotate(-144 -2.3 -2.1)"/>
23
+ <use xlink:href="#eu-d" width="100%" height="100%" transform="rotate(144 -2.1 -2.3)"/>
24
+ <use xlink:href="#eu-d" width="100%" height="100%" transform="rotate(72 -4.7 -2)"/>
25
+ <use xlink:href="#eu-d" width="100%" height="100%" transform="rotate(72 -5 .5)"/>
26
+ </g>
27
+ <use xlink:href="#eu-e" width="100%" height="100%" transform="scale(-1 1)"/>
28
+ </g>
29
+ </svg>
30
+ </template>
@@ -0,0 +1,10 @@
1
+ <template>
2
+ <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icons-hk" viewBox="0 0 640 480">
3
+ <path fill="#EC1B2E" d="M0 0h640v480H0"/>
4
+ <path id="hk-a" fill="#fff" d="M346.3 103.1C267 98 230.6 201.9 305.6 240.3c-26-22.4-20.6-55.3-10.1-72.4l1.9 1.1c-13.8 23.5-11.2 52.7 11.1 71-12.7-12.3-9.5-39 12.1-48.9s23.6-39.3 16.4-49.1q-14.7-25.6 9.3-38.9M307.9 164l-4.7 7.4-1.8-8.6-8.6-2.3 7.8-4.3-.6-8.9 6.5 6.1 8.3-3.3-3.7 8.1 5.6 6.8z"/>
5
+ <use xlink:href="#hk-a" transform="rotate(72 312.5 243.5)"/>
6
+ <use xlink:href="#hk-a" transform="rotate(144 312.5 243.5)"/>
7
+ <use xlink:href="#hk-a" transform="rotate(216 312.5 243.5)"/>
8
+ <use xlink:href="#hk-a" transform="rotate(288 312.5 243.5)"/>
9
+ </svg>
10
+ </template>
@@ -0,0 +1,27 @@
1
+ <template>
2
+ <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icons-in" viewBox="0 0 640 480">
3
+ <path fill="#f93" d="M0 0h640v160H0z"/>
4
+ <path fill="#fff" d="M0 160h640v160H0z"/>
5
+ <path fill="#128807" d="M0 320h640v160H0z"/>
6
+ <g transform="matrix(3.2 0 0 3.2 320 240)">
7
+ <circle r="20" fill="#008"/>
8
+ <circle r="17.5" fill="#fff"/>
9
+ <circle r="3.5" fill="#008"/>
10
+ <g id="in-d">
11
+ <g id="in-c">
12
+ <g id="in-b">
13
+ <g id="in-a" fill="#008">
14
+ <circle r=".9" transform="rotate(7.5 -8.8 133.5)"/>
15
+ <path d="M0 17.5.6 7 0 2l-.6 5z"/>
16
+ </g>
17
+ <use xlink:href="#in-a" width="100%" height="100%" transform="rotate(15)"/>
18
+ </g>
19
+ <use xlink:href="#in-b" width="100%" height="100%" transform="rotate(30)"/>
20
+ </g>
21
+ <use xlink:href="#in-c" width="100%" height="100%" transform="rotate(60)"/>
22
+ </g>
23
+ <use xlink:href="#in-d" width="100%" height="100%" transform="rotate(120)"/>
24
+ <use xlink:href="#in-d" width="100%" height="100%" transform="rotate(-120)"/>
25
+ </g>
26
+ </svg>
27
+ </template>
@@ -0,0 +1,12 @@
1
+ <template>
2
+ <svg viewBox="0 0 900 600" xmlns="http://www.w3.org/2000/svg">
3
+ <path fill="#ff0000" d="M0 0h900v300H0z"/>
4
+ <path fill="#fff" d="M0 300h900v300H0z"/>
5
+ </svg>
6
+ </template>
7
+
8
+ <script>
9
+ export default {
10
+ name: 'IndonesiaFlag'
11
+ }
12
+ </script>
@@ -0,0 +1,13 @@
1
+ <template>
2
+ <svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-jp" viewBox="0 0 640 480">
3
+ <defs>
4
+ <clipPath id="jp-a">
5
+ <path fill-opacity=".7" d="M-88 32h640v480H-88z"/>
6
+ </clipPath>
7
+ </defs>
8
+ <g fill-rule="evenodd" stroke-width="1pt" clip-path="url(#jp-a)" transform="translate(88 -32)">
9
+ <path fill="#fff" d="M-128 32h720v480h-720z"/>
10
+ <circle cx="523.1" cy="344.1" r="194.9" fill="#bc002d" transform="translate(-168.4 8.6)scale(.76554)"/>
11
+ </g>
12
+ </svg>
13
+ </template>
@@ -0,0 +1,26 @@
1
+ <template>
2
+ <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icons-kr" viewBox="0 0 640 480">
3
+ <defs>
4
+ <clipPath id="kr-a">
5
+ <path fill-opacity=".7" d="M-95.8-.4h682.7v512H-95.8z"/>
6
+ </clipPath>
7
+ </defs>
8
+ <g fill-rule="evenodd" clip-path="url(#kr-a)" transform="translate(89.8 .4)scale(.9375)">
9
+ <path fill="#fff" d="M-95.8-.4H587v512H-95.8Z"/>
10
+ <g transform="rotate(-56.3 361.6 -101.3)scale(10.66667)">
11
+ <g id="kr-c">
12
+ <path id="kr-b" fill="#000001" d="M-6-26H6v2H-6Zm0 3H6v2H-6Zm0 3H6v2H-6Z"/>
13
+ <use xlink:href="#kr-b" width="100%" height="100%" y="44"/>
14
+ </g>
15
+ <path stroke="#fff" d="M0 17v10"/>
16
+ <path fill="#cd2e3a" d="M0-12a12 12 0 0 1 0 24Z"/>
17
+ <path fill="#0047a0" d="M0-12a12 12 0 0 0 0 24A6 6 0 0 0 0 0Z"/>
18
+ <circle cy="-6" r="6" fill="#cd2e3a"/>
19
+ </g>
20
+ <g transform="rotate(-123.7 191.2 62.2)scale(10.66667)">
21
+ <use xlink:href="#kr-c" width="100%" height="100%"/>
22
+ <path stroke="#fff" d="M0-23.5v3M0 17v3.5m0 3v3"/>
23
+ </g>
24
+ </g>
25
+ </svg>
26
+ </template>
@@ -0,0 +1,28 @@
1
+ <template>
2
+ <svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-my" viewBox="0 0 640 480">
3
+ <g clip-path="url(#my-a)">
4
+ <path fill="#C00" d="M0 0h640v480H0z"/>
5
+ <path fill="#C00" d="M0 0h640v34.3H0z"/>
6
+ <path fill="#fff" d="M0 34.3h640v34.3H0z"/>
7
+ <path fill="#C00" d="M0 68.6h640v34.3H0z"/>
8
+ <path fill="#fff" d="M0 102.9h640V137H0z"/>
9
+ <path fill="#C00" d="M0 137.1h640v34.3H0z"/>
10
+ <path fill="#fff" d="M0 171.4h640v34.3H0z"/>
11
+ <path fill="#C00" d="M0 205.7h640V240H0z"/>
12
+ <path fill="#fff" d="M0 240h640v34.3H0z"/>
13
+ <path fill="#C00" d="M0 274.3h640v34.3H0z"/>
14
+ <path fill="#fff" d="M0 308.6h640v34.3H0z"/>
15
+ <path fill="#C00" d="M0 342.9h640V377H0z"/>
16
+ <path fill="#fff" d="M0 377.1h640v34.3H0z"/>
17
+ <path fill="#C00" d="M0 411.4h640v34.3H0z"/>
18
+ <path fill="#fff" d="M0 445.7h640V480H0z"/>
19
+ <path fill="#006" d="M0 .5h320v274.3H0z"/>
20
+ <path fill="#FC0" d="m207.5 73.8 6 40.7 23-34-12.4 39.2 35.5-20.8-28.1 30 41-3.2-38.3 14.8 38.3 14.8-41-3.2 28.1 30-35.5-20.8 12.3 39.3-23-34.1-6 40.7-5.9-40.7-23 34 12.4-39.2-35.5 20.8 28-30-41 3.2 38.4-14.8-38.3-14.8 41 3.2-28.1-30 35.5 20.8-12.4-39.3 23 34.1zm-33.3 1.7a71 71 0 0 0-100 65 71 71 0 0 0 100 65 80 80 0 0 1-83.2 6.2 80 80 0 0 1-43.4-71.2 80 80 0 0 1 126.6-65"/>
21
+ </g>
22
+ <defs>
23
+ <clipPath id="my-a">
24
+ <path fill="#fff" d="M0 0h640v480H0z"/>
25
+ </clipPath>
26
+ </defs>
27
+ </svg>
28
+ </template>
@@ -0,0 +1,15 @@
1
+ <template>
2
+ <svg viewBox="0 0 750 500" xmlns="http://www.w3.org/2000/svg">
3
+ <g fill-rule="evenodd">
4
+ <path fill="#ce1126" d="M0 0h250v500H0z"/>
5
+ <path fill="#fff" d="M250 0h250v500H250z"/>
6
+ <path fill="#006847" d="M500 0h250v500H500z"/>
7
+ </g>
8
+ </svg>
9
+ </template>
10
+
11
+ <script>
12
+ export default {
13
+ name: 'MexicoFlag'
14
+ }
15
+ </script>
@@ -0,0 +1,45 @@
1
+ <template>
2
+ <svg viewBox="0 0 1200 600" xmlns="http://www.w3.org/2000/svg">
3
+ <path fill="#012169" d="M0 0h1200v600H0z"/>
4
+ <path d="M0 0l600 300m0-300L0 300" stroke="#fff" stroke-width="60"/>
5
+ <path d="M0 0l600 300m0-300L0 300" stroke="#c8102e" stroke-width="40"/>
6
+ <path d="M300 0v300M0 150h600" stroke="#fff" stroke-width="100"/>
7
+ <path d="M300 0v300M0 150h600" stroke="#c8102e" stroke-width="60"/>
8
+ <g fill="#fff">
9
+ <path d="M900 300l20-10v20z"/>
10
+ <path d="M930 300l20-10v20z"/>
11
+ <path d="M960 300l20-10v20z"/>
12
+ <path d="M990 300l20-10v20z"/>
13
+ <path d="M1020 300l20-10v20z"/>
14
+ <path d="M1050 300l20-10v20z"/>
15
+ <path d="M1080 300l20-10v20z"/>
16
+ <path d="M1110 300l20-10v20z"/>
17
+ </g>
18
+ <g fill="#c8102e">
19
+ <path d="M930 300l20-10v20z"/>
20
+ <path d="M960 300l20-10v20z"/>
21
+ <path d="M990 300l20-10v20z"/>
22
+ <path d="M1020 300l20-10v20z"/>
23
+ <path d="M1050 300l20-10v20z"/>
24
+ <path d="M1080 300l20-10v20z"/>
25
+ <path d="M930 330l20-10v20z"/>
26
+ <path d="M960 330l20-10v20z"/>
27
+ <path d="M990 330l20-10v20z"/>
28
+ <path d="M1020 330l20-10v20z"/>
29
+ <path d="M1050 330l20-10v20z"/>
30
+ <path d="M1080 330l20-10v20z"/>
31
+ <path d="M930 360l20-10v20z"/>
32
+ <path d="M960 360l20-10v20z"/>
33
+ <path d="M990 360l20-10v20z"/>
34
+ <path d="M1020 360l20-10v20z"/>
35
+ <path d="M1050 360l20-10v20z"/>
36
+ <path d="M1080 360l20-10v20z"/>
37
+ </g>
38
+ </svg>
39
+ </template>
40
+
41
+ <script>
42
+ export default {
43
+ name: 'NewZealandFlag'
44
+ }
45
+ </script>
@@ -0,0 +1,9 @@
1
+ <template>
2
+ <svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-no" viewBox="0 0 640 480">
3
+ <path fill="#ed2939" d="M0 0h640v480H0z"/>
4
+ <path fill="#fff" d="M180 0h120v480H180z"/>
5
+ <path fill="#fff" d="M0 180h640v120H0z"/>
6
+ <path fill="#002664" d="M210 0h60v480h-60z"/>
7
+ <path fill="#002664" d="M0 210h640v60H0z"/>
8
+ </svg>
9
+ </template>
@@ -0,0 +1,8 @@
1
+ <template>
2
+ <svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-ph" viewBox="0 0 640 480">
3
+ <path fill="#0038a8" d="M0 0h640v240H0z"/>
4
+ <path fill="#ce1126" d="M0 240h640v240H0z"/>
5
+ <path fill="#fff" d="M415.7 240 0 480V0"/>
6
+ <path fill="#fcd116" d="M26.7 42.4 41 55l16.6-9.2-7.4 17.5 14 13-19-1.6-8.1 17.2-4.3-18.5L14 71l16.3-10zm323.8 172.3.4 19 18 6.3-18 6.2-.4 19-11.5-15.1-18.2 5.5 10.8-15.6-10.8-15.6 18.2 5.5zM37.2 388.1l8 17.2 19-1.6-13.9 13 7.4 17.5-16.6-9.1-14.4 12.4 3.6-18.7L14 409l18.9-2.4zm114.2-249-6.2 6.2 3.1 47-3 .3-5.7-42.9-5.1 5 7.6 38.4a48 48 0 0 0-17.2 7.1l-21.7-32.4H96l26.4 34.3-2.4 2-31.1-35.5h-8.8v8.8l35.4 31-2 2.5-34.3-26.3v7.1l32.5 21.7q-5.2 7.8-7.1 17.2L66.3 223l-5.1 5 42.9 5.7q-.3 1.6-.3 3.1l-47-3-6.2 6.2 6.2 6.2 47-3.1.3 3.1-42.9 5.7 5 5 38.4-7.6a48 48 0 0 0 7.1 17.2l-32.5 21.7v7.2l34.3-26.3 2 2.4-35.4 31v8.8H89l31-35.4 2.5 2L96 312.2h7.2l21.7-32.5q7.8 5.2 17.2 7.1l-7.6 38.4 5 5 5.7-42.9q1.5.3 3.1.3l-3 47 6.1 6.2 6.3-6.2-3.1-47 3-.3 5.7 43 5.1-5.1-7.6-38.4a48 48 0 0 0 17.2-7.1l21.7 32.5h7.2l-26.4-34.3 2.4-2 31.1 35.4h8.8v-8.8l-35.4-31 2-2.4 34.3 26.3v-7.2l-32.5-21.7q5.2-7.8 7.1-17.2l38.3 7.6 5.1-5-42.9-5.7q.3-1.5.3-3.1l47 3 6.2-6.1-6.2-6.2-47 3-.3-3 42.9-5.7-5-5-38.4 7.5a48 48 0 0 0-7.1-17.2l32.5-21.7v-7.1l-34.3 26.3-2-2.4 35.4-31v-8.9H214l-31 35.5-2.5-2 26.4-34.3h-7.2L178 200.2q-7.8-5.2-17.2-7.1l7.6-38.3-5-5-5.7 42.8-3.1-.3 3-47z"/>
7
+ </svg>
8
+ </template>
@@ -0,0 +1,12 @@
1
+ <template>
2
+ <svg viewBox="0 0 900 600" xmlns="http://www.w3.org/2000/svg">
3
+ <path fill="#fff" d="M0 0h900v300H0z"/>
4
+ <path fill="#dc143c" d="M0 300h900v300H0z"/>
5
+ </svg>
6
+ </template>
7
+
8
+ <script>
9
+ export default {
10
+ name: 'PolandFlag'
11
+ }
12
+ </script>
@@ -0,0 +1,100 @@
1
+ # 国旗图标组件 (Flag Icons)
2
+
3
+ 本目录包含了世界各国/地区的国旗 SVG 图标组件。
4
+
5
+ ## 使用方法
6
+
7
+ ### 单独导入
8
+
9
+ ```vue
10
+ <template>
11
+ <div>
12
+ <UsaFlag width="40" height="30" />
13
+ <ChinaFlag width="40" height="30" />
14
+ <EuropeFlag width="40" height="30" />
15
+ </div>
16
+ </template>
17
+
18
+ <script setup>
19
+ import { UsaFlag, ChinaFlag, EuropeFlag } from '@/components/sohelp-eleplus/icons/flag';
20
+ </script>
21
+ ```
22
+
23
+ ### 全部导入
24
+
25
+ ```vue
26
+ <script setup>
27
+ import * as FlagIcons from '@/components/sohelp-eleplus/icons/flag';
28
+ </script>
29
+
30
+ <template>
31
+ <FlagIcons.UsaFlag />
32
+ <FlagIcons.ChinaFlag />
33
+ </template>
34
+ ```
35
+
36
+ ## 可用国旗列表
37
+
38
+ | 组件名 | 国家/地区 | 币别代码 |
39
+ | :--- | :--- | :--- |
40
+ | UsaFlag | 美国 🇺🇸 | usd |
41
+ | ChinaFlag | 中国 🇨🇳 | cny |
42
+ | EuropeFlag | 欧盟 🇪🇺 | eur |
43
+ | UkFlag | 英国 🇬🇧 | gbp |
44
+ | JapanFlag | 日本 🇯🇵 | jpy |
45
+ | KoreaFlag | 韩国 🇰🇷 | krw |
46
+ | HongkongFlag | 香港 🇭🇰 | hkd |
47
+ | SingaporeFlag | 新加坡 🇸🇬 | sgd |
48
+ | AustraliaFlag | 澳大利亚 🇦🇺 | aud |
49
+ | CanadaFlag | 加拿大 🇨🇦 | cad |
50
+ | SwitzerlandFlag | 瑞士 🇨🇭 | chf |
51
+ | SwedenFlag | 瑞典 🇸🇪 | sek |
52
+ | NorwayFlag | 挪威 🇳🇴 | nok |
53
+ | DenmarkFlag | 丹麦 🇩🇰 | dkk |
54
+ | MalaysiaFlag | 马来西亚 🇲🇾 | myr |
55
+ | ThailandFlag | 泰国 🇹🇭 | thb |
56
+ | IndiaFlag | 印度 🇮🇳 | inr |
57
+ | RussiaFlag | 俄罗斯 🇷🇺 | rub |
58
+ | BrazilFlag | 巴西 🇧🇷 | brl |
59
+ | SouthAfricaFlag | 南非 🇿🇦 | zar |
60
+ | MexicoFlag | 墨西哥 🇲🇽 | mxn |
61
+ | PhilippinesFlag | 菲律宾 🇵🇭 | php |
62
+ | IndonesiaFlag | 印度尼西亚 🇮🇩 | idr |
63
+ | VietnamFlag | 越南 🇻🇳 | vnd |
64
+ | NewZealandFlag | 新西兰 🇳🇿 | nzd |
65
+ | TurkeyFlag | 土耳其 🇹🇷 | try |
66
+ | PolandFlag | 波兰 🇵🇱 | pln |
67
+
68
+ ## Props
69
+
70
+ 所有国旗图标组件都支持标准的 SVG props:
71
+
72
+ | 属性名 | 类型 | 默认值 | 说明 |
73
+ | :--- | :--- | :--- | :--- |
74
+ | width | String/Number | - | 宽度 |
75
+ | height | String/Number | - | 高度 |
76
+ | class | String | - | 自定义类名 |
77
+ | style | Object | - | 自定义样式 |
78
+
79
+ ## 与 SohelpCryInput 配合使用
80
+
81
+ ```vue
82
+ <template>
83
+ <div>
84
+ <div class="currency-input">
85
+ <UsaFlag width="24" height="18" />
86
+ <sohelp-cry-input v-model="usd" cry="usd" :show-flag="false" />
87
+ </div>
88
+ <div class="currency-input">
89
+ <ChinaFlag width="24" height="18" />
90
+ <sohelp-cry-input v-model="cny" cry="cny" :show-flag="false" />
91
+ </div>
92
+ </div>
93
+ </template>
94
+ ```
95
+
96
+ ## 注意事项
97
+
98
+ - 所有国旗图标均为 SVG 格式,可任意缩放不失真
99
+ - 建议使用相同的宽高比以保持视觉一致性
100
+ - 可以通过 CSS 调整图标样式和大小
@@ -0,0 +1,7 @@
1
+ <template>
2
+ <svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-ru" viewBox="0 0 640 480">
3
+ <path fill="#fff" d="M0 0h640v160H0z"/>
4
+ <path fill="#0039a6" d="M0 160h640v160H0z"/>
5
+ <path fill="#d52b1e" d="M0 320h640v160H0z"/>
6
+ </svg>
7
+ </template>
@@ -0,0 +1,15 @@
1
+ <template>
2
+ <svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-sg" viewBox="0 0 640 480">
3
+ <defs>
4
+ <clipPath id="sg-a">
5
+ <path fill-opacity=".7" d="M0 0h640v480H0z"/>
6
+ </clipPath>
7
+ </defs>
8
+ <g fill-rule="evenodd" clip-path="url(#sg-a)">
9
+ <path fill="#fff" d="M-20 0h720v480H-20z"/>
10
+ <path fill="#df0000" d="M-20 0h720v240H-20z"/>
11
+ <path fill="#fff" d="M146 40.2a84.4 84.4 0 0 0 .8 165.2 86 86 0 0 1-106.6-59 86 86 0 0 1 59-106c16-4.6 30.8-4.7 46.9-.2z"/>
12
+ <path fill="#fff" d="m133 110 4.9 15-13-9.2-12.8 9.4 4.7-15.2-12.8-9.3 15.9-.2 5-15 5 15h15.8zm17.5 52 5 15.1-13-9.2-12.9 9.3 4.8-15.1-12.8-9.4 15.9-.1 4.9-15.1 5 15h16zm58.5-.4 4.9 15.2-13-9.3-12.8 9.3 4.7-15.1-12.8-9.3 15.9-.2 5-15 5 15h15.8zm17.4-51.6 4.9 15.1-13-9.2-12.8 9.3 4.8-15.1-12.9-9.4 16-.1 4.8-15.1 5 15h16zm-46.3-34.3 5 15.2-13-9.3-12.9 9.4 4.8-15.2-12.8-9.4 15.8-.1 5-15.1 5 15h16z"/>
13
+ </g>
14
+ </svg>
15
+ </template>
@@ -0,0 +1,19 @@
1
+ <template>
2
+ <svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-za" viewBox="0 0 640 480">
3
+ <defs>
4
+ <clipPath id="za-a">
5
+ <path fill-opacity=".7" d="M-71.9 0h682.7v512H-71.9z"/>
6
+ </clipPath>
7
+ </defs>
8
+ <g clip-path="url(#za-a)" transform="translate(67.4)scale(.93748)">
9
+ <g fill-rule="evenodd" stroke-width="1pt">
10
+ <path fill="#000001" d="M-71.9 407.8V104.4L154 256.1z"/>
11
+ <path fill="#000c8a" d="m82.2 512.1 253.6-170.6H696V512H82.2z"/>
12
+ <path fill="#e1392d" d="M66 0h630v170.8H335.7S69.3-1.7 66 0"/>
13
+ <path fill="#ffb915" d="M-71.9 64v40.4L154 256-72 407.8v40.3l284.5-192z"/>
14
+ <path fill="#007847" d="M-71.9 64V0h95l301.2 204h371.8v104.2H324.3L23 512h-94.9v-63.9l284.4-192L-71.8 64z"/>
15
+ <path fill="#fff" d="M23 0h59.2l253.6 170.7H696V204H324.3zm0 512.1h59.2l253.6-170.6H696v-33.2H324.3L23 512z"/>
16
+ </g>
17
+ </g>
18
+ </svg>
19
+ </template>
@@ -0,0 +1,6 @@
1
+ <template>
2
+ <svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-se" viewBox="0 0 640 480">
3
+ <path fill="#005293" d="M0 0h640v480H0z"/>
4
+ <path fill="#fecb00" d="M176 0v192H0v96h176v192h96V288h368v-96H272V0z"/>
5
+ </svg>
6
+ </template>
@@ -0,0 +1,11 @@
1
+ <template>
2
+ <svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-ch" viewBox="0 0 640 480">
3
+ <g fill-rule="evenodd" stroke-width="1pt">
4
+ <path fill="red" d="M0 0h640v480H0z"/>
5
+ <g fill="#fff">
6
+ <path d="M170 195h300v90H170z"/>
7
+ <path d="M275 90h90v300h-90z"/>
8
+ </g>
9
+ </g>
10
+ </svg>
11
+ </template>
@@ -0,0 +1,9 @@
1
+ <template>
2
+ <svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-th" viewBox="0 0 640 480">
3
+ <g fill-rule="evenodd">
4
+ <path fill="#f4f5f8" d="M0 0h640v480H0z"/>
5
+ <path fill="#2d2a4a" d="M0 162.5h640v160H0z"/>
6
+ <path fill="#a51931" d="M0 0h640v82.5H0zm0 400h640v80H0z"/>
7
+ </g>
8
+ </svg>
9
+ </template>