董国庆
2026-06-25 fd2be4592ad78d5f76fa287721a0153fad9f6ea6
src/views/userContent/contentCenter/components/AgreementListForm.vue
@@ -2,7 +2,7 @@
import noDataImg from "@/assets/element-img/no-data.png";
import { computed, h, onMounted, ref, watch } from "vue";
import { useRouter } from "vue-router";
import { NButton, NDataTable, NPopconfirm, NSpace, useMessage } from "naive-ui";
import { NButton, NDataTable, NSpace, useDialog, useMessage } from "naive-ui";
import type { DataTableColumns } from "naive-ui";
import OperationLogModal from "@/components/custom/OperationLogModal.vue";
import dragIcon from "@/assets/point/union.png";
@@ -31,6 +31,7 @@
}
const router = useRouter();
const dialog = useDialog();
const message = useMessage();
const tableLoading = ref(false);
const deleteLoadingId = ref<number | null>(null);
@@ -92,20 +93,15 @@
              { default: () => "编辑" }
            ),
            h(
              NPopconfirm,
              { onPositiveClick: () => handleDelete(row) },
              NButton,
              {
                trigger: () =>
                  h(
                    NButton,
                    {
                      text: true,
                      type: "primary",
                      loading: deleteLoadingId.value === row.id,
                    },
                    { default: () => "删除" }
                  ),
                default: () => "确认删除该协议吗?",
                text: true,
                type: "primary",
                loading: deleteLoadingId.value === row.id,
                onClick: () => handleDelete(row),
              },
              {
                default: () => "删除",
              }
            ),
          ],
@@ -207,6 +203,22 @@
}
async function handleDelete(row: AgreementItem) {
  if (deleteLoadingId.value === row.nameId) return;
  dialog.warning({
    maskClosable: false,
    title: "确认删除",
    content: `确认删除协议"${row.title}"吗?`,
    positiveText: "确定",
    negativeText: "取消",
    autoFocus: false,
    onPositiveClick: async () => {
      await executeDelete(row);
    },
  });
}
async function executeDelete(row: AgreementItem) {
  deleteLoadingId.value = row.nameId;
  try {
    const res = await deleteLoginAgreement(row.nameId);
@@ -214,8 +226,10 @@
      message.success("删除成功");
      await loadList();
    } else {
      // message.error(res?.msg || '删除失败')
      message.error(res?.msg || "删除失败");
    }
  } catch (error: any) {
    message.error(error?.message || "删除失败");
  } finally {
    deleteLoadingId.value = null;
  }