workdesktop-ai 1.0.2 → 1.1.1

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 (224) hide show
  1. package/CHANGELOG.md +155 -93
  2. package/README.md +123 -25
  3. package/dist/api-button/index.mjs +7 -0
  4. package/dist/api-button/index.mjs.map +1 -0
  5. package/dist/assets/Select-CNzSyvlZ.css +1 -0
  6. package/dist/auto-complete/index.mjs +7 -0
  7. package/dist/auto-complete/index.mjs.map +1 -0
  8. package/dist/auto-complete/style.css +1 -0
  9. package/dist/base.css +1 -0
  10. package/dist/checkbox-list/index.mjs +7 -0
  11. package/dist/checkbox-list/index.mjs.map +1 -0
  12. package/dist/checkbox-list/style.css +1 -0
  13. package/dist/chunks/ApiButton.vue_vue_type_script_setup_true_lang-KKzJxwpV.mjs +80 -0
  14. package/dist/chunks/ApiButton.vue_vue_type_script_setup_true_lang-KKzJxwpV.mjs.map +1 -0
  15. package/dist/chunks/AutoComplete-CLV_PwcZ.mjs +80 -0
  16. package/dist/chunks/AutoComplete-CLV_PwcZ.mjs.map +1 -0
  17. package/dist/chunks/CheckboxList-Bx3Ce1q5.mjs +129 -0
  18. package/dist/chunks/CheckboxList-Bx3Ce1q5.mjs.map +1 -0
  19. package/dist/chunks/ConfirmButton.vue_vue_type_script_setup_true_lang-D4w6G2Kv.mjs +99 -0
  20. package/dist/chunks/ConfirmButton.vue_vue_type_script_setup_true_lang-D4w6G2Kv.mjs.map +1 -0
  21. package/dist/chunks/DataForm-C5MBVdei.mjs +305 -0
  22. package/dist/chunks/DataForm-C5MBVdei.mjs.map +1 -0
  23. package/dist/chunks/DataGrid-HUzKWuQx.mjs +1124 -0
  24. package/dist/chunks/DataGrid-HUzKWuQx.mjs.map +1 -0
  25. package/dist/chunks/DialogButton.vue_vue_type_script_setup_true_lang-CTXP79zc.mjs +117 -0
  26. package/dist/chunks/DialogButton.vue_vue_type_script_setup_true_lang-CTXP79zc.mjs.map +1 -0
  27. package/dist/chunks/Drawer-ucXKUecL.mjs +259 -0
  28. package/dist/chunks/Drawer-ucXKUecL.mjs.map +1 -0
  29. package/dist/chunks/DrawerButton.vue_vue_type_script_setup_true_lang-DUda4p7_.mjs +125 -0
  30. package/dist/chunks/DrawerButton.vue_vue_type_script_setup_true_lang-DUda4p7_.mjs.map +1 -0
  31. package/dist/chunks/EditableGrid-C8A-nJZv.mjs +1783 -0
  32. package/dist/chunks/EditableGrid-C8A-nJZv.mjs.map +1 -0
  33. package/dist/chunks/FormItem-C1q0opnk.mjs +79 -0
  34. package/dist/chunks/FormItem-C1q0opnk.mjs.map +1 -0
  35. package/dist/chunks/Iframe-CeSiMnvR.mjs +65 -0
  36. package/dist/chunks/Iframe-CeSiMnvR.mjs.map +1 -0
  37. package/dist/chunks/ImageUpload-DGehzaYa.mjs +193 -0
  38. package/dist/chunks/ImageUpload-DGehzaYa.mjs.map +1 -0
  39. package/dist/chunks/Panel-CrRqBTj6.mjs +115 -0
  40. package/dist/chunks/Panel-CrRqBTj6.mjs.map +1 -0
  41. package/dist/chunks/PromptButton.vue_vue_type_script_setup_true_lang-Gck1QAHc.mjs +118 -0
  42. package/dist/chunks/PromptButton.vue_vue_type_script_setup_true_lang-Gck1QAHc.mjs.map +1 -0
  43. package/dist/chunks/RadioList-vE8JOuST.mjs +129 -0
  44. package/dist/chunks/RadioList-vE8JOuST.mjs.map +1 -0
  45. package/dist/chunks/Requester.vue_vue_type_script_setup_true_lang-B8TwXbYR.mjs +80 -0
  46. package/dist/chunks/Requester.vue_vue_type_script_setup_true_lang-B8TwXbYR.mjs.map +1 -0
  47. package/dist/chunks/RouteButton.vue_vue_type_script_setup_true_lang-Da0D3tKA.mjs +73 -0
  48. package/dist/chunks/RouteButton.vue_vue_type_script_setup_true_lang-Da0D3tKA.mjs.map +1 -0
  49. package/dist/chunks/SearchItem-pFO57lEO.mjs +79 -0
  50. package/dist/chunks/SearchItem-pFO57lEO.mjs.map +1 -0
  51. package/dist/chunks/SearchPanel-xQ1hPaNq.mjs +158 -0
  52. package/dist/chunks/SearchPanel-xQ1hPaNq.mjs.map +1 -0
  53. package/dist/chunks/Select-DAGZDXvI.mjs +114 -0
  54. package/dist/chunks/Select-DAGZDXvI.mjs.map +1 -0
  55. package/dist/chunks/Station-BF_QlQ8c.mjs +796 -0
  56. package/dist/chunks/Station-BF_QlQ8c.mjs.map +1 -0
  57. package/dist/chunks/Switch.vue_vue_type_script_setup_true_lang-CulPqp7M.mjs +71 -0
  58. package/dist/chunks/Switch.vue_vue_type_script_setup_true_lang-CulPqp7M.mjs.map +1 -0
  59. package/dist/chunks/Tips-IWCZcR1K.mjs +63 -0
  60. package/dist/chunks/Tips-IWCZcR1K.mjs.map +1 -0
  61. package/dist/chunks/TipsButton.vue_vue_type_script_setup_true_lang-DvcpRSV1.mjs +51 -0
  62. package/dist/chunks/TipsButton.vue_vue_type_script_setup_true_lang-DvcpRSV1.mjs.map +1 -0
  63. package/dist/chunks/Upload.vue_vue_type_script_setup_true_lang-D07Bhllc.mjs +200 -0
  64. package/dist/chunks/Upload.vue_vue_type_script_setup_true_lang-D07Bhllc.mjs.map +1 -0
  65. package/dist/chunks/Viewer-iub6TjoD.mjs +381 -0
  66. package/dist/chunks/Viewer-iub6TjoD.mjs.map +1 -0
  67. package/dist/chunks/_plugin-vue_export-helper-CHgC5LLL.mjs +10 -0
  68. package/dist/chunks/_plugin-vue_export-helper-CHgC5LLL.mjs.map +1 -0
  69. package/dist/chunks/containerContext-BgphFDeH.mjs +13 -0
  70. package/dist/chunks/containerContext-BgphFDeH.mjs.map +1 -0
  71. package/dist/chunks/http-Bs-dM076.mjs +2951 -0
  72. package/dist/chunks/http-Bs-dM076.mjs.map +1 -0
  73. package/dist/chunks/linkage-FbL1mcz3.mjs +66 -0
  74. package/dist/chunks/linkage-FbL1mcz3.mjs.map +1 -0
  75. package/dist/chunks/props-DAytpx7D.mjs +65 -0
  76. package/dist/chunks/props-DAytpx7D.mjs.map +1 -0
  77. package/dist/chunks/useApiAction-6_vvf5Fd.mjs +30 -0
  78. package/dist/chunks/useApiAction-6_vvf5Fd.mjs.map +1 -0
  79. package/dist/chunks/useColumnSettings-BYDQdk4o.mjs +216 -0
  80. package/dist/chunks/useColumnSettings-BYDQdk4o.mjs.map +1 -0
  81. package/dist/chunks/useOptionsLoader-Bi8oqNbG.mjs +64 -0
  82. package/dist/chunks/useOptionsLoader-Bi8oqNbG.mjs.map +1 -0
  83. package/dist/confirm-button/index.mjs +7 -0
  84. package/dist/confirm-button/index.mjs.map +1 -0
  85. package/dist/data-form/index.mjs +7 -0
  86. package/dist/data-form/index.mjs.map +1 -0
  87. package/dist/data-form/style.css +1 -0
  88. package/dist/data-grid/index.mjs +7 -0
  89. package/dist/data-grid/index.mjs.map +1 -0
  90. package/dist/data-grid/style.css +1 -0
  91. package/dist/dialog-button/index.mjs +7 -0
  92. package/dist/dialog-button/index.mjs.map +1 -0
  93. package/dist/drawer/index.mjs +7 -0
  94. package/dist/drawer/index.mjs.map +1 -0
  95. package/dist/drawer/style.css +1 -0
  96. package/dist/drawer-button/index.mjs +7 -0
  97. package/dist/drawer-button/index.mjs.map +1 -0
  98. package/dist/editable-grid/index.mjs +7 -0
  99. package/dist/editable-grid/index.mjs.map +1 -0
  100. package/dist/editable-grid/style.css +1 -0
  101. package/dist/form-item/index.mjs +7 -0
  102. package/dist/form-item/index.mjs.map +1 -0
  103. package/dist/form-item/style.css +1 -0
  104. package/dist/iframe/index.mjs +7 -0
  105. package/dist/iframe/index.mjs.map +1 -0
  106. package/dist/iframe/style.css +1 -0
  107. package/dist/image-upload/index.mjs +7 -0
  108. package/dist/image-upload/index.mjs.map +1 -0
  109. package/dist/image-upload/style.css +1 -0
  110. package/dist/index.esm.js +318 -6495
  111. package/dist/index.esm.js.map +1 -1
  112. package/dist/index.umd.js +20 -9
  113. package/dist/index.umd.js.map +1 -1
  114. package/dist/panel/index.mjs +7 -0
  115. package/dist/panel/index.mjs.map +1 -0
  116. package/dist/panel/style.css +1 -0
  117. package/dist/prompt-button/index.mjs +7 -0
  118. package/dist/prompt-button/index.mjs.map +1 -0
  119. package/dist/radio-list/index.mjs +7 -0
  120. package/dist/radio-list/index.mjs.map +1 -0
  121. package/dist/radio-list/style.css +1 -0
  122. package/dist/requester/index.mjs +7 -0
  123. package/dist/requester/index.mjs.map +1 -0
  124. package/dist/route-button/index.mjs +7 -0
  125. package/dist/route-button/index.mjs.map +1 -0
  126. package/dist/search-item/index.mjs +7 -0
  127. package/dist/search-item/index.mjs.map +1 -0
  128. package/dist/search-item/style.css +1 -0
  129. package/dist/search-panel/index.mjs +7 -0
  130. package/dist/search-panel/index.mjs.map +1 -0
  131. package/dist/search-panel/style.css +1 -0
  132. package/dist/select/index.mjs +7 -0
  133. package/dist/select/index.mjs.map +1 -0
  134. package/dist/station/index.mjs +7 -0
  135. package/dist/station/index.mjs.map +1 -0
  136. package/dist/station/style.css +1 -0
  137. package/dist/style.css +1 -1
  138. package/dist/switch/index.mjs +7 -0
  139. package/dist/switch/index.mjs.map +1 -0
  140. package/dist/tips/index.mjs +7 -0
  141. package/dist/tips/index.mjs.map +1 -0
  142. package/dist/tips/style.css +1 -0
  143. package/dist/tips-button/index.mjs +7 -0
  144. package/dist/tips-button/index.mjs.map +1 -0
  145. package/dist/types/src/components/buttons/ApiButton.vue.d.ts +35 -6
  146. package/dist/types/src/components/buttons/ConfirmButton.vue.d.ts +37 -8
  147. package/dist/types/src/components/buttons/DialogButton.vue.d.ts +89 -29
  148. package/dist/types/src/components/buttons/DrawerButton.vue.d.ts +99 -31
  149. package/dist/types/src/components/buttons/PopconfirmButton.vue.d.ts +317 -0
  150. package/dist/types/src/components/buttons/PromptButton.vue.d.ts +45 -14
  151. package/dist/types/src/components/buttons/RouteButton.vue.d.ts +34 -5
  152. package/dist/types/src/components/buttons/TipsButton.vue.d.ts +8 -15
  153. package/dist/types/src/components/common/props.d.ts +32 -2
  154. package/dist/types/src/components/containers/Drawer.vue.d.ts +61 -8
  155. package/dist/types/src/components/containers/Iframe.vue.d.ts +39 -2
  156. package/dist/types/src/components/containers/containerContext.d.ts +1 -1
  157. package/dist/types/src/components/containers/useContainerController.d.ts +5 -0
  158. package/dist/types/src/components/containers/useIframeContainer.d.ts +20 -0
  159. package/dist/types/src/components/core/Requester.vue.d.ts +41 -0
  160. package/dist/types/src/components/data/datagrid/DataGrid.vue.d.ts +212 -5
  161. package/dist/types/src/components/data/datagrid/useColumnSettings.d.ts +14 -0
  162. package/dist/types/src/components/data/editable-grid/EditableGrid.vue.d.ts +586 -0
  163. package/dist/types/src/components/data/viewer/Viewer.vue.d.ts +187 -0
  164. package/dist/types/src/components/form/FormItem.vue.d.ts +62 -0
  165. package/dist/types/src/components/form/SearchItem.vue.d.ts +62 -0
  166. package/dist/types/src/components/{containers → form}/SearchPanel.vue.d.ts +17 -2
  167. package/dist/types/src/components/form/data-form/DataForm.vue.d.ts +6 -6
  168. package/dist/types/src/components/index.d.ts +10 -6
  169. package/dist/types/src/components/inputs/AutoComplete.vue.d.ts +10 -1
  170. package/dist/types/src/components/inputs/CheckboxList.vue.d.ts +28 -3
  171. package/dist/types/src/components/inputs/RadioList.vue.d.ts +28 -3
  172. package/dist/types/src/components/inputs/Select.vue.d.ts +11 -1
  173. package/dist/types/src/components/inputs/Switch.vue.d.ts +2 -2
  174. package/dist/types/src/components/inputs/useOptionsLoader.d.ts +3 -0
  175. package/dist/types/src/components/layout/Station.vue.d.ts +302 -0
  176. package/dist/types/src/components/layout/StationMenuNode.vue.d.ts +20 -0
  177. package/dist/types/src/components/layout/types.d.ts +54 -0
  178. package/dist/types/src/components/styles/Panel.vue.d.ts +58 -5
  179. package/dist/types/src/components/upload/ImageUpload.vue.d.ts +4 -4
  180. package/dist/types/src/components/upload/Upload.vue.d.ts +1 -1
  181. package/dist/types/src/entries/api-button.d.ts +9 -0
  182. package/dist/types/src/entries/auto-complete.d.ts +9 -0
  183. package/dist/types/src/entries/checkbox-list.d.ts +9 -0
  184. package/dist/types/src/entries/components-map.d.ts +8 -0
  185. package/dist/types/src/entries/confirm-button.d.ts +9 -0
  186. package/dist/types/src/entries/data-form.d.ts +9 -0
  187. package/dist/types/src/entries/data-grid.d.ts +9 -0
  188. package/dist/types/src/entries/dialog-button.d.ts +9 -0
  189. package/dist/types/src/entries/drawer-button.d.ts +9 -0
  190. package/dist/types/src/entries/drawer.d.ts +9 -0
  191. package/dist/types/src/entries/editable-grid.d.ts +9 -0
  192. package/dist/types/src/entries/form-item.d.ts +9 -0
  193. package/dist/types/src/entries/iframe.d.ts +9 -0
  194. package/dist/types/src/entries/image-upload.d.ts +9 -0
  195. package/dist/types/src/entries/panel.d.ts +9 -0
  196. package/dist/types/src/entries/prompt-button.d.ts +9 -0
  197. package/dist/types/src/entries/radio-list.d.ts +9 -0
  198. package/dist/types/src/entries/requester.d.ts +9 -0
  199. package/dist/types/src/entries/route-button.d.ts +9 -0
  200. package/dist/types/src/entries/search-item.d.ts +9 -0
  201. package/dist/types/src/entries/search-panel.d.ts +9 -0
  202. package/dist/types/src/entries/select.d.ts +9 -0
  203. package/dist/types/src/entries/station.d.ts +9 -0
  204. package/dist/types/src/entries/switch.d.ts +9 -0
  205. package/dist/types/src/entries/tips-button.d.ts +9 -0
  206. package/dist/types/src/entries/tips.d.ts +9 -0
  207. package/dist/types/src/entries/upload.d.ts +9 -0
  208. package/dist/types/src/entries/viewer.d.ts +9 -0
  209. package/dist/types/src/index.d.ts +2 -1
  210. package/dist/types/src/lib/composables/useDataGrid.d.ts +15 -0
  211. package/dist/types/src/lib/core/http.d.ts +21 -4
  212. package/dist/types/src/lib/core/station-linkage.d.ts +41 -0
  213. package/dist/types/src/types/config.d.ts +20 -3
  214. package/dist/types/vite.config.d.ts +6 -1
  215. package/dist/upload/index.mjs +7 -0
  216. package/dist/upload/index.mjs.map +1 -0
  217. package/dist/viewer/index.mjs +7 -0
  218. package/dist/viewer/index.mjs.map +1 -0
  219. package/dist/viewer/style.css +1 -0
  220. package/llms.txt +658 -0
  221. package/package.json +200 -68
  222. package/dist/types/src/components/containers/Dialog.vue.d.ts +0 -112
  223. package/dist/types/src/components/data/editable-table/EditableTable.vue.d.ts +0 -306
  224. package/dist/types/src/components/utils/Viewer.vue.d.ts +0 -131
