src/views/mes/dv/machinery/index.vue
@@ -24,6 +24,14 @@
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,
@@ -63,6 +71,22 @@
  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();
@@ -116,6 +140,10 @@
      search: true,
    },
  } as VxeTableGridOptions<MesDvMachineryApi.Machinery>,
  gridEvents: {
    checkboxAll: handleRowCheckboxChange,
    checkboxChange: handleRowCheckboxChange,
  },
});
</script>
@@ -139,6 +167,20 @@
                  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,