ele-admin-plus 1.6.0-beta.1 → 1.6.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 (173) hide show
  1. package/es/ele-admin-layout/components/layout-tabs.d.ts +5 -5
  2. package/es/ele-admin-layout/index.d.ts +6 -4
  3. package/es/ele-admin-layout/index.js +12 -12
  4. package/es/ele-admin-layout/props.d.ts +3 -1
  5. package/es/ele-admin-layout/props.js +2 -0
  6. package/es/ele-autocomplete/index.js +2 -0
  7. package/es/ele-basic-select/components/select-view.d.ts +3 -3
  8. package/es/ele-basic-select/index.d.ts +3 -3
  9. package/es/ele-breadcrumb/index.d.ts +2 -2
  10. package/es/ele-breadcrumb/props.d.ts +1 -1
  11. package/es/ele-cascader/index.js +4 -0
  12. package/es/ele-chat/index.js +7 -7
  13. package/es/ele-checkbox-group/index.d.ts +14 -14
  14. package/es/ele-checkbox-group/props.d.ts +6 -6
  15. package/es/ele-crud/components/edit-modal.d.ts +13 -1
  16. package/es/ele-crud/components/edit-modal.js +36 -2
  17. package/es/ele-crud/components/table-extra.d.ts +13 -1
  18. package/es/ele-crud/components/table-extra.js +22 -3
  19. package/es/ele-crud/index.d.ts +2 -0
  20. package/es/ele-crud/index.js +14 -0
  21. package/es/ele-crud/props.d.ts +3 -1
  22. package/es/ele-crud/props.js +2 -0
  23. package/es/ele-crud/types.d.ts +8 -0
  24. package/es/ele-crud-builder/util.js +20 -1
  25. package/es/ele-data-table/index.d.ts +3 -3
  26. package/es/ele-data-table/util.d.ts +1 -1
  27. package/es/ele-drawer/index.d.ts +59 -59
  28. package/es/ele-drawer/props.d.ts +21 -21
  29. package/es/ele-dropdown/components/pro-dropdown.d.ts +42 -42
  30. package/es/ele-dropdown/index.d.ts +42 -42
  31. package/es/ele-dropdown/props.d.ts +13 -13
  32. package/es/ele-dropdown-provider/util.d.ts +1 -1
  33. package/es/ele-icon/index.d.ts +2 -2
  34. package/es/ele-icon/props.d.ts +1 -1
  35. package/es/ele-icon-select/index.d.ts +1 -1
  36. package/es/ele-image-viewer/index.d.ts +20 -20
  37. package/es/ele-image-viewer/props.d.ts +9 -9
  38. package/es/ele-menus/components/menu-items.js +1 -1
  39. package/es/ele-menus/index.d.ts +30 -30
  40. package/es/ele-menus/props.d.ts +12 -12
  41. package/es/ele-modal/index.d.ts +52 -48
  42. package/es/ele-modal/props.d.ts +16 -16
  43. package/es/ele-pagination/index.d.ts +25 -25
  44. package/es/ele-pagination/props.d.ts +11 -11
  45. package/es/ele-popconfirm/index.d.ts +45 -45
  46. package/es/ele-popconfirm/props.d.ts +18 -18
  47. package/es/ele-popover/index.d.ts +47 -47
  48. package/es/ele-popover/props.d.ts +19 -19
  49. package/es/ele-pro-form/index.d.ts +19 -19
  50. package/es/ele-pro-form/props.d.ts +7 -7
  51. package/es/ele-pro-form-builder/style/index.scss +3 -3
  52. package/es/ele-pro-layout/index.d.ts +8 -6
  53. package/es/ele-pro-layout/index.js +2 -1
  54. package/es/ele-pro-layout/props.d.ts +1 -0
  55. package/es/ele-pro-layout/util.d.ts +5 -0
  56. package/es/ele-pro-layout/util.js +10 -3
  57. package/es/ele-pro-table/index.d.ts +4 -4
  58. package/es/ele-pro-table/style/index.scss +1 -0
  59. package/es/ele-qr-code-svg/qrcodegen.js +1 -1
  60. package/es/ele-radio-group/index.d.ts +21 -21
  61. package/es/ele-radio-group/props.d.ts +9 -9
  62. package/es/ele-select/index.d.ts +73 -73
  63. package/es/ele-select/props.d.ts +29 -29
  64. package/es/ele-select-tree/index.d.ts +91 -91
  65. package/es/ele-select-tree/props.d.ts +36 -36
  66. package/es/ele-steps/index.d.ts +18 -18
  67. package/es/ele-steps/props.d.ts +7 -7
  68. package/es/ele-tab-tool/index.d.ts +1 -1
  69. package/es/ele-table-select/index.d.ts +5 -5
  70. package/es/ele-tabs/index.d.ts +23 -23
  71. package/es/ele-tabs/props.d.ts +5 -5
  72. package/es/ele-tool/index.d.ts +1 -1
  73. package/es/ele-tooltip/index.d.ts +46 -46
  74. package/es/ele-tooltip/props.d.ts +18 -18
  75. package/es/ele-transfer/index.d.ts +20 -20
  76. package/es/ele-transfer/props.d.ts +9 -9
  77. package/es/ele-tree-select/index.d.ts +5 -5
  78. package/es/ele-upload-list/components/list-item.d.ts +2 -2
  79. package/es/ele-virtual-table/components/body-cell.d.ts +6 -6
  80. package/es/ele-virtual-table/components/cell-filter.d.ts +1 -1
  81. package/es/ele-virtual-table/components/header-cell.d.ts +2 -2
  82. package/es/ele-virtual-table/index.d.ts +6 -6
  83. package/es/utils/common.js +1 -1
  84. package/es/utils/hook.d.ts +7 -0
  85. package/es/utils/modal-hook.d.ts +1 -1
  86. package/es/utils/theme-util.d.ts +4 -0
  87. package/lib/ele-admin-layout/components/layout-tabs.d.ts +5 -5
  88. package/lib/ele-admin-layout/index.cjs +12 -12
  89. package/lib/ele-admin-layout/index.d.ts +6 -4
  90. package/lib/ele-admin-layout/props.cjs +2 -0
  91. package/lib/ele-admin-layout/props.d.ts +3 -1
  92. package/lib/ele-autocomplete/index.cjs +2 -0
  93. package/lib/ele-basic-select/components/select-view.d.ts +3 -3
  94. package/lib/ele-basic-select/index.d.ts +3 -3
  95. package/lib/ele-breadcrumb/index.d.ts +2 -2
  96. package/lib/ele-breadcrumb/props.d.ts +1 -1
  97. package/lib/ele-cascader/index.cjs +4 -0
  98. package/lib/ele-chat/index.cjs +6 -6
  99. package/lib/ele-checkbox-group/index.d.ts +14 -14
  100. package/lib/ele-checkbox-group/props.d.ts +6 -6
  101. package/lib/ele-crud/components/edit-modal.cjs +36 -2
  102. package/lib/ele-crud/components/edit-modal.d.ts +13 -1
  103. package/lib/ele-crud/components/table-extra.cjs +22 -3
  104. package/lib/ele-crud/components/table-extra.d.ts +13 -1
  105. package/lib/ele-crud/index.cjs +14 -0
  106. package/lib/ele-crud/index.d.ts +2 -0
  107. package/lib/ele-crud/props.cjs +2 -0
  108. package/lib/ele-crud/props.d.ts +3 -1
  109. package/lib/ele-crud/types.d.ts +8 -0
  110. package/lib/ele-crud-builder/util.cjs +20 -1
  111. package/lib/ele-data-table/index.d.ts +3 -3
  112. package/lib/ele-data-table/util.d.ts +1 -1
  113. package/lib/ele-drawer/index.d.ts +59 -59
  114. package/lib/ele-drawer/props.d.ts +21 -21
  115. package/lib/ele-dropdown/components/pro-dropdown.d.ts +42 -42
  116. package/lib/ele-dropdown/index.d.ts +42 -42
  117. package/lib/ele-dropdown/props.d.ts +13 -13
  118. package/lib/ele-dropdown-provider/util.d.ts +1 -1
  119. package/lib/ele-icon/index.d.ts +2 -2
  120. package/lib/ele-icon/props.d.ts +1 -1
  121. package/lib/ele-icon-select/index.d.ts +1 -1
  122. package/lib/ele-image-viewer/index.d.ts +20 -20
  123. package/lib/ele-image-viewer/props.d.ts +9 -9
  124. package/lib/ele-menus/components/menu-items.cjs +1 -1
  125. package/lib/ele-menus/index.d.ts +30 -30
  126. package/lib/ele-menus/props.d.ts +12 -12
  127. package/lib/ele-modal/index.d.ts +52 -48
  128. package/lib/ele-modal/props.d.ts +16 -16
  129. package/lib/ele-pagination/index.d.ts +25 -25
  130. package/lib/ele-pagination/props.d.ts +11 -11
  131. package/lib/ele-popconfirm/index.d.ts +45 -45
  132. package/lib/ele-popconfirm/props.d.ts +18 -18
  133. package/lib/ele-popover/index.d.ts +47 -47
  134. package/lib/ele-popover/props.d.ts +19 -19
  135. package/lib/ele-pro-form/index.d.ts +19 -19
  136. package/lib/ele-pro-form/props.d.ts +7 -7
  137. package/lib/ele-pro-form-builder/style/index.scss +3 -3
  138. package/lib/ele-pro-layout/index.cjs +2 -1
  139. package/lib/ele-pro-layout/index.d.ts +8 -6
  140. package/lib/ele-pro-layout/props.d.ts +1 -0
  141. package/lib/ele-pro-layout/util.cjs +10 -3
  142. package/lib/ele-pro-layout/util.d.ts +5 -0
  143. package/lib/ele-pro-table/index.d.ts +4 -4
  144. package/lib/ele-pro-table/style/index.scss +1 -0
  145. package/lib/ele-qr-code-svg/qrcodegen.cjs +1 -1
  146. package/lib/ele-radio-group/index.d.ts +21 -21
  147. package/lib/ele-radio-group/props.d.ts +9 -9
  148. package/lib/ele-select/index.d.ts +73 -73
  149. package/lib/ele-select/props.d.ts +29 -29
  150. package/lib/ele-select-tree/index.d.ts +91 -91
  151. package/lib/ele-select-tree/props.d.ts +36 -36
  152. package/lib/ele-steps/index.d.ts +18 -18
  153. package/lib/ele-steps/props.d.ts +7 -7
  154. package/lib/ele-tab-tool/index.d.ts +1 -1
  155. package/lib/ele-table-select/index.d.ts +5 -5
  156. package/lib/ele-tabs/index.d.ts +23 -23
  157. package/lib/ele-tabs/props.d.ts +5 -5
  158. package/lib/ele-tool/index.d.ts +1 -1
  159. package/lib/ele-tooltip/index.d.ts +46 -46
  160. package/lib/ele-tooltip/props.d.ts +18 -18
  161. package/lib/ele-transfer/index.d.ts +20 -20
  162. package/lib/ele-transfer/props.d.ts +9 -9
  163. package/lib/ele-tree-select/index.d.ts +5 -5
  164. package/lib/ele-upload-list/components/list-item.d.ts +2 -2
  165. package/lib/ele-virtual-table/components/body-cell.d.ts +6 -6
  166. package/lib/ele-virtual-table/components/cell-filter.d.ts +1 -1
  167. package/lib/ele-virtual-table/components/header-cell.d.ts +2 -2
  168. package/lib/ele-virtual-table/index.d.ts +6 -6
  169. package/lib/utils/common.cjs +1 -1
  170. package/lib/utils/hook.d.ts +7 -0
  171. package/lib/utils/modal-hook.d.ts +1 -1
  172. package/lib/utils/theme-util.d.ts +4 -0
  173. package/package.json +45 -4
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  const vue = require("vue");
3
3
  const common = require("../../utils/common");
