Commit 14554423b2c7ee5e3a6da0395177776985c44e4b

Authored by ww
1 parent 148ce2af

fix: 修复产品列表页面样式问题

@@ -69,7 +69,7 @@ export function useCardListSelected( @@ -69,7 +69,7 @@ export function useCardListSelected(
69 69
70 if (!unref(getSelectionsRef).onSelect) return; 70 if (!unref(getSelectionsRef).onSelect) return;
71 71
72 - unref(getSelectionsRef)?.onSelect?.(record, !!~index); 72 + unref(getSelectionsRef)?.onSelect?.(record, !!~index, getSelectedRecords());
73 } 73 }
74 74
75 function selectedAll() { 75 function selectedAll() {
@@ -60,9 +60,9 @@ export interface CardListEmitType { @@ -60,9 +60,9 @@ export interface CardListEmitType {
60 (eventName: 'fetchError', error: Error): void; 60 (eventName: 'fetchError', error: Error): void;
61 } 61 }
62 62
63 -export interface CardListSelectionsType<T = Recordable> { 63 +export interface CardListSelectionsType {
64 customCheckedStyle?: boolean; 64 customCheckedStyle?: boolean;
65 beforeSelectValidate?: (record: Recordable) => boolean; 65 beforeSelectValidate?: (record: Recordable) => boolean;
66 - onSelect?: (record: T, selected: boolean) => any;  
67 - onSelectAll?: (selectedRecords: T[]) => any; 66 + onSelect?: (record: Recordable, selected: boolean, allSelectedRecord: Recordable[]) => any;
  67 + onSelectAll?: (selectedRecords: Recordable[]) => any;
68 } 68 }
@@ -23,6 +23,7 @@ @@ -23,6 +23,7 @@
23 import AuthDropDown from '/@/components/Widget/AuthDropDown.vue'; 23 import AuthDropDown from '/@/components/Widget/AuthDropDown.vue';
24 import { BasicCardList, useCardList } from '/@/components/CardList'; 24 import { BasicCardList, useCardList } from '/@/components/CardList';
25 import { useRoute } from 'vue-router'; 25 import { useRoute } from 'vue-router';
  26 + import { ref } from 'vue-demi';
26 27
27 defineProps<{ 28 defineProps<{
28 mode: EnumTableCardMode; 29 mode: EnumTableCardMode;
@@ -41,6 +42,8 @@ @@ -41,6 +42,8 @@
41 42
42 const { query } = useRoute(); 43 const { query } = useRoute();
43 44
  45 + const disabledDeleteFlag = ref(true);
  46 +
44 const [registerCardList, { reload, getSelectedKeys, clearSelectedKeys }] = useCardList({ 47 const [registerCardList, { reload, getSelectedKeys, clearSelectedKeys }] = useCardList({
45 api: deviceConfigGetQuery, 48 api: deviceConfigGetQuery,
46 useSearchForm: true, 49 useSearchForm: true,
@@ -57,6 +60,9 @@ @@ -57,6 +60,9 @@
57 beforeSelectValidate: (record: ProfileRecord) => { 60 beforeSelectValidate: (record: ProfileRecord) => {
58 return !record.default; 61 return !record.default;
59 }, 62 },
  63 + onSelect: (_record, _flag, allSelecteds) => {
  64 + disabledDeleteFlag.value = !allSelecteds.length;
  65 + },
60 }, 66 },
61 }); 67 });
62 68
@@ -90,6 +96,7 @@ @@ -90,6 +96,7 @@
90 await deviceConfigDelete(ids); 96 await deviceConfigDelete(ids);
91 createMessage.success('删除成功'); 97 createMessage.success('删除成功');
92 clearSelectedKeys(); 98 clearSelectedKeys();
  99 + disabledDeleteFlag.value = true;
93 await reload(); 100 await reload();
94 } catch (error) { 101 } catch (error) {
95 throw error; 102 throw error;
@@ -126,7 +133,7 @@ @@ -126,7 +133,7 @@
126 cancel-text="取消" 133 cancel-text="取消"
127 @confirm="handleDelete" 134 @confirm="handleDelete"
128 > 135 >
129 - <Button type="primary" danger> 批量删除 </Button> 136 + <Button type="primary" danger :disabled="disabledDeleteFlag"> 批量删除 </Button>
130 </Popconfirm> 137 </Popconfirm>
131 </Authority> 138 </Authority>
132 </template> 139 </template>
@@ -136,7 +143,7 @@ @@ -136,7 +143,7 @@
136 <div class="h-full w-full !flex justify-center items-center text-center p-1"> 143 <div class="h-full w-full !flex justify-center items-center text-center p-1">
137 <Image 144 <Image
138 @click.stop 145 @click.stop
139 - class="!w-32" 146 + wrapper-class-name="!w-32 !h-32 !flex !items-center"
140 :src="item.image || IMAGE_FALLBACK" 147 :src="item.image || IMAGE_FALLBACK"
141 placeholder 148 placeholder
142 :fallback="IMAGE_FALLBACK" 149 :fallback="IMAGE_FALLBACK"