From 0b6992321f48c9e4c9e4f75249ab747523cd4826 Mon Sep 17 00:00:00 2001 From: lihui Date: Tue, 22 Jul 2025 11:56:54 +0800 Subject: [PATCH] =?UTF-8?q?feat(permissions):=20=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E7=94=A8=E6=88=B7=E5=AF=86=E7=A0=81=E9=87=8D=E7=BD=AE=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/permissions/permission.vue | 86 +++++++++++++++++++++++++++++++----- 1 file changed, 74 insertions(+), 12 deletions(-) diff --git a/src/views/permissions/permission.vue b/src/views/permissions/permission.vue index 5dccb2f..7371472 100644 --- a/src/views/permissions/permission.vue +++ b/src/views/permissions/permission.vue @@ -724,7 +724,68 @@ const showMenuTree = (treeData, roleName) => { menuTreeVisible.value = true; }; -//用户密码重置 + +// 重置密码弹窗状态 +const resetConfirmVisible = ref(false) +// 当前选中的行数据 +const currentRow = ref(null) +// 重置密码 +const resetPassword = function (row) { + // 显示确认弹窗 + currentRow.value = row + resetConfirmVisible.value = true +} + +// 确认重置密码 +const confirmResetPassword = async function () { + // 处理markets数据 + if (typeof adminData.value.markets === 'string' && adminData.value.markets) { + adminData.value.markets = adminData.value.markets.split(','); + } else { + adminData.value.markets = []; + } + console.log("地区",adminData.value.markets[0]) + // 权限检查 + await getAdminData() + if (adminData.value.markets.includes(currentRow.value.market) || adminData.value.markets === '总部') { + + console.log('符合条件,可以操作',adminData.value.markets.includes(currentRow.value.market) || adminData.value.markets === '总部'); + const params = { + account: currentRow.value.account, + } + console.log(params); + + // 发送请求 + try { + const result = await request({ + url: '/admin/reset', + method: 'post', + data: params // 直接传递params对象 + }); + + if (result.code === 200) { // 使用严格相等运算符 + ElMessage.success('重置密码成功'); + resetConfirmVisible.value = false; // 关闭弹窗 + } else { + ElMessage.error(result.message || '重置密码失败'); + } + } catch (error) { + ElMessage.error('重置密码失败'); + console.error('请求错误:', error); + } + } else { + // console.log("为什么不能重置",adminData.value.markets) + ElMessage.error('您没有修改' + currentRow.value.market + '地区的用户密码的权限'); + resetConfirmVisible.value = false; // 关闭弹窗 + } +} + +// 取消重置密码 +const cancelResetPassword = function () { + resetConfirmVisible.value = false +} + +/*//用户密码重置 const resetPassword = function (row) { console.log('adminData.value.markets', adminData.value.markets); @@ -769,17 +830,7 @@ const resetPassword = function (row) { } -} - - -// 挂载 -onMounted(async function () { - await get() - await getArea() - await getStore() - await getRoleList() - await getAdminData() -}) +}*/ const Rolerules = reactive({ roleName: [ @@ -794,6 +845,17 @@ const Rolerules = reactive({ { pattern: /^[1-9]\d{0,2}$/, message: '优先级应为1-999的数字', trigger: 'blur' } ] }); +// 挂载 +onMounted(async function () { + await getAdminData() + await get() + await getArea() + await getStore() + await getRoleList() + +}) + +