4
+ const util$2 = require("../../ele-data-table/util");
4
5
  const EleModal = require("../../ele-modal/index");
5
6
  const EleProForm = require("../../ele-pro-form/index");
6
7
  const util = require("../../ele-pro-form/util");
@@ -18,6 +19,8 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
18
19
  title: String,
19
20
  /** 编辑配置 */
20
21
  editConfig: Object,
22
+ /** 列表配置 */
23
+ listConfig: Object,
21
24
  /** 字段数据 */
22
25
  fields: Array,
23
26
  /** 获取字段数据对应的表单项的方法 */
@@ -31,6 +34,8 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
31
34
  proFormComponent: [String, Object, Function],
32
35
  /** 修改数据接口 */
33
36
  editApi: [Function, String],
37
+ /** 详情接口 */
38
+ detailApi: [Function, String],
34
39
  /** 高级表单组件类型数据 */
35
40
  itemTypeData: Array,
36
41
  /** 远程数据源请求工具 */
@@ -44,7 +49,11 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
44
49
  /** 编辑保存失败事件 */
45
50
  editError: (_e) => true,
46
51
  /** 编辑保存成功事件 */
47
- editDone: (_msg) => true
52
+ editDone: (_msg) => true,
53
+ /** 详情查询失败事件 */
54
+ detailError: (_e) => true,
55
+ /** 详情查询成功事件 */
56
+ detailDone: (_data) => true
48
57
  },
