Showing
6 changed files
with
27 additions
and
2 deletions
1 | +import { ComputedRef, computed, unref } from 'vue'; | ||
2 | + | ||
3 | +export function useCardListSelected( | ||
4 | + getDataSourceRef: ComputedRef<(Recordable & { checked?: boolean })[]> | ||
5 | +) { | ||
6 | + const getHasSelectedRecordStatus = computed(() => | ||
7 | + unref(getDataSourceRef).find((item) => item.checked) | ||
8 | + ); | ||
9 | + | ||
10 | + // function handlerSelect | ||
11 | + | ||
12 | + return { | ||
13 | + getHasSelectedRecordStatus, | ||
14 | + }; | ||
15 | +} |
@@ -26,6 +26,7 @@ export interface BasicCardListPropsType<T = Recordable> { | @@ -26,6 +26,7 @@ export interface BasicCardListPropsType<T = Recordable> { | ||
26 | immediate?: boolean; | 26 | immediate?: boolean; |
27 | handleSearchInfoFn?: Fn; | 27 | handleSearchInfoFn?: Fn; |
28 | baseLayout?: Record<'row' | 'col', number>; | 28 | baseLayout?: Record<'row' | 'col', number>; |
29 | + selections?: boolean; | ||
29 | } | 30 | } |
30 | 31 | ||
31 | export type ListGridType = Record<'column' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'xxl', number> & { | 32 | export type ListGridType = Record<'column' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'xxl', number> & { |
@@ -50,7 +51,13 @@ export interface CardListEmitType { | @@ -50,7 +51,13 @@ export interface CardListEmitType { | ||
50 | (eventName: 'fetchError', error: Error): void; | 51 | (eventName: 'fetchError', error: Error): void; |
51 | } | 52 | } |
52 | 53 | ||
53 | -export interface CardListRenderItem<T = Recordable> { | 54 | +export interface CardListRenderItem<T = Recordable & { checked?: boolean }> { |
54 | item: T; | 55 | item: T; |
55 | totalHeight: number; | 56 | totalHeight: number; |
56 | } | 57 | } |
58 | + | ||
59 | +export interface CardListSelectionsType<T = Recordable> { | ||
60 | + onSelect?: (record: T, selected: boolean) => any; | ||
61 | + onSelectAll: (selectedRecords: T[]) => any; | ||
62 | + onSelectInvert: (selectedRecords: T[]) => any; | ||
63 | +} |
@@ -31,6 +31,7 @@ | @@ -31,6 +31,7 @@ | ||
31 | api: getPage, | 31 | api: getPage, |
32 | useSearchForm: true, | 32 | useSearchForm: true, |
33 | title: '组态列表', | 33 | title: '组态列表', |
34 | + gutter: 4, | ||
34 | formConfig: { | 35 | formConfig: { |
35 | schemas: searchFormSchema, | 36 | schemas: searchFormSchema, |
36 | labelWidth: 80, | 37 | labelWidth: 80, |
@@ -26,6 +26,7 @@ | @@ -26,6 +26,7 @@ | ||
26 | api: getPage, | 26 | api: getPage, |
27 | useSearchForm: true, | 27 | useSearchForm: true, |
28 | title: '模版列表', | 28 | title: '模版列表', |
29 | + gutter: 4, | ||
29 | formConfig: { | 30 | formConfig: { |
30 | schemas: searchFormSchema, | 31 | schemas: searchFormSchema, |
31 | labelWidth: 80, | 32 | labelWidth: 80, |
@@ -42,6 +42,7 @@ | @@ -42,6 +42,7 @@ | ||
42 | api: getPage, | 42 | api: getPage, |
43 | title: '数据大屏', | 43 | title: '数据大屏', |
44 | useSearchForm: true, | 44 | useSearchForm: true, |
45 | + gutter: 4, | ||
45 | formConfig: { | 46 | formConfig: { |
46 | labelWidth: 80, | 47 | labelWidth: 80, |
47 | schemas: searchFormSchema, | 48 | schemas: searchFormSchema, |
@@ -20,7 +20,7 @@ export interface DefineComponentsBasicExpose<T = Recordable> { | @@ -20,7 +20,7 @@ export interface DefineComponentsBasicExpose<T = Recordable> { | ||
20 | } | 20 | } |
21 | 21 | ||
22 | declare global { | 22 | declare global { |
23 | - interface CardListRenderItem<T = Recordable> { | 23 | + interface CardListRenderItem<T = Recordable & { checked?: boolean }> { |
24 | item: T; | 24 | item: T; |
25 | totalHeight: number; | 25 | totalHeight: number; |
26 | } | 26 | } |