giime 0.6.26 → 0.6.28

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 (131) hide show
  1. package/dist/index.css +212 -8
  2. package/es/components/index.mjs +5 -0
  3. package/es/components/index.mjs.map +1 -1
  4. package/es/components/src/composite/index.d.ts +1 -0
  5. package/es/components/src/composite/index.mjs +5 -0
  6. package/es/components/src/composite/index.mjs.map +1 -1
  7. package/es/components/src/composite/tableCustom/TableCustom.vue.d.ts +556 -0
  8. package/es/components/src/composite/tableCustom/TableCustom.vue.mjs +8 -0
  9. package/es/components/src/composite/tableCustom/TableCustom.vue.mjs.map +1 -0
  10. package/es/components/src/composite/tableCustom/TableCustom.vue2.mjs +331 -0
  11. package/es/components/src/composite/tableCustom/TableCustom.vue2.mjs.map +1 -0
  12. package/es/components/src/composite/tableCustom/TableCustom.vue3.mjs +4 -0
  13. package/es/components/src/composite/tableCustom/TableCustom.vue3.mjs.map +1 -0
  14. package/es/components/src/composite/tableCustom/customOperate/CustomOperate.vue.d.ts +64 -0
  15. package/es/components/src/composite/tableCustom/customOperate/CustomOperate.vue.mjs +7 -0
  16. package/es/components/src/composite/tableCustom/customOperate/CustomOperate.vue.mjs.map +1 -0
  17. package/es/components/src/composite/tableCustom/customOperate/CustomOperate.vue2.mjs +469 -0
  18. package/es/components/src/composite/tableCustom/customOperate/CustomOperate.vue2.mjs.map +1 -0
  19. package/es/components/src/composite/tableCustom/customOperate/CustomOperate.vue3.mjs +4 -0
  20. package/es/components/src/composite/tableCustom/customOperate/CustomOperate.vue3.mjs.map +1 -0
  21. package/es/components/src/composite/tableCustom/customOperate/customOperate.d.ts +42 -0
  22. package/es/components/src/composite/tableCustom/customOperate/customOperate.mjs +13 -0
  23. package/es/components/src/composite/tableCustom/customOperate/customOperate.mjs.map +1 -0
  24. package/es/components/src/composite/tableCustom/customOperate/index.d.ts +66 -0
  25. package/es/components/src/composite/tableCustom/customOperate/index.mjs +10 -0
  26. package/es/components/src/composite/tableCustom/customOperate/index.mjs.map +1 -0
  27. package/es/components/src/composite/tableCustom/index.d.ts +1347 -0
  28. package/es/components/src/composite/tableCustom/index.mjs +12 -0
  29. package/es/components/src/composite/tableCustom/index.mjs.map +1 -0
  30. package/es/components/src/composite/tableCustom/tableCustom.d.ts +170 -0
  31. package/es/components/src/composite/tableCustom/tableCustom.mjs +16 -0
  32. package/es/components/src/composite/tableCustom/tableCustom.mjs.map +1 -0
  33. package/es/components/src/composite/tableCustom/tableCustomHeader/TableCustomHeader.vue.d.ts +79 -0
  34. package/es/components/src/composite/tableCustom/tableCustomHeader/TableCustomHeader.vue.mjs +7 -0
  35. package/es/components/src/composite/tableCustom/tableCustomHeader/TableCustomHeader.vue.mjs.map +1 -0
  36. package/es/components/src/composite/tableCustom/tableCustomHeader/TableCustomHeader.vue2.mjs +553 -0
  37. package/es/components/src/composite/tableCustom/tableCustomHeader/TableCustomHeader.vue2.mjs.map +1 -0
  38. package/es/components/src/composite/tableCustom/tableCustomHeader/TableCustomHeader.vue3.mjs +4 -0
  39. package/es/components/src/composite/tableCustom/tableCustomHeader/TableCustomHeader.vue3.mjs.map +1 -0
  40. package/es/components/src/composite/tableCustom/tableCustomHeader/index.d.ts +81 -0
  41. package/es/components/src/composite/tableCustom/tableCustomHeader/index.mjs +10 -0
  42. package/es/components/src/composite/tableCustom/tableCustomHeader/index.mjs.map +1 -0
  43. package/es/components/src/composite/tableCustom/tableCustomHeader/tableCustomHeader.d.ts +30 -0
  44. package/es/components/src/composite/tableCustom/tableCustomHeader/tableCustomHeader.mjs +32 -0
  45. package/es/components/src/composite/tableCustom/tableCustomHeader/tableCustomHeader.mjs.map +1 -0
  46. package/es/giime/component.mjs +2 -0
  47. package/es/giime/component.mjs.map +1 -1
  48. package/es/giime/index.mjs +6 -0
  49. package/es/giime/index.mjs.map +1 -1
  50. package/es/giime/version.d.ts +1 -1
  51. package/es/giime/version.mjs +1 -1
  52. package/es/giime/version.mjs.map +1 -1
  53. package/es/hooks/base/index.d.ts +1 -0
  54. package/es/hooks/base/index.mjs +1 -0
  55. package/es/hooks/base/index.mjs.map +1 -1
  56. package/es/hooks/base/useComputedFields/index.d.ts +4 -1
  57. package/es/hooks/base/useComputedFields/index.mjs.map +1 -1
  58. package/es/hooks/base/useElementRemainingHeight/index.d.ts +22 -0
  59. package/es/hooks/base/useElementRemainingHeight/index.mjs +16 -0
  60. package/es/hooks/base/useElementRemainingHeight/index.mjs.map +1 -0
  61. package/es/hooks/index.mjs +1 -0
  62. package/es/hooks/index.mjs.map +1 -1
  63. package/es/index.css +212 -8
  64. package/es/utils/src/vue/resolver.mjs +4 -2
  65. package/es/utils/src/vue/resolver.mjs.map +1 -1
  66. package/global.d.ts +1 -0
  67. package/lib/components/index.js +25 -14
  68. package/lib/components/index.js.map +1 -1
  69. package/lib/components/src/composite/index.d.ts +1 -0
  70. package/lib/components/src/composite/index.js +11 -0
  71. package/lib/components/src/composite/index.js.map +1 -1
  72. package/lib/components/src/composite/tableCustom/TableCustom.vue.d.ts +556 -0
  73. package/lib/components/src/composite/tableCustom/TableCustom.vue.js +12 -0
  74. package/lib/components/src/composite/tableCustom/TableCustom.vue.js.map +1 -0
  75. package/lib/components/src/composite/tableCustom/TableCustom.vue2.js +335 -0
  76. package/lib/components/src/composite/tableCustom/TableCustom.vue2.js.map +1 -0
  77. package/lib/components/src/composite/tableCustom/TableCustom.vue3.js +8 -0
  78. package/lib/components/src/composite/tableCustom/TableCustom.vue3.js.map +1 -0
  79. package/lib/components/src/composite/tableCustom/customOperate/CustomOperate.vue.d.ts +64 -0
  80. package/lib/components/src/composite/tableCustom/customOperate/CustomOperate.vue.js +11 -0
  81. package/lib/components/src/composite/tableCustom/customOperate/CustomOperate.vue.js.map +1 -0
  82. package/lib/components/src/composite/tableCustom/customOperate/CustomOperate.vue2.js +473 -0
  83. package/lib/components/src/composite/tableCustom/customOperate/CustomOperate.vue2.js.map +1 -0
  84. package/lib/components/src/composite/tableCustom/customOperate/CustomOperate.vue3.js +8 -0
  85. package/lib/components/src/composite/tableCustom/customOperate/CustomOperate.vue3.js.map +1 -0
  86. package/lib/components/src/composite/tableCustom/customOperate/customOperate.d.ts +42 -0
  87. package/lib/components/src/composite/tableCustom/customOperate/customOperate.js +16 -0
  88. package/lib/components/src/composite/tableCustom/customOperate/customOperate.js.map +1 -0
  89. package/lib/components/src/composite/tableCustom/customOperate/index.d.ts +66 -0
  90. package/lib/components/src/composite/tableCustom/customOperate/index.js +17 -0
  91. package/lib/components/src/composite/tableCustom/customOperate/index.js.map +1 -0
  92. package/lib/components/src/composite/tableCustom/index.d.ts +1347 -0
  93. package/lib/components/src/composite/tableCustom/index.js +22 -0
  94. package/lib/components/src/composite/tableCustom/index.js.map +1 -0
  95. package/lib/components/src/composite/tableCustom/tableCustom.d.ts +170 -0
  96. package/lib/components/src/composite/tableCustom/tableCustom.js +19 -0
  97. package/lib/components/src/composite/tableCustom/tableCustom.js.map +1 -0
  98. package/lib/components/src/composite/tableCustom/tableCustomHeader/TableCustomHeader.vue.d.ts +79 -0
  99. package/lib/components/src/composite/tableCustom/tableCustomHeader/TableCustomHeader.vue.js +11 -0
  100. package/lib/components/src/composite/tableCustom/tableCustomHeader/TableCustomHeader.vue.js.map +1 -0
  101. package/lib/components/src/composite/tableCustom/tableCustomHeader/TableCustomHeader.vue2.js +557 -0
  102. package/lib/components/src/composite/tableCustom/tableCustomHeader/TableCustomHeader.vue2.js.map +1 -0
  103. package/lib/components/src/composite/tableCustom/tableCustomHeader/TableCustomHeader.vue3.js +8 -0
  104. package/lib/components/src/composite/tableCustom/tableCustomHeader/TableCustomHeader.vue3.js.map +1 -0
  105. package/lib/components/src/composite/tableCustom/tableCustomHeader/index.d.ts +81 -0
  106. package/lib/components/src/composite/tableCustom/tableCustomHeader/index.js +16 -0
  107. package/lib/components/src/composite/tableCustom/tableCustomHeader/index.js.map +1 -0
  108. package/lib/components/src/composite/tableCustom/tableCustomHeader/tableCustomHeader.d.ts +30 -0
  109. package/lib/components/src/composite/tableCustom/tableCustomHeader/tableCustomHeader.js +34 -0
  110. package/lib/components/src/composite/tableCustom/tableCustomHeader/tableCustomHeader.js.map +1 -0
  111. package/lib/giime/component.js +10 -8
  112. package/lib/giime/component.js.map +1 -1
  113. package/lib/giime/index.js +81 -68
  114. package/lib/giime/index.js.map +1 -1
  115. package/lib/giime/version.d.ts +1 -1
  116. package/lib/giime/version.js +1 -1
  117. package/lib/giime/version.js.map +1 -1
  118. package/lib/hooks/base/index.d.ts +1 -0
  119. package/lib/hooks/base/index.js +2 -0
  120. package/lib/hooks/base/index.js.map +1 -1
  121. package/lib/hooks/base/useComputedFields/index.d.ts +4 -1
  122. package/lib/hooks/base/useComputedFields/index.js.map +1 -1
  123. package/lib/hooks/base/useElementRemainingHeight/index.d.ts +22 -0
  124. package/lib/hooks/base/useElementRemainingHeight/index.js +18 -0
  125. package/lib/hooks/base/useElementRemainingHeight/index.js.map +1 -0
  126. package/lib/hooks/index.js +38 -36
  127. package/lib/hooks/index.js.map +1 -1
  128. package/lib/index.css +212 -8
  129. package/lib/utils/src/vue/resolver.js +4 -2
  130. package/lib/utils/src/vue/resolver.js.map +1 -1
  131. package/package.json +1 -1
