对接注册和忘记密码接口

This commit is contained in:
wangchengming 2025-07-03 22:28:38 +08:00
parent 6cfeb735d5
commit 26876e499e
4 changed files with 140 additions and 151 deletions

View File

@ -44,19 +44,15 @@ export function delUser(userId) {
})
}
// 忘记密码重置
export function resetPwd(userId, password) {
const data = {
userId,
password
}
// 查询待审批新用户
export function checkRegisterUserList(data) {
return request({
url: '/system/user/resetPwd',
method: 'put',
data: data
url: '/system/user/checkRegisterUserList',
method: 'get',
params: data
})
}
// 用户密码重置
export function resetUserPwd(userId, password) {
const data = {
@ -155,3 +151,20 @@ export function getUserInfo() {
method: 'get'
})
}
// 查询部门下拉树结构 白名单
export function customerDeptTreeSelect() {
return request({
url: '/fe/dept/listTree',
method: 'get'
})
}
// 忘记密码重置 白名单
export function resetPwd(params) {
return request({
url: '/fe/resetUserPwd',
method: 'put',
data: params
})
}

View File

@ -17,7 +17,7 @@
<el-option label="驳回" value="9" />
</el-select>
</el-form-item>
<el-form-item label="员工姓名" prop="userName">
<el-form-item label="员工姓名">
<el-select v-model="queryParams.userId" filterable placeholder="请选择员工" style="width: 160px"
clearable>
<el-option v-for="item in allUsers" :key="item.userId" :label="item.nickName"

View File

@ -72,7 +72,7 @@ import { ElMessageBox } from "element-plus"
import { register } from "@/api/login"
import systemlogo from '@/assets/logo/systemLogo.png'
import { getBusDependencyPage } from "@/api/system/dependency"
import { deptTreeSelect } from "@/api/system/user"
import { customerDeptTreeSelect } from "@/api/system/user"
import { getSysSectionPage } from "@/api/system/section"
const router = useRouter()
@ -157,7 +157,8 @@ const getBusDependencyData = () => {
const enabledDeptOptions = ref(undefined)
//
const getDeptTree = () => {
deptTreeSelect().then(res => {
customerDeptTreeSelect().then(res => {
console.log('部门数据', res.data)
enabledDeptOptions.value = filterDisabledDept(JSON.parse(JSON.stringify(res.data)))
})
}
@ -182,7 +183,8 @@ const handleRegister = () => {
register(registerForm.value).then(res => {
console.log('注册结果', res)
const username = registerForm.value.username
ElMessageBox.alert("<font color='red'>恭喜你,您的账号 " + username + " 注册成功!</font>", "系统提示", {
const escName = registerForm.value.escUserName
ElMessageBox.alert("<font color='red'>恭喜你,您的账号 " + username + " 注册成功请耐心等待ESC" + escName + "审核!!!</font>", "系统提示", {
dangerouslyUseHTMLString: true,
type: "success",
}).then(() => {

View File

@ -5,25 +5,30 @@
<el-form :model="queryParams" ref="queryRef" :inline="true">
<el-row class="myRow">
<el-col :span="20">
<el-form-item label="注册日期" prop="userName">
<el-date-picker v-model="rangeTime" type="daterange" range-separator="~" :clearable="false"
style="width: 250px" start-placeholder="开始日期" end-placeholder="结束日期" />
<el-form-item label="注册日期">
<el-date-picker v-model="dateRange" type="daterange" range-separator="~" :clearable="false"
format="YYYY-MM-DD" value-format="YYYY-MM-DD" style="width: 250px"
@change="handleDateChange" start-placeholder="开始日期" end-placeholder="结束日期" />
</el-form-item>
<el-form-item label="属地" prop="deptId">
<el-select v-model="queryParams.deptId" placeholder="请选择" clearable style="width: 160px">
<el-option label="Zone one" value="shanghai" />
<el-option label="Zone two" value="beijing" />
<el-form-item label="属地">
<el-select v-model="queryParams.dependencyId" filterable placeholder="请选择属地"
@change="selectChanged">
<el-option v-for="item in busDependencyData" :key="item.id" :label="item.dependencyName"
:value="item.id" />
</el-select>
</el-form-item>
<el-form-item label="员工姓名" prop="userName">
<el-input v-model="queryParams.userName" placeholder="请输入员工姓名" clearable
style="width: 160px" @keyup.enter="handleQuery" />
<el-form-item label="员工姓名">
<el-select v-model="queryParams.userId" filterable placeholder="请选择员工" style="width: 160px"
clearable>
<el-option v-for="item in allUsers" :key="item.userId" :label="item.nickName"
:value="item.userId" />
</el-select>
</el-form-item>
<el-form-item style="margin-right: 10px;">
<el-button v-if="!unfoldFlag" type="text" class="foladText" @click="handleFlod">展开
<el-button v-if="!unfoldFlag" text class="foladText" @click="handleFlod">展开
<svg-icon icon-class="unfold" />
</el-button>
<el-button v-else type="text" class="foladText" @click="handleFlod">折叠
<el-button v-else text class="foladText" @click="handleFlod">折叠
<svg-icon icon-class="packUp" />
</el-button>
</el-form-item>
@ -35,19 +40,17 @@
</el-row>
<el-row class="myRow" v-show="unfoldFlag">
<el-col :span="20">
<el-form-item label="部门" prop="qualification">
<el-select v-model="queryParams.qualification" placeholder="请选择部门" clearable
style="width: 160px">
<el-option label="Zone one" value="shanghai" />
<el-option label="Zone two" value="beijing" />
</el-select>
<el-form-item label="部门" prop="deptId">
<el-tree-select v-model="queryParams.deptId" :data="enabledDeptOptions" clearable
:props="{ value: 'id', label: 'label', children: 'children' }" value-key="id"
placeholder="请选择部门" check-strictly style="width: 160px" />
</el-form-item>
</el-col>
</el-row>
</el-form>
<div class="borderLine"></div>
<el-table :data="tableData" height="calc(100% - 176px)" style="width: 100%">
<el-table v-loading="loading" :data="tableData" height="calc(100% - 176px)" style="width: 100%">
<el-table-column label="序号" width="60">
<template #default="scope">
{{ scope.$index + 1 }}
@ -80,8 +83,8 @@
</template>
</el-table-column>
</el-table>
<pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum"
v-model:limit="queryParams.pageSize" @pagination="getList" />
<pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageIndex"
v-model:limit="queryParams.pageSize" @pagination="getcheckRegisterUserPageList" />
</div>
</div>
</template>
@ -89,142 +92,113 @@
import { ref } from 'vue'
import { useRouter } from 'vue-router'
import Breadcrumb from '@/components/Breadcrumb'
import { deptTreeSelect, listUser, checkRegisterUserList } from "@/api/system/user"
import { getBusDependencyPage } from "@/api/system/dependency"
const router = useRouter()
const total = ref(16)
const loading = ref(true)
const total = ref(0)
const tableData = ref([])
const unfoldFlag = ref(false)
const rangeTime = ref([])
const dateRange = ref([])
const queryParams = ref({
pageNum: 1,
pageIndex: 1,
pageSize: 10,
userName: undefined,
userId: undefined,
dependencyId: undefined,
deptId: undefined,
qualification: undefined
startTime: undefined,
endTime: undefined
})
const tableData = [
{
localityName: 'XXX属地',
departmentName: 'XXX部门',
officeName: 'XXX科室',
jobNumber: '3523213',
name: '赵丽娟',
curQualification: '-',
objectiveQualification: 'SH',
status: 0,
expireTime: '2019-05-03'
},
{
localityName: 'XXX属地',
departmentName: 'XXX部门',
officeName: 'XXX科室',
jobNumber: '3523213',
name: '赵丽娟',
curQualification: '-',
objectiveQualification: 'SH',
status: 1,
expireTime: '2019-05-03'
},
{
localityName: 'XXX属地',
departmentName: 'XXX部门',
officeName: 'XXX科室',
jobNumber: '3523213',
name: '赵丽娟',
curQualification: '-',
objectiveQualification: 'SH',
status: 2,
expireTime: '2019-05-03'
},
{
localityName: 'XXX属地',
departmentName: 'XXX部门',
officeName: 'XXX科室',
jobNumber: '3523213',
name: '赵丽娟',
curQualification: '-',
objectiveQualification: 'SH',
status: 0
},
{
localityName: 'XXX属地',
departmentName: 'XXX部门',
officeName: 'XXX科室',
jobNumber: '3523213',
name: '赵丽娟',
curQualification: '-',
objectiveQualification: 'SH',
status: 0
},
{
localityName: 'XXX属地',
departmentName: 'XXX部门',
officeName: 'XXX科室',
jobNumber: '3523213',
name: '赵丽娟',
curQualification: '-',
objectiveQualification: 'SH',
status: 0
},
{
localityName: 'XXX属地',
departmentName: 'XXX部门',
officeName: 'XXX科室',
jobNumber: '3523213',
name: '赵丽娟',
curQualification: '-',
objectiveQualification: 'SH',
status: 0
},
{
localityName: 'XXX属地',
departmentName: 'XXX部门',
officeName: 'XXX科室',
jobNumber: '3523213',
name: '赵丽娟',
curQualification: '-',
objectiveQualification: 'SH',
status: 0
},
{
localityName: 'XXX属地',
departmentName: 'XXX部门',
officeName: 'XXX科室',
jobNumber: '3523213',
name: '赵丽娟',
curQualification: '-',
objectiveQualification: 'SH',
status: 0
},
{
localityName: 'XXX属地',
departmentName: 'XXX部门',
officeName: 'XXX科室',
jobNumber: '3523213',
name: '赵丽娟',
curQualification: '-',
objectiveQualification: 'SH',
status: 0
},
]
//
onMounted(() => {
getAllUser();
getDeptTree();
getBusDependencyData();
getcheckRegisterUserPageList();
});
//
const busDependencyData = ref([])
//
const getBusDependencyData = () => {
getBusDependencyPage({
pageIndex: 1,
pageSize: 100,
}).then(response => {
if (response.code == 200) {
busDependencyData.value = response.data.list
}
})
}
//
const allUsers = ref([])
//
const getAllUser = () => {
listUser({
pageNum: 1,
pageSize: 5000
}).then(res => {
allUsers.value = res.rows
})
}
//
const enabledDeptOptions = ref(undefined)
//
const getDeptTree = () => {
deptTreeSelect().then(res => {
enabledDeptOptions.value = filterDisabledDept(JSON.parse(JSON.stringify(res.data)))
})
}
/** 过滤禁用的部门 */
const filterDisabledDept = (deptList) => {
return deptList.filter(dept => {
if (dept.disabled) {
return false
}
if (dept.children && dept.children.length) {
dept.children = filterDisabledDept(dept.children)
}
return true
})
}
const getcheckRegisterUserPageList = () => {
loading.value = true
console.log('queryParams.value', queryParams.value)
checkRegisterUserList(queryParams.value).then(res => {
if (res.code == 200) {
tableData.value = res.rows
total.value = res.total
}
loading.value = false
}).catch(() => {
loading.value = false
})
}
const handleFlod = () => {
unfoldFlag.value = !unfoldFlag.value
}
/** 搜索按钮操作 */
const handleQuery = () => {
queryParams.value.pageNum = 1
getList()
queryParams.value.pageIndex = 1
getcheckRegisterUserPageList()
}
/** 重置按钮操作 */
const resetQuery = () => {
dateRange.value = []
proxy.resetForm("queryRef")
queryParams.value.userId = undefined
queryParams.value.dependencyId = undefined
queryParams.value.deptId = undefined
proxy.$refs.deptTreeRef.setCurrentKey(null)
queryParams.value.startTime = undefined
queryParams.value.endTime = undefined
proxy.resetForm("queryRef")
handleQuery()
}
const getList = () => {
}
const handleView = () => {
router.push('/system/userApproval/userApprovalDetail')
}