| | |
| | | import ImportForm from './modules/import-form.vue'; |
| | | |
| | | const selectedMachineryTypeId = ref<number>(); // 选中设备类型编号 |
| | | const checkedIds = ref<number[]>([]); |
| | | function handleRowCheckboxChange({ |
| | | records, |
| | | }: { |
| | | records: MesDvMachineryApi.Machinery[]; |
| | | }) { |
| | | checkedIds.value = records.map((item) => item.id!); |
| | | } |
| | | |
| | | const [FormModal, formModalApi] = useVbenModal({ |
| | | connectedComponent: Form, |
| | |
| | | try { |
| | | await deleteMachinery(row.id!); |
| | | message.success($t('ui.actionMessage.deleteSuccess', [row.name])); |
| | | handleRefresh(); |
| | | } finally { |
| | | hideLoading(); |
| | | } |
| | | } |
| | | |
| | | /** 批量删除设备 */ |
| | | async function handleDeleteBatch() { |
| | | const hideLoading = message.loading({ |
| | | content: $t('ui.actionMessage.deleting', [`${checkedIds.value.length} 台`]), |
| | | duration: 0, |
| | | }); |
| | | try { |
| | | await Promise.all(checkedIds.value.map((id) => deleteMachinery(id))); |
| | | message.success($t('ui.actionMessage.deleteSuccess', [''])); |
| | | checkedIds.value = []; |
| | | handleRefresh(); |
| | | } finally { |
| | | hideLoading(); |
| | |
| | | search: true, |
| | | }, |
| | | } as VxeTableGridOptions<MesDvMachineryApi.Machinery>, |
| | | gridEvents: { |
| | | checkboxAll: handleRowCheckboxChange, |
| | | checkboxChange: handleRowCheckboxChange, |
| | | }, |
| | | }); |
| | | </script> |
| | | |
| | |
| | | onClick: handleCreate, |
| | | }, |
| | | { |
| | | label: $t('ui.actionTitle.deleteBatch'), |
| | | type: 'primary', |
| | | danger: true, |
| | | icon: ACTION_ICON.DELETE, |
| | | auth: ['mes:dv-machinery:delete'], |
| | | disabled: checkedIds.length === 0, |
| | | popConfirm: { |
| | | title: $t('ui.actionMessage.deleteConfirm', [ |
| | | `${checkedIds.length} 台`, |
| | | ]), |
| | | confirm: handleDeleteBatch, |
| | | }, |
| | | }, |
| | | { |
| | | label: $t('ui.actionTitle.import'), |
| | | type: 'primary', |
| | | icon: ACTION_ICON.UPLOAD, |