easybill-ui 1.4.1 → 1.4.3

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 (281) hide show
  1. package/dist/_virtual/_plugin-vue_export-helper.js +9 -0
  2. package/dist/assets/easybill-ui.css +1 -0
  3. package/dist/components/ConstantStatus/index.d.ts +24 -0
  4. package/dist/components/ConstantStatus/index.js +7 -0
  5. package/dist/components/ConstantStatus/src/ConstantStatus.vue.d.ts +25 -0
  6. package/dist/components/ConstantStatus/src/ConstantStatus.vue.js +76 -0
  7. package/dist/components/ConstantStatus/src/ConstantStatus.vue2.js +4 -0
  8. package/dist/components/ConstantStatus/src/index.d.ts +3 -0
  9. package/dist/components/ConstantStatus/src/index.js +5 -0
  10. package/dist/components/ConstantStatus/src/types.d.ts +18 -0
  11. package/dist/components/CurdForm/index.d.ts +49 -0
  12. package/dist/components/CurdForm/index.js +9 -0
  13. package/dist/components/CurdForm/src/CurdForm.vue.js +7 -0
  14. package/dist/components/CurdForm/src/CurdForm.vue2.js +326 -0
  15. package/dist/components/CurdForm/src/CurdFormItem.vue.d.ts +37 -0
  16. package/dist/components/CurdForm/src/CurdFormItem.vue.js +55 -0
  17. package/dist/components/CurdForm/src/CurdFormItem.vue2.js +4 -0
  18. package/dist/components/CurdForm/src/FormItem.vue.d.ts +44 -0
  19. package/dist/components/CurdForm/src/FormItem.vue.js +128 -0
  20. package/dist/components/CurdForm/src/FormItem.vue2.js +4 -0
  21. package/dist/components/CurdForm/src/FormTooltip.vue.d.ts +33 -0
  22. package/dist/components/CurdForm/src/FormTooltip.vue.js +63 -0
  23. package/dist/components/CurdForm/src/FormTooltip.vue2.js +4 -0
  24. package/dist/components/CurdForm/src/components/index.d.ts +10 -0
  25. package/dist/components/CurdForm/src/components/index.js +38 -0
  26. package/dist/components/CurdForm/src/components/schema-form-autocomplete.vue.d.ts +56 -0
  27. package/dist/components/CurdForm/src/components/schema-form-autocomplete.vue.js +39 -0
  28. package/dist/components/CurdForm/src/components/schema-form-autocomplete.vue2.js +4 -0
  29. package/dist/components/CurdForm/src/components/schema-form-cascader.vue.d.ts +56 -0
  30. package/dist/components/CurdForm/src/components/schema-form-cascader.vue.js +32 -0
  31. package/dist/components/CurdForm/src/components/schema-form-cascader.vue2.js +4 -0
  32. package/dist/components/CurdForm/src/components/schema-form-checkbox.vue.d.ts +59 -0
  33. package/dist/components/CurdForm/src/components/schema-form-checkbox.vue.js +86 -0
  34. package/dist/components/CurdForm/src/components/schema-form-checkbox.vue2.js +33 -0
  35. package/dist/components/CurdForm/src/components/schema-form-choose.vue.js +217 -0
  36. package/dist/components/CurdForm/src/components/schema-form-choose.vue2.js +4 -0
  37. package/dist/components/CurdForm/src/components/schema-form-color-picker.vue.d.ts +54 -0
  38. package/dist/components/CurdForm/src/components/schema-form-color-picker.vue.js +15 -0
  39. package/dist/components/CurdForm/src/components/schema-form-color-picker.vue2.js +19 -0
  40. package/dist/components/CurdForm/src/components/schema-form-date-picker.vue.d.ts +56 -0
  41. package/dist/components/CurdForm/src/components/schema-form-date-picker.vue.js +32 -0
  42. package/dist/components/CurdForm/src/components/schema-form-date-picker.vue2.js +27 -0
  43. package/dist/components/CurdForm/src/components/schema-form-input-number.vue.d.ts +54 -0
  44. package/dist/components/CurdForm/src/components/schema-form-input-number.vue.js +39 -0
  45. package/dist/components/CurdForm/src/components/schema-form-input-number.vue2.js +4 -0
  46. package/dist/components/CurdForm/src/components/schema-form-input.vue.d.ts +54 -0
  47. package/dist/components/CurdForm/src/components/schema-form-input.vue.js +44 -0
  48. package/dist/components/CurdForm/src/components/schema-form-input.vue2.js +4 -0
  49. package/dist/components/CurdForm/src/components/schema-form-radio.vue.d.ts +54 -0
  50. package/dist/components/CurdForm/src/components/schema-form-radio.vue.js +114 -0
  51. package/dist/components/CurdForm/src/components/schema-form-radio.vue2.js +4 -0
  52. package/dist/components/CurdForm/src/components/schema-form-select-v2.vue.d.ts +54 -0
  53. package/dist/components/CurdForm/src/components/schema-form-select-v2.vue.js +69 -0
  54. package/dist/components/CurdForm/src/components/schema-form-select-v2.vue2.js +4 -0
  55. package/dist/components/CurdForm/src/components/schema-form-select.vue.js +65 -0
  56. package/dist/components/CurdForm/src/components/schema-form-select.vue2.js +66 -0
  57. package/dist/components/CurdForm/src/components/schema-form-switch.vue.d.ts +54 -0
  58. package/dist/components/CurdForm/src/components/schema-form-switch.vue.js +14 -0
  59. package/dist/components/CurdForm/src/components/schema-form-switch.vue2.js +25 -0
  60. package/dist/components/CurdForm/src/components/schema-form-time-picker.vue.d.ts +57 -0
  61. package/dist/components/CurdForm/src/components/schema-form-time-picker.vue.js +29 -0
  62. package/dist/components/CurdForm/src/components/schema-form-time-picker.vue2.js +30 -0
  63. package/dist/components/CurdForm/src/components/schema-form-tree-select.vue.d.ts +58 -0
  64. package/dist/components/CurdForm/src/components/schema-form-tree-select.vue.js +55 -0
  65. package/dist/components/CurdForm/src/components/schema-form-tree-select.vue2.js +31 -0
  66. package/dist/components/CurdForm/src/components/schema-form-value.vue.d.ts +54 -0
  67. package/dist/components/CurdForm/src/components/schema-form-value.vue.js +11 -0
  68. package/dist/components/CurdForm/src/components/schema-form-value.vue2.js +21 -0
  69. package/dist/components/CurdForm/src/directive/index.d.ts +12 -0
  70. package/dist/components/CurdForm/src/directive/index.js +32 -0
  71. package/dist/components/CurdForm/src/hooks/index.d.ts +4 -0
  72. package/dist/components/CurdForm/src/hooks/index.js +7 -0
  73. package/dist/components/CurdForm/src/types.d.ts +150 -0
  74. package/dist/components/CurdForm/src/types.js +27 -0
  75. package/dist/components/CurdForm/src/utils/ajax.d.ts +25 -0
  76. package/dist/components/CurdForm/src/utils/common.d.ts +1 -0
  77. package/dist/components/CurdForm/src/utils/common.js +13 -0
  78. package/dist/components/CurdGroupForm/index.d.ts +2 -0
  79. package/dist/components/CurdGroupForm/src/CurdGroupForm.vue.d.ts +36 -0
  80. package/dist/components/CurdGroupForm/src/CurdGroupForm.vue.js +113 -0
  81. package/dist/components/CurdGroupForm/src/CurdGroupForm.vue2.js +4 -0
  82. package/dist/components/CurdGroupForm/src/components/CurdFormGroup.vue.d.ts +52 -0
  83. package/dist/components/CurdGroupForm/src/components/CurdFormGroup.vue.js +64 -0
  84. package/dist/components/CurdGroupForm/src/components/CurdFormGroup.vue2.js +4 -0
  85. package/dist/components/CurdGroupForm/src/hooks/useFormHook.d.ts +12 -0
  86. package/dist/components/CurdGroupForm/src/hooks/useFormHook.js +32 -0
  87. package/dist/components/CurdGroupForm/types.d.ts +33 -0
  88. package/dist/components/CurdTable/index.d.ts +13 -0
  89. package/dist/components/CurdTable/index.js +7 -0
  90. package/dist/components/CurdTable/src/CurdTable.vue.js +562 -0
  91. package/dist/components/CurdTable/src/CurdTable.vue2.js +4 -0
  92. package/dist/components/CurdTable/src/STableColumnControl.vue.d.ts +21 -0
  93. package/dist/components/CurdTable/src/STableColumnControl.vue.js +132 -0
  94. package/dist/components/CurdTable/src/STableColumnControl.vue2.js +4 -0
  95. package/dist/components/CurdTable/src/STableDetail.vue.d.ts +9 -0
  96. package/dist/components/CurdTable/src/STableDetail.vue.js +53 -0
  97. package/dist/components/CurdTable/src/STableDetail.vue2.js +4 -0
  98. package/dist/components/CurdTable/src/STableFilter.vue.d.ts +28 -0
  99. package/dist/components/CurdTable/src/STableFilter.vue.js +40 -0
  100. package/dist/components/CurdTable/src/STableFilter.vue2.js +4 -0
  101. package/dist/components/CurdTable/src/STableItem.vue.d.ts +127 -0
  102. package/dist/components/CurdTable/src/STableItem.vue.js +147 -0
  103. package/dist/components/CurdTable/src/STableItem.vue2.js +4 -0
  104. package/dist/components/CurdTable/src/STableItemFilter.vue.d.ts +34 -0
  105. package/dist/components/CurdTable/src/STableItemFilter.vue.js +71 -0
  106. package/dist/components/CurdTable/src/STableItemFilter.vue2.js +4 -0
  107. package/dist/components/CurdTable/src/STableItemFormatter.vue.d.ts +38 -0
  108. package/dist/components/CurdTable/src/STableItemFormatter.vue.js +34 -0
  109. package/dist/components/CurdTable/src/STableItemFormatter.vue2.js +4 -0
  110. package/dist/components/CurdTable/src/STableItemHeader.vue.d.ts +16 -0
  111. package/dist/components/CurdTable/src/STableItemHeader.vue.js +24 -0
  112. package/dist/components/CurdTable/src/STableItemHeader.vue2.js +4 -0
  113. package/dist/components/CurdTable/src/STableItemHeaderTooltip.vue.d.ts +14 -0
  114. package/dist/components/CurdTable/src/STableItemHeaderTooltip.vue.js +48 -0
  115. package/dist/components/CurdTable/src/STableItemHeaderTooltip.vue2.js +4 -0
  116. package/dist/components/CurdTable/src/STableMenu.vue.d.ts +20 -0
  117. package/dist/components/CurdTable/src/STableMenu.vue.js +120 -0
  118. package/dist/components/CurdTable/src/STableMenu.vue2.js +4 -0
  119. package/dist/components/CurdTable/src/hooks/useColumnHook.d.ts +9 -0
  120. package/dist/components/CurdTable/src/hooks/useColumnHook.js +45 -0
  121. package/dist/components/CurdTable/src/types.d.ts +178 -0
  122. package/dist/components/CurdTable/utils/common.d.ts +5 -0
  123. package/dist/components/CurdTable/utils/common.js +18 -0
  124. package/dist/components/CurdTable/utils/tabelToExcel.d.ts +4 -0
  125. package/dist/components/CurdTable/utils/tabelToExcel.js +23 -0
  126. package/dist/components/DetailInfo/index.d.ts +147 -0
  127. package/dist/components/DetailInfo/index.js +7 -0
  128. package/dist/components/DetailInfo/src/DetailInfo.vue.d.ts +77 -0
  129. package/dist/components/DetailInfo/src/DetailInfo.vue.js +144 -0
  130. package/dist/components/DetailInfo/src/DetailInfo.vue2.js +4 -0
  131. package/dist/components/DetailInfo/src/DetailInfoContent.vue.d.ts +16 -0
  132. package/dist/components/DetailInfo/src/DetailInfoContent.vue.js +43 -0
  133. package/dist/components/DetailInfo/src/DetailInfoContent.vue2.js +4 -0
  134. package/dist/components/DetailInfo/src/DetailInfoTooltip.vue.d.ts +15 -0
  135. package/dist/components/DetailInfo/src/DetailInfoTooltip.vue.js +48 -0
  136. package/dist/components/DetailInfo/src/DetailInfoTooltip.vue2.js +4 -0
  137. package/dist/components/DetailInfo/src/types.d.ts +22 -0
  138. package/dist/components/FormDialog/index.d.ts +7 -0
  139. package/dist/components/FormDialog/index.js +6 -0
  140. package/dist/components/FormDialog/src/FormDialog.vue.d.ts +247 -0
  141. package/dist/components/FormDialog/src/FormDialog.vue.js +117 -0
  142. package/dist/components/FormDialog/src/FormDialog.vue2.js +191 -0
  143. package/dist/components/FormDialog/src/hooks/index.d.ts +2 -0
  144. package/dist/components/FormDialog/src/hooks/useStepList.d.ts +14 -0
  145. package/dist/components/FormDialog/src/hooks/useStepList.js +27 -0
  146. package/dist/components/FormDialog/src/hooks/useStepNavigation.d.ts +75 -0
  147. package/dist/components/FormDialog/src/hooks/useStepNavigation.js +34 -0
  148. package/dist/components/FormDialog/src/index.d.ts +13 -0
  149. package/dist/components/FormDialog/src/index.js +23 -0
  150. package/dist/components/FormDialog/src/types.d.ts +63 -0
  151. package/dist/components/TableFilter/index.d.ts +6 -0
  152. package/dist/components/TableFilter/index.js +7 -0
  153. package/dist/components/TableFilter/src/FilterExternal/FilterExternal.vue.js +91 -0
  154. package/dist/components/TableFilter/src/FilterExternal/FilterExternal.vue2.js +4 -0
  155. package/dist/components/TableFilter/src/FilterSearchBox.vue.d.ts +33 -0
  156. package/dist/components/TableFilter/src/FilterSearchBox.vue.js +71 -0
  157. package/dist/components/TableFilter/src/FilterSearchBox.vue2.js +4 -0
  158. package/dist/components/TableFilter/src/TableFilter.vue.js +180 -0
  159. package/dist/components/TableFilter/src/TableFilter.vue2.js +4 -0
  160. package/dist/components/TableFilter/src/components/FilterItem.vue.d.ts +37 -0
  161. package/dist/components/TableFilter/src/components/FilterItem.vue.js +63 -0
  162. package/dist/components/TableFilter/src/components/FilterItem.vue2.js +4 -0
  163. package/dist/components/TableFilter/src/components/FilterTags.vue.d.ts +114 -0
  164. package/dist/components/TableFilter/src/components/FilterTags.vue.js +142 -0
  165. package/dist/components/TableFilter/src/components/FilterTags.vue2.js +4 -0
  166. package/dist/components/TableFilter/src/components/FilterToggle.vue.d.ts +29 -0
  167. package/dist/components/TableFilter/src/components/FilterToggle.vue.js +70 -0
  168. package/dist/components/TableFilter/src/components/FilterToggle.vue2.js +4 -0
  169. package/dist/components/TableFilter/src/components/FilterType.vue.d.ts +30 -0
  170. package/dist/components/TableFilter/src/components/FilterType.vue.js +62 -0
  171. package/dist/components/TableFilter/src/components/FilterType.vue2.js +4 -0
  172. package/dist/components/TableFilter/src/components/containers/TagsSelect.vue.d.ts +42 -0
  173. package/dist/components/TableFilter/src/components/containers/TagsSelect.vue.js +99 -0
  174. package/dist/components/TableFilter/src/components/containers/TagsSelect.vue2.js +4 -0
  175. package/dist/components/TableFilter/types.d.ts +34 -0
  176. package/dist/index.d.ts +22 -0
  177. package/dist/index.js +35 -0
  178. package/dist/locale/index.d.ts +9 -0
  179. package/dist/locale/index.js +6 -0
  180. package/dist/locale/lang/en.d.ts +49 -0
  181. package/{locale/lang/en.ts → dist/locale/lang/en.js} +10 -7
  182. package/dist/locale/lang/zh-cn.d.ts +49 -0
  183. package/{locale/lang/zh-cn.ts → dist/locale/lang/zh-cn.js} +10 -7
  184. package/dist/utils/common/index.d.ts +8 -0
  185. package/dist/utils/common/index.js +13 -0
  186. package/dist/utils/hooks/useGlobalConfig.d.ts +13 -0
  187. package/dist/utils/hooks/useGlobalConfig.js +22 -0
  188. package/dist/utils/hooks/useLocal.d.ts +15 -0
  189. package/dist/utils/hooks/useLocal.js +33 -0
  190. package/dist/utils/index.d.ts +2 -0
  191. package/dist/utils/index.js +6 -0
  192. package/dist/utils/vue/index.d.ts +2 -0
  193. package/dist/utils/vue/index.js +4 -0
  194. package/dist/utils/vue/install.d.ts +2 -0
  195. package/dist/utils/vue/install.js +14 -0
  196. package/dist/utils/vue/make-installer.d.ts +5 -0
  197. package/dist/utils/vue/make-installer.js +9 -0
  198. package/dist/utils/vue/typescript.d.ts +5 -0
  199. package/package.json +55 -46
  200. package/components/ConstantStatus/index.ts +0 -5
  201. package/components/ConstantStatus/src/ConstantStatus.vue +0 -69
  202. package/components/ConstantStatus/src/index.ts +0 -3
  203. package/components/ConstantStatus/src/types.ts +0 -18
  204. package/components/CurdForm/index.ts +0 -9
  205. package/components/CurdForm/src/CurdForm.vue +0 -500
  206. package/components/CurdForm/src/CurdFormItem.vue +0 -70
  207. package/components/CurdForm/src/FormItem.vue +0 -105
  208. package/components/CurdForm/src/FormTooltip.vue +0 -54
  209. package/components/CurdForm/src/components/index.ts +0 -52
  210. package/components/CurdForm/src/components/schema-form-autocomplete.vue +0 -25
  211. package/components/CurdForm/src/components/schema-form-cascader.vue +0 -24
  212. package/components/CurdForm/src/components/schema-form-checkbox.vue +0 -53
  213. package/components/CurdForm/src/components/schema-form-choose.vue +0 -225
  214. package/components/CurdForm/src/components/schema-form-color-picker.vue +0 -23
  215. package/components/CurdForm/src/components/schema-form-date-picker.vue +0 -34
  216. package/components/CurdForm/src/components/schema-form-input-number.vue +0 -12
  217. package/components/CurdForm/src/components/schema-form-input.vue +0 -21
  218. package/components/CurdForm/src/components/schema-form-radio.vue +0 -59
  219. package/components/CurdForm/src/components/schema-form-select-v2.vue +0 -60
  220. package/components/CurdForm/src/components/schema-form-select.vue +0 -93
  221. package/components/CurdForm/src/components/schema-form-switch.vue +0 -29
  222. package/components/CurdForm/src/components/schema-form-time-picker.vue +0 -37
  223. package/components/CurdForm/src/components/schema-form-tree-select.vue +0 -45
  224. package/components/CurdForm/src/components/schema-form-value.vue +0 -25
  225. package/components/CurdForm/src/directive/index.ts +0 -60
  226. package/components/CurdForm/src/hooks/index.ts +0 -6
  227. package/components/CurdForm/src/types.ts +0 -146
  228. package/components/CurdForm/src/utils/ajax.ts +0 -125
  229. package/components/CurdForm/src/utils/common.ts +0 -17
  230. package/components/CurdGroupForm/index.ts +0 -2
  231. package/components/CurdGroupForm/src/CurdGroupForm.vue +0 -93
  232. package/components/CurdGroupForm/src/components/CurdFormGroup.vue +0 -39
  233. package/components/CurdGroupForm/src/hooks/useFormHook.ts +0 -55
  234. package/components/CurdGroupForm/types.ts +0 -22
  235. package/components/CurdTable/index.ts +0 -5
  236. package/components/CurdTable/src/CurdTable.vue +0 -470
  237. package/components/CurdTable/src/STableColumnControl.vue +0 -88
  238. package/components/CurdTable/src/STableDetail.vue +0 -52
  239. package/components/CurdTable/src/STableFilter.vue +0 -50
  240. package/components/CurdTable/src/STableItem.vue +0 -119
  241. package/components/CurdTable/src/STableItemFilter.vue +0 -53
  242. package/components/CurdTable/src/STableItemFormatter.vue +0 -35
  243. package/components/CurdTable/src/STableItemHeader.vue +0 -33
  244. package/components/CurdTable/src/STableItemHeaderTooltip.vue +0 -32
  245. package/components/CurdTable/src/STableMenu.vue +0 -77
  246. package/components/CurdTable/src/hooks/useColumnHook.ts +0 -77
  247. package/components/CurdTable/src/types.ts +0 -163
  248. package/components/CurdTable/utils/common.ts +0 -33
  249. package/components/CurdTable/utils/tabelToExcel.ts +0 -68
  250. package/components/DetailInfo/index.ts +0 -5
  251. package/components/DetailInfo/src/DetailInfo.vue +0 -108
  252. package/components/DetailInfo/src/DetailInfoContent.vue +0 -27
  253. package/components/DetailInfo/src/DetailInfoTooltip.vue +0 -33
  254. package/components/DetailInfo/src/types.ts +0 -23
  255. package/components/FormDialog/index.ts +0 -3
  256. package/components/FormDialog/src/FormDialog.vue +0 -276
  257. package/components/FormDialog/src/hooks/index.ts +0 -2
  258. package/components/FormDialog/src/hooks/useStepList.ts +0 -49
  259. package/components/FormDialog/src/hooks/useStepNavigation.ts +0 -74
  260. package/components/FormDialog/src/index.ts +0 -39
  261. package/components/FormDialog/src/types.ts +0 -51
  262. package/components/TableFilter/index.ts +0 -6
  263. package/components/TableFilter/src/FilterExternal/FilterExternal.vue +0 -121
  264. package/components/TableFilter/src/FilterSearchBox.vue +0 -65
  265. package/components/TableFilter/src/TableFilter.vue +0 -236
  266. package/components/TableFilter/src/components/FilterItem.vue +0 -76
  267. package/components/TableFilter/src/components/FilterTags.vue +0 -132
  268. package/components/TableFilter/src/components/FilterToggle.vue +0 -40
  269. package/components/TableFilter/src/components/FilterType.vue +0 -78
  270. package/components/TableFilter/src/components/containers/TagsSelect.vue +0 -89
  271. package/components/TableFilter/types.ts +0 -36
  272. package/index.ts +0 -25
  273. package/locale/index.ts +0 -11
  274. package/utils/common/index.ts +0 -24
  275. package/utils/hooks/useGlobalConfig.ts +0 -39
  276. package/utils/hooks/useLocal.ts +0 -61
  277. package/utils/index.ts +0 -2
  278. package/utils/vue/index.ts +0 -3
  279. package/utils/vue/install.ts +0 -18
  280. package/utils/vue/make-installer.ts +0 -16
  281. package/utils/vue/typescript.ts +0 -7
