giime 0.6.27 → 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 (127) hide show
  1. package/dist/index.css +204 -0
  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 +204 -0
  64. package/global.d.ts +1 -0
  65. package/lib/components/index.js +25 -14
  66. package/lib/components/index.js.map +1 -1
  67. package/lib/components/src/composite/index.d.ts +1 -0
  68. package/lib/components/src/composite/index.js +11 -0
  69. package/lib/components/src/composite/index.js.map +1 -1
  70. package/lib/components/src/composite/tableCustom/TableCustom.vue.d.ts +556 -0
  71. package/lib/components/src/composite/tableCustom/TableCustom.vue.js +12 -0
  72. package/lib/components/src/composite/tableCustom/TableCustom.vue.js.map +1 -0
  73. package/lib/components/src/composite/tableCustom/TableCustom.vue2.js +335 -0
  74. package/lib/components/src/composite/tableCustom/TableCustom.vue2.js.map +1 -0
  75. package/lib/components/src/composite/tableCustom/TableCustom.vue3.js +8 -0
  76. package/lib/components/src/composite/tableCustom/TableCustom.vue3.js.map +1 -0
  77. package/lib/components/src/composite/tableCustom/customOperate/CustomOperate.vue.d.ts +64 -0
  78. package/lib/components/src/composite/tableCustom/customOperate/CustomOperate.vue.js +11 -0
  79. package/lib/components/src/composite/tableCustom/customOperate/CustomOperate.vue.js.map +1 -0
  80. package/lib/components/src/composite/tableCustom/customOperate/CustomOperate.vue2.js +473 -0
  81. package/lib/components/src/composite/tableCustom/customOperate/CustomOperate.vue2.js.map +1 -0
  82. package/lib/components/src/composite/tableCustom/customOperate/CustomOperate.vue3.js +8 -0
  83. package/lib/components/src/composite/tableCustom/customOperate/CustomOperate.vue3.js.map +1 -0
  84. package/lib/components/src/composite/tableCustom/customOperate/customOperate.d.ts +42 -0
  85. package/lib/components/src/composite/tableCustom/customOperate/customOperate.js +16 -0
  86. package/lib/components/src/composite/tableCustom/customOperate/customOperate.js.map +1 -0
  87. package/lib/components/src/composite/tableCustom/customOperate/index.d.ts +66 -0
  88. package/lib/components/src/composite/tableCustom/customOperate/index.js +17 -0
  89. package/lib/components/src/composite/tableCustom/customOperate/index.js.map +1 -0
  90. package/lib/components/src/composite/tableCustom/index.d.ts +1347 -0
  91. package/lib/components/src/composite/tableCustom/index.js +22 -0
  92. package/lib/components/src/composite/tableCustom/index.js.map +1 -0
  93. package/lib/components/src/composite/tableCustom/tableCustom.d.ts +170 -0
  94. package/lib/components/src/composite/tableCustom/tableCustom.js +19 -0
  95. package/lib/components/src/composite/tableCustom/tableCustom.js.map +1 -0
  96. package/lib/components/src/composite/tableCustom/tableCustomHeader/TableCustomHeader.vue.d.ts +79 -0
  97. package/lib/components/src/composite/tableCustom/tableCustomHeader/TableCustomHeader.vue.js +11 -0
  98. package/lib/components/src/composite/tableCustom/tableCustomHeader/TableCustomHeader.vue.js.map +1 -0
  99. package/lib/components/src/composite/tableCustom/tableCustomHeader/TableCustomHeader.vue2.js +557 -0
  100. package/lib/components/src/composite/tableCustom/tableCustomHeader/TableCustomHeader.vue2.js.map +1 -0
  101. package/lib/components/src/composite/tableCustom/tableCustomHeader/TableCustomHeader.vue3.js +8 -0
  102. package/lib/components/src/composite/tableCustom/tableCustomHeader/TableCustomHeader.vue3.js.map +1 -0
  103. package/lib/components/src/composite/tableCustom/tableCustomHeader/index.d.ts +81 -0
  104. package/lib/components/src/composite/tableCustom/tableCustomHeader/index.js +16 -0
  105. package/lib/components/src/composite/tableCustom/tableCustomHeader/index.js.map +1 -0
  106. package/lib/components/src/composite/tableCustom/tableCustomHeader/tableCustomHeader.d.ts +30 -0
  107. package/lib/components/src/composite/tableCustom/tableCustomHeader/tableCustomHeader.js +34 -0
  108. package/lib/components/src/composite/tableCustom/tableCustomHeader/tableCustomHeader.js.map +1 -0
  109. package/lib/giime/component.js +10 -8
  110. package/lib/giime/component.js.map +1 -1
  111. package/lib/giime/index.js +81 -68
  112. package/lib/giime/index.js.map +1 -1
  113. package/lib/giime/version.d.ts +1 -1
  114. package/lib/giime/version.js +1 -1
  115. package/lib/giime/version.js.map +1 -1
  116. package/lib/hooks/base/index.d.ts +1 -0
  117. package/lib/hooks/base/index.js +2 -0
  118. package/lib/hooks/base/index.js.map +1 -1
  119. package/lib/hooks/base/useComputedFields/index.d.ts +4 -1
  120. package/lib/hooks/base/useComputedFields/index.js.map +1 -1
  121. package/lib/hooks/base/useElementRemainingHeight/index.d.ts +22 -0
  122. package/lib/hooks/base/useElementRemainingHeight/index.js +18 -0
  123. package/lib/hooks/base/useElementRemainingHeight/index.js.map +1 -0
  124. package/lib/hooks/index.js +38 -36
  125. package/lib/hooks/index.js.map +1 -1
  126. package/lib/index.css +204 -0
  127. package/package.json +1 -1
