Browse Source

feat(permissions): 重置密码弹窗

zhangrenyuan/feature-20250714163943-金币前端二期
lihui 2 weeks ago
parent
commit
4a428f9abc
  1. 80
      src/views/permissions/permission.vue

80
src/views/permissions/permission.vue

@ -4,7 +4,7 @@ import ElementPlus from 'element-plus'
import { ElMessage, ElMessageBox } from 'element-plus' import { ElMessage, ElMessageBox } from 'element-plus'
import axios from 'axios' import axios from 'axios'
import moment from 'moment' import moment from 'moment'
import { UserFilled } from '@element-plus/icons-vue'
import {InfoFilled, UserFilled} from '@element-plus/icons-vue'
import _ from 'lodash' import _ from 'lodash'
import request from '@/util/http' import request from '@/util/http'
import API from '@/util/http' import API from '@/util/http'
@ -500,7 +500,6 @@ const permissionEdit = async function () {
postiton: permissionEditObj.value.postiton,// postiton: permissionEditObj.value.postiton,//
roleId: permissionEditObj.value.roleId,//id roleId: permissionEditObj.value.roleId,//id
machineId: permissionEditObj.value.machineIds[0],// machineId: permissionEditObj.value.machineIds[0],//
machineId: permissionEditObj.value.machineIds[0],//
machineIds: permissionEditObj.value.machineIds[1],// machineIds: permissionEditObj.value.machineIds[1],//
password: permissionEditObj.value.password,// password: permissionEditObj.value.password,//
remark: permissionEditObj.value.remark// remark: permissionEditObj.value.remark//
@ -634,6 +633,17 @@ const editStatus = async function (row) {
} }
} }
//
const resetConfirmVisible = ref(false)
//
const currentRow = ref(null)
//
const resetPassword = function (row) {
//
currentRow.value = row
resetConfirmVisible.value = true
}
const handlePageSizeChange = function (val) { const handlePageSizeChange = function (val) {
getObj.value.pageSize = val getObj.value.pageSize = val
@ -724,32 +734,38 @@ const showMenuTree = (treeData, roleName) => {
currentRoleName.value = roleName || '权限详情'; currentRoleName.value = roleName || '权限详情';
menuTreeVisible.value = true; menuTreeVisible.value = true;
}; };
//
const resetPassword = async function (row) {
//
const confirmResetPassword = async function () {
const params = {
account: currentRow.value.account,
}
console.log(params)
//
try { try {
await ElMessageBox.confirm(
`确认重置该账号密码?`,
'提示',
{
confirmButtonText: '确认',
cancelButtonText: '取消',
type: "warning",
lockScroll: false
}
);
const res = await API({
const result = await request({
url: '/admin/reset', url: '/admin/reset',
data: { account: row.account }
method: 'post',
data: params // params
}) })
if (res.code == 200) {
ElMessage.success(res.data)
if (result.code === 200) { // 使
ElMessage.success('重置密码成功')
resetConfirmVisible.value = false //
} else {
ElMessage.error(result.message || '重置密码失败')
} }
} catch (error) { } catch (error) {
ElMessage.error('请求失败', error)
ElMessage.error('重置密码失败')
console.error('请求错误:', error)
} }
} }
//
const cancelResetPassword = function () {
resetConfirmVisible.value = false
}
// //
onMounted(async function () { onMounted(async function () {
@ -1123,6 +1139,30 @@ const Rolerules = reactive({
</div> </div>
</template> </template>
</el-dialog> </el-dialog>
<!-- 重置密码确认弹窗 -->
<el-dialog
v-model="resetConfirmVisible" width="500px" :close-on-click-modal="false" :before-close="cancelResetPassword"
>
<el-row>
<el-col :span="4" style="margin-top: 20px">
<el-icon class="dialog-icon" color="#10AEFF" size="50">
<InfoFilled/>
</el-icon>
</el-col>
<el-col :span="20">
<h3>提示</h3>
<p class="dialog-title">确认重置该账号密码</p>
<p class="dialog-desc">重置后密码为: 123456请通知用户及时修改</p>
</el-col>
</el-row>
<template #footer>
<div style="align-content: center ; gap: 30px">
<el-button @click="cancelResetPassword">取消</el-button>
<el-button type="primary" @click="confirmResetPassword">确定</el-button>
</div>
</template>
</el-dialog>
</template> </template>
<style scoped> <style scoped>

Loading…
Cancel
Save