@@ -1,163 +0,0 @@
1
- import type { TableProps } from "element-plus/es/components/table/src/table/defaults"
2
- import type { OptionItem } from "../../ConstantStatus"
3
- import type { Fields, FormItem as FormItemType, TooltipProps } from "../../CurdForm"
4
- import type { ParamsItem } from "../../TableFilter"
5
- import type { EventObject, FormSchema } from "./../../CurdForm/src/types"
6
- // import { TableColumnCtx } from "element-plus"
7
-
8
- import type { VNode } from "vue"
9
- import type { FormDialogOptions } from "../../FormDialog/src/types"
10
-
11
- export type MaybePromise<T> = T | Promise<T>
12
-
13
- export interface CurdTableProps<T = unknown> extends Partial<TableProps<T>> {
14
- rowKey?: string
15
- data?: T[]
16
- columns: ColumnItem<T>[]
17
- pageOptions?: { pageIndex?: number; pageSize?: number; total?: number } & Fields
18
- option?: Partial<PropOption>
19
- fetchData?: (opt: FeachDataParam) => Promise<{ total?: number; list?: T[] } | void>
20
- fetchCreate?: (formModel: Fields) => MaybePromise<void | boolean>
21
- fetchEdit?: (formModel: Fields, row: T, index?: number) => MaybePromise<void | boolean>
22
- fetchRemove?: (row: T, index: number) => Promise<void>
23
- }
24
- // extends Partial<TableColumnCtx<T>>
25
- export interface ColumnItemCtx<T> extends Partial<TableColumnCtx<T>> {
26
- prop: string
27
- label: string
28
- type?: string
29
- hidden?: boolean | ((item: ColumnItemCtx<T>, query: Fields) => boolean)
30
- neverShow?: boolean // 表示不在列控制器里
31
- children?: ColumnItem<T>[]
32
- options?: Array<OptionItem> //数据字典
33
- asyncOptions?: () => Promise<OptionItem[]>
34
- eventObject?: EventObject
35
- form?: Partial<FormItemType> | ((column: ColumnItemCtx<T>, row: T, query: Fields) => Partial<FormItemType>)
36
- filter?: ColumnItemFilter
37
- empty?: string | unknown
38
- detail?: ColumnItemDetail
39
- value?: unknown
40
- copy?: boolean // 对某一列的单元格的值进行复制
41
- vHtml?: boolean //当前列是否v-html渲染
42
- header?: string | TableColumnHeader
43
- headerComponent?: string | VNode
44
- }
45
- interface TableColumnCtx<T> {
46
- className: string
47
- labelClassName: string
48
- property: string
49
- prop: string
50
- width: string | number
51
- minWidth: string | number
52
- renderHeader: (data: unknown) => VNode
53
- sortable: boolean | string
54
- sortMethod: (a: T, b: T) => number
55
- sortBy: string | ((row: T, index: number) => string) | string[]
56
- resizable: boolean
57
- columnKey: string
58
- rawColumnKey: string
59
- align: string
60
- headerAlign: string
61
- showTooltipWhenOverflow: boolean
62
- showOverflowTooltip: boolean
63
- fixed: boolean | string
64
- formatter: (row: T, column: ColumnItemCtx<T>, cellValue: unknown, index: number) => VNode | string
65
- selectable: (row: T, index: number) => boolean
66
- reserveSelection: boolean
67
- filterMethod: FilterMethods<T>
68
- filteredValue: string[]
69
- filters: Filters
70
- filterPlacement: string
71
- filterMultiple: boolean
72
- index: number | ((index: number) => number)
73
- sortOrders: ("ascending" | "descending" | null)[]
74
- renderCell: (data: unknown) => void
75
- colSpan: number
76
- rowSpan: number
77
- // children: TableColumnCtx<T>[]
78
- level: number
79
- filterable: boolean | FilterMethods<T> | Filters
80
- order: string
81
- isColumnGroup: boolean
82
- isSubColumn: boolean
83
- columns: ColumnItemCtx<T>[]
84
- getColumnIndex: () => number
85
- no: number
86
- filterOpened?: boolean
87
- }
88
- type FilterMethods<T> = (value: unknown, row: T, column: ColumnItemCtx<T>) => void
89
- type Filters = {
90
- text: string
91
- value: string
92
- }[]
93
-
94
- export type ColumnItem<T = unknown> = ColumnItemCtx<T>
95
-
96
- export interface TableColumnHeader {
97
- title?: string
98
- tooltip?: string | Partial<TooltipProps>
99
- }
100
-
101
- export interface PropOption {
102
- operationWidth: number
103
- operationBtnTitle: string
104
- hideMenu: boolean // 是否隐藏右侧工具菜单
105
- hideMenuAdd: boolean // 是否隐藏菜单中添加按钮
106
- hideMenuRight: boolean // 是否隐藏菜单右侧
107
- hideOperation: boolean // 是否隐藏操作列
108
- hideOperationEdit: boolean // 是否隐藏操作列中的编辑按钮
109
- hideOperationDetail: boolean // 是否隐藏操作列中的详情按钮
110
- hideOperationDelete: boolean // 是否隐藏操作列中的删除按钮
111
- hidePage: boolean // 是否隐藏分页器
112
- excelTitle: string //导出表格的文件名
113
- selectionProps: Fields //type=selection 的列属性
114
- downloadMod: boolean | { excludes?: string[] }
115
- pageProps: Fields
116
- filterVisible: boolean
117
- customActivatedFetch: boolean // 自定义执行onActivated内部的fetch执行,完全交由父组件控制
118
- autoload: boolean
119
- menuEvent: Partial<Record<MenuEventKey, () => void>>
120
- filterAttrs: Partial<FormSchema>
121
- formAttrs: FormAttrs
122
- editOptions: FormDialogOptions
123
- createOptions: FormDialogOptions
124
- }
125
- export type MenuEventKey = "refresh" | "searchToggle" | "size" | "export" | "operation"
126
- export type FormAttrs = Partial<FormSchema> & { width?: string | number }
127
- export interface ColumnItemFilter extends Partial<ParamsItem> {
128
- inner?: boolean
129
- }
130
-
131
- export interface ColumnItemDetail {
132
- label?: string
133
- span?: number
134
- value?: unknown
135
- }
136
-
137
- export interface TableAttr {
138
- size?: string
139
- }
140
-
141
- export interface TableListQuery {
142
- pageIndex: number
143
- pageSize: number
144
-
145
- [key: string]: unknown
146
- }
147
-
148
- export interface FeachDataParam {
149
- listQuery: TableListQuery
150
- }
151
-
152
- export interface FetchDataOpt {
153
- showLoading?: boolean
154
- query?: Fields
155
- resetPageIndex?: boolean
156
- }
157
-
158
- /**
159
- * Make all properties in T optional
160
- */
161
- type Partial<T> = {
162
- [P in keyof T]?: T[P]
163
- }
@@ -1,33 +0,0 @@
1
- export function deepClone<T extends Array<T> | unknown>(sourceData: T): T {
2
- if (Array.isArray(sourceData)) {
3
- return sourceData.map((item) => deepClone(item)) as T
4
- }
5
- if (typeof sourceData !== "object" || sourceData === null || sourceData instanceof Function || sourceData instanceof Date || sourceData instanceof File || sourceData instanceof Symbol) {
6
- return sourceData
7
- }
8
- const obj: T = {} as T
9
- for (const key in sourceData) {
10
- if ((typeof sourceData[key] === "object" || sourceData[key] instanceof Date || sourceData[key] instanceof File) && sourceData[key] !== null) {
11
- obj[key] = deepClone(sourceData[key])
12
- } else {
13
- obj[key] = sourceData[key]
14
- }
15
- }
16
- return obj
17
- }
18
- /**
19
- * 复制
20
- */
21
- export function copy(value: string) {
22
- const oInput = document.createElement("input")
23
- // input框的内容复制
24
- oInput.value = value
25
- document.body.appendChild(oInput)
26
- // 选中
27
- oInput.select() // 选择对象;
28
- // 调 自带的Copy方法
29
- document.execCommand("Copy") // 执行浏览器复制命令
30
- // 复制成功后 移出 input节点
31
- // oInput.remove()
32
- document.body.removeChild(oInput)
33
- }
@@ -1,68 +0,0 @@
1
- /**
2
- * 导出excel
3
- */
4
-
5
- export function exportExcel(data: (string | number)[][], worksheetName: string, filename?: string) {
6
- if (!filename) {
7
- filename = worksheetName
8
- }
9
-
10
- tableToExcel(data, worksheetName, filename)
11
- }
12
-
13
- const tableToExcel = (function () {
14
- const uri = "data:application/vnd.ms-excel;base64,",
15
- template =
16
- '<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel"' +
17
- 'xmlns="http://www.w3.org/TR/REC-html40"><head><meta charset="UTF-8"><!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet>' +
18
- "<x:Name>{worksheet}</x:Name><x:WorksheetOptions><x:DisplayGridlines/></x:WorksheetOptions></x:ExcelWorksheet></x:ExcelWorksheets>" +
19
- "</x:ExcelWorkbook></xml><![endif]-->" +
20
- ' <style type="text/css">' +
21
- ".excelTable {" +
22
- "border-collapse:collapse;" +
23
- " border:thin solid #999; " +
24
- "}" +
25
- " .excelTable th {" +
26
- " border: thin solid #999;" +
27
- " padding:20px;" +
28
- " text-align: center;" +
29
- " border-top: thin solid #999;" +
30
- " background-color: #E6E6E6;" +
31
- " }" +
32
- " .excelTable td{" +
33
- " border:thin solid #999;" +
34
- " padding:2px 5px;" +
35
- " text-align: left;" +
36
- " }" +
37
- " .excelTable .text-right{text-align:right;}" +
38
- "</style>" +
39
- '</head><body ><table class="excelTable">{table}</table></body></html>',
40
- base64 = function (s: string) {
41
- const encoder = new TextEncoder()
42
- const utf8Array = encoder.encode(s)
43
- return btoa(String.fromCharCode.apply(null, Array.from(utf8Array)))
44
- return window.btoa(decodeURIComponent(encodeURIComponent(s)))
45
- },
46
- format = function (s: string, c: Record<string, string>) {
47
- return s.replace(/{(\w+)}/g, function (_m, p) {
48
- return c[p]
49
- })
50
- }
51
- return function (data: (string | number)[][], worksheetName: string, filename: string) {
52
- const tableStr = data
53
- .map((a) => {
54
- const td = a.map((td) => "<td class='" + (typeof td == "number" ? "text-right" : "") + "' style='" + (typeof td != "number" ? "mso-number-format:\\@;" : "") + "'>" + (td === undefined || td === null ? "" : td) + "</td>").join("")
55
- return `<tr>${td}</tr>`
56
- })
57
- .join("")
58
- setTimeout(() => {
59
- const ctx = { worksheet: worksheetName || "Worksheet", table: tableStr }
60
- // window.location.href = uri + base64(format(template, ctx)) ;
61
- const a = document.createElement("a")
62
- a.href = uri + base64(format(template, ctx))
63
- // console.log(format(template, ctx))
64
- a.download = filename
65
- a.click()
66
- })
67
- }
68
- })()
@@ -1,5 +0,0 @@
1
- import { withInstall } from "../../utils"
2
- import Instance from "./src/DetailInfo.vue"
3
- export const DetailInfo = withInstall("DetailInfo", Instance)
4
- export default DetailInfo
5
- export * from "./src/types"
@@ -1,108 +0,0 @@
1
- <template>
2
- <div class="detail-info" :class="[props.showType, $attrs.shadow]">
3
- <div v-if="$slots.header || props.title || $slots.title" class="detail-info-header">
4
- <slot name="header"></slot>
5
- <div v-if="!$slots.header" class="header-left">
6
- <div v-if="props.title && !$slots.title" class="title">{{ props.title }}</div>
7
- <slot name="title"></slot>
8
- </div>
9
- <div v-if="!$slots.header" class="header-right">
10
- <slot name="headerRight"></slot>
11
- </div>
12
- </div>
13
- <div v-if="$slots.default" class="detail-info-body">
14
- <slot></slot>
15
- </div>
16
- <div v-if="!$slots.default" class="detail-info-body" :class="[props.showType]" :style="{ '--gutter': props.gutter + 'px' }">
17
- <div v-for="(item, i) in list" :key="i" class="table-detail-col" :span="item.span" :style="getItemStyle(item)">
18
- <div class="item-col" :class="{ 'item-col-top': item.labelPosition == 'top' || props.labelPosition == 'top' }">
19
- <div v-if="item.label" class="label" :style="getLabelStyle(item)">
20
- <span>{{ item.label }}</span>
21
- <DetailInfoTooltip :tooltip="item.tooltip" />
22
- </div>
23
- <div class="det">
24
- <template v-if="item.slot">
25
- <slot :name="item.slot" :row="item" :data="props.data" :index="i"></slot>
26
- </template>
27
- <template v-else>
28
- <ConstantStatus v-if="item.options" :value="item.value as string" :options="item.options" />
29
- <template v-else-if="item.type == 'image'">
30
- <el-image :src="item.value as string" :preview-src-list="[item.value as string]" style="width: 40px; height: 40px; vertical-align: top" :fit="'cover'" v-bind="item.props"></el-image>
31
- </template>
32
- <component :is="item.type" v-else-if="item.type" v-model="item.value" v-bind="item.props"></component>
33
- <template v-else><DetailInfoContent :data="item" /></template>
34
- </template>
35
- </div>
36
- </div>
37
- </div>
38
- </div>
39
- </div>
40
- </template>
41
- <script lang="ts">
42
- export default {
43
- name: "DetailInfo",
44
- }
45
- </script>
46
- <script lang="ts" setup>
47
- import { ElImage } from "element-plus"
48
- import { type PropType, computed } from "vue"
49
- import { ConstantStatus } from "../../ConstantStatus/src"
50
- import DetailInfoContent from "./DetailInfoContent.vue"
51
- import DetailInfoTooltip from "./DetailInfoTooltip.vue"
52
- import { type DetailDataItem } from "./types"
53
-
54
- const props = defineProps({
55
- data: {
56
- type: Array as PropType<DetailDataItem[]>,
57
- default: () => [],
58
- },
59
- title: {
60
- type: String,
61
- default: "",
62
- },
63
- /** 显示方式,默认是normal,表格式、带边框,可选项:table、normal */
64
- showType: {
65
- type: String,
66
- default: "normal",
67
- },
68
- labelWidth: {
69
- type: [Number, String],
70
- default: "",
71
- },
72
- labelPosition: {
73
- type: String,
74
- default: "left",
75
- },
76
- gutter: {
77
- type: Number,
78
- default: 0,
79
- },
80
- })
81
- const list = computed(() => {
82
- const d = props.data || []
83
- return d.filter((item) => {
84
- if (typeof item.hidden == "function") return !item.hidden(props.data)
85
- if (typeof item.hidden != "undefined") return !item.hidden
86
- return true
87
- })
88
- })
89
- const getLabelWidth = (dataItem: DetailDataItem): string => {
90
- const labelWidth = typeof dataItem.labelWidth !== "undefined" ? dataItem.labelWidth : props.labelWidth
91
- const isNum = typeof labelWidth == "number" || (typeof labelWidth == "string" && /^\d+$/.test(labelWidth))
92
- return !isNum ? labelWidth + "" : labelWidth + "px"
93
- }
94
- const getLabelStyle = (item: DetailDataItem) => {
95
- let s = ""
96
- if (item.labelStyle && typeof item.labelStyle == "object") {
97
- const l = item.labelStyle
98
- s = Object.keys(l)
99
- .map((a) => a + ":" + l[a])
100
- .join(";")
101
- }
102
- return `width: ${getLabelWidth(item)};` + s
103
- }
104
- const getItemStyle = (dataItem: DetailDataItem) => {
105
- const width = (100 * (dataItem.span || 24)) / 24 + "%"
106
- return { width: width, flex: "0 0 " + width }
107
- }
108
- </script>
@@ -1,27 +0,0 @@
1
- <template>
2
- <el-tooltip v-if="props.data.showOverflowTooltip" v-bind="getTooltipProps">
3
- <div v-if="props.data.rawContent" style="text-overflow: ellipsis; white-space: nowrap; overflow: hidden" v-html="props.data.value"></div>
4
- <div v-else style="text-overflow: ellipsis; white-space: nowrap; overflow: hidden">{{ props.data.value }}</div>
5
- </el-tooltip>
6
- <template v-else>
7
- <div v-if="props.data.rawContent" v-html="props.data.value"></div>
8
- <div v-else>{{ props.data.value }}</div>
9
- </template>
10
- </template>
11
- <script lang="ts" setup>
12
- import { type PropType, computed } from "vue"
13
- import { type DetailDataItem } from "./types"
14
- const props = defineProps({
15
- data: {
16
- type: Object as PropType<DetailDataItem>,
17
- default: () => ({}),
18
- },
19
- })
20
- const getTooltipProps = computed(() => {
21
- if (typeof props.data.showOverflowTooltip == "object") {
22
- const { content, ...args } = props.data.showOverflowTooltip
23
- return { content: content || props.data.value, ...args }
24
- }
25
- return { content: props.data.value }
26
- })
27
- </script>
@@ -1,33 +0,0 @@
1
- <template>
2
- <el-tooltip v-if="props.tooltip" v-bind="typeof props.tooltip == 'object' ? props.tooltip : {}">
3
- <el-button class="tooltip" type="primary" link>
4
- <el-icon><Warning /></el-icon>
5
- </el-button>
6
- <template #content>
7
- <div v-html="getTooltipContent()"></div>
8
- </template>
9
- </el-tooltip>
10
- </template>
11
- <script lang="ts" setup>
12
- import { Warning } from "@element-plus/icons-vue"
13
- import type { PropType } from "vue"
14
- const props = defineProps({
15
- tooltip: {
16
- type: [String, Object] as PropType<string | import("element-plus/es/components/tooltip").ElTooltipProps>,
17
- default: "",
18
- },
19
- })
20
- const getTooltipContent = () => {
21
- const tooltip = props.tooltip
22
- if (!tooltip) {
23
- return ""
24
- }
25
- if (typeof tooltip === "string") {
26
- return tooltip
27
- }
28
- if (typeof tooltip === "object") {
29
- return tooltip.content
30
- }
31
- return ""
32
- }
33
- </script>
@@ -1,23 +0,0 @@
1
- import type { ElTooltipProps } from "element-plus"
2
- import { defineComponent } from "vue"
3
- import type { OptionItem } from "../../ConstantStatus/src/types"
4
-
5
- export interface DetailDataItem extends Record<string, unknown> {
6
- label?: string
7
- value?: unknown
8
- /** 当前项占的宽度,最大24, 默认24 */
9
- span?: number
10
- /** 当前数据的选项,里面包含的图标、颜色信息会自动显示 */
11
- options?: Array<OptionItem>
12
- /** type为image时,会把value当做image的url来显示图片 */
13
- type?: string | ReturnType<typeof defineComponent>
14
- labelWidth?: number | string
15
- props?: Record<string, string>
16
- slot?: string
17
- tooltip?: string | ElTooltipProps
18
- labelPosition?: string | "left" | "right" | "center" | "top"
19
- labelStyle?: string | Record<string, string | number>
20
- showOverflowTooltip?: boolean | string | Partial<ElTooltipProps>
21
- rawContent?: boolean
22
- hidden?: boolean | ((data: DetailDataItem[]) => boolean)
23
- }
@@ -1,3 +0,0 @@
1
- import Instance from "./src/index"
2
- export const FormDialog = Instance
3
- export default FormDialog