|
@@ -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"
|