@@ -0,0 +1,553 @@
1
+ import { createElementVNode, defineComponent, mergeModels, useModel, ref, watch, computed, onMounted, resolveComponent, openBlock, createBlock, createSlots, withCtx, createVNode, unref, createTextVNode, toDisplayString, normalizeStyle, createElementBlock, createCommentVNode, TransitionGroup, Fragment, renderList } from 'vue';
2
+ import { useCloned } from '@vueuse/core';
3
+ import '../../../../../hooks/index.mjs';
4
+ import { GmMessage } from '../../../plugins/message/index.mjs';
5
+ import { cloneDeep } from 'lodash-es';
6
+ import { InfoFilled, Rank } from '@element-plus/icons-vue';
7
+ import { tableCustomHeaderProps } from './tableCustomHeader.mjs';
8
+ import { useCustomSettingsStore } from '../../../../../hooks/store/useCustomSettings/index.mjs';
9
+
10
+ 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]" };
11
+ const _hoisted_2 = { class: "gm-ml-2" };
12
+ const _hoisted_3 = { class: "gm-text-cyan-500" };
13
+ const _hoisted_4 = { class: "custom-content gm-text-sm" };
14
+ const _hoisted_5 = { class: "gm-flex gm-w-14 gm-justify-center" };
15
+ const _hoisted_6 = /* @__PURE__ */ createElementVNode(
16
+ "li",
17
+ { class: "gm-flex-1 gm-border-l gm-border-white" },
18
+ "\u5217\u540D",
19
+ -1
20
+ /* HOISTED */
21
+ );
22
+ const _hoisted_7 = /* @__PURE__ */ createElementVNode(
23
+ "li",
24
+ { class: "gm-w-36 gm-border-l gm-border-white" },
25
+ "\u5217\u5BBD",
26
+ -1
27
+ /* HOISTED */
28
+ );
29
+ const _hoisted_8 = /* @__PURE__ */ createElementVNode(
30
+ "li",
31
+ { class: "gm-w-24 gm-border-l gm-border-white" },
32
+ "\u56FA\u5B9A",
33
+ -1
34
+ /* HOISTED */
35
+ );
36
+ const _hoisted_9 = {
37
+ key: 0,
38
+ class: "gm-w-28 gm-border-l gm-border-white"
39
+ };
40
+ const _hoisted_10 = {
41
+ key: 0,
42
+ class: "gm-flex gm-items-center gm-border gm-border-b-0 gm-border-gray-200"
43
+ };
44
+ const _hoisted_11 = { class: "gm-flex gm-w-14 gm-justify-center" };
45
+ const _hoisted_12 = /* @__PURE__ */ createElementVNode(
46
+ "li",
47
+ { class: "gm-flex-1 gm-border-l gm-border-gray-200" },
48
+ "\u64CD\u4F5C",
49
+ -1
50
+ /* HOISTED */
51
+ );
52
+ const _hoisted_13 = { class: "gm-w-36 gm-border-l gm-border-gray-200 gm-px-2" };
53
+ const _hoisted_14 = /* @__PURE__ */ createElementVNode(
54
+ "li",
55
+ { class: "gm-flex gm-w-24 gm-items-center gm-justify-center gm-gap-4 gm-border-l gm-border-gray-200" },
56
+ null,
57
+ -1
58
+ /* HOISTED */
59
+ );
60
+ const _hoisted_15 = {
61
+ key: 0,
62
+ class: "gm-w-28 gm-cursor-grabbing gm-border-l gm-border-gray-200"
63
+ };
64
+ const _hoisted_16 = ["draggable", "onDragstart", "onDragenter"];
65
+ const _hoisted_17 = { class: "gm-flex gm-w-14 gm-justify-center" };
66
+ const _hoisted_18 = { class: "gm-flex-1 gm-border-l gm-border-gray-200" };
67
+ const _hoisted_19 = { class: "gm-w-36 gm-border-l gm-border-gray-200 gm-px-2" };
68
+ 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" };
69
+ const _hoisted_21 = ["onClick"];
70
+ const _hoisted_22 = {
71
+ t: "1748946230868",
72
+ class: "icon",
73
+ viewBox: "0 0 1024 1024",
74
+ version: "1.1",
75
+ xmlns: "http://www.w3.org/2000/svg",
76
+ "p-id": "15386",
77
+ width: "18",
78
+ height: "18"
79
+ };
80
+ const _hoisted_23 = ["fill"];
81
+ const _hoisted_24 = ["onClick"];
82
+ const _hoisted_25 = {
83
+ t: "1748946230868",
84
+ class: "icon",
85
+ viewBox: "0 0 1024 1024",
86
+ version: "1.1",
87
+ xmlns: "http://www.w3.org/2000/svg",
88
+ "p-id": "15386",
89
+ width: "18",
90
+ height: "18"
91
+ };
92
+ const _hoisted_26 = ["fill"];
93
+ const _hoisted_27 = {
94
+ key: 0,
95
+ class: "gm-w-28 gm-cursor-grabbing gm-border-l gm-border-gray-200"
96
+ };
97
+ const _hoisted_28 = { class: "gm-flex gm-justify-between" };
98
+ var _sfc_main = /* @__PURE__ */ defineComponent({
99
+ ...{
100
+ name: "GmTableCustomHeader"
101
+ },
102
+ __name: "TableCustomHeader",
103
+ props: /* @__PURE__ */ mergeModels(tableCustomHeaderProps, {
104
+ "isShowDrawer": { type: Boolean, ...{
105
+ required: true
106
+ } },
107
+ "isShowDrawerModifiers": {},
108
+ "colPropsList": {
109
+ required: true
110
+ },
111
+ "colPropsListModifiers": {}
112
+ }),
113
+ emits: /* @__PURE__ */ mergeModels(["updateColumns"], ["update:isShowDrawer", "update:colPropsList"]),
114
+ setup(__props, { expose: __expose, emit: __emit }) {
115
+ const props = __props;
116
+ const emit = __emit;
117
+ const isShowDrawer = useModel(__props, "isShowDrawer");
118
+ const colPropsList = useModel(__props, "colPropsList");
119
+ const customSettingsStore = useCustomSettingsStore();
120
+ const isInited = ref(false);
121
+ const { cloned: clonedColPropsList, sync: syncPropsList } = useCloned(colPropsList);
122
+ watch(isShowDrawer, (newValue) => {
123
+ if (newValue) {
124
+ clonedColPropsList.value = cloneDeep(colPropsList.value);
125
+ }
126
+ });
127
+ const customSettingsValue = computed(() => customSettingsStore.customSettings[props.keyWord]?.[props.type] || []);
128
+ const { cloned: clonedStore } = useCloned(customSettingsValue);
129
+ const titleStyle = computed(() => {
130
+ const h = props.colDefaultPropsList.length * 44;
131
+ const H = document.documentElement.clientHeight || document.body.clientHeight;
132
+ return h > H - 240 ? { paddingRight: "4px" } : { paddingRight: 0 };
133
+ });
134
+ const updateColumns = () => {
135
+ colPropsList.value = clonedColPropsList.value;
136
+ };
137
+ const initColumns = async () => {
138
+ try {
139
+ await customSettingsStore.getCustomSettings({ key_word: props.keyWord, type: props.type }, { defaultValue: [] });
140
+ } catch {
141
+ }
142
+ const colnedDefaultColumns = cloneDeep(props.colDefaultPropsList);
143
+ let columns = colnedDefaultColumns;
144
+ if (clonedStore.value.length) {
145
+ columns = [];
146
+ clonedStore.value.forEach((it) => {
147
+ const index = colnedDefaultColumns.findIndex((v) => v.prop === it.prop);
148
+ if (index > -1) {
149
+ const item = colnedDefaultColumns.splice(index, 1)[0];
150
+ columns.push({
151
+ ...it,
152
+ ...item,
153
+ isShow: it.isShow,
154
+ width: it.width,
155
+ fixed: it.fixed
156
+ });
157
+ }
158
+ });
159
+ clonedColPropsList.value = [...columns, ...colnedDefaultColumns];
160
+ }
161
+ updateColumns();
162
+ isInited.value = true;
163
+ };
164
+ const checkedNumber = computed(() => {
165
+ return clonedColPropsList.value.filter((v) => v.isShow).length;
166
+ });
167
+ const checkedAll = computed({
168
+ get() {
169
+ return clonedColPropsList.value.filter((it) => it.type !== "edit").every((v) => v.isShow);
170
+ },
171
+ set(value) {
172
+ clonedColPropsList.value.forEach((v) => {
173
+ if (v.type !== "edit") {
174
+ v.isShow = Boolean(value);
175
+ }
176
+ });
177
+ }
178
+ });
179
+ const isIndeterminate = computed(() => !checkedAll.value && clonedColPropsList.value.filter((it) => it.type !== "edit").some((v) => v.isShow));
180
+ const start = ref();
181
+ const end = ref();
182
+ const dragstart = (item) => {
183
+ if (!props.dragHeader)
184
+ return;
185
+ document.body.style.userSelect = "none";
186
+ start.value = item;
187
+ };
188
+ const dragenter = (item, e) => {
189
+ if (!props.dragHeader)
190
+ return;
191
+ end.value = item;
192
+ e.preventDefault();
193
+ };
194
+ const dragend = () => {
195
+ if (!props.dragHeader)
196
+ return;
197
+ document.body.style.userSelect = "text";
198
+ if (start.value === end.value)
199
+ return;
200
+ if (start.value && end.value) {
201
+ const oldIndex = clonedColPropsList.value.findIndex((v) => v.prop === start.value?.prop);
202
+ const newIndex = clonedColPropsList.value.findIndex((v) => v.prop === end.value?.prop);
203
+ const newItems = [...clonedColPropsList.value];
204
+ newItems.splice(oldIndex, 1);
205
+ newItems.splice(newIndex, 0, start.value);
206
+ clonedColPropsList.value = [...newItems];
207
+ }
208
+ };
209
+ const dragover = (e) => {
210
+ if (!props.dragHeader)
211
+ return;
212
+ e.preventDefault();
213
+ };
214
+ const submitLoading = ref(false);
215
+ const submitSettings = async (options) => {
216
+ try {
217
+ submitLoading.value = true;
218
+ const { data } = await customSettingsStore.addCustomSettings({
219
+ key_word: props.keyWord,
220
+ value: JSON.stringify(clonedColPropsList.value),
221
+ type: props.type
222
+ });
223
+ submitLoading.value = false;
224
+ if (data.code !== 200) {
225
+ return;
226
+ }
227
+ updateColumns();
228
+ if (!options?.hiddenMessage) {
229
+ GmMessage.success("\u4FDD\u5B58\u6210\u529F");
230
+ }
231
+ emit("updateColumns");
232
+ } catch (e) {
233
+ console.error(e);
234
+ submitLoading.value = false;
235
+ }
236
+ };
237
+ const onSyncRemote = async () => {
238
+ try {
239
+ submitLoading.value = true;
240
+ await customSettingsStore.syncRemoteSetting({
241
+ key_word: props.keyWord,
242
+ type: props.type
243
+ });
244
+ submitLoading.value = false;
245
+ initColumns();
246
+ GmMessage.success("\u540C\u6B65\u6210\u529F");
247
+ } catch (e) {
248
+ console.error(e);
249
+ submitLoading.value = false;
250
+ }
251
+ };
252
+ const onReset = () => {
253
+ clonedColPropsList.value = cloneDeep(props.colDefaultPropsList);
254
+ };
255
+ const handleToogleFixed = (row, fixed) => {
256
+ if (row.fixed === fixed) {
257
+ row.fixed = false;
258
+ return;
259
+ }
260
+ row.fixed = fixed;
261
+ };
262
+ onMounted(() => {
263
+ if (props.disabledRemoteCol) {
264
+ isInited.value = true;
265
+ } else {
266
+ initColumns();
267
+ }
268
+ });
269
+ __expose({
270
+ isInited,
271
+ submitSettings,
272
+ syncPropsList
273
+ });
274
+ return (_ctx, _cache) => {
275
+ const _component_gm_icon = resolveComponent("gm-icon");
276
+ const _component_gm_checkbox = resolveComponent("gm-checkbox");
277
+ const _component_gm_input = resolveComponent("gm-input");
278
+ const _component_gm_tooltip = resolveComponent("gm-tooltip");
279
+ const _component_el_icon = resolveComponent("el-icon");
280
+ const _component_gm_button = resolveComponent("gm-button");
281
+ const _component_gm_drawer = resolveComponent("gm-drawer");
282
+ return openBlock(), createBlock(_component_gm_drawer, {
283
+ modelValue: isShowDrawer.value,
284
+ "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => isShowDrawer.value = $event),
285
+ title: "\u81EA\u5B9A\u4E49\u8868\u5934",
286
+ direction: "rtl",
287
+ size: "600px",
288
+ "append-to-body": "",
289
+ "destroy-on-close": "",
290
+ class: "table-custom-header-drawer"
291
+ }, createSlots({
292
+ default: withCtx(() => [
293
+ createElementVNode("div", _hoisted_1, [
294
+ createVNode(_component_gm_icon, null, {
295
+ default: withCtx(() => [
296
+ createVNode(unref(InfoFilled))
297
+ ]),
298
+ _: 1
299
+ /* STABLE */
300
+ }),
301
+ createElementVNode("p", _hoisted_2, [
302
+ createTextVNode(" \u5DF2\u9009\u4E2D "),
303
+ createElementVNode(
304
+ "span",
305
+ _hoisted_3,
306
+ toDisplayString(checkedNumber.value),
307
+ 1
308
+ /* TEXT */
309
+ ),
310
+ createTextVNode(" \u9879 ")
311
+ ])
312
+ ]),
313
+ createElementVNode("div", _hoisted_4, [
314
+ createElementVNode(
315
+ "ul",
316
+ {
317
+ 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]",
318
+ style: normalizeStyle(titleStyle.value)
319
+ },
320
+ [
321
+ createElementVNode("li", _hoisted_5, [
322
+ createVNode(_component_gm_checkbox, {
323
+ modelValue: checkedAll.value,
324
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => checkedAll.value = $event),
325
+ indeterminate: isIndeterminate.value
326
+ }, null, 8, ["modelValue", "indeterminate"])
327
+ ]),
328
+ _hoisted_6,
329
+ _hoisted_7,
330
+ _hoisted_8,
331
+ _ctx.dragHeader ? (openBlock(), createElementBlock("li", _hoisted_9, "\u62D6\u5730\u8C03\u6574\u987A\u5E8F")) : createCommentVNode("v-if", true)
332
+ ],
333
+ 4
334
+ /* STYLE */
335
+ ),
336
+ createVNode(TransitionGroup, {
337
+ class: "custom-group gm-border-b gm-border-gray-200 gm-text-gray-600",
338
+ name: "sort",
339
+ tag: "div"
340
+ }, {
341
+ default: withCtx(() => [
342
+ (openBlock(true), createElementBlock(
343
+ Fragment,
344
+ null,
345
+ renderList(unref(clonedColPropsList), (item) => {
346
+ return openBlock(), createElementBlock(
347
+ Fragment,
348
+ {
349
+ key: item.prop
350
+ },
351
+ [
352
+ item.type === "edit" ? (openBlock(), createElementBlock("ul", _hoisted_10, [
353
+ createElementVNode("li", _hoisted_11, [
354
+ createVNode(_component_gm_checkbox, {
355
+ modelValue: item.isShow,
356
+ "onUpdate:modelValue": ($event) => item.isShow = $event,
357
+ disabled: ""
358
+ }, null, 8, ["modelValue", "onUpdate:modelValue"])
359
+ ]),
360
+ _hoisted_12,
361
+ createElementVNode("li", _hoisted_13, [
362
+ createVNode(_component_gm_input, {
363
+ modelValue: item.width,
364
+ "onUpdate:modelValue": ($event) => item.width = $event,
365
+ class: "gm-w-full",
366
+ placeholder: "\u8BBE\u7F6E\u5BBD\u5EA6",
367
+ clearable: ""
368
+ }, null, 8, ["modelValue", "onUpdate:modelValue"])
369
+ ]),
370
+ _hoisted_14,
371
+ _ctx.dragHeader ? (openBlock(), createElementBlock("li", _hoisted_15)) : createCommentVNode("v-if", true)
372
+ ])) : (openBlock(), createElementBlock("ul", {
373
+ key: 1,
374
+ class: "gm-flex gm-items-center gm-border gm-border-b-0 gm-border-gray-200",
375
+ draggable: _ctx.dragHeader,
376
+ onDragstart: ($event) => dragstart(item),
377
+ onDragenter: ($event) => dragenter(item, $event),
378
+ onDragend: dragend,
379
+ onDragover: _cache[1] || (_cache[1] = ($event) => dragover($event))
380
+ }, [
381
+ createElementVNode("li", _hoisted_17, [
382
+ createVNode(_component_gm_checkbox, {
383
+ modelValue: item.isShow,
384
+ "onUpdate:modelValue": ($event) => item.isShow = $event
385
+ }, null, 8, ["modelValue", "onUpdate:modelValue"])
386
+ ]),
387
+ createElementVNode(
388
+ "li",
389
+ _hoisted_18,
390
+ toDisplayString(item.label),
391
+ 1
392
+ /* TEXT */
393
+ ),
394
+ createElementVNode("li", _hoisted_19, [
395
+ createVNode(_component_gm_input, {
396
+ modelValue: item.width,
397
+ "onUpdate:modelValue": ($event) => item.width = $event,
398
+ class: "gm-w-full",
399
+ placeholder: "\u8BBE\u7F6E\u5BBD\u5EA6",
400
+ clearable: ""
401
+ }, null, 8, ["modelValue", "onUpdate:modelValue"])
402
+ ]),
403
+ createElementVNode("li", _hoisted_20, [
404
+ createVNode(
405
+ _component_gm_tooltip,
406
+ {
407
+ effect: "dark",
408
+ content: "\u56FA\u5B9A\u5728\u5DE6\u4FA7",
409
+ placement: "top"
410
+ },
411
+ {
412
+ default: withCtx(() => [
413
+ createElementVNode("div", {
414
+ class: "gm-cursor-pointer",
415
+ onClick: ($event) => handleToogleFixed(item, "left")
416
+ }, [
417
+ (openBlock(), createElementBlock("svg", _hoisted_22, [
418
+ createElementVNode("path", {
419
+ 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",
420
+ "p-id": "15387",
421
+ fill: item.fixed === "left" ? "#0000FF" : "#bbbbbb"
422
+ }, null, 8, _hoisted_23)
423
+ ]))
424
+ ], 8, _hoisted_21)
425
+ ]),
426
+ _: 2
427
+ /* DYNAMIC */
428
+ },
429
+ 1024
430
+ /* DYNAMIC_SLOTS */
431
+ ),
432
+ createVNode(
433
+ _component_gm_tooltip,
434
+ {
435
+ effect: "dark",
436
+ content: "\u56FA\u5B9A\u5728\u53F3\u4FA7",
437
+ placement: "top"
438
+ },
439
+ {
440
+ default: withCtx(() => [
441
+ createElementVNode("div", {
442
+ class: "gm-rotate-90 gm-cursor-pointer",
443
+ onClick: ($event) => handleToogleFixed(item, "right")
444
+ }, [
445
+ (openBlock(), createElementBlock("svg", _hoisted_25, [
446
+ createElementVNode("path", {
447
+ 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",
448
+ "p-id": "15387",
449
+ fill: item.fixed === "right" ? "#0000FF" : "#bbbbbb"
450
+ }, null, 8, _hoisted_26)
451
+ ]))
452
+ ], 8, _hoisted_24)
453
+ ]),
454
+ _: 2
455
+ /* DYNAMIC */
456
+ },
457
+ 1024
458
+ /* DYNAMIC_SLOTS */
459
+ )
460
+ ]),
461
+ _ctx.dragHeader ? (openBlock(), createElementBlock("li", _hoisted_27, [
462
+ createVNode(_component_el_icon, { color: "#0000FF" }, {
463
+ default: withCtx(() => [
464
+ createVNode(unref(Rank))
465
+ ]),
466
+ _: 1
467
+ /* STABLE */
468
+ })
469
+ ])) : createCommentVNode("v-if", true)
470
+ ], 40, _hoisted_16))
471
+ ],
472
+ 64
473
+ /* STABLE_FRAGMENT */
474
+ );
475
+ }),
476
+ 128
477
+ /* KEYED_FRAGMENT */
478
+ ))
479
+ ]),
480
+ _: 1
481
+ /* STABLE */
482
+ })
483
+ ])
484
+ ]),
485
+ _: 2
486
+ /* DYNAMIC */
487
+ }, [
488
+ !_ctx.disabledRemoteCol ? {
489
+ name: "footer",
490
+ fn: withCtx(() => [
491
+ createElementVNode("div", _hoisted_28, [
492
+ createElementVNode("div", null, [
493
+ createVNode(_component_gm_button, {
494
+ loading: submitLoading.value,
495
+ type: "primary",
496
+ size: "default",
497
+ onClick: onReset
498
+ }, {
499
+ default: withCtx(() => [
500
+ createTextVNode("\u91CD\u7F6E")
501
+ ]),
502
+ _: 1
503
+ /* STABLE */
504
+ }, 8, ["loading"]),
505
+ createVNode(_component_gm_button, {
506
+ loading: submitLoading.value,
507
+ type: "success",
508
+ size: "default",
509
+ onClick: onSyncRemote
510
+ }, {
511
+ default: withCtx(() => [
512
+ createTextVNode("\u540C\u6B65")
513
+ ]),
514
+ _: 1
515
+ /* STABLE */
516
+ }, 8, ["loading"])
517
+ ]),
518
+ createElementVNode("div", null, [
519
+ createVNode(_component_gm_button, {
520
+ loading: submitLoading.value,
521
+ size: "default",
522
+ onClick: _cache[2] || (_cache[2] = ($event) => isShowDrawer.value = false)
523
+ }, {
524
+ default: withCtx(() => [
525
+ createTextVNode("\u53D6\u6D88")
526
+ ]),
527
+ _: 1
528
+ /* STABLE */
529
+ }, 8, ["loading"]),
530
+ createVNode(_component_gm_button, {
531
+ loading: submitLoading.value,
532
+ type: "primary",
533
+ size: "default",
534
+ onClick: _cache[3] || (_cache[3] = ($event) => submitSettings())
535
+ }, {
536
+ default: withCtx(() => [
537
+ createTextVNode("\u4FDD\u5B58")
538
+ ]),
539
+ _: 1
540
+ /* STABLE */
541
+ }, 8, ["loading"])
542
+ ])
543
+ ])
544
+ ]),
545
+ key: "0"
546
+ } : void 0
547
+ ]), 1032, ["modelValue"]);
548
+ };
549
+ }
550
+ });
551
+
552
+ export { _sfc_main as default };
553
+ //# sourceMappingURL=TableCustomHeader.vue2.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TableCustomHeader.vue2.mjs","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"],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ var undefined$1 = undefined;
2
+
3
+ export { undefined$1 as default };
4
+ //# sourceMappingURL=TableCustomHeader.vue3.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TableCustomHeader.vue3.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}