From d2811a1f8746cc72a16dbed114a1ae25c6bc4b94 Mon Sep 17 00:00:00 2001 From: sheng <15292050171@163.com> Date: Mon, 31 Jul 2023 10:23:46 +0800 Subject: [PATCH] =?UTF-8?q?fix(=E8=8F=9C=E5=8D=95=E7=AE=A1=E7=90=86):=20?= =?UTF-8?q?=20=E4=B8=8A=E7=A7=BB=E4=B8=8B=E7=A7=BB=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- web/.env.development | 2 +- web/src/views/system/menu/index.vue | 23 ++++++++++++++--------- 2 files changed, 15 insertions(+), 10 deletions(-) diff --git a/web/.env.development b/web/.env.development index 0a1569e..93206aa 100644 --- a/web/.env.development +++ b/web/.env.development @@ -3,7 +3,7 @@ ENV = 'development' # 本地环境接口地址 #`VITE_API_URL = 'https://demo.dvadmin.com/api' -VITE_API_URL = 'http://192.168.1.160:8002' +VITE_API_URL = 'http://192.168.1.160:8003' # 是否启用按钮权限 VITE_PM_ENABLED = true diff --git a/web/src/views/system/menu/index.vue b/web/src/views/system/menu/index.vue index 8ab7dae..611b14f 100644 --- a/web/src/views/system/menu/index.vue +++ b/web/src/views/system/menu/index.vue @@ -199,6 +199,7 @@ const filterText = ref(''); const treeRef = ref>(); let drawerVisible = ref(false); let treeSelectNode = ref(null); +let sortDisable = ref(false); let formData = reactive({ name: '', @@ -424,27 +425,31 @@ const handleDeleteMenu = () => { /** * 移动操作 */ -const handleSort = (type: string) => { +const handleSort = async (type: string) => { if (!form.id && treeSelectNode.value) { warningMessage('请选择菜单!'); return; } + + if (sortDisable.value) return; const parentList = treeSelectNode.value?.parent.childNodes || []; const index = parentList.findIndex((i) => i.data.id === form.id); const record = parentList.find((i) => i.data.id === form.id); if (type === 'up') { if (index === 0) return; - api.moveUp({ menu_id: form.id }).then((res: APIResponseData) => { - getData(); - successMessage(res.msg as string); - }); + parentList.splice(index - 1, 0, record as any); + parentList.splice(index + 1, 1); + sortDisable.value = true; + await api.moveUp({ menu_id: form.id }); + sortDisable.value = false; } if (type === 'down') { - api.moveDown({ menu_id: form.id }).then((res: APIResponseData) => { - getData(); - successMessage(res.msg as string); - }); + parentList.splice(index + 2, 0, record as any); + parentList.splice(index, 1); + sortDisable.value = true; + await api.moveDown({ menu_id: form.id }); + sortDisable.value = false; } };