@lx-frontend/wrap-element-ui 1.0.25 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. package/README.md +25 -40
  2. package/dist/index.css +1 -0
  3. package/dist/index.mjs +2097 -0
  4. package/dist/index.mjs.map +1 -0
  5. package/dist/types/components/EditableTable/features/bizColorSelect.vue.d.ts +31 -0
  6. package/dist/types/components/EditableTable/features/bizTableHeaderPopover/BizCheckboxFilter.vue.d.ts +23 -0
  7. package/dist/types/components/EditableTable/features/bizTableHeaderPopover/BizColorRadioFilter.vue.d.ts +23 -0
  8. package/dist/types/components/EditableTable/features/bizTableHeaderPopover/BizDoubleDatePickerFilter.vue.d.ts +23 -0
  9. package/dist/types/components/EditableTable/features/bizTableHeaderPopover/BizInputFilter.vue.d.ts +23 -0
  10. package/dist/types/components/EditableTable/features/bizTableHeaderPopover/BizMonthDayPicker.helper.d.ts +48 -0
  11. package/dist/types/components/EditableTable/features/bizTableHeaderPopover/BizMonthDayPicker.vue.d.ts +23 -0
  12. package/dist/types/components/EditableTable/features/bizTableHeaderPopover/BizRadioFilter.vue.d.ts +23 -0
  13. package/dist/types/components/EditableTable/features/bizTableHeaderPopover/BizSortFilter.vue.d.ts +25 -0
  14. package/dist/types/components/EditableTable/features/bizTableHeaderPopover/index.vue.d.ts +77 -0
  15. package/dist/types/components/EditableTable/features/bizTableOperatePopover.vue.d.ts +36 -0
  16. package/dist/types/components/EditableTable/features/bizViewSettingDialog.vue.d.ts +35 -0
  17. package/{src/components/EditableTable/bizHooks/index.ts → dist/types/components/EditableTable/hooks/index.d.ts} +5 -3
  18. package/dist/types/components/EditableTable/hooks/useCellHover.d.ts +19 -0
  19. package/dist/types/components/EditableTable/hooks/useColumnHeaderOperation.d.ts +37 -0
  20. package/dist/types/components/EditableTable/hooks/useDefaultOperation.d.ts +22 -0
  21. package/dist/types/components/EditableTable/hooks/useDragSort.d.ts +15 -0
  22. package/dist/types/components/EditableTable/hooks/usePagination.d.ts +12 -0
  23. package/dist/types/components/EditableTable/hooks/useRowBgColor.d.ts +18 -0
  24. package/dist/types/components/EditableTable/hooks/useRowEdit.d.ts +14 -0
  25. package/dist/types/components/EditableTable/hooks/useTableRender.d.ts +41 -0
  26. package/dist/types/components/EditableTable/hooks/useViewSetting.d.ts +26 -0
  27. package/dist/types/components/EditableTable/index.vue.d.ts +4502 -0
  28. package/dist/types/components/EditableTable/types.d.ts +419 -0
  29. package/dist/types/components/helper.d.ts +8 -0
  30. package/dist/types/index.d.ts +7 -0
  31. package/dist/types/stories/EditableTable.fake.d.ts +33 -0
  32. package/dist/types/stories/EditableTable.hook.d.ts +12 -0
  33. package/dist/types/stories/EditableTable.stories.d.ts +18 -0
  34. package/dist/types/stories/Test.stories.d.ts +6 -0
  35. package/package.json +66 -73
  36. package/src/components/AddMembers/index.vue +0 -149
  37. package/src/components/AuditSteps/index.vue +0 -140
  38. package/src/components/DemoComponent/index.vue +0 -21
  39. package/src/components/EditableTable/README.md +0 -147
  40. package/src/components/EditableTable/bizHooks/useCellHover.ts +0 -72
  41. package/src/components/EditableTable/bizHooks/useColumnHeaderOperation.ts +0 -339
  42. package/src/components/EditableTable/bizHooks/useDefaultOperation.ts +0 -96
  43. package/src/components/EditableTable/bizHooks/useDragSort.ts +0 -291
  44. package/src/components/EditableTable/bizHooks/usePagination.ts +0 -31
  45. package/src/components/EditableTable/bizHooks/useRowBgColor.ts +0 -44
  46. package/src/components/EditableTable/bizHooks/useViewSetting.ts +0 -206
  47. package/src/components/EditableTable/features/bizColorSelect.vue +0 -63
  48. package/src/components/EditableTable/features/bizEditCell.vue +0 -44
  49. package/src/components/EditableTable/features/bizTableHeaderPopover/BizCheckboxFilter.vue +0 -40
  50. package/src/components/EditableTable/features/bizTableHeaderPopover/BizColorRadioFilter.vue +0 -56
  51. package/src/components/EditableTable/features/bizTableHeaderPopover/BizDoubleDatePickerFilter.vue +0 -94
  52. package/src/components/EditableTable/features/bizTableHeaderPopover/BizInputFilter.vue +0 -26
  53. package/src/components/EditableTable/features/bizTableHeaderPopover/BizMonthDayPicker.helper.ts +0 -131
  54. package/src/components/EditableTable/features/bizTableHeaderPopover/BizMonthDayPicker.vue +0 -115
  55. package/src/components/EditableTable/features/bizTableHeaderPopover/BizRadioFilter.vue +0 -39
  56. package/src/components/EditableTable/features/bizTableHeaderPopover/BizSortFilter.vue +0 -50
  57. package/src/components/EditableTable/features/bizTableHeaderPopover/index.vue +0 -160
  58. package/src/components/EditableTable/features/bizTableOperatePopover.vue +0 -67
  59. package/src/components/EditableTable/features/bizViewSettingDialog.vue +0 -137
  60. package/src/components/EditableTable/index.less +0 -820
  61. package/src/components/EditableTable/index.vue +0 -681
  62. package/src/components/EditableTable/pin-top.png +0 -0
  63. package/src/components/EditableTable/types/index.ts +0 -212
  64. package/src/components/Ellipsis/MultilineEllipsis.vue +0 -141
  65. package/src/components/Ellipsis/index.vue +0 -119
  66. package/src/components/LxTable/index.vue +0 -296
  67. package/src/components/PopoverForm/index.vue +0 -66
  68. package/src/components/SearchForm/index.vue +0 -262
  69. package/src/components/SearchForm/types/index.ts +0 -81
  70. package/src/components/SearchSelect/index.vue +0 -153
  71. package/src/components/helper.ts +0 -37
  72. package/src/components/index.ts +0 -24
  73. package/src/components/singleMessage/index.ts +0 -44