49
58
  setup(__props, { emit: __emit }) {
50
59
  const props = __props;
@@ -128,11 +137,36 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
128
137
  }
129
138
  return items;
130
139
  });
140
+ const queryDetailData = () => {
141
+ if (!props.detailApi) {
142
+ return;
143
+ }
144
+ const detailApiFunc = typeof props.detailApi === "function" ? props.detailApi : props.detailApi.startsWith(util$1.codeStringPrefix) ? props.getAndCacheCode(props.detailApi) : void 0;
145
+ if (!detailApiFunc) {
146
+ return;
147
+ }
148
+ loading.value = true;
149
+ const rowKey = props.listConfig?.tableProps?.rowKey;
150
+ const dataKey = rowKey ? util$2.getValue(props.data, rowKey) : void 0;
151
+ detailApiFunc(dataKey, props.data).then((data) => {
152
+ loading.value = false;
153
+ handleResetEditForm(data);
154
+ emit("detailDone", data);
155
+ }).catch((e) => {
156
+ loading.value = false;
157
+ emit("detailError", e);
158
+ });
159
+ };
131
160
  vue.watch(
132
161
  () => props.modelValue,
133
162
  (visible) => {
134
163
  if (visible) {
135
- handleResetEditForm(props.data);
164
+ if (!props.detailApi) {
165
+ handleResetEditForm(props.data);
166
+ } else {
167
+ handleResetEditForm();
168
+ queryDetailData();
169
+ }
136
170
  }
137
171
  }
138
172
  );
