hy-dispatch-ui-v3 0.1.0

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 (232) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +3 -0
  3. package/dist/tailwind.css +1083 -0
  4. package/es/bussiness/index.mjs +2 -0
  5. package/es/bussiness/index.mjs.map +1 -0
  6. package/es/components/appConfirmDialog/appConfirmDialog.vue.mjs +204 -0
  7. package/es/components/appConfirmDialog/appConfirmDialog.vue.mjs.map +1 -0
  8. package/es/components/appConfirmDialog/appConfirmMethod.mjs +73 -0
  9. package/es/components/appConfirmDialog/appConfirmMethod.mjs.map +1 -0
  10. package/es/components/appConfirmDialog/index.mjs +8 -0
  11. package/es/components/appConfirmDialog/index.mjs.map +1 -0
  12. package/es/components/appConfirmDialog/style/appConfirmDialog.scss +5 -0
  13. package/es/components/appDatePicker/appDatePicker.vue.mjs +99 -0
  14. package/es/components/appDatePicker/appDatePicker.vue.mjs.map +1 -0
  15. package/es/components/appDatePicker/index.mjs +7 -0
  16. package/es/components/appDatePicker/index.mjs.map +1 -0
  17. package/es/components/appDatePicker/style/appDatePicker.scss +0 -0
  18. package/es/components/appForm/appForm.vue.mjs +331 -0
  19. package/es/components/appForm/appForm.vue.mjs.map +1 -0
  20. package/es/components/appForm/index.mjs +8 -0
  21. package/es/components/appForm/index.mjs.map +1 -0
  22. package/es/components/appForm/js/index.mjs +87 -0
  23. package/es/components/appForm/js/index.mjs.map +1 -0
  24. package/es/components/appForm/js/useAppForm.mjs +149 -0
  25. package/es/components/appForm/js/useAppForm.mjs.map +1 -0
  26. package/es/components/appForm/style/appForm.scss +16 -0
  27. package/es/components/appOrgCascader/appOrgCascader.vue.mjs +229 -0
  28. package/es/components/appOrgCascader/appOrgCascader.vue.mjs.map +1 -0
  29. package/es/components/appOrgCascader/index.mjs +7 -0
  30. package/es/components/appOrgCascader/index.mjs.map +1 -0
  31. package/es/components/appOrgCascader/style/appOrgCascader.scss +0 -0
  32. package/es/components/appSearch/appSearch.vue.mjs +408 -0
  33. package/es/components/appSearch/appSearch.vue.mjs.map +1 -0
  34. package/es/components/appSearch/index.mjs +8 -0
  35. package/es/components/appSearch/index.mjs.map +1 -0
  36. package/es/components/appSearch/js/index.mjs +114 -0
  37. package/es/components/appSearch/js/index.mjs.map +1 -0
  38. package/es/components/appSearch/js/useAppSearch.mjs +178 -0
  39. package/es/components/appSearch/js/useAppSearch.mjs.map +1 -0
  40. package/es/components/appSearch/style/appSearch.scss +53 -0
  41. package/es/components/appTable/appTable.vue.mjs +578 -0
  42. package/es/components/appTable/appTable.vue.mjs.map +1 -0
  43. package/es/components/appTable/cpns/columnSelect.vue.mjs +414 -0
  44. package/es/components/appTable/cpns/columnSelect.vue.mjs.map +1 -0
  45. package/es/components/appTable/index.mjs +8 -0
  46. package/es/components/appTable/index.mjs.map +1 -0
  47. package/es/components/appTable/js/index.mjs +304 -0
  48. package/es/components/appTable/js/index.mjs.map +1 -0
  49. package/es/components/appTable/js/search.mjs +129 -0
  50. package/es/components/appTable/js/search.mjs.map +1 -0
  51. package/es/components/appTable/js/useAppTable.mjs +63 -0
  52. package/es/components/appTable/js/useAppTable.mjs.map +1 -0
  53. package/es/components/appTable/style/appTable.scss +15 -0
  54. package/es/components/appTooltip/appTooltip.vue.mjs +94 -0
  55. package/es/components/appTooltip/appTooltip.vue.mjs.map +1 -0
  56. package/es/components/appTooltip/index.mjs +7 -0
  57. package/es/components/appTooltip/index.mjs.map +1 -0
  58. package/es/components/appTooltip/style/appTooltip.scss +0 -0
  59. package/es/components/index.mjs +12 -0
  60. package/es/components/index.mjs.map +1 -0
  61. package/es/components/svgIcon/iconBox.vue.mjs +99 -0
  62. package/es/components/svgIcon/iconBox.vue.mjs.map +1 -0
  63. package/es/components/svgIcon/index.mjs +9 -0
  64. package/es/components/svgIcon/index.mjs.map +1 -0
  65. package/es/components/svgIcon/style/iconBox.scss +13 -0
  66. package/es/components/svgIcon/style/svgIcon.scss +12 -0
  67. package/es/components/svgIcon/svgIcon.vue.mjs +47 -0
  68. package/es/components/svgIcon/svgIcon.vue.mjs.map +1 -0
  69. package/es/config/index.mjs +2 -0
  70. package/es/config/index.mjs.map +1 -0
  71. package/es/constants/index.mjs +4 -0
  72. package/es/constants/index.mjs.map +1 -0
  73. package/es/constants/keys.mjs +2 -0
  74. package/es/constants/keys.mjs.map +1 -0
  75. package/es/hooks/index.mjs +5 -0
  76. package/es/hooks/index.mjs.map +1 -0
  77. package/es/hooks/useApi.mjs +10 -0
  78. package/es/hooks/useApi.mjs.map +1 -0
  79. package/es/hooks/useGlobalConfig.mjs +56 -0
  80. package/es/hooks/useGlobalConfig.mjs.map +1 -0
  81. package/es/hooks/useLocale.mjs +34 -0
  82. package/es/hooks/useLocale.mjs.map +1 -0
  83. package/es/hooks/useMixins.mjs +19 -0
  84. package/es/hooks/useMixins.mjs.map +1 -0
  85. package/es/index.mjs +30 -0
  86. package/es/index.mjs.map +1 -0
  87. package/es/locale/en_US.mjs +67 -0
  88. package/es/locale/en_US.mjs.map +1 -0
  89. package/es/locale/index.mjs +3 -0
  90. package/es/locale/index.mjs.map +1 -0
  91. package/es/locale/zh_CN.mjs +67 -0
  92. package/es/locale/zh_CN.mjs.map +1 -0
  93. package/es/make-installer.mjs +29 -0
  94. package/es/make-installer.mjs.map +1 -0
  95. package/es/store/index.mjs +7 -0
  96. package/es/store/index.mjs.map +1 -0
  97. package/es/store/maintain.mjs +90 -0
  98. package/es/store/maintain.mjs.map +1 -0
  99. package/es/style/index.scss +46 -0
  100. package/es/style/tailwind.scss +3 -0
  101. package/es/style/theme.scss +123 -0
  102. package/es/utils/adaptive.mjs +30 -0
  103. package/es/utils/adaptive.mjs.map +1 -0
  104. package/es/utils/bus.mjs +6 -0
  105. package/es/utils/bus.mjs.map +1 -0
  106. package/es/utils/crypto.mjs +21 -0
  107. package/es/utils/crypto.mjs.map +1 -0
  108. package/es/utils/date.mjs +25 -0
  109. package/es/utils/date.mjs.map +1 -0
  110. package/es/utils/handler.mjs +83 -0
  111. package/es/utils/handler.mjs.map +1 -0
  112. package/es/utils/index.mjs +7 -0
  113. package/es/utils/index.mjs.map +1 -0
  114. package/es/utils/is.mjs +19 -0
  115. package/es/utils/is.mjs.map +1 -0
  116. package/es/version.mjs +4 -0
  117. package/es/version.mjs.map +1 -0
  118. package/lib/bussiness/index.js +3 -0
  119. package/lib/bussiness/index.js.map +1 -0
  120. package/lib/components/appConfirmDialog/appConfirmDialog.vue.js +208 -0
  121. package/lib/components/appConfirmDialog/appConfirmDialog.vue.js.map +1 -0
  122. package/lib/components/appConfirmDialog/appConfirmMethod.js +77 -0
  123. package/lib/components/appConfirmDialog/appConfirmMethod.js.map +1 -0
  124. package/lib/components/appConfirmDialog/index.js +13 -0
  125. package/lib/components/appConfirmDialog/index.js.map +1 -0
  126. package/lib/components/appConfirmDialog/style/appConfirmDialog.scss +5 -0
  127. package/lib/components/appDatePicker/appDatePicker.vue.js +103 -0
  128. package/lib/components/appDatePicker/appDatePicker.vue.js.map +1 -0
  129. package/lib/components/appDatePicker/index.js +12 -0
  130. package/lib/components/appDatePicker/index.js.map +1 -0
  131. package/lib/components/appDatePicker/style/appDatePicker.scss +0 -0
  132. package/lib/components/appForm/appForm.vue.js +335 -0
  133. package/lib/components/appForm/appForm.vue.js.map +1 -0
  134. package/lib/components/appForm/index.js +14 -0
  135. package/lib/components/appForm/index.js.map +1 -0
  136. package/lib/components/appForm/js/index.js +93 -0
  137. package/lib/components/appForm/js/index.js.map +1 -0
  138. package/lib/components/appForm/js/useAppForm.js +152 -0
  139. package/lib/components/appForm/js/useAppForm.js.map +1 -0
  140. package/lib/components/appForm/style/appForm.scss +16 -0
  141. package/lib/components/appOrgCascader/appOrgCascader.vue.js +233 -0
  142. package/lib/components/appOrgCascader/appOrgCascader.vue.js.map +1 -0
  143. package/lib/components/appOrgCascader/index.js +12 -0
  144. package/lib/components/appOrgCascader/index.js.map +1 -0
  145. package/lib/components/appOrgCascader/style/appOrgCascader.scss +0 -0
  146. package/lib/components/appSearch/appSearch.vue.js +412 -0
  147. package/lib/components/appSearch/appSearch.vue.js.map +1 -0
  148. package/lib/components/appSearch/index.js +14 -0
  149. package/lib/components/appSearch/index.js.map +1 -0
  150. package/lib/components/appSearch/js/index.js +122 -0
  151. package/lib/components/appSearch/js/index.js.map +1 -0
  152. package/lib/components/appSearch/js/useAppSearch.js +181 -0
  153. package/lib/components/appSearch/js/useAppSearch.js.map +1 -0
  154. package/lib/components/appSearch/style/appSearch.scss +53 -0
  155. package/lib/components/appTable/appTable.vue.js +582 -0
  156. package/lib/components/appTable/appTable.vue.js.map +1 -0
  157. package/lib/components/appTable/cpns/columnSelect.vue.js +418 -0
  158. package/lib/components/appTable/cpns/columnSelect.vue.js.map +1 -0
  159. package/lib/components/appTable/index.js +14 -0
  160. package/lib/components/appTable/index.js.map +1 -0
  161. package/lib/components/appTable/js/index.js +311 -0
  162. package/lib/components/appTable/js/index.js.map +1 -0
  163. package/lib/components/appTable/js/search.js +131 -0
  164. package/lib/components/appTable/js/search.js.map +1 -0
  165. package/lib/components/appTable/js/useAppTable.js +65 -0
  166. package/lib/components/appTable/js/useAppTable.js.map +1 -0
  167. package/lib/components/appTable/style/appTable.scss +15 -0
  168. package/lib/components/appTooltip/appTooltip.vue.js +98 -0
  169. package/lib/components/appTooltip/appTooltip.vue.js.map +1 -0
  170. package/lib/components/appTooltip/index.js +12 -0
  171. package/lib/components/appTooltip/index.js.map +1 -0
  172. package/lib/components/appTooltip/style/appTooltip.scss +0 -0
  173. package/lib/components/index.js +29 -0
  174. package/lib/components/index.js.map +1 -0
  175. package/lib/components/svgIcon/iconBox.vue.js +103 -0
  176. package/lib/components/svgIcon/iconBox.vue.js.map +1 -0
  177. package/lib/components/svgIcon/index.js +15 -0
  178. package/lib/components/svgIcon/index.js.map +1 -0
  179. package/lib/components/svgIcon/style/iconBox.scss +13 -0
  180. package/lib/components/svgIcon/style/svgIcon.scss +12 -0
  181. package/lib/components/svgIcon/svgIcon.vue.js +51 -0
  182. package/lib/components/svgIcon/svgIcon.vue.js.map +1 -0
  183. package/lib/config/index.js +3 -0
  184. package/lib/config/index.js.map +1 -0
  185. package/lib/constants/index.js +6 -0
  186. package/lib/constants/index.js.map +1 -0
  187. package/lib/constants/keys.js +3 -0
  188. package/lib/constants/keys.js.map +1 -0
  189. package/lib/hooks/index.js +21 -0
  190. package/lib/hooks/index.js.map +1 -0
  191. package/lib/hooks/useApi.js +13 -0
  192. package/lib/hooks/useApi.js.map +1 -0
  193. package/lib/hooks/useGlobalConfig.js +59 -0
  194. package/lib/hooks/useGlobalConfig.js.map +1 -0
  195. package/lib/hooks/useLocale.js +41 -0
  196. package/lib/hooks/useLocale.js.map +1 -0
  197. package/lib/hooks/useMixins.js +21 -0
  198. package/lib/hooks/useMixins.js.map +1 -0
  199. package/lib/index.js +85 -0
  200. package/lib/index.js.map +1 -0
  201. package/lib/locale/en_US.js +71 -0
  202. package/lib/locale/en_US.js.map +1 -0
  203. package/lib/locale/index.js +10 -0
  204. package/lib/locale/index.js.map +1 -0
  205. package/lib/locale/zh_CN.js +71 -0
  206. package/lib/locale/zh_CN.js.map +1 -0
  207. package/lib/make-installer.js +33 -0
  208. package/lib/make-installer.js.map +1 -0
  209. package/lib/store/index.js +10 -0
  210. package/lib/store/index.js.map +1 -0
  211. package/lib/store/maintain.js +92 -0
  212. package/lib/store/maintain.js.map +1 -0
  213. package/lib/style/index.scss +46 -0
  214. package/lib/style/tailwind.scss +3 -0
  215. package/lib/style/theme.scss +123 -0
  216. package/lib/utils/adaptive.js +35 -0
  217. package/lib/utils/adaptive.js.map +1 -0
  218. package/lib/utils/bus.js +8 -0
  219. package/lib/utils/bus.js.map +1 -0
  220. package/lib/utils/crypto.js +25 -0
  221. package/lib/utils/crypto.js.map +1 -0
  222. package/lib/utils/date.js +27 -0
  223. package/lib/utils/date.js.map +1 -0
  224. package/lib/utils/handler.js +89 -0
  225. package/lib/utils/handler.js.map +1 -0
  226. package/lib/utils/index.js +38 -0
  227. package/lib/utils/index.js.map +1 -0
  228. package/lib/utils/is.js +32 -0
  229. package/lib/utils/is.js.map +1 -0
  230. package/lib/version.js +6 -0
  231. package/lib/version.js.map +1 -0
  232. package/package.json +102 -0
