@lx-frontend/wrap-element-ui 1.0.20-beta.1 → 1.0.20

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lx-frontend/wrap-element-ui",
3
- "version": "1.0.20-beta.1",
3
+ "version": "1.0.20",
4
4
  "description": "wrap-element-ui",
5
5
  "author": "",
6
6
  "main": "src/components/index.ts",
@@ -92,10 +92,6 @@ export function useColumnHeaderOperation({ props, tableDomRef, emit, showingColu
92
92
  return !!(filteredValue.value[item.prop] as any[]).length
93
93
  }
94
94
 
95
- if (item.type === 'slot') {
96
- return item.active()
97
- }
98
-
99
95
  return !!filteredValue.value[item.prop]
100
96
  }
101
97
  )
@@ -143,17 +139,15 @@ export function useColumnHeaderOperation({ props, tableDomRef, emit, showingColu
143
139
  const params: Record<string, any> = {};
144
140
 
145
141
  const processFilter = (filters: FilterListType) => {
146
- filters
147
- .filter(item => item.type !== 'slot')
148
- .forEach((item) => {
149
- if (item.type === 'doubleDatePicker' || item.type === 'monthDayPicker') {
150
- const [start, end] = item.prop
151
- params[start] = filteredValue.value[start];
152
- params[end] = filteredValue.value[end];
153
- } else {
154
- params[item.prop] = filteredValue.value[item.prop];
155
- }
156
- });
142
+ filters.forEach((item) => {
143
+ if (item.type === 'doubleDatePicker' || item.type === 'monthDayPicker') {
144
+ const [start, end] = item.prop
145
+ params[start] = filteredValue.value[start];
146
+ params[end] = filteredValue.value[end];
147
+ } else {
148
+ params[item.prop] = filteredValue.value[item.prop];
149
+ }
150
+ });
157
151
  }
158
152
 
159
153
  // 仅提交显示的列的相关数据
@@ -248,7 +242,6 @@ export function useColumnHeaderOperation({ props, tableDomRef, emit, showingColu
248
242
 
249
243
  function handleResetFilterValue (column: IColumnConfig) {
250
244
  (column.filters || [])
251
- .filter(item => item.type !== 'slot')
252
245
  .forEach(
253
246
  (item) => {
254
247
  if (item.type === 'radio' || item.type === 'checkbox') {
@@ -294,7 +287,6 @@ export function useColumnHeaderOperation({ props, tableDomRef, emit, showingColu
294
287
  // 设置搜索和过滤参数时,如果使用 showingColumns 遍历,会导致通过外部设置未显示的列的搜索和过滤参数丢失
295
288
  [props.colorFilterConfig, ...props.columnConfig].forEach(column => {
296
289
  (column?.filters ?? [])
297
- .filter(item => item.type !== 'slot')
298
290
  .forEach(
299
291
  (item) => {
300
292
  if (item.type === 'doubleDatePicker' || item.type === 'monthDayPicker') {
@@ -40,12 +40,7 @@
40
40
  :key="index"
41
41
  class="editable-table-sort-filter__item editable-table__filter-group__filter"
42
42
  >
43
- <slot
44
- v-if="filterItem.type === 'slot'"
45
- :name="filterItem.slotName"
46
- />
47
43
  <component
48
- v-else
49
44
  :is="componentMap[filterItem.type]"
50
45
  :config="filterItem"
51
46
  :temp-filtered-value="tempFilteredValue"
@@ -130,7 +125,7 @@ const emit = defineEmits<{
130
125
  }>()
131
126
 
132
127
  // 把 filterItem.type 映射到组件
133
- const componentMap: Record<Exclude<FilterItem['type'], 'slot'>, any> = {
128
+ const componentMap: Record<FilterItem['type'], any> = {
134
129
  /** 输入框 */
135
130
  input: BizInputFilter,
136
131
  /** 日期范围 */
@@ -44,6 +44,7 @@
44
44
  @selection-change="handleSelectionChange"
45
45
  @cell-mouse-enter="debouncedHoverHandler"
46
46
  @header-dragend="doTableLayout"
47
+ @row-dblclick="handleRowDblClick"
47
48
  >
48
49
  <el-table-column
49
50
  v-if="rowDragAble"
@@ -161,10 +162,10 @@
161
162
  :temp-filtered-value="tempFilteredValue"
162
163
  @update:tempSummaryList="val => { tempSummaryList = val }"
163
164
  @update:tempFilteredValue="(key, value) => { $set(tempFilteredValue, key, value) }"
164
- @popover-show="() => handleOpenFilter(column)"
165
+ @popover-show="() => handleHeaderPopoverShow(column)"
165
166
  @update:sort="handleSort"
166
- @reset="() => handleResetFilter(column)"
167
- @confirm="() => handleConfirmFilter(column)"
167
+ @reset="() => handleHeaderOperationReset(column)"
168
+ @confirm="() => handleHeaderOperationConfirm(column)"
168
169
  >
169
170
  <template #summay-item>
170
171
  <slot
@@ -174,16 +175,6 @@
174
175
  {{ column.label }}
175
176
  </slot>
176
177
  </template>
177
- <!-- 动态地将父组件传递的所有slot下发给孙子组件(biz-table-header-popover),以实现slot的透传 -->
178
- <template
179
- v-for="(_, name) in $slots"
180
- #[name]="slotProps"
181
- >
182
- <slot
183
- :name="name"
184
- v-bind="slotProps || column"
185
- />
186
- </template>
187
178
  </biz-table-header-popover>
188
179
  </template>
189
180
  <!-- 默认操作按钮,defaultOperations属性不为空数组时展示。编辑状态下隐藏 -->
@@ -404,12 +395,8 @@ interface IEmits {
404
395
  (e: 'search', param: Record<string, any>): void
405
396
  /** 排序 */
406
397
  (e: 'sort-change', param: { order: 'descending' | 'ascending' | null, prop: string }): void
407
- /** 筛选条件打开 */
408
- (e: 'open-filter', prop: string): void
409
- /** 重置筛选 */
410
- (e: 'reset-filter', prop: string): void
411
- /** 筛选条件确认 */
412
- (e: 'confirm-filter', prop: string): void
398
+ /** 双击某一行 */
399
+ (e: 'row-dblclick', param: any): void
413
400
  }
414
401
 
415
402
  const props = withDefaults(defineProps<IProps>(), {
@@ -578,6 +565,7 @@ const beforeDragStart = () => {
578
565
  return true;
579
566
  };
580
567
 
568
+ // @ts-ignore
581
569
  useDragSort({
582
570
  emit,
583
571
  props,
@@ -617,26 +605,9 @@ const handleSelectionChange = (e) => {
617
605
  emit('selection-change', e);
618
606
  };
619
607
 
620
- const handleOpenFilter = (column: IColumnConfig) => {
621
- emit('open-filter', column.prop);
622
- nextTick(() => {
623
- handleHeaderPopoverShow(column)
624
- })
625
- }
626
-
627
- const handleResetFilter = (column: IColumnConfig) => {
628
- emit('reset-filter', column.prop);
629
- nextTick(() => {
630
- handleHeaderOperationReset(column)
631
- })
632
- }
633
-
634
- const handleConfirmFilter = (column: IColumnConfig) => {
635
- emit('confirm-filter', column.prop);
636
- nextTick(() => {
637
- handleHeaderOperationConfirm(column)
638
- })
639
- }
608
+ const handleRowDblClick = (e) => {
609
+ emit('row-dblclick', e);
610
+ };
640
611
 
641
612
  const bizViewSettingDialogRef = ref(null as unknown as InstanceType<typeof BizViewSettingDialog>)
642
613
  const handleViewSettingShow = () => bizViewSettingDialogRef.value.open()
@@ -60,13 +60,7 @@ export interface IFilterColorRadio {
60
60
  options: Array<IFilterSelectOptions & { color: string }>
61
61
  }
62
62
 
63
- export interface IFilterSolt {
64
- type: 'slot',
65
- slotName: string,
66
- active: () => boolean
67
- }
68
-
69
- export type FilterItem = IFilterInput | IFilterSelect | IFilterDoubleDatePicker | IFilterMonthDayPicker | IFilterColorRadio | IFilterSolt
63
+ export type FilterItem = IFilterInput | IFilterSelect | IFilterDoubleDatePicker | IFilterMonthDayPicker | IFilterColorRadio
70
64
 
71
65
  /** 筛选组件类型 */
72
66
  export type FilterListType = Array<FilterItem>
@@ -94,6 +88,7 @@ type _IColumnConfigRequired = {
94
88
  /** 自定义颜色表头label */
95
89
  customColorLabel?: boolean;
96
90
  filters?: FilterListType;
91
+ selectOptions?: any
97
92
  }
98
93
 
99
94
  export type IColumnConfigRequired = _IColumnConfigRequired & Partial<Omit<TableColumn, keyof _IColumnConfigRequired>>