| | |
| | | |
| | | type Form = { |
| | | id: string; |
| | | selectedIds: string[]; |
| | | }; |
| | | |
| | | const form = defineModel<Form>('form'); |
| | | const visible = defineModel<boolean>('modelValue'); |
| | | const selectedIds = ref<string[]>([]); |
| | | |
| | | const emit = defineEmits<{ |
| | | (e: 'onConfirm'): void; |
| | |
| | | onClick: (role) => handleChoose(role), |
| | | }, |
| | | extraProps: { |
| | | hide: (row) => selectedIds.value.includes(row.id), |
| | | hide: (row) => form.value.selectedIds?.includes(row.id), |
| | | }, |
| | | }, |
| | | { |
| | |
| | | onClick: (role) => handleCancelChoose(role), |
| | | }, |
| | | extraProps: { |
| | | hide: (row) => !selectedIds.value.includes(row.id), |
| | | hide: (row) => !form.value.selectedIds?.includes(row.id), |
| | | }, |
| | | }, |
| | | ]); |
| | |
| | | ); |
| | | |
| | | function handleChoose(row: API.GetWaitArrangeTasksQueryResultItem) { |
| | | selectedIds.value.push(row.id); |
| | | form.value.selectedIds.push(row.id); |
| | | } |
| | | |
| | | function handleCancelChoose(row: API.GetWaitArrangeTasksQueryResultItem) { |
| | | selectedIds.value = selectedIds.value.filter((id) => id !== row.id); |
| | | form.value.selectedIds = form.value.selectedIds.filter((id) => id !== row.id); |
| | | } |
| | | |
| | | function handleConfirm() { |