mirror of
https://github.com/ccmjga/zhilu-admin
synced 2026-04-06 13:17:35 +00:00
fix next tick
This commit is contained in:
@@ -19,6 +19,9 @@ export default [
|
|||||||
});
|
});
|
||||||
return response;
|
return response;
|
||||||
}),
|
}),
|
||||||
|
http.delete("/ai/action/user", () => {
|
||||||
|
return HttpResponse.json({ success: true });
|
||||||
|
}),
|
||||||
http.get("/ai/llm/page-query", () => {
|
http.get("/ai/llm/page-query", () => {
|
||||||
const generateLlm = () => ({
|
const generateLlm = () => ({
|
||||||
id: faker.number.int({ min: 1, max: 100 }),
|
id: faker.number.int({ min: 1, max: 100 }),
|
||||||
|
|||||||
@@ -67,7 +67,7 @@
|
|||||||
}">
|
}">
|
||||||
</UserUpsertModal>
|
</UserUpsertModal>
|
||||||
<UserDeleteModal :id="'user-delete-modal'" :closeModal="() => {
|
<UserDeleteModal :id="'user-delete-modal'" :closeModal="() => {
|
||||||
currentDeleteUsername = undefined
|
currentDeleteUsername = undefined
|
||||||
userDeleteModal!.hide();
|
userDeleteModal!.hide();
|
||||||
}" :onSubmit="handleDeleteUserSubmit" title="确定删除该用户吗" content="删除用户"></UserDeleteModal>
|
}" :onSubmit="handleDeleteUserSubmit" title="确定删除该用户吗" content="删除用户"></UserDeleteModal>
|
||||||
<DepartmentUpsertModal :id="'department-upsert-modal'" :onSubmit="handleUpsertDepartmentSubmit" :closeModal="() => {
|
<DepartmentUpsertModal :id="'department-upsert-modal'" :onSubmit="handleUpsertDepartmentSubmit" :closeModal="() => {
|
||||||
@@ -94,7 +94,7 @@ import type { DepartmentUpsertModel } from "@/types/department";
|
|||||||
import DOMPurify from "dompurify";
|
import DOMPurify from "dompurify";
|
||||||
import { Modal, type ModalInterface, initFlowbite } from "flowbite";
|
import { Modal, type ModalInterface, initFlowbite } from "flowbite";
|
||||||
import { marked } from "marked";
|
import { marked } from "marked";
|
||||||
import { nextTick, onMounted, onUnmounted, ref, watch } from "vue";
|
import { onMounted, onUnmounted, ref, watch } from "vue";
|
||||||
import { z } from "zod";
|
import { z } from "zod";
|
||||||
import Button from "../components/Button.vue";
|
import Button from "../components/Button.vue";
|
||||||
import DepartmentUpsertModal from "../components/DepartmentUpsertModal.vue";
|
import DepartmentUpsertModal from "../components/DepartmentUpsertModal.vue";
|
||||||
@@ -181,16 +181,12 @@ const renderMarkdown = (content: string | undefined) => {
|
|||||||
|
|
||||||
const handleDeleteUserClick = (input: string) => {
|
const handleDeleteUserClick = (input: string) => {
|
||||||
currentDeleteUsername.value = input;
|
currentDeleteUsername.value = input;
|
||||||
nextTick(() => {
|
userDeleteModal.value?.show();
|
||||||
userDeleteModal.value?.show();
|
|
||||||
});
|
|
||||||
};
|
};
|
||||||
|
|
||||||
const handleDeleteDepartmentClick = (input: string) => {
|
const handleDeleteDepartmentClick = (input: string) => {
|
||||||
currentDeleteDepartmentName.value = input;
|
currentDeleteDepartmentName.value = input;
|
||||||
nextTick(() => {
|
departmentDeleteModal.value?.show();
|
||||||
departmentDeleteModal.value?.show();
|
|
||||||
});
|
|
||||||
};
|
};
|
||||||
|
|
||||||
const handleUpsertUserSubmit = async (data: UserUpsertSubmitModel) => {
|
const handleUpsertUserSubmit = async (data: UserUpsertSubmitModel) => {
|
||||||
@@ -233,8 +229,7 @@ const handleDeleteDepartmentSubmit = async () => {
|
|||||||
|
|
||||||
watch(
|
watch(
|
||||||
messages,
|
messages,
|
||||||
async () => {
|
() => {
|
||||||
await nextTick();
|
|
||||||
scrollToBottom();
|
scrollToBottom();
|
||||||
},
|
},
|
||||||
{ deep: true },
|
{ deep: true },
|
||||||
@@ -303,6 +298,9 @@ onMounted(async () => {
|
|||||||
userDeleteModal.value = new Modal(
|
userDeleteModal.value = new Modal(
|
||||||
$userDeleteModalElement,
|
$userDeleteModalElement,
|
||||||
{},
|
{},
|
||||||
|
{
|
||||||
|
id: "user-delete-modal",
|
||||||
|
},
|
||||||
);
|
);
|
||||||
const $departmentDeleteModalElement: HTMLElement | null =
|
const $departmentDeleteModalElement: HTMLElement | null =
|
||||||
document.querySelector("#department-delete-modal");
|
document.querySelector("#department-delete-modal");
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<div :id tabindex="-1"
|
<div :id tabindex="-1"
|
||||||
class="bg-gray-900/50 hidden overflow-y-auto overflow-x-hidden fixed top-0 right-0 left-0 z-50 justify-center items-center w-full md:inset-0 h-[calc(100%-1rem)] max-h-full">
|
class="bg-gray-900/50 hidden overflow-y-auto overflow-x-hidden fixed top-0 right-0 left-0 z-50 justify-center items-center w-full h-[calc(100%-1rem)] max-h-full">
|
||||||
<div class="relative p-4 w-full max-w-xs sm:max-w-sm md:max-w-md max-h-full">
|
<div class="relative p-4 w-full max-w-xs sm:max-w-sm md:max-w-md max-h-full">
|
||||||
<div class="relative bg-white rounded-lg shadow-sm">
|
<div class="relative bg-white rounded-lg shadow-sm">
|
||||||
<button type="button" @click="closeModal"
|
<button type="button" @click="closeModal"
|
||||||
@@ -39,7 +39,7 @@
|
|||||||
import { initFlowbite } from "flowbite";
|
import { initFlowbite } from "flowbite";
|
||||||
import { onMounted } from "vue";
|
import { onMounted } from "vue";
|
||||||
|
|
||||||
defineProps<{
|
const { title, id, closeModal, onSubmit } = defineProps<{
|
||||||
title: string;
|
title: string;
|
||||||
id: string;
|
id: string;
|
||||||
closeModal: () => void;
|
closeModal: () => void;
|
||||||
|
|||||||
Reference in New Issue
Block a user