giime 0.3.2 → 0.3.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.css +27 -27
- package/es/components/src/composite/searchForm/SearchForm.vue.mjs +1 -1
- package/es/components/src/composite/searchForm/SearchForm.vue2.mjs +3 -4
- package/es/components/src/composite/searchForm/SearchForm.vue2.mjs.map +1 -1
- package/es/components/src/composite/tablePro/TablePro.vue.d.ts +9 -0
- package/es/components/src/composite/tablePro/TablePro.vue.mjs +1 -1
- package/es/components/src/composite/tablePro/TablePro.vue2.mjs +96 -81
- package/es/components/src/composite/tablePro/TablePro.vue2.mjs.map +1 -1
- package/es/components/src/composite/tablePro/index.d.ts +19 -0
- package/es/components/src/composite/tablePro/tablePagination/TablePagination.vue.mjs +1 -1
- package/es/components/src/composite/tablePro/tablePagination/TablePagination.vue2.mjs.map +1 -1
- package/es/components/src/composite/tablePro/tablePro.d.ts +4 -0
- package/es/components/src/composite/tablePro/tablePro.mjs +4 -0
- package/es/components/src/composite/tablePro/tablePro.mjs.map +1 -1
- package/es/giime/version.d.ts +1 -1
- package/es/giime/version.mjs +1 -1
- package/es/giime/version.mjs.map +1 -1
- package/es/index.css +27 -27
- package/lib/components/src/composite/searchForm/SearchForm.vue.js +1 -1
- package/lib/components/src/composite/searchForm/SearchForm.vue2.js +2 -3
- package/lib/components/src/composite/searchForm/SearchForm.vue2.js.map +1 -1
- package/lib/components/src/composite/tablePro/TablePro.vue.d.ts +9 -0
- package/lib/components/src/composite/tablePro/TablePro.vue.js +1 -1
- package/lib/components/src/composite/tablePro/TablePro.vue2.js +95 -80
- package/lib/components/src/composite/tablePro/TablePro.vue2.js.map +1 -1
- package/lib/components/src/composite/tablePro/index.d.ts +19 -0
- package/lib/components/src/composite/tablePro/tablePagination/TablePagination.vue.js +1 -1
- package/lib/components/src/composite/tablePro/tablePagination/TablePagination.vue2.js.map +1 -1
- package/lib/components/src/composite/tablePro/tablePro.d.ts +4 -0
- package/lib/components/src/composite/tablePro/tablePro.js +4 -0
- package/lib/components/src/composite/tablePro/tablePro.js.map +1 -1
- package/lib/giime/version.d.ts +1 -1
- package/lib/giime/version.js +1 -1
- package/lib/giime/version.js.map +1 -1
- package/lib/index.css +27 -27
- package/package.json +1 -1
package/dist/index.css
CHANGED
|
@@ -741,33 +741,10 @@ video {
|
|
|
741
741
|
margin: 0;
|
|
742
742
|
}
|
|
743
743
|
|
|
744
|
-
[data-v-
|
|
744
|
+
[data-v-75032027] .gmSearchForm .el-form-item {
|
|
745
745
|
margin-right: 0;
|
|
746
746
|
margin-bottom: 4px;
|
|
747
747
|
}
|
|
748
|
-
[data-v-2f3b2b52] .gmTableNoBorder .el-table__body .el-table__cell {
|
|
749
|
-
border-right: none;
|
|
750
|
-
}
|
|
751
|
-
|
|
752
|
-
[data-v-2f3b2b52] .gmTableNoBorder .el-table__inner-wrapper:before {
|
|
753
|
-
height: 0;
|
|
754
|
-
}
|
|
755
|
-
|
|
756
|
-
[data-v-2f3b2b52] .gmTableNoBorder.el-table--border .el-table__inner-wrapper:after {
|
|
757
|
-
height: 0;
|
|
758
|
-
}
|
|
759
|
-
|
|
760
|
-
[data-v-2f3b2b52] .gmTableNoBorder.el-table--border:after {
|
|
761
|
-
height: 0;
|
|
762
|
-
}
|
|
763
|
-
|
|
764
|
-
[data-v-2f3b2b52] .gmTableNoBorder.el-table--border:before {
|
|
765
|
-
height: 0;
|
|
766
|
-
}
|
|
767
|
-
|
|
768
|
-
[data-v-2f3b2b52] .gmTableNoBorder .el-table__border-left-patch {
|
|
769
|
-
height: 0;
|
|
770
|
-
}
|
|
771
748
|
.gm-number-interval-single[data-v-47a13fd0] {
|
|
772
749
|
border-radius: var(--el-input-border-radius, var(--el-border-radius-base));
|
|
773
750
|
box-shadow: 0 0 0 1px var(--el-input-border-color, var(--el-border-color)) inset;
|
|
@@ -793,11 +770,34 @@ video {
|
|
|
793
770
|
.gm-flex-justify-between[data-v-6829dac1] {
|
|
794
771
|
justify-content: space-between;
|
|
795
772
|
}
|
|
773
|
+
[data-v-c9e8b4e4] .gmTableNoBorder .el-table__body .el-table__cell {
|
|
774
|
+
border-right: none;
|
|
775
|
+
}
|
|
776
|
+
|
|
777
|
+
[data-v-c9e8b4e4] .gmTableNoBorder .el-table__inner-wrapper:before {
|
|
778
|
+
height: 0;
|
|
779
|
+
}
|
|
780
|
+
|
|
781
|
+
[data-v-c9e8b4e4] .gmTableNoBorder.el-table--border .el-table__inner-wrapper:after {
|
|
782
|
+
height: 0;
|
|
783
|
+
}
|
|
784
|
+
|
|
785
|
+
[data-v-c9e8b4e4] .gmTableNoBorder.el-table--border:after {
|
|
786
|
+
height: 0;
|
|
787
|
+
}
|
|
788
|
+
|
|
789
|
+
[data-v-c9e8b4e4] .gmTableNoBorder.el-table--border:before {
|
|
790
|
+
height: 0;
|
|
791
|
+
}
|
|
792
|
+
|
|
793
|
+
[data-v-c9e8b4e4] .gmTableNoBorder .el-table__border-left-patch {
|
|
794
|
+
height: 0;
|
|
795
|
+
}
|
|
796
796
|
|
|
797
|
-
.pagination-container[data-v-
|
|
797
|
+
.pagination-container[data-v-c628ba24] {
|
|
798
798
|
background: #fff;
|
|
799
|
-
padding:
|
|
799
|
+
padding-top: 12px;
|
|
800
800
|
}
|
|
801
|
-
.pagination-container.hidden[data-v-
|
|
801
|
+
.pagination-container.hidden[data-v-c628ba24] {
|
|
802
802
|
display: none;
|
|
803
803
|
}
|
|
@@ -2,7 +2,7 @@ import _sfc_main from './SearchForm.vue2.mjs';
|
|
|
2
2
|
import './SearchForm.vue3.mjs';
|
|
3
3
|
import _export_sfc from '../../../../_virtual/_plugin-vue_export-helper.mjs';
|
|
4
4
|
|
|
5
|
-
var SearchForm = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-
|
|
5
|
+
var SearchForm = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-75032027"], ["__file", "SearchForm.vue"]]);
|
|
6
6
|
|
|
7
7
|
export { SearchForm as default };
|
|
8
8
|
//# sourceMappingURL=SearchForm.vue.mjs.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { defineComponent, mergeModels, inject, useModel, provide, ref, computed, nextTick, resolveComponent, openBlock, createElementBlock, withDirectives, createVNode, withCtx, createElementVNode, normalizeClass, normalizeStyle, Fragment, renderList, createBlock, resolveDynamicComponent, mergeProps, renderSlot, unref, createTextVNode, toDisplayString, vShow } from 'vue';
|
|
2
|
-
import {
|
|
2
|
+
import { useElementSize } from '@vueuse/core';
|
|
3
3
|
import { TableCtxKey } from '../../../../constants/table.mjs';
|
|
4
4
|
import { Search, Refresh, ArrowDown } from '@element-plus/icons-vue';
|
|
5
5
|
import { searchFormProps, searchFormEmits, searchFormItemList } from './searchForm.mjs';
|
|
@@ -27,11 +27,10 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
27
27
|
const emit = __emit;
|
|
28
28
|
const queryDivRef = ref();
|
|
29
29
|
const visibilityMarkRef = ref();
|
|
30
|
-
const
|
|
31
|
-
const { width: queryDivWidth } = useElementSize(queryDivRef);
|
|
30
|
+
const { width: queryDivWidth, height: queryDivHeight } = useElementSize(queryDivRef);
|
|
32
31
|
const colsCount = computed(() => Math.floor(queryDivWidth.value / 269));
|
|
33
32
|
const showMore = ref(true);
|
|
34
|
-
const notShowShowMore = computed(() => showMore.value ===
|
|
33
|
+
const notShowShowMore = computed(() => showMore.value === true && queryDivHeight.value <= 70);
|
|
35
34
|
const searchButtonItemStyle = computed(() => {
|
|
36
35
|
if (notShowShowMore.value) {
|
|
37
36
|
return {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SearchForm.vue2.mjs","sources":["../../../../../../../packages/components/src/composite/searchForm/SearchForm.vue"],"sourcesContent":["<script lang=\"ts\">\nconst itemGap = 8\n</script>\n<template>\r\n <div ref=\"queryDivRef\" class=\"gm-mb-5\">\r\n <gm-form v-show=\"showSearch\" ref=\"queryRef\" :model=\"queryParams\" :inline=\"true\" class=\"gmSearchForm\">\r\n <div :class=\"showMore ? '' : 'gm-h-[36px] gm-overflow-hidden'\">\r\n <div class=\"gm-relative gm-grid gm-w-full\" :style=\"{ gridTemplateColumns: `repeat(${colsCount}, minmax(0, 1fr))`, gap: itemGap + 'px' }\">\r\n <template v-for=\"(item, index) in optionsList\" :key=\"index\">\r\n <component :is=\"item.component\" v-bind=\"item.props\" v-model=\"queryParams[item.props.prop]\" />\r\n </template>\r\n <slot />\r\n <gm-form-item :style=\"searchButtonItemStyle\">\r\n <div class=\"gm-flex gm-w-full\" :class=\"notShowShowMore ? '' : ' gm-justify-end'\">\r\n <gm-button type=\"primary\" :icon=\"Search\" class=\"\" @click=\"handleQuery\">搜索</gm-button>\r\n <gm-button :icon=\"Refresh\" @click=\"resetQuery\">重置</gm-button>\r\n <gm-button v-show=\"!notShowShowMore\" type=\"primary\" text @click=\"handleShowMoreChange\">\r\n {{ showMore ? '缩起' : '展开' }} <gm-icon class=\"el-icon--right\"><ArrowDown /></gm-icon>\r\n </gm-button>\r\n </div>\r\n </gm-form-item>\r\n <div ref=\"visibilityMarkRef\" class=\"gm-absolute gm-bottom-3 gm-right-0 -gm-z-10 gm-h-1 gm-w-1\" />\r\n </div>\r\n </div>\r\n </gm-form>\r\n </div>\r\n</template>\r\n<script setup lang=\"ts\">\r\nimport { computed, inject, nextTick, provide, ref } from 'vue';\r\nimport { useElementSize
|
|
1
|
+
{"version":3,"file":"SearchForm.vue2.mjs","sources":["../../../../../../../packages/components/src/composite/searchForm/SearchForm.vue"],"sourcesContent":["<script lang=\"ts\">\nconst itemGap = 8\n</script>\n<template>\r\n <div ref=\"queryDivRef\" class=\"gm-mb-5\">\r\n <gm-form v-show=\"showSearch\" ref=\"queryRef\" :model=\"queryParams\" :inline=\"true\" class=\"gmSearchForm\">\r\n <div :class=\"showMore ? '' : 'gm-h-[36px] gm-overflow-hidden'\">\r\n <div class=\"gm-relative gm-grid gm-w-full\" :style=\"{ gridTemplateColumns: `repeat(${colsCount}, minmax(0, 1fr))`, gap: itemGap + 'px' }\">\r\n <template v-for=\"(item, index) in optionsList\" :key=\"index\">\r\n <component :is=\"item.component\" v-bind=\"item.props\" v-model=\"queryParams[item.props.prop]\" />\r\n </template>\r\n <slot />\r\n <gm-form-item :style=\"searchButtonItemStyle\">\r\n <div class=\"gm-flex gm-w-full\" :class=\"notShowShowMore ? '' : ' gm-justify-end'\">\r\n <gm-button type=\"primary\" :icon=\"Search\" class=\"\" @click=\"handleQuery\">搜索</gm-button>\r\n <gm-button :icon=\"Refresh\" @click=\"resetQuery\">重置</gm-button>\r\n <gm-button v-show=\"!notShowShowMore\" type=\"primary\" text @click=\"handleShowMoreChange\">\r\n {{ showMore ? '缩起' : '展开' }} <gm-icon class=\"el-icon--right\"><ArrowDown /></gm-icon>\r\n </gm-button>\r\n </div>\r\n </gm-form-item>\r\n <div ref=\"visibilityMarkRef\" class=\"gm-absolute gm-bottom-3 gm-right-0 -gm-z-10 gm-h-1 gm-w-1\" />\r\n </div>\r\n </div>\r\n </gm-form>\r\n </div>\r\n</template>\r\n<script setup lang=\"ts\">\r\nimport { computed, inject, nextTick, provide, ref } from 'vue';\r\nimport { useElementSize } from '@vueuse/core';\r\nimport { TableCtxKey } from '@giime/constants/table';\r\nimport { ArrowDown, Refresh, Search } from '@element-plus/icons-vue';\r\nimport { searchFormEmits, searchFormItemList, searchFormProps } from './searchForm';\r\nimport { queryParamsKey, searchFormHandleQueryKey } from './constants';\r\nimport type { CSSProperties } from 'vue';\r\nimport type { FormInstance } from '../../base/form';\r\ndefineOptions({\r\n name: 'GmSearchForm',\r\n});\r\nconst tableCtx = inject(TableCtxKey, {});\r\n\r\nconst showSearch = defineModel<boolean>('showSearch', { default: true });\r\n\r\nconst queryParams = defineModel<Record<string, any>>('queryParams', { required: true });\r\n\r\nprovide(queryParamsKey, queryParams);\r\n\r\nconst props = defineProps(searchFormProps);\r\nconst emit = defineEmits(searchFormEmits);\r\n\r\nconst queryDivRef = ref<HTMLDivElement>();\r\nconst visibilityMarkRef = ref<HTMLDivElement>();\r\n// const markIsVisibility = useElementVisibility(visibilityMarkRef);\r\n\r\nconst { width: queryDivWidth, height: queryDivHeight } = useElementSize(queryDivRef);\r\n// 列个数\r\nconst colsCount = computed(() => Math.floor(queryDivWidth.value / 269));\r\nconst showMore = ref(true);\r\n// 当 showMore展开 且高度为60时,不显示展开按钮\r\nconst notShowShowMore = computed(() => showMore.value === true && queryDivHeight.value <= 70);\r\n\r\n/**搜索重置按钮组样式 */\r\nconst searchButtonItemStyle = computed<CSSProperties>(() => {\r\n if (notShowShowMore.value) {\r\n return {};\r\n }\r\n return {\r\n gridColumn: colsCount.value,\r\n gridRow: showMore.value ? undefined : 1,\r\n };\r\n});\r\nconst handleShowMoreChange = async () => {\r\n showMore.value = !showMore.value;\r\n // 手动触发 scroll 事件\r\n const scrollEvent = new Event('resize');\r\n await nextTick();\r\n // 手动触发事件\r\n window.dispatchEvent(scrollEvent);\r\n};\r\n\r\n// 通过json渲染组件\r\nconst optionsList = computed(() => {\r\n return props.options.map(it => {\r\n const findComponent = searchFormItemList.find(item => item.type === it.type);\r\n if (findComponent) {\r\n it.component = findComponent.component;\r\n }\r\n return it;\r\n });\r\n});\r\n\r\nconst queryRef = ref<FormInstance>();\r\n\r\nconst handleQuery = (...args: any[]) => {\r\n emit('handleQuery', ...args);\r\n tableCtx?.tableRef?.value?.scrollTo({ top: 0, behavior: 'smooth' });\r\n tableCtx.tableV2Ref?.value?.scrollTo({ scrollLeft: 0, scrollTop: 0 });\r\n};\r\nprovide(searchFormHandleQueryKey, handleQuery);\r\n\r\nconst resetQuery = () => {\r\n queryRef.value?.resetFields();\r\n emit('resetQuery');\r\n tableCtx?.tableRef?.value?.scrollTo({ top: 0, behavior: 'smooth' });\r\n tableCtx.tableV2Ref?.value?.scrollTo({ scrollLeft: 0, scrollTop: 0 });\r\n};\r\n</script>\r\n<style lang=\"scss\" scoped>\r\n:deep(.gmSearchForm .el-form-item) {\r\n margin-right: 0;\r\n margin-bottom: 4px;\r\n}\r\n</style>\r\n"],"names":["_useModel"],"mappings":"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"}
|
|
@@ -37,6 +37,10 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
|
|
|
37
37
|
type: StringConstructor;
|
|
38
38
|
required: true;
|
|
39
39
|
};
|
|
40
|
+
autoHeight: {
|
|
41
|
+
type: BooleanConstructor;
|
|
42
|
+
default: boolean;
|
|
43
|
+
};
|
|
40
44
|
tableId: {
|
|
41
45
|
type: StringConstructor;
|
|
42
46
|
};
|
|
@@ -352,6 +356,10 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
|
|
|
352
356
|
type: StringConstructor;
|
|
353
357
|
required: true;
|
|
354
358
|
};
|
|
359
|
+
autoHeight: {
|
|
360
|
+
type: BooleanConstructor;
|
|
361
|
+
default: boolean;
|
|
362
|
+
};
|
|
355
363
|
tableId: {
|
|
356
364
|
type: StringConstructor;
|
|
357
365
|
};
|
|
@@ -484,6 +492,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
|
|
|
484
492
|
customOperate: boolean;
|
|
485
493
|
operateWidth: number;
|
|
486
494
|
operateFixed: boolean;
|
|
495
|
+
autoHeight: boolean;
|
|
487
496
|
}, {}>, Readonly<{
|
|
488
497
|
default(data?: any): any[];
|
|
489
498
|
}> & {
|
|
@@ -2,7 +2,7 @@ import _sfc_main from './TablePro.vue2.mjs';
|
|
|
2
2
|
import './TablePro.vue3.mjs';
|
|
3
3
|
import _export_sfc from '../../../../_virtual/_plugin-vue_export-helper.mjs';
|
|
4
4
|
|
|
5
|
-
var TablePro = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-
|
|
5
|
+
var TablePro = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-c9e8b4e4"], ["__file", "TablePro.vue"]]);
|
|
6
6
|
|
|
7
7
|
export { TablePro as default };
|
|
8
8
|
//# sourceMappingURL=TablePro.vue.mjs.map
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { pushScopeId, popScopeId, defineComponent, mergeModels, inject, ref,
|
|
1
|
+
import { pushScopeId, popScopeId, defineComponent, mergeModels, inject, ref, computed, useSlots, nextTick, useModel, resolveComponent, openBlock, createElementBlock, Fragment, createElementVNode, createBlock, mergeProps, toHandlers, unref, withCtx, createCommentVNode, createVNode, createTextVNode } from 'vue';
|
|
2
2
|
import { hasOwn } from '../../../../utils/src/objects.mjs';
|
|
3
3
|
import { getGmExports } from '../../../../utils/src/elementPlus/exports.mjs';
|
|
4
4
|
import { getGmEvent } from '../../../../utils/src/elementPlus/event.mjs';
|
|
5
5
|
import { TableCtxKey } from '../../../../constants/table.mjs';
|
|
6
|
+
import { useElementBounding, useWindowSize } from '@vueuse/core';
|
|
6
7
|
import { operateButtonProps } from '../operateButton/operateButton.mjs';
|
|
7
8
|
import TableOperateVNodeRenderer from './TableOperateVNodeRenderer.mjs';
|
|
8
9
|
import TableColumnVNodeRenderer from './TableColumnVNodeRenderer.mjs';
|
|
@@ -10,7 +11,7 @@ import { tableProProps, tableProEmits } from './tablePro.mjs';
|
|
|
10
11
|
import { getVnodesByGmName } from './tableHelper.mjs';
|
|
11
12
|
import { TableColumnProName, tableColumnProProps } from './tableColumnPro/tableColumnPro.mjs';
|
|
12
13
|
|
|
13
|
-
const _withScopeId = (n) => (pushScopeId("data-v-
|
|
14
|
+
const _withScopeId = (n) => (pushScopeId("data-v-c9e8b4e4"), n = n(), popScopeId(), n);
|
|
14
15
|
const _hoisted_1 = { class: "gm-text-center" };
|
|
15
16
|
const _hoisted_2 = {
|
|
16
17
|
key: 0,
|
|
@@ -29,6 +30,10 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
29
30
|
setup(__props, { expose: __expose, emit: __emit }) {
|
|
30
31
|
const tableCtx = inject(TableCtxKey);
|
|
31
32
|
const props = __props;
|
|
33
|
+
const gmTableDivRef = ref();
|
|
34
|
+
const { top: divTop } = useElementBounding(gmTableDivRef);
|
|
35
|
+
const { height: windowHeight } = useWindowSize();
|
|
36
|
+
const tableMaxHeight = computed(() => Math.floor(windowHeight.value - divTop.value - 60));
|
|
32
37
|
const GmTbaleRef = ref();
|
|
33
38
|
if (tableCtx && tableCtx.tableId === props.page) {
|
|
34
39
|
tableCtx.tableRef = GmTbaleRef;
|
|
@@ -165,85 +170,95 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
165
170
|
Fragment,
|
|
166
171
|
null,
|
|
167
172
|
[
|
|
168
|
-
createElementVNode(
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
ref_key: "
|
|
172
|
-
ref:
|
|
173
|
-
},
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
173
|
+
createElementVNode(
|
|
174
|
+
"div",
|
|
175
|
+
{
|
|
176
|
+
ref_key: "gmTableDivRef",
|
|
177
|
+
ref: gmTableDivRef
|
|
178
|
+
},
|
|
179
|
+
[
|
|
180
|
+
gmTableHeaderRef.value?.isInited ? (openBlock(), createBlock(_component_gm_table, mergeProps({
|
|
181
|
+
key: 0,
|
|
182
|
+
ref_key: "GmTbaleRef",
|
|
183
|
+
ref: GmTbaleRef
|
|
184
|
+
}, props, {
|
|
185
|
+
height: _ctx.autoHeight ? tableMaxHeight.value : _ctx.height,
|
|
186
|
+
border: "",
|
|
187
|
+
class: ["gmTablePro", [props.border ? "" : "gmTableNoBorder"]]
|
|
188
|
+
}, toHandlers(unref(elEvents)), {
|
|
189
|
+
onSelectionChange: _cache[2] || (_cache[2] = (value) => _ctx.$emit("selection-change", value)),
|
|
190
|
+
onSortChange: handleSortChange,
|
|
191
|
+
onHeaderDragend: headerDragend
|
|
192
|
+
}), {
|
|
193
|
+
default: withCtx(() => [
|
|
194
|
+
createCommentVNode(' <template #empty>\r\n <gm-empty image="https://thirdorder.giikin.com/third/20240601/3c5850781351121f81b9e21ec7e75a204898949.png" />\r\n </template> '),
|
|
195
|
+
props.selection ? (openBlock(), createBlock(_component_gm_table_column, {
|
|
196
|
+
key: 999999,
|
|
197
|
+
type: "selection",
|
|
198
|
+
width: "50"
|
|
199
|
+
})) : createCommentVNode("v-if", true),
|
|
200
|
+
createVNode(unref(TableColumnVNodeRenderer), {
|
|
201
|
+
vnode: tableColumnVnode.value,
|
|
202
|
+
propsList: colPropsList.value
|
|
203
|
+
}, null, 8, ["vnode", "propsList"]),
|
|
204
|
+
createCommentVNode(" \u64CD\u4F5C "),
|
|
205
|
+
_ctx.customHeader || _ctx.customOperate ? (openBlock(), createBlock(_component_gm_table_column, {
|
|
206
|
+
key: 1,
|
|
207
|
+
prop: "gmEdit",
|
|
208
|
+
"min-width": "100",
|
|
209
|
+
width: editProps.value?.width,
|
|
210
|
+
fixed: _ctx.operateFixed ? "right" : false
|
|
211
|
+
}, {
|
|
212
|
+
header: withCtx(() => [
|
|
213
|
+
createElementVNode("div", _hoisted_1, [
|
|
214
|
+
_ctx.customHeader ? (openBlock(), createBlock(_component_gm_button, {
|
|
215
|
+
key: 0,
|
|
216
|
+
type: "primary",
|
|
217
|
+
link: "",
|
|
218
|
+
size: "small",
|
|
219
|
+
onClick: _cache[0] || (_cache[0] = ($event) => setTable("header"))
|
|
220
|
+
}, {
|
|
221
|
+
default: withCtx(() => [
|
|
222
|
+
createTextVNode(" \u8868\u5934 ")
|
|
223
|
+
]),
|
|
224
|
+
_: 1
|
|
225
|
+
/* STABLE */
|
|
226
|
+
})) : createCommentVNode("v-if", true),
|
|
227
|
+
_ctx.customOperate ? (openBlock(), createBlock(_component_gm_button, {
|
|
228
|
+
key: 1,
|
|
229
|
+
type: "primary",
|
|
230
|
+
link: "",
|
|
231
|
+
size: "small",
|
|
232
|
+
onClick: _cache[1] || (_cache[1] = ($event) => setTable("operate"))
|
|
233
|
+
}, {
|
|
234
|
+
default: withCtx(() => [
|
|
235
|
+
createTextVNode(" \u64CD\u4F5C ")
|
|
236
|
+
]),
|
|
237
|
+
_: 1
|
|
238
|
+
/* STABLE */
|
|
239
|
+
})) : createCommentVNode("v-if", true)
|
|
240
|
+
])
|
|
241
|
+
]),
|
|
242
|
+
default: withCtx((slotValue) => [
|
|
243
|
+
createCommentVNode(' <div\r\n v-if="\r\n tableOperateVnode &&\r\n tableOperateVnode.children &&\r\n gmCustomOperationsRef &&\r\n gmCustomOperationsRef.isInited &&\r\n slotValue &&\r\n slotValue.row &&\r\n tableOperateVnode.children?.default(slotValue) &&\r\n customBtnPropsList\r\n "\r\n >\r\n <TableProEditSlot\r\n v-model:customBtnPropsList="customBtnPropsList"\r\n v-model:customDefaultPropsList="customDefaultPropsList"\r\n :tableOperateVnode="tableOperateVnode"\r\n :isInited="gmCustomOperationsRef?.isInited"\r\n :slotValue="slotValue"\r\n />\r\n </div> '),
|
|
244
|
+
tableOperateVnode.value && tableOperateVnode.value.children && gmCustomOperationsRef.value && gmCustomOperationsRef.value.isInited && slotValue && slotValue.row && tableOperateVnode.value.children?.default(slotValue) && customBtnPropsList.value ? (openBlock(), createElementBlock("div", _hoisted_2, [
|
|
245
|
+
createVNode(unref(TableOperateVNodeRenderer), {
|
|
246
|
+
vnode: tableOperateVnode.value.children?.default(slotValue),
|
|
247
|
+
customPropsList: customBtnPropsList.value
|
|
248
|
+
}, null, 8, ["vnode", "customPropsList"])
|
|
249
|
+
])) : createCommentVNode("v-if", true)
|
|
250
|
+
]),
|
|
251
|
+
_: 1
|
|
252
|
+
/* STABLE */
|
|
253
|
+
}, 8, ["width", "fixed"])) : createCommentVNode("v-if", true)
|
|
254
|
+
]),
|
|
255
|
+
_: 1
|
|
256
|
+
/* STABLE */
|
|
257
|
+
}, 16, ["height", "class"])) : createCommentVNode("v-if", true)
|
|
258
|
+
],
|
|
259
|
+
512
|
|
260
|
+
/* NEED_PATCH */
|
|
261
|
+
),
|
|
247
262
|
createVNode(_component_gm_table_header_form, {
|
|
248
263
|
ref_key: "gmTableHeaderRef",
|
|
249
264
|
ref: gmTableHeaderRef,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TablePro.vue2.mjs","sources":["../../../../../../../packages/components/src/composite/tablePro/TablePro.vue"],"sourcesContent":["<template>\r\n <div>\r\n <gm-table\r\n v-if=\"gmTableHeaderRef?.isInited\"\r\n ref=\"GmTbaleRef\"\r\n v-bind=\"props\"\r\n border\r\n class=\"gmTablePro\"\r\n :class=\"[props.border ? '' : 'gmTableNoBorder']\"\r\n v-on=\"elEvents\"\r\n @selection-change=\"(value: TableColumnProProps[]) => $emit('selection-change', value)\"\r\n @sort-change=\"handleSortChange\"\r\n @header-dragend=\"headerDragend\"\r\n >\r\n <!-- <template #empty>\r\n <gm-empty image=\"https://thirdorder.giikin.com/third/20240601/3c5850781351121f81b9e21ec7e75a204898949.png\" />\r\n </template> -->\r\n <template v-if=\"props.selection\">\r\n <gm-table-column :key=\"999999\" type=\"selection\" width=\"50\" />\r\n </template>\r\n <TableColumnVNodeRenderer :vnode=\"tableColumnVnode\" :propsList=\"colPropsList\" />\r\n <!-- 操作 -->\r\n <gm-table-column\r\n v-if=\"customHeader || customOperate\"\r\n prop=\"gmEdit\"\r\n min-width=\"100\"\r\n :width=\"editProps?.width\"\r\n :fixed=\"operateFixed ? 'right' : false\"\r\n >\r\n <template #header>\r\n <div class=\"gm-text-center\">\r\n <gm-button v-if=\"customHeader\" type=\"primary\" link size=\"small\" @click=\"setTable('header')\"> 表头 </gm-button>\r\n <gm-button v-if=\"customOperate\" type=\"primary\" link size=\"small\" @click=\"setTable('operate')\"> 操作 </gm-button>\r\n </div>\r\n </template>\r\n <template #default=\"slotValue\">\r\n <!-- <div\r\n v-if=\"\r\n tableOperateVnode &&\r\n tableOperateVnode.children &&\r\n gmCustomOperationsRef &&\r\n gmCustomOperationsRef.isInited &&\r\n slotValue &&\r\n slotValue.row &&\r\n tableOperateVnode.children?.default(slotValue) &&\r\n customBtnPropsList\r\n \"\r\n >\r\n <TableProEditSlot\r\n v-model:customBtnPropsList=\"customBtnPropsList\"\r\n v-model:customDefaultPropsList=\"customDefaultPropsList\"\r\n :tableOperateVnode=\"tableOperateVnode\"\r\n :isInited=\"gmCustomOperationsRef?.isInited\"\r\n :slotValue=\"slotValue\"\r\n />\r\n </div> -->\r\n <div\r\n v-if=\"\r\n tableOperateVnode &&\r\n tableOperateVnode.children &&\r\n gmCustomOperationsRef &&\r\n gmCustomOperationsRef.isInited &&\r\n slotValue &&\r\n slotValue.row &&\r\n tableOperateVnode.children?.default(slotValue) &&\r\n customBtnPropsList\r\n \"\r\n class=\"gm-flex gm-flex-wrap gm-justify-center\"\r\n >\r\n <TableOperateVNodeRenderer :vnode=\"tableOperateVnode.children?.default(slotValue)\" :customPropsList=\"customBtnPropsList\" />\r\n </div>\r\n </template>\r\n </gm-table-column>\r\n </gm-table>\r\n </div>\r\n\r\n <gm-table-header-form\r\n ref=\"gmTableHeaderRef\"\r\n v-model:isShowDrawer=\"drawerHeaderVisible\"\r\n v-model:colPropsList=\"colPropsList\"\r\n :colDefaultPropsList=\"colDefaultPropsList\"\r\n :keyWord=\"props.page\"\r\n type=\"HeaderList\"\r\n />\r\n\r\n <gm-operate-button-form\r\n ref=\"gmCustomOperationsRef\"\r\n v-model:isShowDrawer=\"drawerOperateVisible\"\r\n v-model:customBtnPropsList=\"customBtnPropsList\"\r\n :customDefaultPropsList=\"customDefaultPropsList\"\r\n :keyWord=\"props.page\"\r\n type=\"OperateList\"\r\n />\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { computed, inject, nextTick, ref } from 'vue';\r\nimport { hasOwn } from '@giime/utils/src/objects';\r\nimport { getGmExports } from '@giime/utils/src/elementPlus/exports';\r\nimport { getGmEvent } from '@giime/utils/src/elementPlus/event';\r\nimport { TableCtxKey } from '@giime/constants/table';\r\nimport { operateButtonProps } from '../operateButton/operateButton';\r\n// import TableProEditSlot from './TableProEditSlot.vue';\r\n// import { cloneDeep } from 'lodash-es';\r\nimport TableOperateVNodeRenderer from './TableOperateVNodeRenderer';\r\nimport TableColumnVNodeRenderer from './TableColumnVNodeRenderer';\r\nimport { tableProEmits, tableProProps } from './tablePro';\r\nimport { getVnodesByGmName } from './tableHelper';\r\nimport { TableColumnProName, type TableColumnProProps, tableColumnProProps } from './tableColumnPro/tableColumnPro';\r\nimport type { TableProSortValue } from './tablePro';\r\nimport type { OperateButtonFormInstance } from '../operateButton/operateButtonForm';\r\nimport type { TableHeaderFormInstance } from './tableHeaderForm';\r\nimport type { OperateButtonProps } from '../operateButton/operateButton';\r\nimport type { Sort, TableInstance } from 'element-plus';\r\n\r\ndefineOptions({\r\n name: 'GmTablePro',\r\n});\r\nconst tableCtx = inject(TableCtxKey);\r\nconst props = defineProps(tableProProps);\r\n\r\nconst GmTbaleRef = ref<TableInstance>();\r\nif (tableCtx && tableCtx.tableId === props.page) {\r\n tableCtx.tableRef = GmTbaleRef;\r\n}\r\nconst gmCustomOperationsRef = ref<OperateButtonFormInstance>();\r\nconst gmTableHeaderRef = ref<TableHeaderFormInstance>();\r\n\r\nconst emit = defineEmits(tableProEmits);\r\n// 需要手动重新实现的事件\r\nconst notResendEvents = ['sort-change', 'header-dragend', 'selection-change'];\r\nconst resendEvent = { ...tableProEmits };\r\nnotResendEvents.forEach(it => Reflect.deleteProperty(resendEvent, it));\r\n// 重发el的事件\r\nconst elEvents = getGmEvent(resendEvent, emit);\r\nconst slots = defineSlots<{\r\n default(data?: any): any[];\r\n}>();\r\n// 列 当前原始vnode\r\nconst tableColumnVnode = computed(() => {\r\n const vNodes = slots.default?.() || [];\r\n // const nodes = vNodes.filter(vNode => vNode.props && vNode.props.type !== 'edit');\r\n return vNodes;\r\n});\r\n// 默认表头Props列表\r\nconst colDefaultPropsList = computed(() => {\r\n const vNodes = slots.default?.() || [];\r\n const children = getVnodesByGmName(vNodes, TableColumnProName);\r\n // const result = children.filter(vNode => vNode.props && vNode.props.type !== 'edit');\r\n\r\n const colProps: TableColumnProProps[] = children.map((vNode: { props: any }) => vNode.props) ?? [];\r\n // 循环插入props所需的默认值\r\n colProps.forEach(it => {\r\n for (const key in tableColumnProProps) {\r\n // 如果当前props含有默认值\r\n if (hasOwn(it, key)) {\r\n continue;\r\n }\r\n if (hasOwn(tableColumnProProps, key)) {\r\n const element = tableColumnProProps[key as keyof TableColumnProProps];\r\n // 如果btn 定义中含有默认值 则赋值给props\r\n if (hasOwn(element, 'default')) {\r\n Reflect.set(it, key, Reflect.get(element, 'default'));\r\n }\r\n }\r\n }\r\n });\r\n return colProps;\r\n});\r\n// 已选中表头\r\nconst colPropsList = ref<TableColumnProProps[]>(colDefaultPropsList.value);\r\nconst editProps = computed(() => colPropsList.value.find(it => it.type === 'edit'));\r\n\r\n// 操作按钮组 当前原始vnode\r\nconst tableOperateVnode = computed(() => {\r\n const vNodes = slots.default?.() || [];\r\n const nodes = vNodes.find(vNode => vNode.props && vNode.props.type === 'edit');\r\n return nodes;\r\n});\r\n\r\nconst customDefaultPropsList = computed(() => {\r\n const defaultVnodes = tableOperateVnode.value?.children?.default?.({ row: {} });\r\n if (Array.isArray(defaultVnodes) && defaultVnodes.some(it => it?.children === 'v-if')) {\r\n console.error(`警告:为确保表格操作按钮能正常渲染,请把表格${props.page}操作按钮中使用的\"v-if\"替换为\"v-see\"`);\r\n }\r\n const children = getVnodesByGmName(defaultVnodes, 'GmOperateButton');\r\n const btnProps: OperateButtonProps[] = children.map((vNode: { props: any }) => vNode.props) ?? [];\r\n // console.log(btnProps);\r\n // 循环插入props所需的默认值\r\n btnProps.forEach(it => {\r\n for (const key in operateButtonProps) {\r\n // 如果当前props含有默认值\r\n if (hasOwn(it, key)) {\r\n continue;\r\n }\r\n if (hasOwn(operateButtonProps, key)) {\r\n const element = operateButtonProps[key as keyof OperateButtonProps];\r\n // 如果btn 定义中含有默认值 则赋值给props\r\n if (hasOwn(element, 'default')) {\r\n Reflect.set(it, key, Reflect.get(element, 'default'));\r\n }\r\n }\r\n }\r\n });\r\n // console.log(btnProps)\r\n return btnProps;\r\n});\r\n// customDefaultPropsList2();\r\n// const customDefaultPropsList = ref<OperateButtonProps[]>([]);\r\nconst customBtnPropsList = ref<OperateButtonProps[]>(customDefaultPropsList.value);\r\n\r\n// 表格头部弹层\r\nconst drawerHeaderVisible = ref(false); // 表头设置弹层\r\nconst drawerOperateVisible = ref(false); // 按钮设置弹层\r\nconst setTable = (event: string) => {\r\n if (event === 'header') {\r\n drawerHeaderVisible.value = true;\r\n }\r\n if (event === 'operate') {\r\n drawerOperateVisible.value = true;\r\n }\r\n};\r\n\r\n/**\r\n * 表头拖动,修改width\r\n */\r\nconst headerDragend = async (newWidth: number, oldWidth: number, column: any) => {\r\n const findItem = colPropsList.value.find(it => it.prop === column.property);\r\n const editItem = column.property === 'gmEdit' ? colPropsList.value.find(it => it.type === 'edit') : null;\r\n if (!findItem && !editItem) {\r\n return;\r\n }\r\n if (findItem) {\r\n findItem.width = newWidth;\r\n }\r\n if (editItem) {\r\n editItem.width = newWidth;\r\n }\r\n // 设置列宽\r\n await nextTick();\r\n gmTableHeaderRef.value?.submitSettings({ hiddenMessage: true });\r\n};\r\n/**\r\n * 搜索模块\r\n */\r\nconst sortValue = defineModel<TableProSortValue[]>('sortValue');\r\n\r\nconst handleSortChange = (sort: Sort) => {\r\n if (sortValue.value) {\r\n sortValue.value.length = 0;\r\n switch (sort.order) {\r\n case 'ascending':\r\n sortValue.value.push({ field: sort.prop, order: 'asc' });\r\n break;\r\n case 'descending':\r\n sortValue.value.push({ field: sort.prop, order: 'desc' });\r\n break;\r\n }\r\n }\r\n\r\n emit('sort-change', sort);\r\n};\r\nconst exposeEvents = [\r\n 'clearSelection',\r\n 'getSelectionRows',\r\n 'toggleRowSelection',\r\n 'toggleAllSelection',\r\n 'toggleRowExpansion',\r\n 'setCurrentRow',\r\n 'setChecked',\r\n 'clearSort',\r\n 'clearFilter',\r\n 'doLayout',\r\n 'sort',\r\n 'scrollTo',\r\n 'setScrollTop',\r\n 'setScrollLeft',\r\n] as const;\r\nconst { exposeFns } = getGmExports(GmTbaleRef, exposeEvents);\r\ndefineExpose({\r\n colPropsList,\r\n ...exposeFns,\r\n});\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n:deep(.gmTableNoBorder .el-table__body .el-table__cell) {\r\n border-right: none;\r\n}\r\n:deep(.gmTableNoBorder .el-table__inner-wrapper:before) {\r\n height: 0;\r\n}\r\n:deep(.gmTableNoBorder.el-table--border .el-table__inner-wrapper:after) {\r\n height: 0;\r\n}\r\n:deep(.gmTableNoBorder.el-table--border:after) {\r\n height: 0;\r\n}\r\n:deep(.gmTableNoBorder.el-table--border:before) {\r\n height: 0;\r\n}\r\n:deep(.gmTableNoBorder .el-table__border-left-patch) {\r\n height: 0;\r\n}\r\n</style>\r\n"],"names":["_useSlots","_useModel"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TablePro.vue2.mjs","sources":["../../../../../../../packages/components/src/composite/tablePro/TablePro.vue"],"sourcesContent":["<template>\r\n <div ref=\"gmTableDivRef\">\r\n <gm-table\r\n v-if=\"gmTableHeaderRef?.isInited\"\r\n ref=\"GmTbaleRef\"\r\n v-bind=\"props\"\r\n :height=\"autoHeight ? tableMaxHeight : height\"\r\n border\r\n class=\"gmTablePro\"\r\n :class=\"[props.border ? '' : 'gmTableNoBorder']\"\r\n v-on=\"elEvents\"\r\n @selection-change=\"(value: TableColumnProProps[]) => $emit('selection-change', value)\"\r\n @sort-change=\"handleSortChange\"\r\n @header-dragend=\"headerDragend\"\r\n >\r\n <!-- <template #empty>\r\n <gm-empty image=\"https://thirdorder.giikin.com/third/20240601/3c5850781351121f81b9e21ec7e75a204898949.png\" />\r\n </template> -->\r\n <template v-if=\"props.selection\">\r\n <gm-table-column :key=\"999999\" type=\"selection\" width=\"50\" />\r\n </template>\r\n <TableColumnVNodeRenderer :vnode=\"tableColumnVnode\" :propsList=\"colPropsList\" />\r\n <!-- 操作 -->\r\n <gm-table-column\r\n v-if=\"customHeader || customOperate\"\r\n prop=\"gmEdit\"\r\n min-width=\"100\"\r\n :width=\"editProps?.width\"\r\n :fixed=\"operateFixed ? 'right' : false\"\r\n >\r\n <template #header>\r\n <div class=\"gm-text-center\">\r\n <gm-button v-if=\"customHeader\" type=\"primary\" link size=\"small\" @click=\"setTable('header')\"> 表头 </gm-button>\r\n <gm-button v-if=\"customOperate\" type=\"primary\" link size=\"small\" @click=\"setTable('operate')\"> 操作 </gm-button>\r\n </div>\r\n </template>\r\n <template #default=\"slotValue\">\r\n <!-- <div\r\n v-if=\"\r\n tableOperateVnode &&\r\n tableOperateVnode.children &&\r\n gmCustomOperationsRef &&\r\n gmCustomOperationsRef.isInited &&\r\n slotValue &&\r\n slotValue.row &&\r\n tableOperateVnode.children?.default(slotValue) &&\r\n customBtnPropsList\r\n \"\r\n >\r\n <TableProEditSlot\r\n v-model:customBtnPropsList=\"customBtnPropsList\"\r\n v-model:customDefaultPropsList=\"customDefaultPropsList\"\r\n :tableOperateVnode=\"tableOperateVnode\"\r\n :isInited=\"gmCustomOperationsRef?.isInited\"\r\n :slotValue=\"slotValue\"\r\n />\r\n </div> -->\r\n <div\r\n v-if=\"\r\n tableOperateVnode &&\r\n tableOperateVnode.children &&\r\n gmCustomOperationsRef &&\r\n gmCustomOperationsRef.isInited &&\r\n slotValue &&\r\n slotValue.row &&\r\n tableOperateVnode.children?.default(slotValue) &&\r\n customBtnPropsList\r\n \"\r\n class=\"gm-flex gm-flex-wrap gm-justify-center\"\r\n >\r\n <TableOperateVNodeRenderer :vnode=\"tableOperateVnode.children?.default(slotValue)\" :customPropsList=\"customBtnPropsList\" />\r\n </div>\r\n </template>\r\n </gm-table-column>\r\n </gm-table>\r\n </div>\r\n\r\n <gm-table-header-form\r\n ref=\"gmTableHeaderRef\"\r\n v-model:isShowDrawer=\"drawerHeaderVisible\"\r\n v-model:colPropsList=\"colPropsList\"\r\n :colDefaultPropsList=\"colDefaultPropsList\"\r\n :keyWord=\"props.page\"\r\n type=\"HeaderList\"\r\n />\r\n\r\n <gm-operate-button-form\r\n ref=\"gmCustomOperationsRef\"\r\n v-model:isShowDrawer=\"drawerOperateVisible\"\r\n v-model:customBtnPropsList=\"customBtnPropsList\"\r\n :customDefaultPropsList=\"customDefaultPropsList\"\r\n :keyWord=\"props.page\"\r\n type=\"OperateList\"\r\n />\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { computed, inject, nextTick, ref } from 'vue';\r\nimport { hasOwn } from '@giime/utils/src/objects';\r\nimport { getGmExports } from '@giime/utils/src/elementPlus/exports';\r\nimport { getGmEvent } from '@giime/utils/src/elementPlus/event';\r\nimport { TableCtxKey } from '@giime/constants/table';\r\nimport { useElementBounding, useWindowSize } from '@vueuse/core';\r\nimport { operateButtonProps } from '../operateButton/operateButton';\r\n// import TableProEditSlot from './TableProEditSlot.vue';\r\n// import { cloneDeep } from 'lodash-es';\r\nimport TableOperateVNodeRenderer from './TableOperateVNodeRenderer';\r\nimport TableColumnVNodeRenderer from './TableColumnVNodeRenderer';\r\nimport { tableProEmits, tableProProps } from './tablePro';\r\nimport { getVnodesByGmName } from './tableHelper';\r\nimport { TableColumnProName, type TableColumnProProps, tableColumnProProps } from './tableColumnPro/tableColumnPro';\r\nimport type { TableProSortValue } from './tablePro';\r\nimport type { OperateButtonFormInstance } from '../operateButton/operateButtonForm';\r\nimport type { TableHeaderFormInstance } from './tableHeaderForm';\r\nimport type { OperateButtonProps } from '../operateButton/operateButton';\r\nimport type { Sort, TableInstance } from 'element-plus';\r\n\r\ndefineOptions({\r\n name: 'GmTablePro',\r\n});\r\nconst tableCtx = inject(TableCtxKey);\r\nconst props = defineProps(tableProProps);\r\nconst gmTableDivRef = ref<HTMLDivElement>();\r\n// 用于计算table高度\r\nconst { top: divTop } = useElementBounding(gmTableDivRef);\r\nconst { height: windowHeight } = useWindowSize();\r\nconst tableMaxHeight = computed(() => Math.floor(windowHeight.value - divTop.value - 60)); // 高度 - 顶部距离 - 分页器116\r\nconst GmTbaleRef = ref<TableInstance>();\r\nif (tableCtx && tableCtx.tableId === props.page) {\r\n tableCtx.tableRef = GmTbaleRef;\r\n}\r\nconst gmCustomOperationsRef = ref<OperateButtonFormInstance>();\r\nconst gmTableHeaderRef = ref<TableHeaderFormInstance>();\r\n\r\nconst emit = defineEmits(tableProEmits);\r\n// 需要手动重新实现的事件\r\nconst notResendEvents = ['sort-change', 'header-dragend', 'selection-change'];\r\nconst resendEvent = { ...tableProEmits };\r\nnotResendEvents.forEach(it => Reflect.deleteProperty(resendEvent, it));\r\n// 重发el的事件\r\nconst elEvents = getGmEvent(resendEvent, emit);\r\nconst slots = defineSlots<{\r\n default(data?: any): any[];\r\n}>();\r\n// 列 当前原始vnode\r\nconst tableColumnVnode = computed(() => {\r\n const vNodes = slots.default?.() || [];\r\n // const nodes = vNodes.filter(vNode => vNode.props && vNode.props.type !== 'edit');\r\n return vNodes;\r\n});\r\n// 默认表头Props列表\r\nconst colDefaultPropsList = computed(() => {\r\n const vNodes = slots.default?.() || [];\r\n const children = getVnodesByGmName(vNodes, TableColumnProName);\r\n // const result = children.filter(vNode => vNode.props && vNode.props.type !== 'edit');\r\n\r\n const colProps: TableColumnProProps[] = children.map((vNode: { props: any }) => vNode.props) ?? [];\r\n // 循环插入props所需的默认值\r\n colProps.forEach(it => {\r\n for (const key in tableColumnProProps) {\r\n // 如果当前props含有默认值\r\n if (hasOwn(it, key)) {\r\n continue;\r\n }\r\n if (hasOwn(tableColumnProProps, key)) {\r\n const element = tableColumnProProps[key as keyof TableColumnProProps];\r\n // 如果btn 定义中含有默认值 则赋值给props\r\n if (hasOwn(element, 'default')) {\r\n Reflect.set(it, key, Reflect.get(element, 'default'));\r\n }\r\n }\r\n }\r\n });\r\n return colProps;\r\n});\r\n// 已选中表头\r\nconst colPropsList = ref<TableColumnProProps[]>(colDefaultPropsList.value);\r\nconst editProps = computed(() => colPropsList.value.find(it => it.type === 'edit'));\r\n\r\n// 操作按钮组 当前原始vnode\r\nconst tableOperateVnode = computed(() => {\r\n const vNodes = slots.default?.() || [];\r\n const nodes = vNodes.find(vNode => vNode.props && vNode.props.type === 'edit');\r\n return nodes;\r\n});\r\n\r\nconst customDefaultPropsList = computed(() => {\r\n const defaultVnodes = tableOperateVnode.value?.children?.default?.({ row: {} });\r\n if (Array.isArray(defaultVnodes) && defaultVnodes.some(it => it?.children === 'v-if')) {\r\n console.error(`警告:为确保表格操作按钮能正常渲染,请把表格${props.page}操作按钮中使用的\"v-if\"替换为\"v-see\"`);\r\n }\r\n const children = getVnodesByGmName(defaultVnodes, 'GmOperateButton');\r\n const btnProps: OperateButtonProps[] = children.map((vNode: { props: any }) => vNode.props) ?? [];\r\n // console.log(btnProps);\r\n // 循环插入props所需的默认值\r\n btnProps.forEach(it => {\r\n for (const key in operateButtonProps) {\r\n // 如果当前props含有默认值\r\n if (hasOwn(it, key)) {\r\n continue;\r\n }\r\n if (hasOwn(operateButtonProps, key)) {\r\n const element = operateButtonProps[key as keyof OperateButtonProps];\r\n // 如果btn 定义中含有默认值 则赋值给props\r\n if (hasOwn(element, 'default')) {\r\n Reflect.set(it, key, Reflect.get(element, 'default'));\r\n }\r\n }\r\n }\r\n });\r\n // console.log(btnProps)\r\n return btnProps;\r\n});\r\n// customDefaultPropsList2();\r\n// const customDefaultPropsList = ref<OperateButtonProps[]>([]);\r\nconst customBtnPropsList = ref<OperateButtonProps[]>(customDefaultPropsList.value);\r\n\r\n// 表格头部弹层\r\nconst drawerHeaderVisible = ref(false); // 表头设置弹层\r\nconst drawerOperateVisible = ref(false); // 按钮设置弹层\r\nconst setTable = (event: string) => {\r\n if (event === 'header') {\r\n drawerHeaderVisible.value = true;\r\n }\r\n if (event === 'operate') {\r\n drawerOperateVisible.value = true;\r\n }\r\n};\r\n\r\n/**\r\n * 表头拖动,修改width\r\n */\r\nconst headerDragend = async (newWidth: number, oldWidth: number, column: any) => {\r\n const findItem = colPropsList.value.find(it => it.prop === column.property);\r\n const editItem = column.property === 'gmEdit' ? colPropsList.value.find(it => it.type === 'edit') : null;\r\n if (!findItem && !editItem) {\r\n return;\r\n }\r\n if (findItem) {\r\n findItem.width = newWidth;\r\n }\r\n if (editItem) {\r\n editItem.width = newWidth;\r\n }\r\n // 设置列宽\r\n await nextTick();\r\n gmTableHeaderRef.value?.submitSettings({ hiddenMessage: true });\r\n};\r\n/**\r\n * 搜索模块\r\n */\r\nconst sortValue = defineModel<TableProSortValue[]>('sortValue');\r\n\r\nconst handleSortChange = (sort: Sort) => {\r\n if (sortValue.value) {\r\n sortValue.value.length = 0;\r\n switch (sort.order) {\r\n case 'ascending':\r\n sortValue.value.push({ field: sort.prop, order: 'asc' });\r\n break;\r\n case 'descending':\r\n sortValue.value.push({ field: sort.prop, order: 'desc' });\r\n break;\r\n }\r\n }\r\n\r\n emit('sort-change', sort);\r\n};\r\nconst exposeEvents = [\r\n 'clearSelection',\r\n 'getSelectionRows',\r\n 'toggleRowSelection',\r\n 'toggleAllSelection',\r\n 'toggleRowExpansion',\r\n 'setCurrentRow',\r\n 'setChecked',\r\n 'clearSort',\r\n 'clearFilter',\r\n 'doLayout',\r\n 'sort',\r\n 'scrollTo',\r\n 'setScrollTop',\r\n 'setScrollLeft',\r\n] as const;\r\nconst { exposeFns } = getGmExports(GmTbaleRef, exposeEvents);\r\ndefineExpose({\r\n colPropsList,\r\n ...exposeFns,\r\n});\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n:deep(.gmTableNoBorder .el-table__body .el-table__cell) {\r\n border-right: none;\r\n}\r\n:deep(.gmTableNoBorder .el-table__inner-wrapper:before) {\r\n height: 0;\r\n}\r\n:deep(.gmTableNoBorder.el-table--border .el-table__inner-wrapper:after) {\r\n height: 0;\r\n}\r\n:deep(.gmTableNoBorder.el-table--border:after) {\r\n height: 0;\r\n}\r\n:deep(.gmTableNoBorder.el-table--border:before) {\r\n height: 0;\r\n}\r\n:deep(.gmTableNoBorder .el-table__border-left-patch) {\r\n height: 0;\r\n}\r\n</style>\r\n"],"names":["_useSlots","_useModel"],"mappings":"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"}
|
|
@@ -37,6 +37,10 @@ export declare const GmTablePro: import("../../../../utils").SFCWithInstall<{
|
|
|
37
37
|
type: StringConstructor;
|
|
38
38
|
required: true;
|
|
39
39
|
};
|
|
40
|
+
autoHeight: {
|
|
41
|
+
type: BooleanConstructor;
|
|
42
|
+
default: boolean;
|
|
43
|
+
};
|
|
40
44
|
tableId: {
|
|
41
45
|
type: StringConstructor;
|
|
42
46
|
};
|
|
@@ -372,6 +376,10 @@ export declare const GmTablePro: import("../../../../utils").SFCWithInstall<{
|
|
|
372
376
|
type: StringConstructor;
|
|
373
377
|
required: true;
|
|
374
378
|
};
|
|
379
|
+
autoHeight: {
|
|
380
|
+
type: BooleanConstructor;
|
|
381
|
+
default: boolean;
|
|
382
|
+
};
|
|
375
383
|
tableId: {
|
|
376
384
|
type: StringConstructor;
|
|
377
385
|
};
|
|
@@ -504,6 +512,7 @@ export declare const GmTablePro: import("../../../../utils").SFCWithInstall<{
|
|
|
504
512
|
customOperate: boolean;
|
|
505
513
|
operateWidth: number;
|
|
506
514
|
operateFixed: boolean;
|
|
515
|
+
autoHeight: boolean;
|
|
507
516
|
}, true, {}, {}, {
|
|
508
517
|
P: {};
|
|
509
518
|
B: {};
|
|
@@ -548,6 +557,10 @@ export declare const GmTablePro: import("../../../../utils").SFCWithInstall<{
|
|
|
548
557
|
type: StringConstructor;
|
|
549
558
|
required: true;
|
|
550
559
|
};
|
|
560
|
+
autoHeight: {
|
|
561
|
+
type: BooleanConstructor;
|
|
562
|
+
default: boolean;
|
|
563
|
+
};
|
|
551
564
|
tableId: {
|
|
552
565
|
type: StringConstructor;
|
|
553
566
|
};
|
|
@@ -853,6 +866,7 @@ export declare const GmTablePro: import("../../../../utils").SFCWithInstall<{
|
|
|
853
866
|
customOperate: boolean;
|
|
854
867
|
operateWidth: number;
|
|
855
868
|
operateFixed: boolean;
|
|
869
|
+
autoHeight: boolean;
|
|
856
870
|
}>;
|
|
857
871
|
__isFragment?: undefined;
|
|
858
872
|
__isTeleport?: undefined;
|
|
@@ -894,6 +908,10 @@ export declare const GmTablePro: import("../../../../utils").SFCWithInstall<{
|
|
|
894
908
|
type: StringConstructor;
|
|
895
909
|
required: true;
|
|
896
910
|
};
|
|
911
|
+
autoHeight: {
|
|
912
|
+
type: BooleanConstructor;
|
|
913
|
+
default: boolean;
|
|
914
|
+
};
|
|
897
915
|
tableId: {
|
|
898
916
|
type: StringConstructor;
|
|
899
917
|
};
|
|
@@ -1219,6 +1237,7 @@ export declare const GmTablePro: import("../../../../utils").SFCWithInstall<{
|
|
|
1219
1237
|
customOperate: boolean;
|
|
1220
1238
|
operateWidth: number;
|
|
1221
1239
|
operateFixed: boolean;
|
|
1240
|
+
autoHeight: boolean;
|
|
1222
1241
|
}, {}, string, {}> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new () => {
|
|
1223
1242
|
$slots: Readonly<{
|
|
1224
1243
|
default(data?: any): any[];
|
|
@@ -2,7 +2,7 @@ import _sfc_main from './TablePagination.vue2.mjs';
|
|
|
2
2
|
import './TablePagination.vue3.mjs';
|
|
3
3
|
import _export_sfc from '../../../../../_virtual/_plugin-vue_export-helper.mjs';
|
|
4
4
|
|
|
5
|
-
var TablePagination = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-
|
|
5
|
+
var TablePagination = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-c628ba24"], ["__file", "TablePagination.vue"]]);
|
|
6
6
|
|
|
7
7
|
export { TablePagination as default };
|
|
8
8
|
//# sourceMappingURL=TablePagination.vue.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TablePagination.vue2.mjs","sources":["../../../../../../../../packages/components/src/composite/tablePro/tablePagination/TablePagination.vue"],"sourcesContent":["<template>\r\n <div :class=\"{ hidden: hidden }\" class=\"pagination-container gm-flex gm-justify-end\">\r\n <gm-pagination\r\n v-model:current-page=\"currentPage\"\r\n v-model:page-size=\"pageSize\"\r\n :background=\"background\"\r\n :layout=\"layout\"\r\n :page-sizes=\"pageSizes\"\r\n :pager-count=\"pagerCount\"\r\n :total=\"total\"\r\n :small=\"small\"\r\n @sizeChange=\"handleSizeChange\"\r\n @currentChange=\"handleCurrentChange\"\r\n />\r\n </div>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { computed, inject } from 'vue';\r\nimport { TableCtxKey } from '@giime/constants/table';\r\nimport { tablePaginationProps } from './tablePagination';\r\n\r\ndefineOptions({\r\n name: 'GmTablePagination',\r\n});\r\nconst tableCtx = inject(TableCtxKey, {});\r\n\r\nconst props = defineProps(tablePaginationProps);\r\n\r\nconst emit = defineEmits(['update:page', 'update:limit', 'pagination']);\r\nconst currentPage = computed<number>({\r\n get() {\r\n return props.page;\r\n },\r\n set(val) {\r\n emit('update:page', val);\r\n },\r\n});\r\nconst pageSize = computed({\r\n get() {\r\n return props.limit;\r\n },\r\n set(val) {\r\n emit('update:limit', val);\r\n },\r\n});\r\nfunction handleSizeChange(val: any) {\r\n if (currentPage.value * val > props.total) {\r\n currentPage.value = 1;\r\n }\r\n emit('pagination', { page: currentPage.value, limit: val });\r\n tableCtx?.tableRef?.value?.scrollTo({ top: 0, behavior: 'smooth' });\r\n tableCtx.tableV2Ref?.value?.scrollTo({ scrollLeft: 0, scrollTop: 0 });\r\n}\r\nfunction handleCurrentChange(val: any) {\r\n emit('pagination', { page: val, limit: pageSize.value });\r\n tableCtx?.tableRef?.value?.scrollTo({ top: 0, behavior: 'smooth' });\r\n tableCtx.tableV2Ref?.value?.scrollTo({ scrollLeft: 0, scrollTop: 0 });\r\n}\r\n</script>\r\n\r\n<style scoped>\r\n.pagination-container {\r\n background: #fff;\r\n padding:
|
|
1
|
+
{"version":3,"file":"TablePagination.vue2.mjs","sources":["../../../../../../../../packages/components/src/composite/tablePro/tablePagination/TablePagination.vue"],"sourcesContent":["<template>\r\n <div :class=\"{ hidden: hidden }\" class=\"pagination-container gm-flex gm-justify-end\">\r\n <gm-pagination\r\n v-model:current-page=\"currentPage\"\r\n v-model:page-size=\"pageSize\"\r\n :background=\"background\"\r\n :layout=\"layout\"\r\n :page-sizes=\"pageSizes\"\r\n :pager-count=\"pagerCount\"\r\n :total=\"total\"\r\n :small=\"small\"\r\n @sizeChange=\"handleSizeChange\"\r\n @currentChange=\"handleCurrentChange\"\r\n />\r\n </div>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { computed, inject } from 'vue';\r\nimport { TableCtxKey } from '@giime/constants/table';\r\nimport { tablePaginationProps } from './tablePagination';\r\n\r\ndefineOptions({\r\n name: 'GmTablePagination',\r\n});\r\nconst tableCtx = inject(TableCtxKey, {});\r\n\r\nconst props = defineProps(tablePaginationProps);\r\n\r\nconst emit = defineEmits(['update:page', 'update:limit', 'pagination']);\r\nconst currentPage = computed<number>({\r\n get() {\r\n return props.page;\r\n },\r\n set(val) {\r\n emit('update:page', val);\r\n },\r\n});\r\nconst pageSize = computed({\r\n get() {\r\n return props.limit;\r\n },\r\n set(val) {\r\n emit('update:limit', val);\r\n },\r\n});\r\nfunction handleSizeChange(val: any) {\r\n if (currentPage.value * val > props.total) {\r\n currentPage.value = 1;\r\n }\r\n emit('pagination', { page: currentPage.value, limit: val });\r\n tableCtx?.tableRef?.value?.scrollTo({ top: 0, behavior: 'smooth' });\r\n tableCtx.tableV2Ref?.value?.scrollTo({ scrollLeft: 0, scrollTop: 0 });\r\n}\r\nfunction handleCurrentChange(val: any) {\r\n emit('pagination', { page: val, limit: pageSize.value });\r\n tableCtx?.tableRef?.value?.scrollTo({ top: 0, behavior: 'smooth' });\r\n tableCtx.tableV2Ref?.value?.scrollTo({ scrollLeft: 0, scrollTop: 0 });\r\n}\r\n</script>\r\n\r\n<style scoped>\r\n.pagination-container {\r\n background: #fff;\r\n padding-top: 12px;\r\n}\r\n.pagination-container.hidden {\r\n display: none;\r\n}\r\n</style>\r\n"],"names":[],"mappings":";;;;;;;;;;;;AAyBA,IAAA,MAAM,QAAW,GAAA,MAAA,CAAO,WAAa,EAAA,EAAE,CAAA,CAAA;AAEvC,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AAEd,IAAA,MAAM,IAAO,GAAA,MAAA,CAAA;AACb,IAAA,MAAM,cAAc,QAAiB,CAAA;AAAA,MACnC,GAAM,GAAA;AACJ,QAAA,OAAO,KAAM,CAAA,IAAA,CAAA;AAAA,OACf;AAAA,MACA,IAAI,GAAK,EAAA;AACP,QAAA,IAAA,CAAK,eAAe,GAAG,CAAA,CAAA;AAAA,OACzB;AAAA,KACD,CAAA,CAAA;AACD,IAAA,MAAM,WAAW,QAAS,CAAA;AAAA,MACxB,GAAM,GAAA;AACJ,QAAA,OAAO,KAAM,CAAA,KAAA,CAAA;AAAA,OACf;AAAA,MACA,IAAI,GAAK,EAAA;AACP,QAAA,IAAA,CAAK,gBAAgB,GAAG,CAAA,CAAA;AAAA,OAC1B;AAAA,KACD,CAAA,CAAA;AACD,IAAA,SAAS,iBAAiB,GAAU,EAAA;AAClC,MAAA,IAAI,WAAY,CAAA,KAAA,GAAQ,GAAM,GAAA,KAAA,CAAM,KAAO,EAAA;AACzC,QAAA,WAAA,CAAY,KAAQ,GAAA,CAAA,CAAA;AAAA,OACtB;AACA,MAAA,IAAA,CAAK,cAAc,EAAE,IAAA,EAAM,YAAY,KAAO,EAAA,KAAA,EAAO,KAAK,CAAA,CAAA;AAC1D,MAAU,QAAA,EAAA,QAAA,EAAU,OAAO,QAAS,CAAA,EAAE,KAAK,CAAG,EAAA,QAAA,EAAU,UAAU,CAAA,CAAA;AAClE,MAAS,QAAA,CAAA,UAAA,EAAY,OAAO,QAAS,CAAA,EAAE,YAAY,CAAG,EAAA,SAAA,EAAW,GAAG,CAAA,CAAA;AAAA,KACtE;AACA,IAAA,SAAS,oBAAoB,GAAU,EAAA;AACrC,MAAA,IAAA,CAAK,cAAc,EAAE,IAAA,EAAM,KAAK,KAAO,EAAA,QAAA,CAAS,OAAO,CAAA,CAAA;AACvD,MAAU,QAAA,EAAA,QAAA,EAAU,OAAO,QAAS,CAAA,EAAE,KAAK,CAAG,EAAA,QAAA,EAAU,UAAU,CAAA,CAAA;AAClE,MAAS,QAAA,CAAA,UAAA,EAAY,OAAO,QAAS,CAAA,EAAE,YAAY,CAAG,EAAA,SAAA,EAAW,GAAG,CAAA,CAAA;AAAA,KACtE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|