@done-coding/admin-core 0.1.1-alpha.2 → 0.1.1-alpha.4

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 (36) hide show
  1. package/es/components/form/FormDatePicker.vue.mjs +7 -0
  2. package/es/components/form/FormDatePicker.vue2.mjs +50 -0
  3. package/es/components/form/index.mjs +19 -19
  4. package/es/components/form/utils.mjs +82 -61
  5. package/es/components/misc/ActionButton.vue.mjs +52 -0
  6. package/es/components/misc/ActionButton.vue2.mjs +4 -0
  7. package/es/components/misc/ActionButtonDanger.vue.mjs +32 -0
  8. package/es/components/misc/ActionButtonDanger.vue2.mjs +4 -0
  9. package/es/components/misc/ActionButtonWarn.vue.mjs +32 -0
  10. package/es/components/misc/ActionButtonWarn.vue2.mjs +4 -0
  11. package/es/components/misc/index.mjs +21 -9
  12. package/es/components/table/TableMain.vue.mjs +1 -1
  13. package/es/components/table/TableMain.vue2.mjs +148 -133
  14. package/es/components/table/TableToolbar.vue.mjs +3 -3
  15. package/es/components/table/TableToolbar.vue2.mjs +154 -70
  16. package/es/components/table/ToolbarButtons.vue.mjs +49 -0
  17. package/es/components/table/ToolbarButtons.vue2.mjs +4 -0
  18. package/es/helpers/list-helper.mjs +29 -33
  19. package/es/index.mjs +104 -92
  20. package/es/style.css +1 -1
  21. package/es/utils/export.mjs +23 -0
  22. package/package.json +2 -2
  23. package/types/components/form/{FormDateTimeRange.vue.d.ts → FormDatePicker.vue.d.ts} +2 -2
  24. package/types/components/form/index.d.ts +2 -2
  25. package/types/components/form/utils.d.ts +3 -1
  26. package/types/components/misc/ActionButton.vue.d.ts +24 -0
  27. package/types/components/misc/ActionButtonDanger.vue.d.ts +19 -0
  28. package/types/components/misc/ActionButtonWarn.vue.d.ts +19 -0
  29. package/types/components/misc/index.d.ts +4 -1
  30. package/types/components/table/TableToolbar.vue.d.ts +66 -9
  31. package/types/components/table/ToolbarButtons.vue.d.ts +19 -0
  32. package/types/components/table/types.d.ts +64 -17
  33. package/types/utils/export.d.ts +30 -0
  34. package/types/utils/index.d.ts +1 -0
  35. package/es/components/form/FormDateTimeRange.vue.mjs +0 -46
  36. package/es/components/form/FormDateTimeRange.vue2.mjs +0 -4
@@ -0,0 +1,30 @@
1
+ import { ElTableColumnProps } from '../components/table/types';
2
+
3
+ /** 操作列标记 prop。消费方以此值标记操作列,导出时自动过滤 */
4
+ export declare const OPERATE_COLUMN_PROP = "OPERATE";
5
+ /** 前端导出最大行数 */
6
+ export declare const EXPORT_MAX_LIMIT = 10000;
7
+ /** 导出列:从 ElTableColumnProps 中提取 prop、label、type */
8
+ export type ExportColumn = Pick<ElTableColumnProps, "prop" | "label" | "type">;
9
+ /** 导出列配置:支持 valueMap 自定义取值 */
10
+ export interface ExportColumnConfig {
11
+ prop: string;
12
+ label: string;
13
+ /** 自定义取值,不传则取 row[prop] */
14
+ valueMap?: (row: Record<string, any>) => unknown;
15
+ }
16
+ /** 导出参数 */
17
+ export interface ExportOptions {
18
+ columns: ExportColumnConfig[];
19
+ list: Record<string, any>[];
20
+ filename?: string;
21
+ }
22
+ /**
23
+ * 从表格列配置中提取可导出列
24
+ * ---
25
+ * 过滤规则:排除 type 为 selection / index / expand 的列(除 default 外均排除),
26
+ * 排除 prop 为 OPERATE_COLUMN_PROP 的列,排除无 prop 的列
27
+ */
28
+ export declare const pickExportColumns: <T extends Record<string, any>>(columns: ElTableColumnProps<T>[]) => ExportColumn[];
29
+ /** 导出 CSV 文件 */
30
+ export declare const exportCSV: ({ columns, list, filename, }: ExportOptions) => void;
@@ -1,3 +1,4 @@
1
1
  export * from './time';
2
2
  export * from './id';
3
3
  export * from './router';
4
+ export * from './export';
@@ -1,46 +0,0 @@
1
- import { ElDatePicker as d, ElButton as c } from "element-plus/es";
2
- import "element-plus/es/components/base/style/css";
3
- import "element-plus/es/components/button/style/css";
4
- import "element-plus/es/components/date-picker/style/css";
5
- import { defineComponent as p, useModel as f, useAttrs as k, openBlock as o, createElementBlock as r, createVNode as V, mergeProps as _, unref as g, Fragment as y, renderList as B, createBlock as C, withCtx as D, createTextVNode as E, toDisplayString as v, mergeModels as w } from "vue";
6
- const x = { class: "form-date-time-range" }, N = /* @__PURE__ */ p({
7
- name: "FormDateTimeRange",
8
- inheritAttrs: !1,
9
- __name: "FormDateTimeRange",
10
- props: /* @__PURE__ */ w({
11
- swiftOptions: { default: () => [] }
12
- }, {
13
- modelValue: { default: null },
14
- modelModifiers: {}
15
- }),
16
- emits: ["update:modelValue"],
17
- setup(l) {
18
- const t = f(l, "modelValue"), m = k(), i = (n) => {
19
- t.value = n.set();
20
- };
21
- return (n, a) => {
22
- const s = d, u = c;
23
- return o(), r("span", x, [
24
- V(s, _({
25
- modelValue: t.value,
26
- "onUpdate:modelValue": a[0] || (a[0] = (e) => t.value = e),
27
- type: "datetimerange"
28
- }, g(m)), null, 16, ["modelValue"]),
29
- (o(!0), r(y, null, B(l.swiftOptions, (e) => (o(), C(u, {
30
- key: e.key,
31
- type: "primary",
32
- link: "",
33
- onClick: (h) => i(e)
34
- }, {
35
- default: D(() => [
36
- E(v(e.key), 1)
37
- ]),
38
- _: 2
39
- }, 1032, ["onClick"]))), 128))
40
- ]);
41
- };
42
- }
43
- });
44
- export {
45
- N as default
46
- };
@@ -1,4 +0,0 @@
1
- import f from "./FormDateTimeRange.vue.mjs";
2
- export {
3
- f as default
4
- };