@@ -2,7 +2,7 @@ import { PropType } from 'vue';
2
2
  import { UserComponent } from '../../ele-app/types';
3
3
  import { DataItem } from '../../ele-data-table/types';
4
4
  import { ProFormItemTypeData, ScreenSize } from '../../ele-pro-form/types';
5
- import { EditConfig, CrudField, EditApi, GetFieldsFormItemsFunction, GetAndCacheCodeFunction } from '../types';
5
+ import { EditConfig, ListConfig, CrudField, EditApi, DetailApi, GetFieldsFormItemsFunction, GetAndCacheCodeFunction } from '../types';
6
6
 
7
7
  declare function __VLS_template(): Partial<Record<string, (_: any) => any>> & Partial<Record<string, (_: any) => any>>;
8
8
  declare const __VLS_component: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
@@ -14,6 +14,8 @@ declare const __VLS_component: import('vue').DefineComponent<import('vue').Extra
14
14
  title: StringConstructor;
15
15
  /** 编辑配置 */
16
16
  editConfig: PropType<EditConfig>;
17
+ /** 列表配置 */
18
+ listConfig: PropType<ListConfig>;
17
19
  /** 字段数据 */
18
20
  fields: PropType<CrudField[]>;
19
21
  /** 获取字段数据对应的表单项的方法 */
@@ -27,6 +29,8 @@ declare const __VLS_component: import('vue').DefineComponent<import('vue').Extra
27
29
  proFormComponent: PropType<UserComponent>;
28
30
  /** 修改数据接口 */
29
31
  editApi: PropType<EditApi | string>;
32
+ /** 详情接口 */
33
+ detailApi: PropType<DetailApi | string>;
30
34
  /** 高级表单组件类型数据 */
31
35
  itemTypeData: PropType<ProFormItemTypeData[]>;
32
36
  /** 远程数据源请求工具 */
@@ -37,6 +41,8 @@ declare const __VLS_component: import('vue').DefineComponent<import('vue').Extra
37
41
  "update:modelValue": (_visible?: boolean | undefined) => void;
38
42
  editError: (_e: Error) => void;
39
43
  editDone: (_msg?: string | undefined) => void;
44
+ detailError: (_e: Error) => void;
45
+ detailDone: (_data?: DataItem | undefined) => void;
40
46
  }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
41
47
  /** 弹窗是否打开 */
42
48
  modelValue: PropType<boolean>;
@@ -46,6 +52,8 @@ declare const __VLS_component: import('vue').DefineComponent<import('vue').Extra
46
52
  title: StringConstructor;
47
53
  /** 编辑配置 */
48
54
  editConfig: PropType<EditConfig>;
55
+ /** 列表配置 */
56
+ listConfig: PropType<ListConfig>;
49
57
  /** 字段数据 */
50
58
  fields: PropType<CrudField[]>;
51
59
  /** 获取字段数据对应的表单项的方法 */
@@ -59,6 +67,8 @@ declare const __VLS_component: import('vue').DefineComponent<import('vue').Extra
59
67
  proFormComponent: PropType<UserComponent>;
60
68
  /** 修改数据接口 */
61
69
  editApi: PropType<EditApi | string>;
70
+ /** 详情接口 */
71
+ detailApi: PropType<DetailApi | string>;
62
72
  /** 高级表单组件类型数据 */
63
73
  itemTypeData: PropType<ProFormItemTypeData[]>;
64
74
  /** 远程数据源请求工具 */
@@ -69,6 +79,8 @@ declare const __VLS_component: import('vue').DefineComponent<import('vue').Extra
69
79
  "onUpdate:modelValue"?: ((_visible?: boolean | undefined) => any) | undefined;
70
80
  onEditError?: ((_e: Error) => any) | undefined;
71
81
  onEditDone?: ((_msg?: string | undefined) => any) | undefined;
82
+ onDetailError?: ((_e: Error) => any) | undefined;
83
+ onDetailDone?: ((_data?: DataItem | undefined) => any) | undefined;
72
84
  }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
73
85
  declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, ReturnType<typeof __VLS_template>>;
74
86
  export default _default;
@@ -18,6 +18,8 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
18
18
  addConfig: [Object, Boolean],
19
19
  /** 修改配置 */
20
20
  editConfig: [Object, Boolean],
21
+ /** 列表配置 */
22
+ listConfig: Object,
21
23
  /** 字段数据 */
22
24
  fields: Array,
23
25
  /** 获取字段数据对应的表单项的方法 */