@@ -1,160 +0,0 @@
1
- <template>
2
- <el-popover
3
- ref="popoverRef"
4
- placement="bottom"
5
- trigger="click"
6
- popper-class="editable-table-sort-filter"
7
- data-popper-name="editable-table-sort-filter"
8
- :data-prop="column.prop"
9
- @show="() => emit('popover-show')"
10
- >
11
- <template slot="reference">
12
- <slot name="custom">
13
- <!-- 筛选中,或排序中,高亮 -->
14
- <span
15
- :class="['editable-table__sort-reference', headActive && 'editable-table__sort-reference--active']"
16
- >
17
- {{ column.label }}
18
- <div :class="['editable-table__sort-icon', headActive && 'editable-table__sort-icon--active']" />
19
- </span>
20
- </slot>
21
- </template>
22
- <div class="editable-table-sort-filter">
23
- <div class="editable-table-sort-filter__column-title">
24
- {{ column.label }}
25
- </div>
26
-
27
- <div class="editable-table-sort-filter__item">
28
- <BizSortFilter
29
- v-if="column.isColumnSortable"
30
- :column="column"
31
- :temp-sort-prop="tempSortProp"
32
- :temp-sort-type="tempSortType"
33
- @update:sort="(type, prop) => emit('update:sort', type, prop)"
34
- />
35
- </div>
36
-
37
- <template v-if="column.filters">
38
- <div
39
- v-for="(filterItem, index) in column.filters"
40
- :key="index"
41
- class="editable-table-sort-filter__item editable-table__filter-group__filter"
42
- >
43
- <slot
44
- v-if="filterItem.type === 'slot'"
45
- :name="filterItem.slotName"
46
- />
47
- <component
48
- v-else
49
- :is="componentMap[filterItem.type]"
50
- :config="filterItem"
51
- :temp-filtered-value="tempFilteredValue"
52
- @update:tempFilteredValue="onUpdate"
53
- />
54
- </div>
55
- </template>
56
-
57
- <div
58
- v-if="column.summary"
59
- class="editable-table-sort-filter__item editable-table-sort-filter__filter"
60
- >
61
- <div class="editable-table-sort-filter__filter-title">
62
- 统计
63
- </div>
64
- <el-checkbox-group
65
- class="editable-table-sort-filter__filter-checkbox-group"
66
- :value="tempSummaryList"
67
- @input="val => emit('update:tempSummaryList', val)"
68
- >
69
- <el-checkbox
70
- :label="column.prop"
71
- class="editable-table-sort-filter__filter-checkbox"
72
- >
73
- <slot
74
- name="summay-item"
75
- v-bind="column"
76
- >
77
- {{ column.label }}
78
- </slot>
79
- </el-checkbox>
80
- </el-checkbox-group>
81
- </div>
82
-
83
- <div class="editable-table-sort-filter__footer">
84
- <el-button
85
- class="editable-table-sort-filter__reset-btn"
86
- @click="() => emit('reset')"
87
- >
88
- 重置
89
- </el-button>
90
- <el-button
91
- class="editable-table-sort-filter__confirm-btn"
92
- type="primary"
93
- @click="() => emit('confirm')"
94
- >
95
- 确定
96
- </el-button>
97
- </div>
98
- </div>
99
- </el-popover>
100
- </template>
101
-
102
- <script setup lang="ts">
103
- import { ref } from 'vue'
104
-
105
- import BizCheckboxFilter from './BizCheckboxFilter.vue';
106
- import BizColorRadioFilter from './BizColorRadioFilter.vue';
107
- import BizDoubleDatePickerFilter from './BizDoubleDatePickerFilter.vue';
108
- import BizInputFilter from './BizInputFilter.vue';
109
- import BizMonthDayPicker from './BizMonthDayPicker.vue';
110
- import BizSortFilter from './BizSortFilter.vue';
111
- import BizRadioFilter from "./BizRadioFilter.vue";
112
- import { FilterItem, IColumnConfig } from '../../types'
113
-
114
- defineProps<{
115
- headActive: boolean
116
- column: IColumnConfig
117
- tempSummaryList: string[]
118
- tempSortType: 'ascending' | 'descending' | ''
119
- tempSortProp: string
120
- tempFilteredValue: Record<string, string | number | number[] | string[]>
121
- }>()
122
-
123
- const emit = defineEmits<{
124
- (e: 'update:tempFilteredValue', key: string, value: string): void
125
- (e: 'update:tempSummaryList', value: string[]): void
126
- (e: 'update:sort', type: 'ascending' | 'descending', prop: string): void
127
- (e: 'popover-show'): void
128
- (e: 'reset'): void
129
- (e: 'confirm'): void
130
- }>()
131
-
132
- // 把 filterItem.type 映射到组件
133
- const componentMap: Record<Exclude<FilterItem['type'], 'slot'>, any> = {
134
- /** 输入框 */
135
- input: BizInputFilter,
136
- /** 日期范围 */
137
- doubleDatePicker: BizDoubleDatePickerFilter,
138
- /** 单选框 */
139
- radio: BizRadioFilter,
140
- /** 复选框 */
141
- checkbox: BizCheckboxFilter,
142
- /** 月日选择器 */
143
- monthDayPicker: BizMonthDayPicker,
144
- /** 颜色选择器 */
145
- colorRadio: BizColorRadioFilter,
146
- }
147
-
148
- const popoverRef = ref(null as any)
149
-
150
- // 统一的事件派发
151
- function onUpdate(key: string, val: any) {
152
- emit('update:tempFilteredValue', key, val)
153
- }
154
-
155
- defineExpose({
156
- close: () => {
157
- popoverRef.value?.doClose()
158
- }
159
- })
160
- </script>
@@ -1,67 +0,0 @@
1
- <template>
2
- <el-popover
3
- ref="operationPopoverRef"
4
- placement="bottom"
5
- trigger="click"
6
- popper-class="editable-table-operation-popover"
7
- >
8
- <div
9
- slot="reference"
10
- class="editable-table-operation-popover__operation-reference btn-pointer"
11
- >
12
- <el-button class="editable-table-operation-popover__operation-btn">
13
- 操作
14
- </el-button>
15
- </div>
16
- <div class="editable-table-operation-popover__operation">
17
- <div
18
- v-if="defaultOperations.includes('delete')"
19
- class="editable-table-operation-popover__operation-item btn-pointer"
20
- @click="() => emit('delete')"
21
- >
22
- 删除
23
- </div>
24
- <div
25
- v-if="defaultOperations.includes('edit')"
26
- class="editable-table-operation-popover__operation-item btn-pointer"
27
- @click="() => emit('edit')"
28
- >
29
- 编辑
30
- </div>
31
- <div
32
- v-if="defaultOperations.includes('top')"
33
- class="editable-table-operation-popover__operation-item btn-pointer"
34
- @click="() => emit('rowPinToTop')"
35
- >
36
- 置顶
37
- </div>
38
- <slot />
39
- </div>
40
- </el-popover>
41
- </template>
42
-
43
- <script setup lang="ts">
44
- import { ref } from 'vue';
45
- import { IDefaultOperationType } from '../types';
46
-
47
- defineProps<{
48
- defaultOperations: IDefaultOperationType[]
49
- // hoveringCellInfo: {
50
- // rowIndex: number
51
- // columnProperty: string
52
- // }
53
- scope: any
54
- }>()
55
-
56
- const emit = defineEmits<{
57
- (e: 'edit'): void
58
- (e: 'delete'): void
59
- (e: 'rowPinToTop'): void
60
- }>()
61
-
62
- const operationPopoverRef = ref(null as any)
63
-
64
- defineExpose({
65
- doClose: () => operationPopoverRef.value?.doClose?.()
66
- })
67
- </script>
@@ -1,137 +0,0 @@
1
- <template>
2
- <el-dialog
3
- title="显示设置"
4
- :visible.sync="viewSettingVisible"
5
- width="750px"
6
- top="12vh"
7
- :close-on-click-modal="false"
8
- append-to-body
9
- custom-class="editable-table-view-setting__dialog"
10
- >
11
- <div class="editable-table-view-setting__content">
12
- <div class="editable-table-view-setting__content-left">
13
- <div class="editable-table-view-setting__checkbox-wrapper">
14
- <el-checkbox-group v-model="columnsToBeShown">
15
- <el-checkbox
16
- v-for="item in props.columnConfig"
17
- :key="item.label"
18
- :label="item.prop"
19
- :disabled="item.isAlwaysShow"
20
- >
21
- <div class="editable-table-view-setting__content-left-item">
22
- {{ item.label }}
23
- </div>
24
- </el-checkbox>
25
- </el-checkbox-group>
26
- </div>
27
- </div>
28
- <div class="editable-table-view-setting__content-right">
29
- <div class="editable-table-view-setting__content-right-title">
30
- 已选择
31
- <div class="editable-table-view-setting__selected-count">
32
- {{ columnsToBeShown.length }}
33
- </div>
34
- </div>
35
- <div class="editable-table-view-setting__content-right-frize">
36
- 冻结前
37
- <el-input
38
- class="editable-table-view-setting__content-right-input"
39
- :value="tempLeftFixedColumnCount"
40
- @input="handleInputTempLeftFixedColumnCount"
41
- />
42
-
43
- </div>
44
- <div class="editable-table-view-setting__content-right-selected">
45
- <div
46
- v-for="(item, index) in viewSettingDragSortOptions"
47
- :key="item.prop"
48
- class="editable-table-view-setting__selected-item editable-table-view-setting-draggable-item"
49
- >
50
- <div class="editable-table-view-setting__selected-item-left">
51
- <div
52
- class="editable-table-view-setting-drag-target editable-table-view-setting__icon-wrapper"
53
- :data-index="index"
54
- >
55
- <div
56
- class="editable-table-view-setting-drag-target editable-table-drag-icon"
57
- :data-index="index"
58
- />
59
- </div>
60
- <div class="editable-table-view-setting__selected-item-name">
61
- {{ item.label }}
62
- </div>
63
- </div>
64
- <div
65
- :class="['editable-table-view-setting__selected-item-close', item.isAlwaysShow ? 'editable-table-view-setting__selected-item-close--disabled' : '']"
66
- @click="handleColumnClose(item)"
67
- >
68
- <i class="el-icon-close" />
69
- </div>
70
- </div>
71
- </div>
72
- </div>
73
- </div>
74
- <template #footer>
75
- <el-button @click="handleViewSettingClose">
76
- 取消
77
- </el-button>
78
- <el-button
79
- type="primary"
80
- @click="handleViewSettingConfirm"
81
- >
82
- 确认
83
- </el-button>
84
- </template>
85
- </el-dialog>
86
- </template>
87
-
88
- <script setup lang="ts">
89
- import { toRefs } from 'vue';
90
- import { useViewSetting } from '../bizHooks'
91
- import { IColumnConfig, IProps } from '../types';
92
-
93
- const emit = defineEmits<{
94
- (e: 'update:leftFixedColumnCount', val: number): void
95
- (e: 'update:showingColumns', val: string[]): void
96
- (e: 'update:viewSettingDragSortOptions', val: IColumnConfig[]): void
97
- (e: 'tableDoLayout'): void
98
- }>()
99
-
100
- const _props = defineProps<{
101
- actualColumns: IColumnConfig[]
102
- viewSettingDragSortOptions: IColumnConfig[]
103
- showingColumns: string[]
104
- props: IProps
105
- }>()
106
-
107
- const {
108
- actualColumns,
109
- showingColumns,
110
- viewSettingDragSortOptions,
111
- } = toRefs(_props)
112
-
113
- const {
114
- columnsToBeShown,
115
- viewSettingVisible,
116
- tempLeftFixedColumnCount,
117
- handleInputTempLeftFixedColumnCount,
118
- handleViewSettingShow,
119
- handleViewSettingClose,
120
- handleViewSettingConfirm
121
- } = useViewSetting({
122
- showingColumns,
123
- actualColumns,
124
- viewSettingDragSortOptions,
125
- props: _props.props,
126
- emit,
127
- });
128
-
129
- const handleColumnClose = (item) => {
130
- if (item.isAlwaysShow) return;
131
- columnsToBeShown.value = columnsToBeShown.value.filter(c => c !== item.prop);
132
- };
133
-
134
- defineExpose({
135
- open: handleViewSettingShow
136
- })
137
- </script>