@@ -0,0 +1,381 @@
1
+ import { defineComponent as ge, useSlots as be, computed as h, ref as v, watch as z, onMounted as _e, resolveComponent as u, resolveDirective as we, withDirectives as ye, openBlock as d, createElementBlock as b, createBlock as C, mergeProps as Se, withCtx as n, Fragment as q, renderList as L, resolveDynamicComponent as R, renderSlot as F, createTextVNode as _, toDisplayString as J, createElementVNode as j, withModifiers as N, createVNode as r, unref as P, createCommentVNode as A, normalizeClass as De } from "vue";
2
+ import { ScaleToOriginal as ke, Setting as he, Rank as $e } from "@element-plus/icons-vue";
3
+ import { r as B } from "./http-Bs-dM076.mjs";
4
+ import { _ as xe } from "./_plugin-vue_export-helper-CHgC5LLL.mjs";
5
+ const Ve = { class: "wd-viewer" }, Ce = {
6
+ key: 1,
7
+ class: "wd-viewer__content"
8
+ }, Fe = {
9
+ key: 2,
10
+ class: "wd-viewer__empty"
11
+ }, Oe = {
12
+ key: 3,
13
+ class: "wd-viewer__empty"
14
+ }, Te = { class: "wd-viewer__field-setting" }, ze = ["onDragover", "onDragleave", "onDrop"], je = ["onDragstart"], Ae = /* @__PURE__ */ ge({
15
+ name: "WdViewer",
16
+ inheritAttrs: !1,
17
+ __name: "Viewer",
18
+ props: {
19
+ title: { type: String, default: "" },
20
+ column: { type: [Number, Object], default: 3 },
21
+ border: { type: Boolean, default: !0 },
22
+ size: { type: String, default: "default" },
23
+ labelStyle: { type: Object, default: () => ({ width: "100px", textAlign: "right" }) },
24
+ contentStyle: { type: Object },
25
+ api: { type: String, default: "" },
26
+ apiMethod: { type: String, default: "get" },
27
+ apiParam: { type: Object, default: () => ({}) },
28
+ active: { type: Boolean, default: !1 },
29
+ data: { type: Object },
30
+ items: { type: Array, default: () => [] },
31
+ emptyText: { type: String, default: "暂无数据" }
32
+ },
33
+ emits: [
34
+ "load-success",
35
+ "load-fail",
36
+ "apiBefore",
37
+ "apiSuccess",
38
+ "apiFail",
39
+ "apiException",
40
+ "apiAfter"
41
+ ],
42
+ setup(c, { expose: Y, emit: G }) {
43
+ const H = be(), $ = h(() => !!H.content), o = c, f = G, s = v({}), m = v(!1), E = h(() => Object.keys(s.value).length > 0), x = h(
44
+ () => o.items.filter((e) => e && e.prop)
45
+ ), w = v(o.size);
46
+ z(
47
+ () => o.size,
48
+ (e) => {
49
+ w.value = e;
50
+ }
51
+ );
52
+ function K(e) {
53
+ w.value = e;
54
+ }
55
+ const p = v([]), O = v(!1);
56
+ function Q() {
57
+ const e = [];
58
+ p.value.forEach((t) => {
59
+ const l = x.value.find((i) => i.prop === t.prop);
60
+ l && e.push({ prop: t.prop, label: l.label, visible: t.visible });
61
+ }), x.value.forEach((t) => {
62
+ e.some((l) => l.prop === t.prop) || e.push({ prop: t.prop, label: t.label, visible: !0 });
63
+ }), p.value = e;
64
+ }
65
+ z(
66
+ () => x.value.map((e) => `${e.prop}:${e.label}`).join("|"),
67
+ () => Q(),
68
+ { immediate: !0 }
69
+ );
70
+ const X = h(() => new Set(p.value.filter((e) => e.visible).map((e) => e.prop))), Z = h(
71
+ () => p.value.filter((e) => e.visible).map((e) => x.value.find((t) => t.prop === e.prop)).filter((e) => !!e)
72
+ ), ee = h(
73
+ () => p.value.map((e) => ({ prop: e.prop, label: e.label }))
74
+ );
75
+ function te(e, t) {
76
+ const l = p.value.find((i) => i.prop === e);
77
+ l && (l.visible = t);
78
+ }
79
+ const y = v(""), S = v(""), T = v("before");
80
+ function le(e, t) {
81
+ y.value = t, e.dataTransfer && (e.dataTransfer.effectAllowed = "move", e.dataTransfer.setData("text/plain", t));
82
+ }
83
+ function ae(e, t) {
84
+ if (!y.value || y.value === t) return;
85
+ const i = e.currentTarget.getBoundingClientRect();
86
+ S.value = t, T.value = e.clientY - i.top < i.height / 2 ? "before" : "after", e.dataTransfer && (e.dataTransfer.dropEffect = "move");
87
+ }
88
+ function oe(e) {
89
+ S.value === e && (S.value = "");
90
+ }
91
+ function ne(e, t, l = "before") {
92
+ if (!e || !t || e === t) return;
93
+ const i = p.value.slice(), D = i.findIndex((k) => k.prop === e);
94
+ if (D < 0) return;
95
+ const [M] = i.splice(D, 1);
96
+ let V = i.findIndex((k) => k.prop === t);
97
+ V < 0 || (l === "after" && (V += 1), i.splice(V, 0, M), p.value = i);
98
+ }
99
+ function re(e) {
100
+ ne(y.value, e, T.value), U();
101
+ }
102
+ function U() {
103
+ y.value = "", S.value = "";
104
+ }
105
+ function ie() {
106
+ p.value = x.value.map((e) => ({
107
+ prop: e.prop,
108
+ label: e.label,
109
+ visible: !0
110
+ }));
111
+ }
112
+ function se(e) {
113
+ var l;
114
+ const t = (l = s.value) == null ? void 0 : l[e.prop];
115
+ return t == null || t === "" ? "-" : e.formatter ? e.formatter(t, s.value) : String(t);
116
+ }
117
+ async function I(e) {
118
+ if (!o.api) return;
119
+ const t = { ...o.apiParam, ...e };
120
+ m.value = !0, f("apiBefore", { url: o.api, param: t });
121
+ try {
122
+ let l;
123
+ return o.apiMethod === "get" ? l = await B.get(o.api, t) : o.apiMethod === "post" ? l = await B.post(o.api, t) : o.apiMethod === "put" ? l = await B.put(o.api, t) : l = await B.delete(o.api, t), l.success ? (s.value = l.data || {}, f("load-success", { data: l.data }), f("apiSuccess", { data: l.data, raw: l })) : (f("load-fail", { code: l.code, message: l.message }), f("apiFail", { code: l.code, message: l.message })), l;
124
+ } catch (l) {
125
+ f("apiException", { error: l, message: l == null ? void 0 : l.message });
126
+ } finally {
127
+ m.value = !1, f("apiAfter", { url: o.api });
128
+ }
129
+ }
130
+ function de() {
131
+ s.value = {};
132
+ }
133
+ function ue() {
134
+ return s.value;
135
+ }
136
+ return Y({ requestApi: I, resetData: de, getData: ue, loading: m }), z(
137
+ () => o.data,
138
+ (e) => {
139
+ e && typeof e == "object" && (s.value = { ...e });
140
+ },
141
+ { immediate: !0 }
142
+ ), _e(() => {
143
+ o.active && o.api && !o.data && I();
144
+ }), z(
145
+ () => JSON.stringify(o.apiParam),
146
+ () => {
147
+ o.active && o.api && !o.data && I();
148
+ }
149
+ ), (e, t) => {
150
+ const l = u("el-icon"), i = u("el-button"), D = u("el-dropdown-item"), M = u("el-dropdown-menu"), V = u("el-dropdown"), k = u("el-tooltip"), pe = u("el-descriptions-item"), ce = u("el-descriptions"), W = u("el-empty"), ve = u("el-checkbox"), fe = u("el-dialog"), me = we("loading");
151
+ return ye((d(), b("div", Ve, [
152
+ !$.value && (E.value || m.value) ? (d(), C(ce, Se({
153
+ key: 0,
154
+ title: c.title,
155
+ column: c.column,
156
+ border: c.border,
157
+ size: w.value,
158
+ "label-style": c.labelStyle,
159
+ "content-style": c.contentStyle
160
+ }, e.$attrs), {
161
+ extra: n(() => [
162
+ j("div", {
163
+ class: "wd-viewer__tools",
164
+ onClick: t[1] || (t[1] = N(() => {
165
+ }, ["stop"]))
166
+ }, [
167
+ r(k, {
168
+ content: "调整大小",
169
+ placement: "top"
170
+ }, {
171
+ default: n(() => [
172
+ r(V, {
173
+ trigger: "click",
174
+ onCommand: K
175
+ }, {
176
+ dropdown: n(() => [
177
+ r(M, null, {
178
+ default: n(() => [
179
+ r(D, {
180
+ command: "large",
181
+ disabled: w.value === "large"
182
+ }, {
183
+ default: n(() => [...t[5] || (t[5] = [
184
+ _("大", -1)
185
+ ])]),
186
+ _: 1
187
+ }, 8, ["disabled"]),
188
+ r(D, {
189
+ command: "default",
190
+ disabled: w.value === "default"
191
+ }, {
192
+ default: n(() => [...t[6] || (t[6] = [
193
+ _("默认", -1)
194
+ ])]),
195
+ _: 1
196
+ }, 8, ["disabled"]),
197
+ r(D, {
198
+ command: "small",
199
+ disabled: w.value === "small"
200
+ }, {
201
+ default: n(() => [...t[7] || (t[7] = [
202
+ _("小", -1)
203
+ ])]),
204
+ _: 1
205
+ }, 8, ["disabled"])
206
+ ]),
207
+ _: 1
208
+ })
209
+ ]),
210
+ default: n(() => [
211
+ r(i, { circle: "" }, {
212
+ default: n(() => [
213
+ r(l, null, {
214
+ default: n(() => [
215
+ r(P(ke))
216
+ ]),
217
+ _: 1
218
+ })
219
+ ]),
220
+ _: 1
221
+ })
222
+ ]),
223
+ _: 1
224
+ })
225
+ ]),
226
+ _: 1
227
+ }),
228
+ r(k, {
229
+ content: "显示字段",
230
+ placement: "top"
231
+ }, {
232
+ default: n(() => [
233
+ r(i, {
234
+ circle: "",
235
+ onClick: t[0] || (t[0] = (a) => O.value = !0)
236
+ }, {
237
+ default: n(() => [
238
+ r(l, null, {
239
+ default: n(() => [
240
+ r(P(he))
241
+ ]),
242
+ _: 1
243
+ })
244
+ ]),
245
+ _: 1
246
+ })
247
+ ]),
248
+ _: 1
249
+ })
250
+ ])
251
+ ]),
252
+ default: n(() => [
253
+ (d(!0), b(q, null, L(Z.value, (a) => (d(), C(pe, {
254
+ key: a.prop,
255
+ label: a.label,
256
+ span: a.span || 1,
257
+ width: a.width,
258
+ align: a.align,
259
+ "label-align": a.labelAlign
260
+ }, {
261
+ default: n(() => [
262
+ a.slot && e.$slots[a.slot] ? (d(), C(R(e.$slots[a.slot]), {
263
+ key: 0,
264
+ row: s.value,
265
+ value: s.value[a.prop]
266
+ }, null, 8, ["row", "value"])) : a.render ? (d(), C(R(a.render), {
267
+ key: 1,
268
+ row: s.value,
269
+ value: s.value[a.prop],
270
+ item: a
271
+ }, null, 8, ["row", "value", "item"])) : F(e.$slots, `${a.prop}-cell`, {
272
+ row: s.value,
273
+ value: s.value[a.prop]
274
+ }, () => [
275
+ _(J(se(a)), 1)
276
+ ], !0, 2)
277
+ ]),
278
+ _: 2
279
+ }, 1032, ["label", "span", "width", "align", "label-align"]))), 128)),
280
+ F(e.$slots, "default", {}, void 0, !0)
281
+ ]),
282
+ _: 3
283
+ }, 16, ["title", "column", "border", "size", "label-style", "content-style"])) : A("", !0),
284
+ $.value && E.value ? (d(), b("div", Ce, [
285
+ F(e.$slots, "content", {
286
+ row: s.value,
287
+ data: s.value
288
+ }, void 0, !0)
289
+ ])) : $.value && !m.value ? (d(), b("div", Fe, [
290
+ F(e.$slots, "empty", {}, () => [
291
+ r(W, { description: c.emptyText }, null, 8, ["description"])
292
+ ], !0)
293
+ ])) : A("", !0),
294
+ !$.value && !E.value && !m.value ? (d(), b("div", Oe, [
295
+ F(e.$slots, "empty", {}, () => [
296
+ r(W, {
297
+ description: c.emptyText,
298
+ "image-size": 60
299
+ }, null, 8, ["description"])
300
+ ], !0)
301
+ ])) : A("", !0),
302
+ $.value ? A("", !0) : (d(), C(fe, {
303
+ key: 4,
304
+ modelValue: O.value,
305
+ "onUpdate:modelValue": t[4] || (t[4] = (a) => O.value = a),
306
+ title: "显示字段",
307
+ width: "360px",
308
+ "append-to-body": ""
309
+ }, {
310
+ footer: n(() => [
311
+ r(i, {
312
+ onClick: t[2] || (t[2] = (a) => ie())
313
+ }, {
314
+ default: n(() => [...t[8] || (t[8] = [
315
+ _("恢复默认", -1)
316
+ ])]),
317
+ _: 1
318
+ }),
319
+ r(i, {
320
+ type: "primary",
321
+ onClick: t[3] || (t[3] = (a) => O.value = !1)
322
+ }, {
323
+ default: n(() => [...t[9] || (t[9] = [
324
+ _("完成", -1)
325
+ ])]),
326
+ _: 1
327
+ })
328
+ ]),
329
+ default: n(() => [
330
+ t[10] || (t[10] = j("div", { class: "wd-viewer__field-tip" }, "勾选控制字段的显示 / 隐藏,拖拽手柄可调整字段顺序", -1)),
331
+ j("div", Te, [
332
+ (d(!0), b(q, null, L(ee.value, (a) => (d(), b("div", {
333
+ key: a.prop,
334
+ class: De(["wd-viewer__field-item", {
335
+ "is-dragging": y.value === a.prop,
336
+ "drag-over--before": S.value === a.prop && T.value === "before",
337
+ "drag-over--after": S.value === a.prop && T.value === "after"
338
+ }]),
339
+ onDragover: N((g) => ae(g, a.prop), ["prevent"]),
340
+ onDragleave: (g) => oe(a.prop),
341
+ onDrop: N((g) => re(a.prop), ["prevent"])
342
+ }, [
343
+ r(ve, {
344
+ class: "wd-viewer__field-checkbox",
345
+ "model-value": X.value.has(a.prop),
346
+ "onUpdate:modelValue": (g) => te(a.prop, g)
347
+ }, {
348
+ default: n(() => [
349
+ _(J(a.label), 1)
350
+ ]),
351
+ _: 2
352
+ }, 1032, ["model-value", "onUpdate:modelValue"]),
353
+ j("span", {
354
+ class: "wd-viewer__field-handle",
355
+ draggable: "true",
356
+ title: "拖拽调整顺序",
357
+ onDragstart: (g) => le(g, a.prop),
358
+ onDragend: U
359
+ }, [
360
+ r(l, null, {
361
+ default: n(() => [
362
+ r(P($e))
363
+ ]),
364
+ _: 1
365
+ })
366
+ ], 40, je)
367
+ ], 42, ze))), 128))
368
+ ])
369
+ ]),
370
+ _: 1
371
+ }, 8, ["modelValue"]))
372
+ ])), [
373
+ [me, m.value]
374
+ ]);
375
+ };
376
+ }
377
+ }), Ne = /* @__PURE__ */ xe(Ae, [["__scopeId", "data-v-bf1cc164"]]);
378
+ export {
379
+ Ne as W
380
+ };
381
+ //# sourceMappingURL=Viewer-iub6TjoD.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Viewer-iub6TjoD.mjs","sources":["../../src/components/data/viewer/Viewer.vue"],"sourcesContent":["<template>\n <div class=\"wd-viewer\" v-loading=\"loading\">\n <!-- 描述列表模式:items 配置驱动,自带大小/字段工具 -->\n <el-descriptions\n v-if=\"!useContentSlot && (hasData || loading)\"\n :title=\"title\"\n :column=\"column\"\n :border=\"border\"\n :size=\"innerSize\"\n :label-style=\"labelStyle\"\n :content-style=\"contentStyle\"\n v-bind=\"$attrs\"\n >\n <!-- 标题右侧工具:文字大小切换 + 显示字段选择(自动启用,无需配置) -->\n <template #extra>\n <div class=\"wd-viewer__tools\" @click.stop>\n <el-tooltip content=\"调整大小\" placement=\"top\">\n <el-dropdown trigger=\"click\" @command=\"onSizeChange\">\n <el-button circle>\n <el-icon><ScaleToOriginal /></el-icon>\n </el-button>\n <template #dropdown>\n <el-dropdown-menu>\n <el-dropdown-item command=\"large\" :disabled=\"innerSize === 'large'\">大</el-dropdown-item>\n <el-dropdown-item command=\"default\" :disabled=\"innerSize === 'default'\">默认</el-dropdown-item>\n <el-dropdown-item command=\"small\" :disabled=\"innerSize === 'small'\">小</el-dropdown-item>\n </el-dropdown-menu>\n </template>\n </el-dropdown>\n </el-tooltip>\n <el-tooltip content=\"显示字段\" placement=\"top\">\n <el-button circle @click=\"fieldSettingVisible = true\">\n <el-icon><Setting /></el-icon>\n </el-button>\n </el-tooltip>\n </div>\n </template>\n\n <el-descriptions-item\n v-for=\"item in displayedItems\"\n :key=\"item.prop\"\n :label=\"item.label\"\n :span=\"item.span || 1\"\n :width=\"item.width\"\n :align=\"item.align\"\n :label-align=\"item.labelAlign\"\n >\n <template v-if=\"item.slot && $slots[item.slot]\">\n <component :is=\"$slots[item.slot]\" :row=\"viewData\" :value=\"viewData[item.prop]\" />\n </template>\n <component\n :is=\"item.render\"\n v-else-if=\"item.render\"\n :row=\"viewData\"\n :value=\"viewData[item.prop]\"\n :item=\"item\"\n />\n <template v-else>\n <slot :name=\"`${item.prop}-cell`\" :row=\"viewData\" :value=\"viewData[item.prop]\">\n {{ formatValue(item) }}\n </slot>\n </template>\n </el-descriptions-item>\n\n <slot />\n </el-descriptions>\n\n <!-- 整体内容插槽模式:透传当前数据,完全接管内容布局(脱离描述列表栅格) -->\n <div v-if=\"useContentSlot && hasData\" class=\"wd-viewer__content\">\n <slot name=\"content\" :row=\"viewData\" :data=\"viewData\" />\n </div>\n <div v-else-if=\"useContentSlot && !loading\" class=\"wd-viewer__empty\">\n <slot name=\"empty\">\n <el-empty :description=\"emptyText\" />\n </slot>\n </div>\n\n <div v-if=\"!useContentSlot && !hasData && !loading\" class=\"wd-viewer__empty\">\n <slot name=\"empty\">\n <el-empty :description=\"emptyText\" :image-size=\"60\" />\n </slot>\n </div>\n\n <!-- 显示字段设置弹层 -->\n <el-dialog v-if=\"!useContentSlot\" v-model=\"fieldSettingVisible\" title=\"显示字段\" width=\"360px\" append-to-body>\n <div class=\"wd-viewer__field-tip\">勾选控制字段的显示 / 隐藏,拖拽手柄可调整字段顺序</div>\n <div class=\"wd-viewer__field-setting\">\n <div\n v-for=\"item in controllableItems\"\n :key=\"item.prop\"\n class=\"wd-viewer__field-item\"\n :class=\"{\n 'is-dragging': draggingProp === item.prop,\n 'drag-over--before': dragOverProp === item.prop && dragOverPosition === 'before',\n 'drag-over--after': dragOverProp === item.prop && dragOverPosition === 'after'\n }\"\n @dragover.prevent=\"onFieldDragOver($event, item.prop)\"\n @dragleave=\"onFieldDragLeave(item.prop)\"\n @drop.prevent=\"onFieldDrop(item.prop)\"\n >\n <el-checkbox\n class=\"wd-viewer__field-checkbox\"\n :model-value=\"visibleProps.has(item.prop)\"\n @update:model-value=\"(v: boolean) => setFieldVisible(item.prop, v)\"\n >\n {{ item.label }}\n </el-checkbox>\n <span\n class=\"wd-viewer__field-handle\"\n draggable=\"true\"\n title=\"拖拽调整顺序\"\n @dragstart=\"onFieldDragStart($event, item.prop)\"\n @dragend=\"onFieldDragEnd\"\n >\n <el-icon><Rank /></el-icon>\n </span>\n </div>\n </div>\n <template #footer>\n <el-button @click=\"resetFields()\">恢复默认</el-button>\n <el-button type=\"primary\" @click=\"fieldSettingVisible = false\">完成</el-button>\n </template>\n </el-dialog>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, onMounted, ref, useSlots, watch, type PropType } from 'vue'\nimport { Setting, ScaleToOriginal, Rank } from '@element-plus/icons-vue'\nimport { request } from '../../../lib/core/http'\n\ndefineOptions({ name: 'WdViewer', inheritAttrs: false })\n\nconst slots = useSlots()\n/** 是否使用整体内容插槽:存在 #content 时完全接管内容布局,不再渲染描述列表及其工具 */\nconst useContentSlot = computed(() => !!slots.content)\n\nconst props = defineProps({\n title: { type: String, default: '' },\n column: { type: [Number, Object], default: 3 },\n border: { type: Boolean, default: true },\n size: { type: String as PropType<'large' | 'default' | 'small'>, default: 'default' },\n labelStyle: { type: Object, default: () => ({ width: '100px', textAlign: 'right' }) },\n contentStyle: { type: Object },\n api: { type: String, default: '' },\n apiMethod: { type: String as PropType<'get' | 'post' | 'put' | 'delete'>, default: 'get' },\n apiParam: { type: Object, default: () => ({}) },\n active: { type: Boolean, default: false },\n data: { type: Object },\n items: { type: Array as PropType<ViewerItem[]>, default: () => [] },\n emptyText: { type: String, default: '暂无数据' }\n})\n\nconst emit = defineEmits([\n 'load-success',\n 'load-fail',\n 'apiBefore',\n 'apiSuccess',\n 'apiFail',\n 'apiException',\n 'apiAfter'\n])\n\ninterface ViewerItem {\n prop: string\n label: string\n span?: number\n width?: string | number\n align?: 'left' | 'center' | 'right'\n labelAlign?: 'left' | 'center' | 'right'\n /** 自定义渲染插槽名 */\n slot?: string\n render?: any\n formatter?: (val: any, row: any) => string\n type?: 'text' | 'tag' | 'time' | 'status' | 'image' | 'copy'\n tagColors?: Record<string, string>\n timeFormat?: string\n imageSize?: number\n}\n\nconst viewData = ref<Record<string, any>>({})\nconst loading = ref(false)\n\nconst hasData = computed(() => Object.keys(viewData.value).length > 0)\n\n/** 过滤掉无效项(无 prop) */\nconst normalizedItems = computed<ViewerItem[]>(() =>\n props.items.filter((item) => item && item.prop)\n)\n\n// ---------- 文字大小切换(大 / 默认 / 小),不持久化 ----------\nconst innerSize = ref<'large' | 'default' | 'small'>(props.size)\nwatch(\n () => props.size,\n (v) => {\n innerSize.value = v\n }\n)\nfunction onSizeChange(cmd: 'large' | 'default' | 'small') {\n innerSize.value = cmd\n}\n\n// ---------- 显示字段设置(显隐 + 排序,自动启用) ----------\ninterface FieldState {\n prop: string\n label: string\n visible: boolean\n}\n\n/** 字段状态即按当前展示顺序排列的数组 */\nconst fieldStates = ref<FieldState[]>([])\nconst fieldSettingVisible = ref(false)\n\n/** 以 items 配置同步字段状态(新增字段自动追加并默认显示;删除字段移除;保留用户的显隐与排序) */\nfunction syncFieldStates() {\n const merged: FieldState[] = []\n // 先保留用户已调整过顺序的字段\n fieldStates.value.forEach((f) => {\n const item = normalizedItems.value.find((i) => i.prop === f.prop)\n if (item) {\n merged.push({ prop: f.prop, label: item.label, visible: f.visible })\n }\n })\n // 再追加配置中新增的字段(按配置顺序)\n normalizedItems.value.forEach((item) => {\n if (!merged.some((f) => f.prop === item.prop)) {\n merged.push({ prop: item.prop, label: item.label, visible: true })\n }\n })\n fieldStates.value = merged\n}\n\nwatch(\n () => normalizedItems.value.map((i) => `${i.prop}:${i.label}`).join('|'),\n () => syncFieldStates(),\n { immediate: true }\n)\n\nconst visibleProps = computed(() => new Set(fieldStates.value.filter((f) => f.visible).map((f) => f.prop)))\n\n/** 按字段状态顺序产出实际渲染的字段 */\nconst displayedItems = computed(() =>\n fieldStates.value\n .filter((f) => f.visible)\n .map((f) => normalizedItems.value.find((item) => item.prop === f.prop))\n .filter((item): item is ViewerItem => !!item)\n)\n\n/** 弹层中可控制的字段(数组顺序即展示顺序) */\nconst controllableItems = computed(() =>\n fieldStates.value.map((f) => ({ prop: f.prop, label: f.label }))\n)\n\nfunction setFieldVisible(prop: string, visible: boolean) {\n const field = fieldStates.value.find((f) => f.prop === prop)\n if (field) field.visible = visible\n}\n\n// ---------- 显示字段:拖拽排序(与 DataGrid 列设置一致) ----------\nconst draggingProp = ref('')\nconst dragOverProp = ref('')\nconst dragOverPosition = ref<'before' | 'after'>('before')\n\nfunction onFieldDragStart(e: DragEvent, prop: string) {\n draggingProp.value = prop\n if (e.dataTransfer) {\n e.dataTransfer.effectAllowed = 'move'\n // Firefox 需要 setData 才会触发拖拽\n e.dataTransfer.setData('text/plain', prop)\n }\n}\n\nfunction onFieldDragOver(e: DragEvent, prop: string) {\n if (!draggingProp.value || draggingProp.value === prop) return\n const el = e.currentTarget as HTMLElement\n const rect = el.getBoundingClientRect()\n dragOverProp.value = prop\n dragOverPosition.value = e.clientY - rect.top < rect.height / 2 ? 'before' : 'after'\n if (e.dataTransfer) e.dataTransfer.dropEffect = 'move'\n}\n\nfunction onFieldDragLeave(prop: string) {\n if (dragOverProp.value === prop) dragOverProp.value = ''\n}\n\nfunction reorderField(fromProp: string, toProp: string, position: 'before' | 'after' = 'before') {\n if (!fromProp || !toProp || fromProp === toProp) return\n const arr = fieldStates.value.slice()\n const fromIdx = arr.findIndex((f) => f.prop === fromProp)\n if (fromIdx < 0) return\n const [item] = arr.splice(fromIdx, 1)\n let insertIdx = arr.findIndex((f) => f.prop === toProp)\n if (insertIdx < 0) return\n if (position === 'after') insertIdx += 1\n arr.splice(insertIdx, 0, item)\n fieldStates.value = arr\n}\n\nfunction onFieldDrop(prop: string) {\n reorderField(draggingProp.value, prop, dragOverPosition.value)\n onFieldDragEnd()\n}\n\nfunction onFieldDragEnd() {\n draggingProp.value = ''\n dragOverProp.value = ''\n}\n\nfunction resetFields() {\n fieldStates.value = normalizedItems.value.map((item) => ({\n prop: item.prop,\n label: item.label,\n visible: true\n }))\n}\n\nfunction formatValue(item: ViewerItem): string {\n const value = viewData.value?.[item.prop]\n if (value === null || value === undefined || value === '') return '-'\n if (item.formatter) return item.formatter(value, viewData.value)\n return String(value)\n}\n\nasync function requestApi(extraParam?: Record<string, any>) {\n if (!props.api) return\n const param = { ...props.apiParam, ...extraParam }\n loading.value = true\n emit('apiBefore', { url: props.api, param })\n try {\n let result: any\n if (props.apiMethod === 'get') {\n result = await request.get(props.api, param)\n } else if (props.apiMethod === 'post') {\n result = await request.post(props.api, param)\n } else if (props.apiMethod === 'put') {\n result = await request.put(props.api, param)\n } else {\n result = await request.delete(props.api, param)\n }\n if (result.success) {\n viewData.value = result.data || {}\n emit('load-success', { data: result.data })\n emit('apiSuccess', { data: result.data, raw: result })\n } else {\n emit('load-fail', { code: result.code, message: result.message })\n emit('apiFail', { code: result.code, message: result.message })\n }\n return result\n } catch (error: any) {\n emit('apiException', { error, message: error?.message })\n } finally {\n loading.value = false\n emit('apiAfter', { url: props.api })\n }\n}\n\nfunction resetData() {\n viewData.value = {}\n}\n\nfunction getData() {\n return viewData.value\n}\n\ndefineExpose({ requestApi, resetData, getData, loading })\n\nwatch(\n () => props.data,\n (val) => {\n if (val && typeof val === 'object') {\n viewData.value = { ...val }\n }\n },\n { immediate: true }\n)\n\nonMounted(() => {\n if (props.active && props.api && !props.data) {\n requestApi()\n }\n})\n\nwatch(\n () => JSON.stringify(props.apiParam),\n () => {\n if (props.active && props.api && !props.data) {\n requestApi()\n }\n }\n)\n</script>\n\n<style scoped>\n.wd-viewer {\n position: relative;\n width: 100%;\n}\n.wd-viewer__tools {\n display: flex;\n align-items: center;\n gap: 6px;\n}\n.wd-viewer__empty {\n padding: 20px 0;\n text-align: center;\n}\n.wd-viewer__content {\n width: 100%;\n}\n.wd-viewer__field-tip {\n margin-bottom: 8px;\n font-size: var(--wd-font-size-small, 12px);\n color: var(--wd-text-color-secondary, #909399);\n}\n.wd-viewer__field-setting {\n max-height: 400px;\n overflow: auto;\n}\n.wd-viewer__field-item {\n position: relative;\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 6px 8px;\n}\n.wd-viewer__field-item:hover {\n background-color: var(--wd-fill-color-light, #f5f7fa);\n}\n.wd-viewer__field-checkbox {\n flex: 1;\n}\n.wd-viewer__field-handle {\n display: inline-flex;\n align-items: center;\n cursor: grab;\n color: var(--wd-text-color-placeholder, #a8abb2);\n touch-action: none;\n}\n.wd-viewer__field-handle:active {\n cursor: grabbing;\n}\n/* 正在拖拽的源行 */\n.wd-viewer__field-item.is-dragging {\n opacity: 0.45;\n}\n/* 放置位置指示线 */\n.wd-viewer__field-item.drag-over--before::before,\n.wd-viewer__field-item.drag-over--after::after {\n content: '';\n position: absolute;\n left: 0;\n right: 0;\n height: 2px;\n background: var(--wd-color-primary, #409eff);\n}\n.wd-viewer__field-item.drag-over--before::before {\n top: -1px;\n}\n.wd-viewer__field-item.drag-over--after::after {\n bottom: -1px;\n}\n</style>\n"],"names":["slots","useSlots","useContentSlot","computed","props","__props","emit","__emit","viewData","ref","loading","hasData","normalizedItems","item","innerSize","watch","v","onSizeChange","cmd","fieldStates","fieldSettingVisible","syncFieldStates","merged","f","i","visibleProps","displayedItems","controllableItems","setFieldVisible","prop","visible","field","draggingProp","dragOverProp","dragOverPosition","onFieldDragStart","onFieldDragOver","rect","onFieldDragLeave","reorderField","fromProp","toProp","position","arr","fromIdx","insertIdx","onFieldDrop","onFieldDragEnd","resetFields","formatValue","value","_a","requestApi","extraParam","param","result","request","error","resetData","getData","__expose","val","onMounted","_withDirectives","_openBlock","_createElementBlock","_hoisted_1","_createBlock","_component_el_descriptions","_mergeProps","$attrs","_createElementVNode","_createVNode","_component_el_tooltip","_component_el_dropdown","_component_el_dropdown_menu","_component_el_dropdown_item","_cache","_component_el_button","_component_el_icon","_unref","ScaleToOriginal","Setting","_Fragment","_renderList","_component_el_descriptions_item","$slots","_resolveDynamicComponent","_renderSlot","_ctx","_createTextVNode","_toDisplayString","_hoisted_2","_hoisted_3","_component_el_empty","_hoisted_4","_component_el_dialog","$event","_hoisted_5","_withModifiers","_component_el_checkbox","Rank"],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ const s = (t, r) => {
2
+ const o = t.__vccOpts || t;
3
+ for (const [c, e] of r)
4
+ o[c] = e;
5
+ return o;
6
+ };
7
+ export {
8
+ s as _
9
+ };
10
+ //# sourceMappingURL=_plugin-vue_export-helper-CHgC5LLL.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_plugin-vue_export-helper-CHgC5LLL.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
@@ -0,0 +1,13 @@
1
+ import { inject as i, provide as r } from "vue";
2
+ const n = Symbol("wdContainer");
3
+ function e(o) {
4
+ r(n, o);
5
+ }
6
+ function a() {
7
+ return i(n, void 0);
8
+ }
9
+ export {
10
+ e as p,
11
+ a as u
12
+ };
13
+ //# sourceMappingURL=containerContext-BgphFDeH.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"containerContext-BgphFDeH.mjs","sources":["../../src/components/containers/containerContext.ts"],"sourcesContent":["/**\r\n * 容器(Dialog/Drawer)与内部内容(DataForm 等)的联动上下文\r\n */\r\nimport { inject, provide, type InjectionKey } from 'vue'\r\n\r\nexport interface ContainerContext {\r\n /** 容器携带的数据(DrawerButton data 等,供内部表单回填) */\r\n data?: Record<string, any>\r\n /** 请求关闭容器(DataForm headCloseDrawer 提交成功后调用) */\r\n requestClose: (reason?: string) => void\r\n /** 注册关闭前拦截(返回 false 阻止关闭,如 DataForm 的 confirmLeave) */\r\n addBeforeClose: (guard: () => Promise<boolean>) => () => void\r\n}\r\n\r\nexport const WD_CONTAINER_KEY: InjectionKey<ContainerContext> = Symbol('wdContainer')\r\n\r\nexport function provideContainer(ctx: ContainerContext) {\r\n provide(WD_CONTAINER_KEY, ctx)\r\n}\r\n\r\nexport function useContainer(): ContainerContext | undefined {\r\n return inject(WD_CONTAINER_KEY, undefined)\r\n}\r\n"],"names":["WD_CONTAINER_KEY","provideContainer","ctx","provide","useContainer","inject"],"mappings":";AAcO,MAAMA,IAAmD,OAAO,aAAa;AAE7E,SAASC,EAAiBC,GAAuB;AACtD,EAAAC,EAAQH,GAAkBE,CAAG;AAC/B;AAEO,SAASE,IAA6C;AAC3D,SAAOC,EAAOL,GAAkB,MAAS;AAC3C;"}