@@ -31,6 +33,8 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
31
33
  addApi: [Function, String],
32
34
  /** 修改数据接口 */
33
35
  editApi: [Function, String],
36
+ /** 详情接口 */
37
+ detailApi: [Function, String],
34
38
  /** 高级表单组件类型数据 */
35
39
  itemTypeData: Array,
36
40
  /** 远程数据源请求工具 */
@@ -57,7 +61,11 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
57
61
  /** 修改保存失败事件 */
58
62
  editError: (_e) => true,
59
63
  /** 修改保存成功事件 */
60
- editDone: (_msg) => true
64
+ editDone: (_msg) => true,
65
+ /** 详情查询失败事件 */
66
+ detailError: (_e) => true,
67
+ /** 详情查询成功事件 */
68
+ detailDone: (_data) => true
61
69
  },
62
70
  setup(__props, { emit: __emit }) {
63
71
  const slotExcludes = ["default"];
@@ -74,6 +82,12 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
74
82
  const handleEditDone = (msg) => {
75
83
  emit("editDone", msg);
76
84
  };
85
+ const handleDetailError = (e) => {
86
+ emit("detailError", e);
87
+ };
88
+ const handleDetailDone = (data) => {
89
+ emit("detailDone", data);
90
+ };
77
91
  const handleUpdateAddVisible = (visible) => {
78
92
  emit("update:addVisible", visible);
79
93
  };
@@ -88,6 +102,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
88
102
  modelValue: __props.addVisible,
89
103
  title: __props.lang.add,
90
104
  editConfig: __props.addConfig === true ? {} : __props.addConfig,
105
+ listConfig: __props.listConfig,
91
106
  fields: __props.fields,
92
107
  getFieldsEditFormItems: vue.unref(util.getFieldsAddFormItems),
93
108
  getAndCacheCode: __props.getAndCacheCode,
@@ -110,23 +125,27 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
110
125
  ])
111
126
  };
112
127
  })
113
- ]), 1032, ["data", "modelValue", "title", "editConfig", "fields", "getFieldsEditFormItems", "getAndCacheCode", "proFormComponent", "editApi", "itemTypeData", "httpRequest", "screenSize"])) : vue.createCommentVNode("", true),
128
+ ]), 1032, ["data", "modelValue", "title", "editConfig", "listConfig", "fields", "getFieldsEditFormItems", "getAndCacheCode", "proFormComponent", "editApi", "itemTypeData", "httpRequest", "screenSize"])) : vue.createCommentVNode("", true),
114
129
  __props.editConfig !== false ? (vue.openBlock(), vue.createBlock(EditModal, {
115
130
  key: 1,
116
131
  data: __props.editData,
117
132
  modelValue: __props.editVisible,
118
133
  title: __props.lang.edit,
119
134
  editConfig: __props.editConfig === true ? {} : __props.editConfig,
135
+ listConfig: __props.listConfig,
120
136
  fields: __props.fields,
121
137
  getFieldsEditFormItems: vue.unref(util.getFieldsEditFormItems),
122
138
  getAndCacheCode: __props.getAndCacheCode,
123
139
  proFormComponent: __props.proFormComponent,
124
140
  editApi: __props.editApi,
141
+ detailApi: __props.detailApi,
125
142
  itemTypeData: __props.itemTypeData,
126
143
  httpRequest: __props.httpRequest,
127
144
  screenSize: __props.screenSize,
128
145
  onEditError: handleEditError,
129
146
  onEditDone: handleEditDone,
147
+ onDetailError: handleDetailError,
148
+ onDetailDone: handleDetailDone,
130
149
  "onUpdate:modelValue": handleUpdateEditVisible
131
150
  }, vue.createSlots({ _: 2 }, [
132
151
  vue.renderList(Object.keys(_ctx.$slots).filter(
@@ -139,7 +158,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
139
158
  ])
140
159
  };
141
160
  })
142
- ]), 1032, ["data", "modelValue", "title", "editConfig", "fields", "getFieldsEditFormItems", "getAndCacheCode", "proFormComponent", "editApi", "itemTypeData", "httpRequest", "screenSize"])) : vue.createCommentVNode("", true),
161
+ ]), 1032, ["data", "modelValue", "title", "editConfig", "listConfig", "fields", "getFieldsEditFormItems", "getAndCacheCode", "proFormComponent", "editApi", "detailApi", "itemTypeData", "httpRequest", "screenSize"])) : vue.createCommentVNode("", true),
143
162
  vue.renderSlot(_ctx.$slots, "default")
144
163
  ], 64);
145
164
  };
@@ -2,7 +2,7 @@ import { PropType } from 'vue';
2
2
  import { UserComponent } from '../../ele-app/types';
3
3
  import { DataItem } from '../../ele-data-table/types';
4
4
  import { ProFormItemTypeData, ScreenSize } from '../../ele-pro-form/types';
