zhou zhou
6 小时以前 7c2bffa1a495cc4a3a263f654c08c231009c5c4e
rsf-design/src/views/system/common/useCrudPage.js
@@ -1,5 +1,6 @@
import { ref } from 'vue'
import { ElMessage, ElMessageBox } from 'element-plus'
import { $t } from '@/locales'
export function useCrudPage({
  createEmptyModel,
@@ -43,35 +44,35 @@
    try {
      if (dialogType.value === 'edit') {
        await updateRequest(payload)
        ElMessage.success('修改成功')
        ElMessage.success($t('crud.messages.updateSuccess'))
        closeDialog()
        await refreshUpdate?.()
        return
      }
      await saveRequest(payload)
      ElMessage.success('新增成功')
      ElMessage.success($t('crud.messages.createSuccess'))
      closeDialog()
      await refreshCreate?.()
    } catch (error) {
      ElMessage.error(error?.message || '提交失败')
      ElMessage.error(error?.message || $t('crud.messages.submitFailed'))
    }
  }
  const handleDelete = async (record) => {
    try {
      const recordLabel = resolveRecordLabel?.(record) || record?.id
      await ElMessageBox.confirm(`确定要删除${entityName}「${recordLabel}」吗?`, '删除确认', {
        confirmButtonText: '确定',
        cancelButtonText: '取消',
      await ElMessageBox.confirm($t('crud.confirm.deleteMessage', { entity: entityName, label: recordLabel }), $t('crud.confirm.deleteTitle'), {
        confirmButtonText: $t('common.confirm'),
        cancelButtonText: $t('common.cancel'),
        type: 'warning'
      })
      await deleteRequest(record.id)
      ElMessage.success('删除成功')
      ElMessage.success($t('crud.messages.deleteSuccess'))
      await refreshRemove?.()
    } catch (error) {
      if (error !== 'cancel') {
        ElMessage.error(error?.message || '删除失败')
        ElMessage.error(error?.message || $t('crud.messages.deleteFailed'))
      }
    }
  }
@@ -84,18 +85,18 @@
    if (!ids.length) return
    try {
      await ElMessageBox.confirm(`确定要批量删除选中的 ${ids.length} 个${entityName}吗?`, '批量删除确认', {
        confirmButtonText: '确定',
        cancelButtonText: '取消',
      await ElMessageBox.confirm($t('crud.confirm.batchDeleteMessage', { count: ids.length, entity: entityName }), $t('crud.confirm.batchDeleteTitle'), {
        confirmButtonText: $t('common.confirm'),
        cancelButtonText: $t('common.cancel'),
        type: 'warning'
      })
      await deleteRequest(ids.join(','))
      ElMessage.success('批量删除成功')
      ElMessage.success($t('crud.messages.batchDeleteSuccess'))
      selectedRows.value = []
      await refreshRemove?.()
    } catch (error) {
      if (error !== 'cancel') {
        ElMessage.error(error?.message || '批量删除失败')
        ElMessage.error(error?.message || $t('crud.messages.batchDeleteFailed'))
      }
    }
  }