@@ -0,0 +1,557 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var vue = require('vue');
6
+ var core = require('@vueuse/core');
7
+ require('../../../../../hooks/index.js');
8
+ var index$1 = require('../../../plugins/message/index.js');
9
+ var lodashEs = require('lodash-es');
10
+ var iconsVue = require('@element-plus/icons-vue');
11
+ var tableCustomHeader = require('./tableCustomHeader.js');
12
+ var index = require('../../../../../hooks/store/useCustomSettings/index.js');
13
+
14
+ const _hoisted_1 = { class: "gm-mb-4 gm-flex gm-items-center gm-rounded gm-border gm-border-cyan-300 gm-bg-cyan-50 gm-p-2 gm-text-sm gm-text-[#777]" };
15
+ const _hoisted_2 = { class: "gm-ml-2" };
16
+ const _hoisted_3 = { class: "gm-text-cyan-500" };
17
+ const _hoisted_4 = { class: "custom-content gm-text-sm" };
18
+ const _hoisted_5 = { class: "gm-flex gm-w-14 gm-justify-center" };
19
+ const _hoisted_6 = /* @__PURE__ */ vue.createElementVNode(
20
+ "li",
21
+ { class: "gm-flex-1 gm-border-l gm-border-white" },
22
+ "\u5217\u540D",
23
+ -1
24
+ /* HOISTED */
25
+ );
26
+ const _hoisted_7 = /* @__PURE__ */ vue.createElementVNode(
27
+ "li",
28
+ { class: "gm-w-36 gm-border-l gm-border-white" },
29
+ "\u5217\u5BBD",
30
+ -1
31
+ /* HOISTED */
32
+ );
33
+ const _hoisted_8 = /* @__PURE__ */ vue.createElementVNode(
34
+ "li",
35
+ { class: "gm-w-24 gm-border-l gm-border-white" },
36
+ "\u56FA\u5B9A",
37
+ -1
38
+ /* HOISTED */
39
+ );
40
+ const _hoisted_9 = {
41
+ key: 0,
42
+ class: "gm-w-28 gm-border-l gm-border-white"
43
+ };
44
+ const _hoisted_10 = {
45
+ key: 0,
46
+ class: "gm-flex gm-items-center gm-border gm-border-b-0 gm-border-gray-200"
47
+ };
48
+ const _hoisted_11 = { class: "gm-flex gm-w-14 gm-justify-center" };
49
+ const _hoisted_12 = /* @__PURE__ */ vue.createElementVNode(
50
+ "li",
51
+ { class: "gm-flex-1 gm-border-l gm-border-gray-200" },
52
+ "\u64CD\u4F5C",
53
+ -1
54
+ /* HOISTED */
55
+ );
56
+ const _hoisted_13 = { class: "gm-w-36 gm-border-l gm-border-gray-200 gm-px-2" };
57
+ const _hoisted_14 = /* @__PURE__ */ vue.createElementVNode(
58
+ "li",
59
+ { class: "gm-flex gm-w-24 gm-items-center gm-justify-center gm-gap-4 gm-border-l gm-border-gray-200" },
60
+ null,
61
+ -1
62
+ /* HOISTED */
63
+ );
64
+ const _hoisted_15 = {
65
+ key: 0,
66
+ class: "gm-w-28 gm-cursor-grabbing gm-border-l gm-border-gray-200"
67
+ };
68
+ const _hoisted_16 = ["draggable", "onDragstart", "onDragenter"];
69
+ const _hoisted_17 = { class: "gm-flex gm-w-14 gm-justify-center" };
70
+ const _hoisted_18 = { class: "gm-flex-1 gm-border-l gm-border-gray-200" };
71
+ const _hoisted_19 = { class: "gm-w-36 gm-border-l gm-border-gray-200 gm-px-2" };
72
+ const _hoisted_20 = { class: "gm-flex gm-w-24 gm-items-center gm-justify-center gm-gap-4 gm-border-l gm-border-gray-200" };
73
+ const _hoisted_21 = ["onClick"];
74
+ const _hoisted_22 = {
75
+ t: "1748946230868",
76
+ class: "icon",
77
+ viewBox: "0 0 1024 1024",
78
+ version: "1.1",
79
+ xmlns: "http://www.w3.org/2000/svg",
80
+ "p-id": "15386",
81
+ width: "18",
82
+ height: "18"
83
+ };
84
+ const _hoisted_23 = ["fill"];
85
+ const _hoisted_24 = ["onClick"];
86
+ const _hoisted_25 = {
87
+ t: "1748946230868",
88
+ class: "icon",
89
+ viewBox: "0 0 1024 1024",
90
+ version: "1.1",
91
+ xmlns: "http://www.w3.org/2000/svg",
92
+ "p-id": "15386",
93
+ width: "18",
94
+ height: "18"
95
+ };
96
+ const _hoisted_26 = ["fill"];
97
+ const _hoisted_27 = {
98
+ key: 0,
99
+ class: "gm-w-28 gm-cursor-grabbing gm-border-l gm-border-gray-200"
100
+ };
101
+ const _hoisted_28 = { class: "gm-flex gm-justify-between" };
102
+ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
103
+ ...{
104
+ name: "GmTableCustomHeader"
105
+ },
106
+ __name: "TableCustomHeader",
107
+ props: /* @__PURE__ */ vue.mergeModels(tableCustomHeader.tableCustomHeaderProps, {
108
+ "isShowDrawer": { type: Boolean, ...{
109
+ required: true
110
+ } },
111
+ "isShowDrawerModifiers": {},
112
+ "colPropsList": {
113
+ required: true
114
+ },
115
+ "colPropsListModifiers": {}
116
+ }),
117
+ emits: /* @__PURE__ */ vue.mergeModels(["updateColumns"], ["update:isShowDrawer", "update:colPropsList"]),
118
+ setup(__props, { expose: __expose, emit: __emit }) {
119
+ const props = __props;
120
+ const emit = __emit;
121
+ const isShowDrawer = vue.useModel(__props, "isShowDrawer");
122
+ const colPropsList = vue.useModel(__props, "colPropsList");
123
+ const customSettingsStore = index.useCustomSettingsStore();
124
+ const isInited = vue.ref(false);
125
+ const { cloned: clonedColPropsList, sync: syncPropsList } = core.useCloned(colPropsList);
126
+ vue.watch(isShowDrawer, (newValue) => {
127
+ if (newValue) {
128
+ clonedColPropsList.value = lodashEs.cloneDeep(colPropsList.value);
129
+ }
130
+ });
131
+ const customSettingsValue = vue.computed(() => customSettingsStore.customSettings[props.keyWord]?.[props.type] || []);
132
+ const { cloned: clonedStore } = core.useCloned(customSettingsValue);
133
+ const titleStyle = vue.computed(() => {
134
+ const h = props.colDefaultPropsList.length * 44;
135
+ const H = document.documentElement.clientHeight || document.body.clientHeight;
136
+ return h > H - 240 ? { paddingRight: "4px" } : { paddingRight: 0 };
137
+ });
138
+ const updateColumns = () => {
139
+ colPropsList.value = clonedColPropsList.value;
140
+ };
141
+ const initColumns = async () => {
142
+ try {
143
+ await customSettingsStore.getCustomSettings({ key_word: props.keyWord, type: props.type }, { defaultValue: [] });
144
+ } catch {
145
+ }
146
+ const colnedDefaultColumns = lodashEs.cloneDeep(props.colDefaultPropsList);
147
+ let columns = colnedDefaultColumns;
148
+ if (clonedStore.value.length) {
149
+ columns = [];
150
+ clonedStore.value.forEach((it) => {
151
+ const index = colnedDefaultColumns.findIndex((v) => v.prop === it.prop);
152
+ if (index > -1) {
153
+ const item = colnedDefaultColumns.splice(index, 1)[0];
154
+ columns.push({
155
+ ...it,
156
+ ...item,
157
+ isShow: it.isShow,
158
+ width: it.width,
159
+ fixed: it.fixed
160
+ });
161
+ }
162
+ });
163
+ clonedColPropsList.value = [...columns, ...colnedDefaultColumns];
164
+ }
165
+ updateColumns();
166
+ isInited.value = true;
167
+ };
168
+ const checkedNumber = vue.computed(() => {
169
+ return clonedColPropsList.value.filter((v) => v.isShow).length;
170
+ });
171
+ const checkedAll = vue.computed({
172
+ get() {
173
+ return clonedColPropsList.value.filter((it) => it.type !== "edit").every((v) => v.isShow);
174
+ },
175
+ set(value) {
176
+ clonedColPropsList.value.forEach((v) => {
177
+ if (v.type !== "edit") {
178
+ v.isShow = Boolean(value);
179
+ }
180
+ });
181
+ }
182
+ });
183
+ const isIndeterminate = vue.computed(() => !checkedAll.value && clonedColPropsList.value.filter((it) => it.type !== "edit").some((v) => v.isShow));
184
+ const start = vue.ref();
185
+ const end = vue.ref();
186
+ const dragstart = (item) => {
187
+ if (!props.dragHeader)
188
+ return;
189
+ document.body.style.userSelect = "none";
190
+ start.value = item;
191
+ };
192
+ const dragenter = (item, e) => {
193
+ if (!props.dragHeader)
194
+ return;
195
+ end.value = item;
196
+ e.preventDefault();
197
+ };
198
+ const dragend = () => {
199
+ if (!props.dragHeader)
200
+ return;
201
+ document.body.style.userSelect = "text";
202
+ if (start.value === end.value)
203
+ return;
204
+ if (start.value && end.value) {
205
+ const oldIndex = clonedColPropsList.value.findIndex((v) => v.prop === start.value?.prop);
206
+ const newIndex = clonedColPropsList.value.findIndex((v) => v.prop === end.value?.prop);
207
+ const newItems = [...clonedColPropsList.value];
208
+ newItems.splice(oldIndex, 1);
209
+ newItems.splice(newIndex, 0, start.value);
210
+ clonedColPropsList.value = [...newItems];
211
+ }
212
+ };
213
+ const dragover = (e) => {
214
+ if (!props.dragHeader)
215
+ return;
216
+ e.preventDefault();
217
+ };
218
+ const submitLoading = vue.ref(false);
219
+ const submitSettings = async (options) => {
220
+ try {
221
+ submitLoading.value = true;
222
+ const { data } = await customSettingsStore.addCustomSettings({
223
+ key_word: props.keyWord,
224
+ value: JSON.stringify(clonedColPropsList.value),
225
+ type: props.type
226
+ });
227
+ submitLoading.value = false;
228
+ if (data.code !== 200) {
229
+ return;
230
+ }
231
+ updateColumns();
232
+ if (!options?.hiddenMessage) {
233
+ index$1.GmMessage.success("\u4FDD\u5B58\u6210\u529F");
234
+ }
235
+ emit("updateColumns");
236
+ } catch (e) {
237
+ console.error(e);
238
+ submitLoading.value = false;
239
+ }
240
+ };
241
+ const onSyncRemote = async () => {
242
+ try {
243
+ submitLoading.value = true;
244
+ await customSettingsStore.syncRemoteSetting({
245
+ key_word: props.keyWord,
246
+ type: props.type
247
+ });
248
+ submitLoading.value = false;
249
+ initColumns();
250
+ index$1.GmMessage.success("\u540C\u6B65\u6210\u529F");
251
+ } catch (e) {
252
+ console.error(e);
253
+ submitLoading.value = false;
254
+ }
255
+ };
256
+ const onReset = () => {
257
+ clonedColPropsList.value = lodashEs.cloneDeep(props.colDefaultPropsList);
258
+ };
259
+ const handleToogleFixed = (row, fixed) => {
260
+ if (row.fixed === fixed) {
261
+ row.fixed = false;
262
+ return;
263
+ }
264
+ row.fixed = fixed;
265
+ };
266
+ vue.onMounted(() => {
267
+ if (props.disabledRemoteCol) {
268
+ isInited.value = true;
269
+ } else {
270
+ initColumns();
271
+ }
272
+ });
273
+ __expose({
274
+ isInited,
275
+ submitSettings,
276
+ syncPropsList
277
+ });
278
+ return (_ctx, _cache) => {
279
+ const _component_gm_icon = vue.resolveComponent("gm-icon");
280
+ const _component_gm_checkbox = vue.resolveComponent("gm-checkbox");
281
+ const _component_gm_input = vue.resolveComponent("gm-input");
282
+ const _component_gm_tooltip = vue.resolveComponent("gm-tooltip");
283
+ const _component_el_icon = vue.resolveComponent("el-icon");
284
+ const _component_gm_button = vue.resolveComponent("gm-button");
285
+ const _component_gm_drawer = vue.resolveComponent("gm-drawer");
286
+ return vue.openBlock(), vue.createBlock(_component_gm_drawer, {
287
+ modelValue: isShowDrawer.value,
288
+ "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => isShowDrawer.value = $event),
289
+ title: "\u81EA\u5B9A\u4E49\u8868\u5934",
290
+ direction: "rtl",
291
+ size: "600px",
292
+ "append-to-body": "",
293
+ "destroy-on-close": "",
294
+ class: "table-custom-header-drawer"
295
+ }, vue.createSlots({
296
+ default: vue.withCtx(() => [
297
+ vue.createElementVNode("div", _hoisted_1, [
298
+ vue.createVNode(_component_gm_icon, null, {
299
+ default: vue.withCtx(() => [
300
+ vue.createVNode(vue.unref(iconsVue.InfoFilled))
301
+ ]),
302
+ _: 1
303
+ /* STABLE */
304
+ }),
305
+ vue.createElementVNode("p", _hoisted_2, [
306
+ vue.createTextVNode(" \u5DF2\u9009\u4E2D "),
307
+ vue.createElementVNode(
308
+ "span",
309
+ _hoisted_3,
310
+ vue.toDisplayString(checkedNumber.value),
311
+ 1
312
+ /* TEXT */
313
+ ),
314
+ vue.createTextVNode(" \u9879 ")
315
+ ])
316
+ ]),
317
+ vue.createElementVNode("div", _hoisted_4, [
318
+ vue.createElementVNode(
319
+ "ul",
320
+ {
321
+ class: "gm-flex gm-items-center gm-border gm-border-y-0 gm-border-gray-200 gm-bg-gray-200 gm-font-semibold gm-text-[#333]",
322
+ style: vue.normalizeStyle(titleStyle.value)
323
+ },
324
+ [
325
+ vue.createElementVNode("li", _hoisted_5, [
326
+ vue.createVNode(_component_gm_checkbox, {
327
+ modelValue: checkedAll.value,
328
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => checkedAll.value = $event),
329
+ indeterminate: isIndeterminate.value
330
+ }, null, 8, ["modelValue", "indeterminate"])
331
+ ]),
332
+ _hoisted_6,
333
+ _hoisted_7,
334
+ _hoisted_8,
335
+ _ctx.dragHeader ? (vue.openBlock(), vue.createElementBlock("li", _hoisted_9, "\u62D6\u5730\u8C03\u6574\u987A\u5E8F")) : vue.createCommentVNode("v-if", true)
336
+ ],
337
+ 4
338
+ /* STYLE */
339
+ ),
340
+ vue.createVNode(vue.TransitionGroup, {
341
+ class: "custom-group gm-border-b gm-border-gray-200 gm-text-gray-600",
342
+ name: "sort",
343
+ tag: "div"
344
+ }, {
345
+ default: vue.withCtx(() => [
346
+ (vue.openBlock(true), vue.createElementBlock(
347
+ vue.Fragment,
348
+ null,
349
+ vue.renderList(vue.unref(clonedColPropsList), (item) => {
350
+ return vue.openBlock(), vue.createElementBlock(
351
+ vue.Fragment,
352
+ {
353
+ key: item.prop
354
+ },
355
+ [
356
+ item.type === "edit" ? (vue.openBlock(), vue.createElementBlock("ul", _hoisted_10, [
357
+ vue.createElementVNode("li", _hoisted_11, [
358
+ vue.createVNode(_component_gm_checkbox, {
359
+ modelValue: item.isShow,
360
+ "onUpdate:modelValue": ($event) => item.isShow = $event,
361
+ disabled: ""
362
+ }, null, 8, ["modelValue", "onUpdate:modelValue"])
363
+ ]),
364
+ _hoisted_12,
365
+ vue.createElementVNode("li", _hoisted_13, [
366
+ vue.createVNode(_component_gm_input, {
367
+ modelValue: item.width,
368
+ "onUpdate:modelValue": ($event) => item.width = $event,
369
+ class: "gm-w-full",
370
+ placeholder: "\u8BBE\u7F6E\u5BBD\u5EA6",
371
+ clearable: ""
372
+ }, null, 8, ["modelValue", "onUpdate:modelValue"])
373
+ ]),
374
+ _hoisted_14,
375
+ _ctx.dragHeader ? (vue.openBlock(), vue.createElementBlock("li", _hoisted_15)) : vue.createCommentVNode("v-if", true)
376
+ ])) : (vue.openBlock(), vue.createElementBlock("ul", {
377
+ key: 1,
378
+ class: "gm-flex gm-items-center gm-border gm-border-b-0 gm-border-gray-200",
379
+ draggable: _ctx.dragHeader,
380
+ onDragstart: ($event) => dragstart(item),
381
+ onDragenter: ($event) => dragenter(item, $event),
382
+ onDragend: dragend,
383
+ onDragover: _cache[1] || (_cache[1] = ($event) => dragover($event))
384
+ }, [
385
+ vue.createElementVNode("li", _hoisted_17, [
386
+ vue.createVNode(_component_gm_checkbox, {
387
+ modelValue: item.isShow,
388
+ "onUpdate:modelValue": ($event) => item.isShow = $event
389
+ }, null, 8, ["modelValue", "onUpdate:modelValue"])
390
+ ]),
391
+ vue.createElementVNode(
392
+ "li",
393
+ _hoisted_18,
394
+ vue.toDisplayString(item.label),
395
+ 1
396
+ /* TEXT */
397
+ ),
398
+ vue.createElementVNode("li", _hoisted_19, [
399
+ vue.createVNode(_component_gm_input, {
400
+ modelValue: item.width,
401
+ "onUpdate:modelValue": ($event) => item.width = $event,
402
+ class: "gm-w-full",
403
+ placeholder: "\u8BBE\u7F6E\u5BBD\u5EA6",
404
+ clearable: ""
405
+ }, null, 8, ["modelValue", "onUpdate:modelValue"])
406
+ ]),
407
+ vue.createElementVNode("li", _hoisted_20, [
408
+ vue.createVNode(
409
+ _component_gm_tooltip,
410
+ {
411
+ effect: "dark",
412
+ content: "\u56FA\u5B9A\u5728\u5DE6\u4FA7",
413
+ placement: "top"
414
+ },
415
+ {
416
+ default: vue.withCtx(() => [
417
+ vue.createElementVNode("div", {
418
+ class: "gm-cursor-pointer",
419
+ onClick: ($event) => handleToogleFixed(item, "left")
420
+ }, [
421
+ (vue.openBlock(), vue.createElementBlock("svg", _hoisted_22, [
422
+ vue.createElementVNode("path", {
423
+ d: "M958.9 895.8L732 668.9l-63 63 227 226.9 64 1.3zM792.3 379l-102.5-12.7-311-284.7c-25.2-24-65.7-23.4-90.1 1l-206 205.9c-24.6 24.6-25 65.1-1.1 90.2l284.8 311.1 12.7 102.5c0 74.7 55.1 104.7 108 51.7L844 487.1c53-53 23.1-108.1-51.7-108.1zM439.7 610.1c-4.2 4.2-9.7 6.4-15.6 6.4s-11.4-2.3-15.7-6.5l-254-254.3c-8.4-8.4-8.6-22.5-0.2-31l43.7-45c4.2-4.4 9.7-6.7 15.9-6.7 5.7 0 11.2 2.3 15.3 6.3 4.3 4 6.5 9.6 6.8 15.4 0.1 5.9-2.1 11.5-6.3 15.8l-28.5 29.3 238.6 239c8.6 8.6 8.5 22.6 0 31.3z",
424
+ "p-id": "15387",
425
+ fill: item.fixed === "left" ? "#0000FF" : "#bbbbbb"
426
+ }, null, 8, _hoisted_23)
427
+ ]))
428
+ ], 8, _hoisted_21)
429
+ ]),
430
+ _: 2
431
+ /* DYNAMIC */
432
+ },
433
+ 1024
434
+ /* DYNAMIC_SLOTS */
435
+ ),
436
+ vue.createVNode(
437
+ _component_gm_tooltip,
438
+ {
439
+ effect: "dark",
440
+ content: "\u56FA\u5B9A\u5728\u53F3\u4FA7",
441
+ placement: "top"
442
+ },
443
+ {
444
+ default: vue.withCtx(() => [
445
+ vue.createElementVNode("div", {
446
+ class: "gm-rotate-90 gm-cursor-pointer",
447
+ onClick: ($event) => handleToogleFixed(item, "right")
448
+ }, [
449
+ (vue.openBlock(), vue.createElementBlock("svg", _hoisted_25, [
450
+ vue.createElementVNode("path", {
451
+ d: "M958.9 895.8L732 668.9l-63 63 227 226.9 64 1.3zM792.3 379l-102.5-12.7-311-284.7c-25.2-24-65.7-23.4-90.1 1l-206 205.9c-24.6 24.6-25 65.1-1.1 90.2l284.8 311.1 12.7 102.5c0 74.7 55.1 104.7 108 51.7L844 487.1c53-53 23.1-108.1-51.7-108.1zM439.7 610.1c-4.2 4.2-9.7 6.4-15.6 6.4s-11.4-2.3-15.7-6.5l-254-254.3c-8.4-8.4-8.6-22.5-0.2-31l43.7-45c4.2-4.4 9.7-6.7 15.9-6.7 5.7 0 11.2 2.3 15.3 6.3 4.3 4 6.5 9.6 6.8 15.4 0.1 5.9-2.1 11.5-6.3 15.8l-28.5 29.3 238.6 239c8.6 8.6 8.5 22.6 0 31.3z",
452
+ "p-id": "15387",
453
+ fill: item.fixed === "right" ? "#0000FF" : "#bbbbbb"
454
+ }, null, 8, _hoisted_26)
455
+ ]))
456
+ ], 8, _hoisted_24)
457
+ ]),
458
+ _: 2
459
+ /* DYNAMIC */
460
+ },
461
+ 1024
462
+ /* DYNAMIC_SLOTS */
463
+ )
464
+ ]),
465
+ _ctx.dragHeader ? (vue.openBlock(), vue.createElementBlock("li", _hoisted_27, [
466
+ vue.createVNode(_component_el_icon, { color: "#0000FF" }, {
467
+ default: vue.withCtx(() => [
468
+ vue.createVNode(vue.unref(iconsVue.Rank))
469
+ ]),
470
+ _: 1
471
+ /* STABLE */
472
+ })
473
+ ])) : vue.createCommentVNode("v-if", true)
474
+ ], 40, _hoisted_16))
475
+ ],
476
+ 64
477
+ /* STABLE_FRAGMENT */
478
+ );
479
+ }),
480
+ 128
481
+ /* KEYED_FRAGMENT */
482
+ ))
483
+ ]),
484
+ _: 1
485
+ /* STABLE */
486
+ })
487
+ ])
488
+ ]),
489
+ _: 2
490
+ /* DYNAMIC */
491
+ }, [
492
+ !_ctx.disabledRemoteCol ? {
493
+ name: "footer",
494
+ fn: vue.withCtx(() => [
495
+ vue.createElementVNode("div", _hoisted_28, [
496
+ vue.createElementVNode("div", null, [
497
+ vue.createVNode(_component_gm_button, {
498
+ loading: submitLoading.value,
499
+ type: "primary",
500
+ size: "default",
501
+ onClick: onReset
502
+ }, {
503
+ default: vue.withCtx(() => [
504
+ vue.createTextVNode("\u91CD\u7F6E")
505
+ ]),
506
+ _: 1
507
+ /* STABLE */
508
+ }, 8, ["loading"]),
509
+ vue.createVNode(_component_gm_button, {
510
+ loading: submitLoading.value,
511
+ type: "success",
512
+ size: "default",
513
+ onClick: onSyncRemote
514
+ }, {
515
+ default: vue.withCtx(() => [
516
+ vue.createTextVNode("\u540C\u6B65")
517
+ ]),
518
+ _: 1
519
+ /* STABLE */
520
+ }, 8, ["loading"])
521
+ ]),
522
+ vue.createElementVNode("div", null, [
523
+ vue.createVNode(_component_gm_button, {
524
+ loading: submitLoading.value,
525
+ size: "default",
526
+ onClick: _cache[2] || (_cache[2] = ($event) => isShowDrawer.value = false)
527
+ }, {
528
+ default: vue.withCtx(() => [
529
+ vue.createTextVNode("\u53D6\u6D88")
530
+ ]),
531
+ _: 1
532
+ /* STABLE */
533
+ }, 8, ["loading"]),
534
+ vue.createVNode(_component_gm_button, {
535
+ loading: submitLoading.value,
536
+ type: "primary",
537
+ size: "default",
538
+ onClick: _cache[3] || (_cache[3] = ($event) => submitSettings())
539
+ }, {
540
+ default: vue.withCtx(() => [
541
+ vue.createTextVNode("\u4FDD\u5B58")
542
+ ]),
543
+ _: 1
544
+ /* STABLE */
545
+ }, 8, ["loading"])
546
+ ])
547
+ ])
548
+ ]),
549
+ key: "0"
550
+ } : void 0
551
+ ]), 1032, ["modelValue"]);
552
+ };
553
+ }
554
+ });
555
+
556
+ exports.default = _sfc_main;
557
+ //# sourceMappingURL=TableCustomHeader.vue2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TableCustomHeader.vue2.js","sources":["../../../../../../../../packages/components/src/composite/tableCustom/tableCustomHeader/TableCustomHeader.vue"],"sourcesContent":["<template>\n <gm-drawer\n v-model=\"isShowDrawer\"\n title=\"自定义表头\"\n direction=\"rtl\"\n size=\"600px\"\n append-to-body\n destroy-on-close\n class=\"table-custom-header-drawer\"\n >\n <div class=\"gm-mb-4 gm-flex gm-items-center gm-rounded gm-border gm-border-cyan-300 gm-bg-cyan-50 gm-p-2 gm-text-sm gm-text-[#777]\">\n <gm-icon><InfoFilled /></gm-icon>\n <p class=\"gm-ml-2\">\n 已选中 <span class=\"gm-text-cyan-500\">{{ checkedNumber }}</span> 项\n </p>\n </div>\n\n <div class=\"custom-content gm-text-sm\">\n <ul\n class=\"gm-flex gm-items-center gm-border gm-border-y-0 gm-border-gray-200 gm-bg-gray-200 gm-font-semibold gm-text-[#333]\"\n :style=\"titleStyle\"\n >\n <li class=\"gm-flex gm-w-14 gm-justify-center\">\n <gm-checkbox v-model=\"checkedAll\" :indeterminate=\"isIndeterminate\" />\n </li>\n <li class=\"gm-flex-1 gm-border-l gm-border-white\">列名</li>\n <li class=\"gm-w-36 gm-border-l gm-border-white\">列宽</li>\n <li class=\"gm-w-24 gm-border-l gm-border-white\">固定</li>\n <li v-if=\"dragHeader\" class=\"gm-w-28 gm-border-l gm-border-white\">拖地调整顺序</li>\n </ul>\n <transition-group class=\"custom-group gm-border-b gm-border-gray-200 gm-text-gray-600\" name=\"sort\" tag=\"div\">\n <template v-for=\"item in clonedColPropsList\" :key=\"item.prop\">\n <ul v-if=\"item.type === 'edit'\" class=\"gm-flex gm-items-center gm-border gm-border-b-0 gm-border-gray-200\">\n <li class=\"gm-flex gm-w-14 gm-justify-center\">\n <gm-checkbox v-model=\"item.isShow\" disabled />\n </li>\n <li class=\"gm-flex-1 gm-border-l gm-border-gray-200\">操作</li>\n <li class=\"gm-w-36 gm-border-l gm-border-gray-200 gm-px-2\">\n <gm-input v-model=\"item.width\" class=\"gm-w-full\" placeholder=\"设置宽度\" clearable />\n </li>\n <li class=\"gm-flex gm-w-24 gm-items-center gm-justify-center gm-gap-4 gm-border-l gm-border-gray-200\" />\n <li v-if=\"dragHeader\" class=\"gm-w-28 gm-cursor-grabbing gm-border-l gm-border-gray-200\" />\n </ul>\n <ul\n v-else\n class=\"gm-flex gm-items-center gm-border gm-border-b-0 gm-border-gray-200\"\n :draggable=\"dragHeader\"\n @dragstart=\"dragstart(item)\"\n @dragenter=\"dragenter(item, $event)\"\n @dragend=\"dragend\"\n @dragover=\"dragover($event)\"\n >\n <li class=\"gm-flex gm-w-14 gm-justify-center\">\n <gm-checkbox v-model=\"item.isShow\" />\n </li>\n <li class=\"gm-flex-1 gm-border-l gm-border-gray-200\">{{ item.label }}</li>\n <li class=\"gm-w-36 gm-border-l gm-border-gray-200 gm-px-2\">\n <gm-input v-model=\"item.width\" class=\"gm-w-full\" placeholder=\"设置宽度\" clearable />\n </li>\n <li class=\"gm-flex gm-w-24 gm-items-center gm-justify-center gm-gap-4 gm-border-l gm-border-gray-200\">\n <gm-tooltip effect=\"dark\" content=\"固定在左侧\" placement=\"top\">\n <div class=\"gm-cursor-pointer\" @click=\"handleToogleFixed(item, 'left')\">\n <svg\n t=\"1748946230868\"\n class=\"icon\"\n viewBox=\"0 0 1024 1024\"\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n p-id=\"15386\"\n width=\"18\"\n height=\"18\"\n >\n <path\n d=\"M958.9 895.8L732 668.9l-63 63 227 226.9 64 1.3zM792.3 379l-102.5-12.7-311-284.7c-25.2-24-65.7-23.4-90.1 1l-206 205.9c-24.6 24.6-25 65.1-1.1 90.2l284.8 311.1 12.7 102.5c0 74.7 55.1 104.7 108 51.7L844 487.1c53-53 23.1-108.1-51.7-108.1zM439.7 610.1c-4.2 4.2-9.7 6.4-15.6 6.4s-11.4-2.3-15.7-6.5l-254-254.3c-8.4-8.4-8.6-22.5-0.2-31l43.7-45c4.2-4.4 9.7-6.7 15.9-6.7 5.7 0 11.2 2.3 15.3 6.3 4.3 4 6.5 9.6 6.8 15.4 0.1 5.9-2.1 11.5-6.3 15.8l-28.5 29.3 238.6 239c8.6 8.6 8.5 22.6 0 31.3z\"\n p-id=\"15387\"\n :fill=\"item.fixed === 'left' ? '#0000FF' : '#bbbbbb'\"\n />\n </svg>\n </div>\n </gm-tooltip>\n <gm-tooltip effect=\"dark\" content=\"固定在右侧\" placement=\"top\">\n <div class=\"gm-rotate-90 gm-cursor-pointer\" @click=\"handleToogleFixed(item, 'right')\">\n <svg\n t=\"1748946230868\"\n class=\"icon\"\n viewBox=\"0 0 1024 1024\"\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n p-id=\"15386\"\n width=\"18\"\n height=\"18\"\n >\n <path\n d=\"M958.9 895.8L732 668.9l-63 63 227 226.9 64 1.3zM792.3 379l-102.5-12.7-311-284.7c-25.2-24-65.7-23.4-90.1 1l-206 205.9c-24.6 24.6-25 65.1-1.1 90.2l284.8 311.1 12.7 102.5c0 74.7 55.1 104.7 108 51.7L844 487.1c53-53 23.1-108.1-51.7-108.1zM439.7 610.1c-4.2 4.2-9.7 6.4-15.6 6.4s-11.4-2.3-15.7-6.5l-254-254.3c-8.4-8.4-8.6-22.5-0.2-31l43.7-45c4.2-4.4 9.7-6.7 15.9-6.7 5.7 0 11.2 2.3 15.3 6.3 4.3 4 6.5 9.6 6.8 15.4 0.1 5.9-2.1 11.5-6.3 15.8l-28.5 29.3 238.6 239c8.6 8.6 8.5 22.6 0 31.3z\"\n p-id=\"15387\"\n :fill=\"item.fixed === 'right' ? '#0000FF' : '#bbbbbb'\"\n />\n </svg>\n </div>\n </gm-tooltip>\n </li>\n <li v-if=\"dragHeader\" class=\"gm-w-28 gm-cursor-grabbing gm-border-l gm-border-gray-200\">\n <el-icon color=\"#0000FF\"><Rank /></el-icon>\n </li>\n </ul>\n </template>\n </transition-group>\n </div>\n\n <template v-if=\"!disabledRemoteCol\" #footer>\n <div class=\"gm-flex gm-justify-between\">\n <div>\n <gm-button :loading=\"submitLoading\" type=\"primary\" size=\"default\" @click=\"onReset\">重置</gm-button>\n <gm-button :loading=\"submitLoading\" type=\"success\" size=\"default\" @click=\"onSyncRemote\">同步</gm-button>\n </div>\n <div>\n <gm-button :loading=\"submitLoading\" size=\"default\" @click=\"isShowDrawer = false\">取消</gm-button>\n <gm-button :loading=\"submitLoading\" type=\"primary\" size=\"default\" @click=\"submitSettings()\">保存</gm-button>\n </div>\n </div>\n </template>\n </gm-drawer>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, onMounted, ref, watch } from 'vue';\nimport { useCloned } from '@vueuse/core';\nimport { useCustomSettingsStore } from '@giime/hooks';\nimport { GmMessage } from '@giime/components/src/plugins/message';\nimport { cloneDeep } from 'lodash-es';\nimport { InfoFilled, Rank } from '@element-plus/icons-vue';\nimport { tableCustomHeaderProps } from './tableCustomHeader';\nimport type { CheckboxValueType } from 'element-plus';\nimport type { TableColumnProProps } from '../../tablePro/tableColumnPro/tableColumnPro';\n\ndefineOptions({\n name: 'GmTableCustomHeader',\n});\n\nconst props = defineProps(tableCustomHeaderProps);\nconst emit = defineEmits([\"updateColumns\"]);\n/**抽屉显示 */\nconst isShowDrawer = defineModel<boolean>('isShowDrawer', {\n required: true,\n});\n\n/**自定义按钮 props列表 */\nconst colPropsList = defineModel<TableColumnProProps[]>('colPropsList', {\n required: true,\n});\nconst customSettingsStore = useCustomSettingsStore();\n\n/**\n * 数据是否初始化完成\n */\nconst isInited = ref(false);\n/**内部克隆一份,当点击保存时 应用修改的内容 */\nconst { cloned: clonedColPropsList, sync: syncPropsList } = useCloned(colPropsList);\n// 重新打开弹窗时, 克隆一份新数据\nwatch(isShowDrawer, newValue => {\n if (newValue) {\n clonedColPropsList.value = cloneDeep(colPropsList.value);\n }\n});\nconst customSettingsValue = computed<TableColumnProProps[]>(() => customSettingsStore.customSettings[props.keyWord]?.[props.type] || []);\nconst { cloned: clonedStore } = useCloned(customSettingsValue);\n\n/** 设置表头位置样式,调整表格对齐 */\nconst titleStyle = computed(() => {\n const h = props.colDefaultPropsList.length * 44;\n const H = document.documentElement.clientHeight || document.body.clientHeight;\n return h > H - 240 ? { paddingRight: '4px' } : { paddingRight: 0 };\n});\n\n// 更新选中数据\nconst updateColumns = () => {\n colPropsList.value = clonedColPropsList.value;\n};\n// 初始化数据\nconst initColumns = async () => {\n try {\n await customSettingsStore.getCustomSettings({ key_word: props.keyWord, type: props.type }, { defaultValue: [] });\n } catch {}\n\n const colnedDefaultColumns = cloneDeep(props.colDefaultPropsList);\n\n let columns = colnedDefaultColumns;\n\n if (clonedStore.value.length) {\n columns = [];\n clonedStore.value.forEach(it => {\n const index = colnedDefaultColumns.findIndex(v => v.prop === it.prop);\n if (index > -1) {\n const item = colnedDefaultColumns.splice(index, 1)[0];\n\n columns.push({\n ...it,\n ...item,\n isShow: it.isShow,\n width: it.width,\n fixed: it.fixed,\n });\n }\n });\n clonedColPropsList.value = [...columns, ...colnedDefaultColumns];\n }\n updateColumns();\n isInited.value = true;\n};\n\n// 已选中条数\nconst checkedNumber = computed(() => {\n return clonedColPropsList.value.filter(v => v.isShow).length;\n});\n// 全选\nconst checkedAll = computed({\n get() {\n return clonedColPropsList.value.filter(it => it.type !== 'edit').every(v => v.isShow);\n },\n set(value: CheckboxValueType) {\n clonedColPropsList.value.forEach(v => {\n if (v.type !== 'edit') {\n v.isShow = Boolean(value);\n }\n });\n },\n});\n// 半选\nconst isIndeterminate = computed(() => !checkedAll.value && clonedColPropsList.value.filter(it => it.type !== 'edit').some(v => v.isShow));\n\n/** 拖拽开始 */\nconst start = ref<TableColumnProProps>();\nconst end = ref<TableColumnProProps>();\nconst dragstart = (item: TableColumnProProps) => {\n if (!props.dragHeader) return;\n document.body.style.userSelect = 'none';\n start.value = item;\n};\n/** 拖拽过程 */\nconst dragenter = (item: TableColumnProProps, e: DragEvent) => {\n if (!props.dragHeader) return;\n end.value = item;\n e.preventDefault();\n};\n/** 拖拽结束 */\nconst dragend = () => {\n if (!props.dragHeader) return;\n document.body.style.userSelect = 'text';\n if (start.value === end.value) return;\n if (start.value && end.value) {\n const oldIndex: number = clonedColPropsList.value.findIndex(v => v.prop === start.value?.prop);\n const newIndex: number = clonedColPropsList.value.findIndex(v => v.prop === end.value?.prop);\n const newItems = [...clonedColPropsList.value];\n // 删除老节点\n newItems.splice(oldIndex, 1);\n\n // 目标位置新增节点\n newItems.splice(newIndex, 0, start.value);\n clonedColPropsList.value = [...newItems];\n }\n};\n/** 拖拽事件 */\nconst dragover = (e: DragEvent) => {\n if (!props.dragHeader) return;\n e.preventDefault();\n};\n\nconst submitLoading = ref(false);\n// 保存\nconst submitSettings = async (options?: { hiddenMessage?: boolean }) => {\n try {\n submitLoading.value = true;\n const { data } = await customSettingsStore.addCustomSettings({\n key_word: props.keyWord,\n value: JSON.stringify(clonedColPropsList.value),\n type: props.type,\n });\n submitLoading.value = false;\n if (data.code !== 200) {\n return;\n }\n updateColumns();\n if (!options?.hiddenMessage) {\n GmMessage.success('保存成功');\n }\n emit('updateColumns');\n } catch (e) {\n console.error(e);\n submitLoading.value = false;\n }\n};\n/**同步远程设置 */\nconst onSyncRemote = async () => {\n try {\n submitLoading.value = true;\n await customSettingsStore.syncRemoteSetting({\n key_word: props.keyWord,\n type: props.type,\n });\n submitLoading.value = false;\n initColumns();\n GmMessage.success('同步成功');\n } catch (e) {\n console.error(e);\n submitLoading.value = false;\n }\n};\n// 重置\nconst onReset = () => {\n clonedColPropsList.value = cloneDeep(props.colDefaultPropsList);\n};\n// 点击固定列\nconst handleToogleFixed = (row: TableColumnProProps, fixed: string) => {\n if (row.fixed === fixed) {\n row.fixed = false;\n return;\n }\n row.fixed = fixed;\n};\n\nonMounted(() => {\n if (props.disabledRemoteCol) {\n isInited.value = true;\n } else {\n initColumns();\n }\n});\ndefineExpose({\n isInited,\n submitSettings,\n syncPropsList,\n});\n</script>\n\n<style lang=\"scss\">\n.table-custom-header-drawer {\n .el-drawer__header {\n padding: 10px 15px;\n margin: 0;\n border-bottom: 1px solid #ebeef5;\n }\n .el-drawer__title {\n font-size: 14px;\n color: #333;\n }\n .el-drawer__body {\n padding: 15px;\n }\n .el-drawer__footer {\n padding: 10px 15px;\n border-top: 1px solid #ebeef5;\n }\n .el-checkbox {\n display: flex;\n align-items: center;\n }\n .el-input__inner {\n text-align: center;\n }\n .el-input__suffix {\n position: absolute;\n right: 10px;\n }\n .custom-content {\n li {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 44px;\n }\n }\n .custom-group {\n max-height: calc(100vh - 226px);\n overflow-y: auto;\n\n &::-webkit-scrollbar {\n /*滚动条整体样式*/\n width: 4px;\n /*高宽分别对应横竖滚动条的尺寸*/\n height: 1px;\n }\n\n &::-webkit-scrollbar-thumb {\n /*滚动条里面小方块*/\n border-radius: 10px;\n box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.1);\n background: #999;\n }\n\n &::-webkit-scrollbar-track {\n /*滚动条里面轨道*/\n box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.1);\n border-radius: 10px;\n background: #eee;\n }\n }\n}\n</style>\n"],"names":["_useModel","useCustomSettingsStore","ref","useCloned","watch","cloneDeep","computed","GmMessage","onMounted"],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var undefined$1 = undefined;
6
+
7
+ exports.default = undefined$1;
8
+ //# sourceMappingURL=TableCustomHeader.vue3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TableCustomHeader.vue3.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}