| | |
| | | <el-form-item label="专业:" prop="post" v-if="state.title !== '修改密码' && state.form.userType !== 0"> |
| | | <el-input v-model.trim="state.form.post" :disabled="disabled" placeholder="请输入专业"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="角色:" prop="roles" v-if="state.title !== '修改密码'"> |
| | | <el-select |
| | | clearable |
| | | v-model="state.form.roles" |
| | | filterable |
| | | :disabled="disabled" |
| | | placeholder="请选择角色" |
| | | multiple |
| | | style="width: 100%" |
| | | > |
| | | <el-option |
| | | v-for="item in state.roleList" |
| | | :key="item.roleId" |
| | | :label="item.roleName" |
| | | :value="item.roleId" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-form> |
| | | <template #footer v-if="state.title !='查看'"> |
| | | <span class="dialog-footer"> |
| | |
| | | post: '', |
| | | age: null, |
| | | personType: null, |
| | | positional: '' |
| | | positional: '', |
| | | roles: [] |
| | | }, |
| | | formRules:{ |
| | | name: [{ required: true, message: '请输入姓名', trigger: 'blur' }], |
| | |
| | | entryTime: [{ required: true, message: '请选择入职时间', trigger: 'blur' }], |
| | | age: [{ required: true, message: '请输入年龄', trigger: 'blur' }], |
| | | personType: [{ required: true, message: '请选择人员类别', trigger: 'blur' }], |
| | | positional: [{ required: true, message: '请输入职称', trigger: 'blur' }] |
| | | positional: [{ required: true, message: '请输入职称', trigger: 'blur' }], |
| | | roles: [{ required: true, message: '请选择角色', trigger: 'blur' }] |
| | | }, |
| | | companyList: [], |
| | | userList: [], |
| | | roleList: [], |
| | | keyword:'', |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | |
| | | }); |
| | | const disabled = ref(false); |
| | | const userInfo = ref() |
| | | const openDialog = async (type, value, companyId) => { |
| | | const openDialog = async (type, value, companyId, roleList) => { |
| | | userInfo.value = JSON.parse(Cookies.get('userInfo')) |
| | | await getCompanyList() |
| | | state.currentUserType = userInfo.value.userType |
| | | state.roleList = roleList |
| | | if(state.currentUserType === 0){ |
| | | state.isAdmin = true; |
| | | state.form.companyId = null; |
| | |
| | | if(res.code === 200){ |
| | | state.form = res.data |
| | | } |
| | | state.form.roles = value.roles.map(i=>i.roleId) |
| | | } |
| | | if(type == 'pwd'){ |
| | | state.form.id = value.id |
| | |
| | | return; |
| | | } |
| | | if(state.title == '新增'){ |
| | | const {confirmPassword,id,...data} = state.form |
| | | const {confirmPassword,id,...data} = JSON.parse(JSON.stringify(state.form)) |
| | | data.password = Base64.encode(data.password) |
| | | data.roles = data.roles.map((item)=>{ |
| | | return { |
| | | roleId: item, |
| | | roleName: state.roleList.find(i=>i.roleId == item)?.roleName |
| | | } |
| | | }) |
| | | const res = await addUser(data) |
| | | if(res.code == 200){ |
| | | ElMessage.success(res.message) |
| | |
| | | handleClose() |
| | | dialogVisible.value = false; |
| | | }else{ |
| | | |
| | | ElMessage.warning(res.message) |
| | | } |
| | | }else if(state.title == '编辑'){ |
| | | const {confirmPassword,...data} = state.form |
| | | const {confirmPassword,...data} = JSON.parse(JSON.stringify(state.form)) |
| | | data.password = Base64.encode(data.password) |
| | | data.roles = data.roles.map((item)=>{ |
| | | return { |
| | | roleId: item, |
| | | roleName: state.roleList.find(i=>i.roleId == item)?.roleName |
| | | } |
| | | }) |
| | | const param = { |
| | | name: data.name, |
| | | sex:data.sex, |
| | |
| | | companyName: data.companyName, |
| | | age: data.age, |
| | | personType: data.personType, |
| | | positional: data.positional |
| | | positional: data.positional, |
| | | roles: data.roles |
| | | } |
| | | |
| | | const res = await editUser(param) |
| | |
| | | post: '', |
| | | age: null, |
| | | personType: null, |
| | | positional: '' |
| | | positional: '', |
| | | roles: [] |
| | | } |
| | | state.userList = []; |
| | | state.companyList = []; |
| | |
| | | }) |
| | | } |
| | | const getSelectUser = (val) => { |
| | | console.log("valllllllll",val) |
| | | state.form.parentId = val; |
| | | } |
| | | |
| | |
| | | <el-table-column label="联系方式" prop="phone" align="center"/> |
| | | <el-table-column label="专业" prop="post" align="center"/> |
| | | <el-table-column label="用户类型" prop="userTypeName" align="center"/> |
| | | <el-table-column label="角色" prop="userTypeName" align="center"> |
| | | <template #default="scope"> |
| | | {{ scope.row.roles?.map(i=>i.roleName).join('、') }} |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="操作" align="center" class-name="small-padding fixed-width" > |
| | | <template #default="scope"> |
| | | <el-button link type="primary" @click="openDialog('view',scope.row)">查看</el-button> |
| | |
| | | import {delUser, getUser} from "@/api/onlineEducation/user"; |
| | | import Cookies from "js-cookie"; |
| | | import useUserStore from "@/store/modules/user"; |
| | | import {listRole} from "@/api/system/role"; |
| | | const userStore = useUserStore() |
| | | |
| | | const { proxy } = getCurrentInstance(); |
| | |
| | | dataList: [], |
| | | isAdmin: false, |
| | | companyList: [], |
| | | roleList: [], |
| | | expertData: [], |
| | | userTypeList: [ |
| | | { |
| | |
| | | data.queryParams.companyId = userStore.companyId |
| | | } |
| | | await getList() |
| | | await getRoleList() |
| | | }) |
| | | |
| | | onUnmounted(()=>{ |
| | |
| | | } |
| | | loading.value = false |
| | | await getAllList() |
| | | } |
| | | |
| | | const getRoleList = () => { |
| | | listRole(proxy.addDateRange({ |
| | | pageNum: 1, |
| | | pageSize: 999, |
| | | roleName: undefined, |
| | | roleKey: undefined, |
| | | status: undefined |
| | | }, [])).then(response => { |
| | | data.roleList = response.data.list |
| | | }); |
| | | } |
| | | |
| | | const getCompanyList = async ()=>{ |
| | |
| | | ElMessage.warning('非管理员身份不可操作') |
| | | return; |
| | | } |
| | | dialogRef.value.openDialog(type, value, data.queryParams.companyId); |
| | | dialogRef.value.openDialog(type, value, data.queryParams.companyId,data.roleList); |
| | | } |
| | | |
| | | /** 重置新增的表单以及其他数据 */ |
| | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <user-dialog ref="reviewRef" ></user-dialog> |
| | | <user-dialog ref="reviewRef"></user-dialog> |
| | | </div> |
| | | </template> |
| | | |
| | |
| | | .system-card:hover p { |
| | | transform: translateZ(20px); |
| | | } |
| | | </style> |
| | | </style> |