@@ -0,0 +1,181 @@
1
+ 'use strict';
2
+
3
+ var vue = require('vue');
4
+ var handler = require('../../../utils/handler.js');
5
+ var date = require('../../../utils/date.js');
6
+ var useLocale = require('../../../hooks/useLocale.js');
7
+ var is = require('../../../utils/is.js');
8
+
9
+ const genPlaceholderHandler = (config) => {
10
+ const { t } = useLocale.useLocale();
11
+ const { type, label, attrs = {} } = config || {};
12
+ let placeholder = attrs.placeholder, startPlaceholder = attrs.startPlaceholder, endPlaceholder = attrs.endPlaceholder;
13
+ switch (type) {
14
+ case "input":
15
+ placeholder = placeholder || t("hy.pleaseEnterPlaceholder", [label]);
16
+ case "select":
17
+ placeholder = placeholder || t("hy.pleaseSelectPlaceholder", [label]);
18
+ case "date-picker":
19
+ if (["datetimerange", "daterange", "monthrange", "yearrange"].includes(
20
+ attrs == null ? void 0 : attrs.type
21
+ )) {
22
+ switch (attrs.type) {
23
+ case "yearrange":
24
+ startPlaceholder = startPlaceholder || t("hy.startYear");
25
+ endPlaceholder = endPlaceholder || t("hy.endYear");
26
+ break;
27
+ case "monthrange":
28
+ startPlaceholder = startPlaceholder || t("hy.startMonth");
29
+ endPlaceholder = endPlaceholder || t("hy.endMonth");
30
+ break;
31
+ case "daterange":
32
+ startPlaceholder = startPlaceholder || t("hy.startDate");
33
+ endPlaceholder = endPlaceholder || t("hy.endDate");
34
+ break;
35
+ case "datetimerange":
36
+ startPlaceholder = startPlaceholder || t("hy.startDateTime");
37
+ endPlaceholder = endPlaceholder || t("hy.endDateTime");
38
+ break;
39
+ }
40
+ } else {
41
+ placeholder = placeholder || t("hy.pleaseSelectPlaceholder", [label]);
42
+ }
43
+ default:
44
+ placeholder = placeholder || label;
45
+ }
46
+ return { placeholder, startPlaceholder, endPlaceholder };
47
+ };
48
+ const genColumnWidth = (config) => {
49
+ let { width, type, attrs } = config || {};
50
+ let inputWidth;
51
+ if (!width) {
52
+ if (type === "date-picker") {
53
+ switch (attrs == null ? void 0 : attrs.type) {
54
+ case "datetimerange":
55
+ inputWidth = 390;
56
+ break;
57
+ case "daterange":
58
+ inputWidth = 240;
59
+ break;
60
+ case "datetime":
61
+ inputWidth = 220;
62
+ break;
63
+ default:
64
+ inputWidth = 145;
65
+ }
66
+ } else {
67
+ width = 250;
68
+ }
69
+ }
70
+ return { width, inputWidth };
71
+ };
72
+ const timeRangeOptionsHandler = (config) => {
73
+ const { t } = useLocale.useLocale();
74
+ const { timeRangeOptions } = config || {};
75
+ if (!(timeRangeOptions == null ? void 0 : timeRangeOptions.length)) return timeRangeOptions;
76
+ return timeRangeOptions.reduce((list, item) => {
77
+ let { value, label, unit } = item;
78
+ if (!value || !is.isNumber(value) || isNaN(value)) return list;
79
+ const isPlural = value > 1;
80
+ if (!label) {
81
+ switch (unit) {
82
+ case "year":
83
+ label = `${value} ` + t(isPlural ? "hy.years" : "hy.year");
84
+ break;
85
+ case "month":
86
+ label = `${value} ` + t(isPlural ? "hy.months" : "hy.month");
87
+ break;
88
+ case "day":
89
+ default:
90
+ unit = "day";
91
+ label = value === 1 ? t("hy.today") : `${value} ` + t(isPlural ? "hy.days" : "hy.day");
92
+ }
93
+ }
94
+ list.push({ ...item, label, unit });
95
+ return list;
96
+ }, []);
97
+ };
98
+ function appSearchItemHandler(column = {}) {
99
+ const { placeholder, startPlaceholder, endPlaceholder } = genPlaceholderHandler(column);
100
+ const attrs = {
101
+ clearable: true,
102
+ ...column.attrs || {},
103
+ placeholder
104
+ };
105
+ const { width, inputWidth } = genColumnWidth(column);
106
+ column = handler.mergeDeep(
107
+ { ...column },
108
+ {
109
+ key: /* @__PURE__ */ Symbol("appFormItemKey"),
110
+ field: column.prop,
111
+ readonly: column.readonly || false,
112
+ width,
113
+ inputWidth,
114
+ timeRangeOptions: timeRangeOptionsHandler(column)
115
+ }
116
+ );
117
+ if (/^(input)$/.test(column.type)) {
118
+ return {
119
+ ...column,
120
+ attrs: {
121
+ maxlength: attrs.type === "textarea" ? 255 : attrs.type === "text" ? 100 : void 0,
122
+ ...attrs
123
+ }
124
+ };
125
+ } else if (/^(radio|checkbox|select)$/.test(column.type)) {
126
+ return {
127
+ ...column,
128
+ attrs: {
129
+ ...attrs,
130
+ props: {
131
+ label: "label",
132
+ value: "value",
133
+ disabled: "disabled",
134
+ options: "options",
135
+ ...attrs.props
136
+ }
137
+ }
138
+ };
139
+ } else if (/^date-picker$/.test(column.type)) {
140
+ return {
141
+ ...column,
142
+ attrs: {
143
+ format: attrs.format || date.getDefaultValueFormatByType(attrs.type),
144
+ valueFormat: attrs.valueFormat || date.getDefaultValueFormatByType(attrs.type),
145
+ ...attrs,
146
+ startPlaceholder,
147
+ endPlaceholder
148
+ }
149
+ };
150
+ }
151
+ return column;
152
+ }
153
+ const resetAppSearchValue = (columns = [], obj = {}) => {
154
+ for (const item of columns) {
155
+ const value = handler.funRunHandler(item.defaultValue);
156
+ if (Array.isArray(item.prop)) {
157
+ for (let i = 0; i < item.prop.length; i++) {
158
+ obj[item.prop[i]] = value && Array.isArray(value) ? value[i] : void 0;
159
+ }
160
+ } else {
161
+ obj[item.prop] = value;
162
+ }
163
+ }
164
+ return obj;
165
+ };
166
+ const useAppSearch = (config = [], model) => {
167
+ const columns = [];
168
+ for (const item of vue.unref(config)) {
169
+ const target = appSearchItemHandler(item);
170
+ columns.push(target);
171
+ }
172
+ const formModel = resetAppSearchValue(columns, model);
173
+ return {
174
+ formModel: vue.toRef(formModel),
175
+ formColumns: vue.toRef(columns)
176
+ };
177
+ };
178
+
179
+ exports.resetAppSearchValue = resetAppSearchValue;
180
+ exports.useAppSearch = useAppSearch;
181
+ //# sourceMappingURL=useAppSearch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAppSearch.js","sources":["../../../../packages/components/appSearch/js/useAppSearch.js"],"sourcesContent":["import { toRef, unref } from 'vue'\nimport { useLocale } from '@hy-dispatch-ui-v3/hooks'\nimport {\n isNumber,\n funRunHandler,\n mergeDeep,\n getDefaultValueFormatByType,\n} from '@hy-dispatch-ui-v3/utils'\n\n// 生成表单组件占位字符\nconst genPlaceholderHandler = (config) => {\n const { t } = useLocale()\n const { type, label, attrs = {} } = config || {}\n let placeholder = attrs.placeholder,\n startPlaceholder = attrs.startPlaceholder,\n endPlaceholder = attrs.endPlaceholder\n switch (type) {\n case 'input':\n placeholder = placeholder || t('hy.pleaseEnterPlaceholder', [label])\n case 'select':\n placeholder = placeholder || t('hy.pleaseSelectPlaceholder', [label])\n case 'date-picker':\n if (\n ['datetimerange', 'daterange', 'monthrange', 'yearrange'].includes(\n attrs?.type\n )\n ) {\n switch (attrs.type) {\n case 'yearrange':\n startPlaceholder = startPlaceholder || t('hy.startYear')\n endPlaceholder = endPlaceholder || t('hy.endYear')\n break\n case 'monthrange':\n startPlaceholder = startPlaceholder || t('hy.startMonth')\n endPlaceholder = endPlaceholder || t('hy.endMonth')\n break\n case 'daterange':\n startPlaceholder = startPlaceholder || t('hy.startDate')\n endPlaceholder = endPlaceholder || t('hy.endDate')\n break\n case 'datetimerange':\n startPlaceholder = startPlaceholder || t('hy.startDateTime')\n endPlaceholder = endPlaceholder || t('hy.endDateTime')\n break\n }\n } else {\n placeholder = placeholder || t('hy.pleaseSelectPlaceholder', [label])\n }\n default:\n placeholder = placeholder || label\n }\n return { placeholder, startPlaceholder, endPlaceholder }\n}\n\nconst genColumnWidth = (config) => {\n let { width, type, attrs } = config || {}\n let inputWidth\n if (!width) {\n if (type === 'date-picker') {\n switch (attrs?.type) {\n case 'datetimerange':\n inputWidth = 390\n break\n case 'daterange':\n inputWidth = 240\n break\n case 'datetime':\n inputWidth = 220\n break\n default:\n inputWidth = 145\n }\n } else {\n width = 250\n }\n }\n return { width, inputWidth }\n}\n\nconst timeRangeOptionsHandler = (config) => {\n const { t } = useLocale()\n const { timeRangeOptions } = config || {}\n if (!timeRangeOptions?.length) return timeRangeOptions\n return timeRangeOptions.reduce((list, item) => {\n let { value, label, unit } = item\n if (!value || !isNumber(value) || isNaN(value)) return list\n const isPlural = value > 1\n if (!label) {\n switch (unit) {\n case 'year':\n label = `${value} ` + t(isPlural ? 'hy.years' : 'hy.year')\n break\n case 'month':\n label = `${value} ` + t(isPlural ? 'hy.months' : 'hy.month')\n break\n case 'day':\n default:\n unit = 'day'\n label =\n value === 1\n ? t('hy.today')\n : `${value} ` + t(isPlural ? 'hy.days' : 'hy.day')\n }\n }\n list.push({ ...item, label, unit })\n return list\n }, [])\n}\n\n/**\n * @function 创建表单项\n * @param {\n * prop: string | Array<string>, // 表单prop,在日期选择范围可填入数据\n * label: string, // 表单项label\n * defaultValue: function | any // 默认值\n * slot: string // 自定义插槽名称\n * type: 'input' | 'select' | 'date-picker' | 'radio' | 'checkbox' // 表单组件类型\n * timeRangeFill: boolean, // 仅对 date-picker 的 daterange 类型生效,是否填充开始结束时间\n * timeRangeOptions: Array<{ label?: string, value: number, unit: 'day' | 'month' | 'year' }> // 仅对 date-picker 的 daterange、datetimerange 生效,可配置日期范围按钮\n * attrs: any // 表单组件配置\n * } column\n * @returns column\n */\nfunction appSearchItemHandler(column = {}) {\n const { placeholder, startPlaceholder, endPlaceholder } =\n genPlaceholderHandler(column)\n const attrs = {\n clearable: true,\n ...(column.attrs || {}),\n placeholder,\n }\n const { width, inputWidth } = genColumnWidth(column)\n column = mergeDeep(\n { ...column },\n {\n key: Symbol('appFormItemKey'),\n field: column.prop,\n readonly: column.readonly || false,\n width,\n inputWidth,\n timeRangeOptions: timeRangeOptionsHandler(column),\n }\n )\n\n if (/^(input)$/.test(column.type)) {\n return {\n ...column,\n attrs: {\n maxlength:\n attrs.type === 'textarea'\n ? 255\n : attrs.type === 'text'\n ? 100\n : undefined,\n ...attrs,\n },\n }\n } else if (/^(radio|checkbox|select)$/.test(column.type)) {\n return {\n ...column,\n attrs: {\n ...attrs,\n props: {\n label: 'label',\n value: 'value',\n disabled: 'disabled',\n options: 'options',\n ...attrs.props,\n },\n },\n }\n } else if (/^date-picker$/.test(column.type)) {\n return {\n ...column,\n attrs: {\n format: attrs.format || getDefaultValueFormatByType(attrs.type),\n valueFormat:\n attrs.valueFormat || getDefaultValueFormatByType(attrs.type),\n ...attrs,\n startPlaceholder,\n endPlaceholder,\n },\n }\n }\n\n return column\n}\n\n// 重置表单默认值\nexport const resetAppSearchValue = (columns = [], obj = {}) => {\n for (const item of columns) {\n const value = funRunHandler(item.defaultValue)\n if (Array.isArray(item.prop)) {\n for (let i = 0; i < item.prop.length; i++) {\n obj[item.prop[i]] = value && Array.isArray(value) ? value[i] : undefined\n }\n } else {\n obj[item.prop] = value\n }\n }\n return obj\n}\n\n// 生成表单配置\nexport const useAppSearch = (config = [], model) => {\n const columns = []\n for (const item of unref(config)) {\n const target = appSearchItemHandler(item)\n columns.push(target)\n }\n const formModel = resetAppSearchValue(columns, model)\n return {\n formModel: toRef(formModel),\n formColumns: toRef(columns),\n }\n}\n"],"names":["useLocale","isNumber","mergeDeep","getDefaultValueFormatByType","funRunHandler","unref","toRef"],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ .app-search {
2
+ border-radius: 4px;
3
+ border: 1px solid var(--border);
4
+ background-color: var(--background);
5
+ padding: 12px 6px 16px 20px;
6
+ opacity: 1;
7
+ transition: all 0.3s linear;
8
+ overflow: hidden;
9
+ &.app-search-hidden {
10
+ padding-top: 0;
11
+ padding-bottom: 0;
12
+ opacity: 0;
13
+ }
14
+ }
15
+ .app-search-header {
16
+ @apply h-4 flex items-center text-xs text-main mb-4;
17
+ transition: all 0.3s linear;
18
+ &.app-search-header-hidden {
19
+ @apply h-0 mb-0;
20
+ }
21
+ }
22
+ .app-search-form {
23
+ overflow: hidden;
24
+ transition: all 0.3s;
25
+ }
26
+ .app-search-container {
27
+ display: flex;
28
+ flex-wrap: wrap;
29
+ gap: 16px;
30
+ position: relative;
31
+ .el-form-item {
32
+ margin-bottom: 0;
33
+ &.hidden {
34
+ display: none;
35
+ }
36
+ }
37
+ .el-input,
38
+ .el-date-editor {
39
+ --el-input-bg-color: transparent;
40
+ --el-input-border: none;
41
+ --el-border-color: transparent;
42
+ --el-input-border-color: transparent;
43
+ --el-input-text-color: var(--main);
44
+ --el-input-border-radius: 0px 4px 4px 0px;
45
+ --el-input-hover-border-color: var(--theme);
46
+ }
47
+ .el-select {
48
+ --el-border-color: transparent;
49
+ --el-fill-color-blank: transparent;
50
+ --el-border-radius-base: 0px 4px 4px 0px;
51
+ --el-border-color-hover: var(--theme);
52
+ }
53
+ }