5
- import { EditConfig, BtnClickAction, CrudField, EditApi, GetAndCacheCodeFunction, CrudLocale } from '../types';
5
+ import { EditConfig, ListConfig, BtnClickAction, CrudField, EditApi, DetailApi, GetAndCacheCodeFunction, CrudLocale } from '../types';
6
6
 
7
7
  declare function __VLS_template(): Partial<Record<string, (_: any) => any>> & Partial<Record<string, (_: any) => any>> & {
8
8
  default?(_: {}): any;
@@ -20,6 +20,8 @@ declare const __VLS_component: import('vue').DefineComponent<import('vue').Extra
20
20
  addConfig: PropType<EditConfig | boolean>;
21
21
  /** 修改配置 */
22
22
  editConfig: PropType<EditConfig | boolean>;
23
+ /** 列表配置 */
24
+ listConfig: PropType<ListConfig>;
23
25
  /** 字段数据 */
24
26
  fields: PropType<CrudField[]>;
25
27
  /** 获取字段数据对应的表单项的方法 */
@@ -33,6 +35,8 @@ declare const __VLS_component: import('vue').DefineComponent<import('vue').Extra
33
35
  addApi: PropType<EditApi | string>;
34
36
  /** 修改数据接口 */
35
37
  editApi: PropType<EditApi | string>;
38
+ /** 详情接口 */
39
+ detailApi: PropType<DetailApi | string>;
36
40
  /** 高级表单组件类型数据 */
37
41
  itemTypeData: PropType<ProFormItemTypeData[]>;
38
42
  /** 远程数据源请求工具 */
@@ -52,6 +56,8 @@ declare const __VLS_component: import('vue').DefineComponent<import('vue').Extra
52
56
  btnClick: (_action: BtnClickAction, _e: MouseEvent, _item?: DataItem | undefined) => void;
53
57
  addDone: (_msg?: string | undefined) => void;
54
58
  editDone: (_msg?: string | undefined) => void;
59
+ detailError: (_e: Error) => void;
60
+ detailDone: (_data?: DataItem | undefined) => void;
55
61
  }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
56
62
  /** 添加弹窗是否打开 */
57
63
  addVisible: PropType<boolean>;
@@ -65,6 +71,8 @@ declare const __VLS_component: import('vue').DefineComponent<import('vue').Extra
65
71
  addConfig: PropType<EditConfig | boolean>;
66
72
  /** 修改配置 */
67
73
  editConfig: PropType<EditConfig | boolean>;
74
+ /** 列表配置 */
75
+ listConfig: PropType<ListConfig>;
68
76
  /** 字段数据 */
69
77
  fields: PropType<CrudField[]>;
70
78
  /** 获取字段数据对应的表单项的方法 */
@@ -78,6 +86,8 @@ declare const __VLS_component: import('vue').DefineComponent<import('vue').Extra
78
86
  addApi: PropType<EditApi | string>;
79
87
  /** 修改数据接口 */
80
88
  editApi: PropType<EditApi | string>;
89
+ /** 详情接口 */
90
+ detailApi: PropType<DetailApi | string>;
81
91
  /** 高级表单组件类型数据 */
82
92
  itemTypeData: PropType<ProFormItemTypeData[]>;
83
93
  /** 远程数据源请求工具 */
@@ -97,6 +107,8 @@ declare const __VLS_component: import('vue').DefineComponent<import('vue').Extra
97
107
  onBtnClick?: ((_action: BtnClickAction, _e: MouseEvent, _item?: DataItem | undefined) => any) | undefined;
98
108
  onAddDone?: ((_msg?: string | undefined) => any) | undefined;
99
109
  onEditDone?: ((_msg?: string | undefined) => any) | undefined;
110
+ onDetailError?: ((_e: Error) => any) | undefined;
111
+ onDetailDone?: ((_data?: DataItem | undefined) => any) | undefined;
100
112
  }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
101
113
  declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, ReturnType<typeof __VLS_template>>;
102
114
  export default _default;
@@ -376,6 +376,17 @@ const index = /* @__PURE__ */ vue.defineComponent({
376
376
  });
377
377
  reloadTable();
378
378
  };
379
+ const handleDetailError = (e) => {
380
+ const msg = e?.message;
381
+ if (!msg) {
382
+ console.error(e);
383
+ } else {
384
+ message$1.error({
385
+ ...props2.messageOptions || {},
386
+ message: msg
387
+ });
388
+ }
389
+ };
379
390
  const handleUpdateAddVisible = (visible) => {
380
391
  addVisible.value = visible;
381
392
  };
