From 43fca2cb16964496caafdbc34e969d2a7cde7cc0 Mon Sep 17 00:00:00 2001 From: 马宇豪 <978517621@qq.com> Date: 星期四, 30 三月 2023 15:32:56 +0800 Subject: [PATCH] 用户接口 --- src/api/systemManage/user/index.ts | 17 + src/views/system/user/index.vue | 119 +++++++++++--- src/views/system/department/component/deptDialog.vue | 76 +++++--- src/utils/toolsValidate.ts | 52 ++++++ src/views/experiment/project/components/projectDialog.vue | 1 src/views/system/user/component/userDialog.vue | 168 ++++++++++---------- src/views/experiment/project/index.vue | 1 src/main.ts | 2 8 files changed, 281 insertions(+), 155 deletions(-) diff --git a/src/api/systemManage/user/index.ts b/src/api/systemManage/user/index.ts index ff54d2b..e36c708 100644 --- a/src/api/systemManage/user/index.ts +++ b/src/api/systemManage/user/index.ts @@ -21,17 +21,16 @@ // v1 modUser: (data: object) => { return request({ - url: import.meta.env.VITE_API_URL + `/account/mod`, + url: import.meta.env.VITE_API_URL + `/account/user/update/info`, method: 'post', data: data }); }, // v1 - deleteUser: (data: object) => { + deleteUser: (userId: number | null) => { return request({ - url: import.meta.env.VITE_API_URL + `/account/user/deleteUser`, - method: 'post', - data: data + url: import.meta.env.VITE_API_URL + `/account/user/deleteUser?userId=${userId == null ? null : userId}`, + method: 'get' }); }, // v1 @@ -41,6 +40,14 @@ method: 'get' }); }, + + getUserLByRealName: (name: string) => { + return request({ + url: import.meta.env.VITE_API_URL + `/account/user/find/list/realName?name=${name}`, + method: 'get' + }); + }, + getAllUser: () => { return request({ url: import.meta.env.VITE_API_URL + `/account/list`, diff --git a/src/main.ts b/src/main.ts index a45931b..7cfa70a 100644 --- a/src/main.ts +++ b/src/main.ts @@ -14,7 +14,7 @@ import VueGridLayout from 'vue-grid-layout'; import zhCn from 'element-plus/lib/locale/lang/zh-cn'; import DataVVue3 from '@kjgl77/datav-vue3' - +// import 'lib-flexible/flexible' const app = createApp(App); for (const [key, component] of Object.entries(ElementPlusIconsVue)) { app.component(key, component); diff --git a/src/utils/toolsValidate.ts b/src/utils/toolsValidate.ts index 434466e..46a6162 100644 --- a/src/utils/toolsValidate.ts +++ b/src/utils/toolsValidate.ts @@ -366,3 +366,55 @@ // true:车牌号正确 else return true; } + +export function checkChineseName (name:string) { + let reg = /^[\u4e00-\u9fa5]{2,15}$/; + // 保留点后,用来校验的姓名,也是最终校验通过后返回的姓名 + let payerName = name.replaceAll(" ", "") + .replaceAll(" ", "") + .replaceAll("•", "·") + .replaceAll(".", "·"); + // 去除所有点后,用来校验的姓名 + let checkName = name.replaceAll(" ", "") + .replaceAll(" ", "") + .replaceAll("•", "") + .replaceAll(".", "") + .replaceAll("·", ""); + if(checkName.length === 1){ + // this.$message({ + // type:'warning', + // message:'姓名至少包含两位汉字' + // }) + return false; + } + if (reg.test(checkName)) { + if(payerName.substring(0,1) === '·'){ + // this.$message({ + // type:'warning', + // message:'姓名第一位不能为“·”' + // }) + return false; + } + if(payerName.substring(payerName.length - 1) === '·'){ + // this.$message({ + // type:'warning', + // message:'姓名最后不能为“·”' + // }) + return false; + } + if(payerName.indexOf("··") !== -1){ + // this.$message({ + // type:'warning', + // message:'姓名不能有连续的“·”' + // }) + return false; + } + return payerName; + } else { + // this.$message({ + // type:'warning', + // message:'姓名中只能包含汉字和“·”' + // }) + return false; + } +} diff --git a/src/views/experiment/project/components/projectDialog.vue b/src/views/experiment/project/components/projectDialog.vue index c12ff77..102bdeb 100644 --- a/src/views/experiment/project/components/projectDialog.vue +++ b/src/views/experiment/project/components/projectDialog.vue @@ -417,7 +417,6 @@ pageSize: 10 }); if(res.data.code === 100){ - debugger projectDialogState.systemPersonList = JSON.parse(JSON.stringify(res.data.data)); }else{ ElMessage({ diff --git a/src/views/experiment/project/index.vue b/src/views/experiment/project/index.vue index b860688..041467f 100644 --- a/src/views/experiment/project/index.vue +++ b/src/views/experiment/project/index.vue @@ -119,7 +119,6 @@ type: 'warning' }) .then(async () => { - debugger let res = await projectApi().deleteProjectById({ id: val.id }); if (res.data.code === 100) { ElMessage({ diff --git a/src/views/system/department/component/deptDialog.vue b/src/views/system/department/component/deptDialog.vue index 1579bc6..6aa7fe5 100644 --- a/src/views/system/department/component/deptDialog.vue +++ b/src/views/system/department/component/deptDialog.vue @@ -1,7 +1,7 @@ <template> <div class="system-add-dept-container"> <el-dialog :title="title" v-model="isShowDialog" width="600px"> - <el-form :model="departmentForm" size="default" label-width="90px"> + <el-form :model="departmentForm" size="default" ref="depRef" :rules="depFormRules" label-width="90px"> <el-row :gutter="35"> <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20"> <el-form-item label="上级部门"> @@ -9,7 +9,7 @@ </el-form-item> </el-col> <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20"> - <el-form-item label="部门名称"> + <el-form-item label="部门名称" prop="depName"> <el-input v-model="departmentForm.depName" class="input-add" placeholder="请输入部门名称" clearable></el-input> </el-form-item> </el-col> @@ -23,7 +23,7 @@ <template #footer> <span class="dialog-footer"> <el-button @click="onCancel" size="default">取 消</el-button> - <el-button type="primary" v-throttle @click="onSubmit" size="default">确 定</el-button> + <el-button type="primary" v-throttle @click="onSubmit(depRef)" size="default">确 定</el-button> </span> </template> </el-dialog> @@ -32,7 +32,7 @@ <script lang="ts"> import { ElMessage } from 'element-plus'; -import { reactive, toRefs, onMounted, defineComponent } from 'vue'; +import {reactive, toRefs, onMounted, defineComponent, ref} from 'vue'; import { departmentApi } from '/@/api/systemManage/department'; // 定义接口来定义对象的类型 @@ -54,6 +54,9 @@ }; deptData: Array<TableDataRow>; depLevelList: Array<Type>; + depFormRules:{ + + } } interface Type{ id:number; @@ -79,9 +82,12 @@ {id:2,name:'事业部'}, {id:3,name:'车间'}, {id:4,name:'班组'} - ] // 部门数据 + ], // 部门数据 + depFormRules:{ + depName: [{ required: true, message: '请填写部门名称', trigger: 'blur' }], + }, }); - + const depRef = ref() const findParentById=(tree:Array<any>,id:number|null,depName:string)=>{ const parent = tree.find(i=>i.id == id) if(parent){ @@ -131,39 +137,48 @@ }; // 新增 const onSubmit = async () => { - if (state.title === '新增部门') { + depRef.value.validate(async (valid:Boolean) => { + if(valid){ + if (state.title === '新增部门') { let res = await departmentApi().addDepartment(state.departmentForm); if (res.data.code === 100) { - ElMessage({ - type: 'success', - message: '部门新增成功', - duration: 2000 - }); - closeDialog(); - context.emit('getDepartmentList'); + ElMessage({ + type: 'success', + message: '部门新增成功', + duration: 2000 + }); + closeDialog(); + context.emit('getDepartmentList'); } else { - ElMessage({ - type: 'warning', - message: res.data.msg - }); + ElMessage({ + type: 'warning', + message: res.data.msg + }); } - } else { + } else { let res = await departmentApi().modDepartment(state.departmentForm); if (res.data.code === 100) { - ElMessage({ - type: 'success', - message: '部门修改成功', - duration: 2000 - }); - closeDialog(); - context.emit('getDepartmentList'); + ElMessage({ + type: 'success', + message: '部门修改成功', + duration: 2000 + }); + closeDialog(); + context.emit('getDepartmentList'); } else { - ElMessage({ - type: 'warning', - message: res.data.msg - }); + ElMessage({ + type: 'warning', + message: res.data.msg + }); } + } + }else{ + ElMessage({ + type:'warning', + message:'请完善基本信息' + }) } + }) }; // 初始化部门数据 const initTableData = () => {}; @@ -172,6 +187,7 @@ initTableData(); }); return { + depRef, findParentById, openDialog, closeDialog, diff --git a/src/views/system/user/component/userDialog.vue b/src/views/system/user/component/userDialog.vue index 0eb4dd7..f3a0d93 100644 --- a/src/views/system/user/component/userDialog.vue +++ b/src/views/system/user/component/userDialog.vue @@ -3,67 +3,51 @@ <el-dialog :title="title" v-model="isShowUserDialog" width="769px"> <el-form :model="userForm" size="default" ref="userRef" :rules="userFormRules" label-width="90px"> <el-row :gutter="35"> - <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20" v-if="disabled"> - <el-form-item label="用户名"> - <el-input v-model.trim="userForm.username" :disabled="disabled" placeholder="" clearable></el-input> + <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> + <el-form-item label="用户名" prop="name"> + <el-input v-model.trim="userForm.name" placeholder="用户名" clearable></el-input> </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> <el-form-item label="真实姓名" prop="realName"> - <el-input v-model.trim="userForm.realName" placeholder="请输入真实姓名" clearable></el-input> + <el-input v-model.trim="userForm.realName" placeholder="真实姓名" clearable></el-input> </el-form-item> </el-col> + <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20" v-if="isAdd"> + <el-form-item label="账户密码" prop="pwd"> + <el-input v-model.trim="userForm.pwd" placeholder="账户密码" type="password" show-password> + </el-input> + </el-form-item> + </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> - <el-form-item label="关联角色" prop="roleId"> - <el-select v-model="userForm.roleId" placeholder="请选择" clearable class="w100"> - <el-option v-for="item in roleData" :key="item.roleId" :label="item.roleName" :value="item.roleId"> </el-option> + <el-form-item label="关联角色" prop="roleIds"> + <el-select v-model="userForm.roleIds" placeholder="关联角色" clearable class="w100" multiple> + <el-option v-for="item in roleData" :key="item.id" :label="item.name" :value="item.id"> </el-option> </el-select> </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> <el-form-item label="部门" prop="depId"> - <el-cascader :options="departmentData" :props="{ emitPath: false, checkStrictly: true, value: 'depId', label: 'depName' }" placeholder="请选择部门" clearable class="w100" v-model="userForm.depId"> </el-cascader> + <el-cascader :options="departmentData" :props="{ emitPath: false, checkStrictly: true, value: 'id', label: 'depName' }" placeholder="部门" clearable class="w100" v-model="userForm.depId"> </el-cascader> </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> <el-form-item label="手机号" prop="phone"> - <el-input v-model.trim="userForm.phone" placeholder="请输入手机号" clearable></el-input> + <el-input v-model.trim="userForm.phone" placeholder="手机号" clearable></el-input> </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> - <el-form-item label="身份证" prop="identify"> - <el-input v-model.trim="userForm.identify" placeholder="请输入身份证" clearable></el-input> - </el-form-item> + <el-form-item label="证件类型" prop="idType"> + <el-select v-model="userForm.idType" placeholder="证件类型" clearable class="w100"> + <el-option :key="1" label="身份证" :value="1"> </el-option> + </el-select> + </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> - <el-form-item label="邮箱" prop="email"> - <el-input v-model.trim="userForm.email" placeholder="请输入" clearable></el-input> + <el-form-item label="证件号码" prop="idSerial"> + <el-input v-model.trim="userForm.idSerial" placeholder="证件号码" clearable></el-input> </el-form-item> </el-col> - <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> - <el-form-item label="性别" prop="gender"> - <el-select v-model="userForm.gender" placeholder="请选择" clearable class="w100"> - <el-option v-for="item in sexList" :key="item.id" :value="item.id" :label="item.name"> </el-option> - </el-select> - </el-form-item> - </el-col> - <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> - <el-form-item label="账户过期" prop="expireTime"> - <el-date-picker v-model="userForm.expireTime" type="date" placeholder="请选择" class="w100"> </el-date-picker> - </el-form-item> - </el-col> - <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20" v-if="!disabled"> - <el-form-item label="账户密码" prop="password"> - <el-input v-model.trim="userForm.password" placeholder="请输入" type="password" show-password> - </el-input> - </el-form-item> - </el-col> - - <!-- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">--> - <!-- <el-form-item label="用户状态">--> - <!-- <el-switch v-model="userForm.status" inline-prompt active-value = 1 inactive-value= 0 active-text="启" inactive-text="禁"></el-switch>--> - <!-- </el-form-item>--> - <!-- </el-col>--> </el-row> </el-form> <template #footer> @@ -80,77 +64,62 @@ import { reactive, toRefs, onMounted, defineComponent, ref } from 'vue'; import { ElMessageBox, ElMessage } from 'element-plus'; import { userApi } from '/@/api/systemManage/user'; +import {checkChineseName, verifyFullName, verifyIdCard, verifyPhone} from "/@/utils/toolsValidate"; // 定义接口来定义对象的类型 interface DeptData {} interface roleData {} -interface sexData {} interface UserState { title: string; - disabled: boolean; isShowUserDialog: boolean; userForm: { - username: string; + name: string; realName: string; - roleId: number | null; + roleIds: Array<any> depId: number | null; phone: string; - email: string; - gender: number | null; - positionId: number | null; - password: string; - expireTime: string; - status: number; - identify: string; + pwd: string; + idType: number | null; + idSerial: string; }; userFormRules:{ }, departmentData: Array<DeptData>; roleData: Array<roleData>; - sexList: Array<sexData>; + isAdd:boolean } export default defineComponent({ - name: 'user', + name: 'userDialog', setup(props, context) { const userRef = ref() const state = reactive<UserState>({ title: '', - disabled: false, isShowUserDialog: false, userForm: { - username: '', // 账户名称 + name: '', // 账户名称 realName: '', // 用户昵称 - roleId: null, // 关联角色 + pwd: '', // 账户密码 + roleIds: [], // 关联角色 depId: null, // 部门 phone: '', // 手机号 - email: '', // 邮箱 - identify: '', - gender: null, // 性别 - password: '', // 账户密码 - positionId: 1, // 岗位 - expireTime: '', // 账户过期 - status: 1 // 用户状态 + idType: 1, + idSerial: '', }, userFormRules:{ - username: [{ required: true, message: '请填写用户名', trigger: 'blur' }], + name: [{ required: true, message: '请填写用户名', trigger: 'blur' }], realName: [{ required: true, message: '请填写真实姓名', trigger: 'blur' }], - roleId: [{ required: true, message: '请选择用户角色', trigger: 'change' }], + roleIds: [{ required: true, message: '请选择用户角色', trigger: 'change' }], depId: [{ required: true, message: '请选择部门', trigger: 'change' }], phone: [{ required: true, message: '请填写手机号', trigger: 'blur' }], - email: [{ required: true, message: '请填写邮箱地址', trigger: 'blur' }], - identify: [{ required: true, message: '请填写身份证号', trigger: 'blur' }], - gender: [{ required: true, message: '请选择性别', trigger: 'change' }], - expireTime: [{ required: true, message: '请输入账户过期时间', trigger: 'blur' }], - password: [{ required: true, message: '请输入账户密码', trigger: 'blur' }], + idType: [{ required: true, message: '请选择证件类型', trigger: 'blur' }], + idSerial: [{ required: true, message: '请填写证件号码', trigger: 'blur' }], + pwd: [{ required: true, message: '请输入账户密码', trigger: 'blur' }], }, departmentData: [], // 部门数据 roleData: [], //角色数据 - sexList: [ - { id: 1, name: '男' }, - { id: 0, name: '女' } - ] + isAdd: true }); // 打开弹窗 const openDialog = (type: string, value: any, departmentList: [], roleList: []) => { @@ -158,26 +127,23 @@ state.departmentData = departmentList; state.roleData = roleList; if (type === '新增') { - state.disabled = false state.title = '新增用户'; + state.isAdd = true state.userForm = { - username: '', + name: '', realName: '', - roleId: null, + roleIds: [], depId: null, phone: '', - email: '', - identify: '', - positionId: 1, - gender: null, - password: '', - expireTime: '', - status: 1 + idType: 1, + idSerial: '', + pwd: '' }; } else { - state.disabled = true state.title = '修改用户'; + state.isAdd = false state.userForm = JSON.parse(JSON.stringify(value)); + state.userForm.roleIds = JSON.parse(JSON.stringify(value)).roles.map(i=>i.roleId) } }; @@ -185,9 +151,33 @@ const onSubmit = async () => { userRef.value.validate(async (valid:Boolean) => { if(valid){ + if(checkChineseName(state.userForm.realName) == false){ + ElMessage({ + type: 'warning', + message: '真实姓名格式有误', + duration: 2000 + }); + return + } + if(verifyPhone(state.userForm.phone) == false){ + ElMessage({ + type: 'warning', + message: '请输入正确的手机号', + duration: 2000 + }); + return + } + if(verifyIdCard(state.userForm.idSerial) == false){ + ElMessage({ + type: 'warning', + message: '请输入正确的证件号码', + duration: 2000 + }); + return + } if (state.title === '新增用户') { let res = await userApi().addUser(state.userForm); - if (res.data.code === '200') { + if (res.data.code === 100) { ElMessage({ type: 'success', message: '用户新增成功', @@ -202,8 +192,10 @@ }); } } else { - let res = await userApi().modUser(state.userForm); - if (res.data.code === '200') { + const {name, realName, roleIds, depId, phone, idType, idSerial,id } = state.userForm + const data = {name, realName, roleIds, depId, phone, idType, idSerial,id} + let res = await userApi().modUser(data); + if (res.data.code === 100) { ElMessage({ type: 'success', message: '用户修改成功', @@ -229,7 +221,9 @@ }; // 页面加载时 - onMounted(() => {}); + onMounted(() => { + + }); return { userRef, openDialog, diff --git a/src/views/system/user/index.vue b/src/views/system/user/index.vue index 8bd5f91..3030f1b 100644 --- a/src/views/system/user/index.vue +++ b/src/views/system/user/index.vue @@ -2,13 +2,19 @@ <div class="system-user-container"> <el-card shadow="hover"> <div class="system-user-search mb15"> -<!-- <el-input size="default" v-model.trim="userTableData.listQuery.roleId" placeholder="请输入用户名" style="max-width: 180px"> </el-input>--> -<!-- <el-button size="default" type="primary" class="ml10" @click="initUserTableData">--> -<!-- <el-icon>--> -<!-- <ele-Search />--> -<!-- </el-icon>--> -<!-- 查询--> -<!-- </el-button>--> + <el-input size="default" v-model.trim="searchName" placeholder="真实姓名" style="max-width: 180px"> </el-input> + <el-button size="default" type="primary" class="ml10" @click="searchByName()"> + <el-icon> + <ele-Search /> + </el-icon> + 查询 + </el-button> + <el-button size="default" class="ml10" @click="reset()"> + <el-icon> + <RefreshLeft /> + </el-icon> + 重置 + </el-button> <el-button size="default" type="success" class="ml10" @click="onOpenUserDialog('新增', '')"> <el-icon> <ele-FolderAdd /> @@ -18,20 +24,21 @@ </div> <el-table :data="userTableData.data" style="width: 100%"> <el-table-column type="index" label="序号" width="60" /> - <el-table-column prop="username" label="用户名" show-overflow-tooltip></el-table-column> - <el-table-column prop="realName" label="真实姓名" show-overflow-tooltip></el-table-column> - <el-table-column prop="sex" label="性别" show-overflow-tooltip></el-table-column> - <el-table-column prop="role.name" label="关联角色" show-overflow-tooltip></el-table-column> - <el-table-column prop="department.name" label="部门" show-overflow-tooltip></el-table-column> - <el-table-column prop="phone" label="手机号" show-overflow-tooltip></el-table-column> -<!-- <el-table-column prop="email" label="邮箱" show-overflow-tooltip></el-table-column>--> -<!-- <el-table-column prop="status" label="用户状态" show-overflow-tooltip>--> -<!-- <template #default="scope">--> -<!-- <el-tag type="success" v-if="scope.row.status">启用</el-tag>--> -<!-- <el-tag type="info" v-else>禁用</el-tag>--> -<!-- </template>--> -<!-- </el-table-column>--> -<!-- <el-table-column prop="gmtCreate" label="创建时间" show-overflow-tooltip></el-table-column>--> + <el-table-column prop="name" label="用户名"/> + <el-table-column prop="realName" label="真实姓名"/> + <el-table-column prop="phone" label="手机号"/> + <el-table-column prop="depName" label="部门"></el-table-column> + <el-table-column prop="roles" label="关联角色"> + <template #default="scope"> + <span>{{ scope.row.roles.map(obj => obj.roleName).join('、') }}</span> + </template> + </el-table-column> + <el-table-column prop="idType" label="证件类型"> + <template #default="scope"> + <span>{{idTypeList.find(item=>item.id == scope.row.idType)?.name}}</span> + </template> + </el-table-column> + <el-table-column prop="idSerial" label="证件号码"></el-table-column> <el-table-column label="操作" width="100"> <template #default="scope"> <el-button :disabled="scope.row.userName === 'admin'" size="small" text type="primary" @click="onOpenUserDialog('修改', scope.row)">修改</el-button> @@ -44,7 +51,7 @@ <br /> <br /> </el-card> - <userDialog ref="userRef" @getUserList="initUserTableData" /> + <userDialog ref="userRef" @getUserList="initUserTableData"/> </div> </template> @@ -71,7 +78,11 @@ describe: string; createTime: string; } -interface DepartmentDataRow {} +interface idType{ + id: number, + name: string +} + interface TableDataState { userTableData: { data: Array<TableDataRow>; @@ -84,8 +95,10 @@ pageSize: number; }; }; - departmentList: []; + idTypeList: Array<idType> + depList: []; roleList: []; + searchName:string } export default defineComponent({ @@ -105,8 +118,15 @@ pageSize: 10 } }, - departmentList: [], - roleList: [] + idTypeList:[ + { + id: 1, + name: '身份证' + } + ], + depList: [], + roleList: [], + searchName: '' }); // 初始化表格数据 const initUserTableData = async () => { @@ -122,6 +142,41 @@ } }; + const searchByName = async () =>{ + if(state.searchName == ''){ + ElMessage({ + type: 'warning', + message: '请输入搜索内容' + }); + }else{ + let res = await userApi().getUserLByRealName(state.searchName); + if (res.data.code === 100) { + state.userTableData.data = res.data.data + } else { + ElMessage({ + type: 'warning', + message: res.data.msg + }); + } + } + } + + const reset = () =>{ + state.searchName = '' + initUserTableData() + } + + const getDepList = async () => { + let res = await departmentApi().getDepartmentList() + if (res.data.code === 100) { + state.depList = res.data.data; + } else { + ElMessage({ + type: 'warning', + message: res.data.msg + }); + } + }; const getRoleData = async () => { let res = await useRoleApi().getRoleList(); @@ -137,19 +192,20 @@ // 打开新增修改用户弹窗 const onOpenUserDialog = (type: string, value: any) => { - userRef.value.openDialog(type, value, state.departmentList, state.roleList); + console.log('打开',state.depList, state.roleList) + userRef.value.openDialog(type, value, state.depList, state.roleList); }; // 删除用户 const onRowDel = (row: TableDataRow) => { - ElMessageBox.confirm(`此操作将永久删除账户名称:“${row.realName}”,是否继续?`, '提示', { + ElMessageBox.confirm(`此操作将永久删除账户名称:“${row.name}”,是否继续?`, '提示', { confirmButtonText: '确认', cancelButtonText: '取消', type: 'warning' }) .then(async () => { - let res = await userApi().deleteUser({ uid: row.uid }); - if (res.data.code === '200') { + let res = await userApi().deleteUser(row.id); + if (res.data.code === 100) { ElMessage({ type: 'success', duration: 2000, @@ -179,13 +235,16 @@ onMounted(() => { initUserTableData(); getRoleData(); + getDepList() }); return { userRef, + reset, onOpenUserDialog, onRowDel, onHandleSizeChange, initUserTableData, + searchByName, onHandleCurrentChange, ...toRefs(state) }; -- Gitblit v1.9.2