Commit 80ee6a6f12db71282d003a23cecedffe15a4f4a9

Authored by ww
1 parent b2be6ec5

perf: 优化可视化管理分页界面横向间距

  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 }