@@ -511,11 +522,13 @@ const index = /* @__PURE__ */ vue.defineComponent({
511
522
  "editData": editData.value,
512
523
  "addConfig": props2.addConfig,
513
524
  "editConfig": props2.editConfig,
525
+ "listConfig": props2.listConfig,
514
526
  "fields": props2.fields,
515
527
  "getAndCacheCode": getAndCacheCode,
516
528
  "proFormComponent": props2.proFormComponent,
517
529
  "addApi": props2.addApi,
518
530
  "editApi": props2.editApi,
531
+ "detailApi": props2.detailApi,
519
532
  "itemTypeData": props2.itemTypeData,
520
533
  "httpRequest": props2.httpRequest,
521
534
  "screenSize": props2.screenSize,
@@ -525,6 +538,7 @@ const index = /* @__PURE__ */ vue.defineComponent({
525
538
  "onAddDone": handleAddDone,
526
539
  "onEditError": handleEditError,
527
540
  "onEditDone": handleEditDone,
541
+ "onDetailError": handleDetailError,
528
542
  "onUpdate:addVisible": handleUpdateAddVisible,
529
543
  "onUpdate:editVisible": handleUpdateEditVisible
530
544
  }, {
@@ -23,6 +23,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
23
23
  deleteApi: import('vue').PropType<DeleteApi | string>;
24
24
  addApi: import('vue').PropType<import('./types').EditApi | string>;
25
25
  editApi: import('vue').PropType<import('./types').EditApi | string>;
26
+ detailApi: import('vue').PropType<import('./types').DetailApi | string>;
26
27
  treeListApi: import('vue').PropType<Array<Record<string, any>> | TreeListApi | string>;
27
28
  messageOptions: import('vue').PropType<import('../ele-app/plus').EleMessageOptions>;
28
29
  itemTypeData: import('vue').PropType<import('../ele-pro-form/types').ProFormItemTypeData[]>;
@@ -61,6 +62,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
61
62
  deleteApi: import('vue').PropType<DeleteApi | string>;
62
63
  addApi: import('vue').PropType<import('./types').EditApi | string>;
63
64
  editApi: import('vue').PropType<import('./types').EditApi | string>;
65
+ detailApi: import('vue').PropType<import('./types').DetailApi | string>;
64
66
  treeListApi: import('vue').PropType<Array<Record<string, any>> | TreeListApi | string>;
65
67
  messageOptions: import('vue').PropType<import('../ele-app/plus').EleMessageOptions>;
66
68
  itemTypeData: import('vue').PropType<import('../ele-pro-form/types').ProFormItemTypeData[]>;
@@ -38,6 +38,8 @@ const crudProps = {
38
38
  addApi: [Function, String],
39
39
  /** 修改数据接口 */
40
40
  editApi: [Function, String],
41
+ /** 详情接口 */
42
+ detailApi: [Function, String],
41
43
  /** 侧栏树组件数据接口 */
42
44
  treeListApi: [Array, Function, String],
43
45
  /** 消息提示组件属性 */
@@ -4,7 +4,7 @@ import { EleMessageOptions } from '../ele-app/plus';
4
4
  import { DataItem } from '../ele-data-table/types';
5
5
  import { Datasource } from '../ele-pro-table/types';
6
6
  import { ProFormItemTypeData, ScreenSize } from '../ele-pro-form/types';
7
- import { CrudField, ListConfig, SearchConfig, EditConfig, PageConfig, DeleteApi, EditApi, TreeListApi, CrudLocale } from './types';
7
+ import { CrudField, ListConfig, SearchConfig, EditConfig, PageConfig, DeleteApi, EditApi, DetailApi, TreeListApi, CrudLocale } from './types';
8
8
 
9
9
  /**
10
10
  * 属性
@@ -41,6 +41,8 @@ export declare const crudProps: {
41
41
  addApi: PropType<EditApi | string>;
42
42
  /** 修改数据接口 */
43
43
  editApi: PropType<EditApi | string>;
44
+ /** 详情接口 */
45
+ detailApi: PropType<DetailApi | string>;
44
46
  /** 侧栏树组件数据接口 */
45
47
  treeListApi: PropType<Array<Record<string, any>> | TreeListApi | string>;
46
48
  /** 消息提示组件属性 */
@@ -204,6 +204,14 @@ export type DeleteApi = (
204
204
  */
205
205
  export type EditApi = (data: DataItem) => Promise<string | undefined>;
206
206
 
207
+ /**
208
+ * 详情接口
209
+ */
210
+ export type DetailApi = (
211
+ dataKey?: DataKey,
212
+ data?: DataItem
213
+ ) => Promise<DataItem>;
214
+
207
215
  /**
208
216
  * 侧栏树组件数据接口
209
217
  */
@@ -77,7 +77,7 @@ const defaultPageConfigFormItems = [
77
77
  props: {
78
78
  title: "删除接口设置",
79
79
  codeTips,
80
- codePlaceholder: `async (data, dataKeys) => {
80
+ codePlaceholder: `async (dataKeys, data) => {
81
81
  // 示例
82
82
  const res = await httpRequest.delete('/system/user/batch', {
83
83
  data: dataKeys
@@ -125,6 +125,25 @@ const defaultPageConfigFormItems = [
125
125
  }
126
126
  return Promise.reject(new Error(res.data.message));
127
127
  }
128
+ `,
129
+ codePrefix: util.codeStringPrefix
130
+ }
131
+ },
132
+ {
133
+ label: "详情接口",
134
+ prop: "detailApi",
135
+ type: "proFormBuilderEventEdit",
136
+ props: {
137
+ title: "详情接口设置",
138
+ codeTips,
139
+ codePlaceholder: `async (dataKey, data) => {
140
+ // 示例
141
+ const res = await httpRequest.get('/system/user/' + dataKey);
142
+ if (res.data.code === 0) {
143
+ return res.data.data;
144
+ }
145
+ return Promise.reject(new Error(res.data.message));
146
+ }
128
147
  `,
129
148
  codePrefix: util.codeStringPrefix
130
149
  }
@@ -61,6 +61,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
61
61
  default: boolean;
62
62
  };
63
63
  lazy: BooleanConstructor;
64
+ load: import('vue').PropType<import('element-plus').TableProps<any>["load"]>;
64
65
  emptyText: StringConstructor;
65
66
  showHeader: {
66
67
  type: BooleanConstructor;
@@ -104,7 +105,6 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
104
105
  checkStrictly: boolean;
105
106
  };
106
107
  };
107
- load: import('vue').PropType<import('element-plus').TableProps<any>["load"]>;
108
108
  tableLayout: {
109
109
  type: import('vue').PropType<import('element-plus').TableProps<Record<string, any>>["tableLayout"]>;
110
110
  default: string;
@@ -232,6 +232,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
232
232
  default: boolean;
233
233
  };
234
234
  lazy: BooleanConstructor;
235
+ load: import('vue').PropType<import('element-plus').TableProps<any>["load"]>;
235
236
  emptyText: StringConstructor;
236
237
  showHeader: {
237
238
  type: BooleanConstructor;
@@ -275,7 +276,6 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
275
276
  checkStrictly: boolean;
276
277
  };
277
278
  };
278
- load: import('vue').PropType<import('element-plus').TableProps<any>["load"]>;
279
279
  tableLayout: {
280
280
  type: import('vue').PropType<import('element-plus').TableProps<Record<string, any>>["tableLayout"]>;
281
281
  default: string;
@@ -300,6 +300,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
300
300
  nativeScrollbar: BooleanConstructor;
301
301
  }>> & Readonly<{
302
302
  onSelect?: ((_selection: DataItem[], _row: DataItem) => any) | undefined;
303
+ onExpandChange?: ((_row: DataItem, _expanded: boolean) => any) | undefined;
303
304
  onScroll?: ((_option: {
304
305
  scrollLeft: number;
305
306
  scrollTop: number;
@@ -307,7 +308,6 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
307
308
  onFilterChange?: ((_filter: Filter) => any) | undefined;
308
309
  onCellClick?: ((_row: DataItem, _column: Column, _cell: HTMLTableCellElement, _e: MouseEvent) => any) | undefined;
309
310
  onCellContextmenu?: ((_row: DataItem, _column: Column, _cell: HTMLTableCellElement, _e: MouseEvent) => any) | undefined;
310
- onExpandChange?: ((_row: DataItem, _expanded: boolean) => any) | undefined;
311
311
  onCellDblclick?: ((_row: DataItem, _column: Column, _cell: HTMLTableCellElement, _e: MouseEvent) => any) | undefined;
312
312
  "onUpdate:currentRowKey"?: ((_currentRowKey?: DataKey | undefined) => any) | undefined;
313
313
  "onUpdate:selectedRowKeys"?: ((_selectedRowKeys?: DataKey[] | undefined) => any) | undefined;
@@ -154,6 +154,7 @@ export declare function useEmits(emit: Emitter<DataTableEmitsType>): {
154
154
  'onUpdate:currentRowKey': (currentRowKey?: DataKey) => void;
155
155
  'onUpdate:selectedRowKeys': (selectedRowKeys: DataKey[]) => void;
156
156
  onSelect: (_selection: DataItem[], _row: DataItem) => any;
157
+ onExpandChange: (_row: DataItem, _expanded: boolean) => any;
157
158
  onScroll: (_option: {
158
159
  scrollLeft: number;
159
160
  scrollTop: number;
@@ -174,5 +175,4 @@ export declare function useEmits(emit: Emitter<DataTableEmitsType>): {
174
175
  onFilterChange: (_filter: Filter) => any;
175
176
  onCurrentChange: (_current?: DataItem | null | undefined, _old?: DataItem | null | undefined) => any;
176
177
  onHeaderDragend: (_width: number, _old: number, _column: Column, _e: MouseEvent) => any;
177
- onExpandChange: (_row: DataItem, _expanded: boolean) => any;
178
178
  };