修改多租户功能

dev_xd
lj7788@126.com 2025-01-11 12:39:47 +08:00
parent a408dec2ef
commit 1492f4ce31
9 changed files with 252 additions and 129 deletions

View File

@ -29,6 +29,26 @@ public class SysUserExt extends BaseEntity
@Excel(name = "用户类型", readConverterExp = "0=0系统用户") @Excel(name = "用户类型", readConverterExp = "0=0系统用户")
private String userType; private String userType;
private Long comId;
public Long getComId() {
return comId;
}
public void setComId(Long comId) {
this.comId = comId;
}
public Long getIsActive() {
return isActive;
}
public void setIsActive(Long isActive) {
this.isActive = isActive;
}
private Long isActive;
public void setUserId(Long userId) public void setUserId(Long userId)
{ {
this.userId = userId; this.userId = userId;

View File

@ -7,12 +7,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<resultMap type="SysUserExt" id="SysUserExtResult"> <resultMap type="SysUserExt" id="SysUserExtResult">
<result property="userId" column="user_id" /> <result property="userId" column="user_id" />
<result property="projectId" column="project_id" /> <result property="projectId" column="project_id" />
<result property="comId" column="com_id" />
<result property="status" column="status" /> <result property="status" column="status" />
<result property="userType" column="user_type" /> <result property="userType" column="user_type" />
<result property="isActive" column="is_active" />
</resultMap> </resultMap>
<sql id="selectSysUserExtVo"> <sql id="selectSysUserExtVo">
select user_id, project_id, status, user_type from sys_user_ext select user_id, project_id, status, user_type,com_id,is_active from sys_user_ext
</sql> </sql>
<select id="selectSysUserExtList" parameterType="SysUserExt" resultMap="SysUserExtResult"> <select id="selectSysUserExtList" parameterType="SysUserExt" resultMap="SysUserExtResult">
@ -20,6 +22,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<where> <where>
<if test="status != null and status != ''"> and status = #{status}</if> <if test="status != null and status != ''"> and status = #{status}</if>
<if test="userType != null and userType != ''"> and user_type = #{userType}</if> <if test="userType != null and userType != ''"> and user_type = #{userType}</if>
<if test="userId != null and userId != 0"> and user_id = #{userId}</if>
<if test="projectId != null and projectId != 0"> and project_id = #{projectId}</if>
<if test="comId != null and comId != 0"> and com_id = #{comId}</if>
</where> </where>
</select> </select>
@ -35,12 +40,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="projectId != null">project_id,</if> <if test="projectId != null">project_id,</if>
<if test="status != null">status,</if> <if test="status != null">status,</if>
<if test="userType != null">user_type,</if> <if test="userType != null">user_type,</if>
<if test="comId != null">com_id,</if>
<if test="isActive != null">is_active,</if>
</trim> </trim>
<trim prefix="values (" suffix=")" suffixOverrides=","> <trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="userId != null">#{userId},</if> <if test="userId != null">#{userId},</if>
<if test="projectId != null">#{projectId},</if> <if test="projectId != null">#{projectId},</if>
<if test="status != null">#{status},</if> <if test="status != null">#{status},</if>
<if test="userType != null">#{userType},</if> <if test="userType != null">#{userType},</if>
<if test="comId != null">#{comId},</if>
<if test="isActive != null">#{isActive},</if>
</trim> </trim>
</insert> </insert>
@ -50,6 +59,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="projectId != null">project_id = #{projectId},</if> <if test="projectId != null">project_id = #{projectId},</if>
<if test="status != null">status = #{status},</if> <if test="status != null">status = #{status},</if>
<if test="userType != null">user_type = #{userType},</if> <if test="userType != null">user_type = #{userType},</if>
<if test="comId != null">com_id = #{comId},</if>
<if test="isActive != null">is_active = #{isActive},</if>
</trim> </trim>
where user_id = #{userId} where user_id = #{userId}
</update> </update>

View File

@ -3,6 +3,7 @@ package com.yanzhu.system.controller;
import com.yanzhu.common.core.constant.Constants; import com.yanzhu.common.core.constant.Constants;
import com.yanzhu.common.core.domain.R; import com.yanzhu.common.core.domain.R;
import com.yanzhu.common.core.enums.UserTypeEnums; import com.yanzhu.common.core.enums.UserTypeEnums;
import com.yanzhu.common.core.exception.ServiceException;
import com.yanzhu.common.core.text.Convert; import com.yanzhu.common.core.text.Convert;
import com.yanzhu.common.core.utils.StringUtils; import com.yanzhu.common.core.utils.StringUtils;
import com.yanzhu.common.core.utils.poi.ExcelUtil; import com.yanzhu.common.core.utils.poi.ExcelUtil;
@ -14,11 +15,13 @@ import com.yanzhu.common.log.enums.BusinessType;
import com.yanzhu.common.redis.service.RedisService; import com.yanzhu.common.redis.service.RedisService;
import com.yanzhu.common.security.annotation.InnerAuth; import com.yanzhu.common.security.annotation.InnerAuth;
import com.yanzhu.common.security.annotation.RequiresPermissions; import com.yanzhu.common.security.annotation.RequiresPermissions;
import com.yanzhu.common.security.service.TokenService;
import com.yanzhu.common.security.utils.SecurityUtils; import com.yanzhu.common.security.utils.SecurityUtils;
import com.yanzhu.system.api.domain.SysDept; import com.yanzhu.system.api.domain.SysDept;
import com.yanzhu.system.api.domain.SysRole; import com.yanzhu.system.api.domain.SysRole;
import com.yanzhu.system.api.domain.SysUser; import com.yanzhu.system.api.domain.SysUser;
import com.yanzhu.system.api.model.LoginUser; import com.yanzhu.system.api.model.LoginUser;
import com.yanzhu.system.domain.SysUserCom;
import com.yanzhu.system.domain.vo.TreeSelect; import com.yanzhu.system.domain.vo.TreeSelect;
import com.yanzhu.system.service.*; import com.yanzhu.system.service.*;
import com.yanzhu.system.vo.AlertUserPassVo; import com.yanzhu.system.vo.AlertUserPassVo;
@ -29,6 +32,7 @@ import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid; import javax.validation.Valid;
import java.io.IOException; import java.io.IOException;
@ -65,6 +69,8 @@ public class SysUserController extends BaseController {
@Autowired @Autowired
private ISysConfigService configService; private ISysConfigService configService;
@Autowired
private TokenService tokenService;
/** /**
* *
@ -109,12 +115,22 @@ public class SysUserController extends BaseController {
@InnerAuth @InnerAuth
@GetMapping("/info/{username}") @GetMapping("/info/{username}")
public R<LoginUser> info(@PathVariable("username") String username) { public R<LoginUser> info(@PathVariable("username") String username) {
try {
LoginUser sysUserVo = getLoginInfo(username);
return R.ok(sysUserVo);
}catch (ServiceException ex){
return R.fail(ex.getMessage());
}
}
private LoginUser getLoginInfo(String username){
SysUser sysUser = userService.selectUserByUserName(username); SysUser sysUser = userService.selectUserByUserName(username);
if (StringUtils.isNull(sysUser)) { if (StringUtils.isNull(sysUser)) {
return R.fail("用户名或密码错误"); throw new ServiceException("用户名或密码错误");
} }
if (StringUtils.isEmpty(sysUser.getRoles())) { if (StringUtils.isEmpty(sysUser.getRoles())) {
return R.fail("用户未查询到分配角色,请联系管理员!!!"); throw new ServiceException("用户未查询到分配角色,请联系管理员!!!");
} }
// 重写登录方法 // 重写登录方法
if (!sysUser.isAdmin() && sysUser.getRoles().size() > 1) { if (!sysUser.isAdmin() && sysUser.getRoles().size() > 1) {
@ -125,6 +141,7 @@ public class SysUserController extends BaseController {
sysUser.setActiveComId(sysUser.getComId()); sysUser.setActiveComId(sysUser.getComId());
sysUser.setActiveComName(sysUser.getComName()); sysUser.setActiveComName(sysUser.getComName());
} else { } else {
/*
// 查询用户绑定项目列表 // 查询用户绑定项目列表
List<Map<String, Object>> list = userService.selectProjectsByUserId(sysUser.getUserId()); List<Map<String, Object>> list = userService.selectProjectsByUserId(sysUser.getUserId());
if (StringUtils.isEmpty(list)) { if (StringUtils.isEmpty(list)) {
@ -136,6 +153,16 @@ public class SysUserController extends BaseController {
sysUser.setActiveComName(Convert.toStr(list.get(0).get("com_name"))); sysUser.setActiveComName(Convert.toStr(list.get(0).get("com_name")));
sysUser.setActiveProjectId(Convert.toLong(list.get(0).get("project_id"))); sysUser.setActiveProjectId(Convert.toLong(list.get(0).get("project_id")));
sysUser.setActiveProjectName(Convert.toStr(list.get(0).get("project_name"))); sysUser.setActiveProjectName(Convert.toStr(list.get(0).get("project_name")));
*/
sysUser.setActiveComId(sysUser.getComId());
sysUser.setActiveComName(sysUser.getComName());
sysUser.setActiveProjectId(sysUser.getDeptId());
if(sysUser.getDept()!=null){
sysUser.setActiveProjectName(sysUser.getDept().getDeptName());
}else{
sysUser.setActiveProjectName("");
}
} }
} }
@ -155,8 +182,7 @@ public class SysUserController extends BaseController {
roles.add("visitors"); roles.add("visitors");
sysUserVo.setRoles(roles); sysUserVo.setRoles(roles);
} }
return sysUserVo;
return R.ok(sysUserVo);
} }
/** /**
@ -238,7 +264,7 @@ public class SysUserController extends BaseController {
* *
* @return * @return
*/ */
@GetMapping("getInfo") @GetMapping("/getInfo")
public AjaxResult getInfo() { public AjaxResult getInfo() {
SysUser user = SecurityUtils.getLoginUser().getSysUser(); SysUser user = SecurityUtils.getLoginUser().getSysUser();
AjaxResult ajax = AjaxResult.success(); AjaxResult ajax = AjaxResult.success();
@ -428,4 +454,21 @@ public class SysUserController extends BaseController {
return AjaxResult.success(list); return AjaxResult.success(list);
} }
@PostMapping("/activeUserCom")
public AjaxResult activeUserCom(@RequestBody SysUserCom userCom, HttpServletRequest request){
SysUser user= userService.activeUserCom(userCom);
LoginUser sysUserVo = getLoginInfo(user.getUserName());
LoginUser loginUser = tokenService.getLoginUser(request);
loginUser.setSysUser(sysUserVo.getSysUser());
loginUser.setProjectId(sysUserVo.getProjectId());
loginUser.setProjectName(sysUserVo.getProjectName());
loginUser.setProjectDeptId(sysUserVo.getProjectDeptId());
loginUser.setProjectDeptName(sysUserVo.getProjectDeptName());
loginUser.setRoles(sysUserVo.getRoles());
loginUser.setPermissions(sysUserVo.getPermissions());
tokenService.refreshToken(loginUser);
return AjaxResult.success();
}
} }

View File

@ -264,5 +264,5 @@ public interface ISysUserService
public List<SysUserCom> getUserComs(Long userId); public List<SysUserCom> getUserComs(Long userId);
public int activeUserCom(SysUserCom userCom); public SysUser activeUserCom(SysUserCom userCom);
} }

View File

@ -81,7 +81,10 @@ public class SysUserExtServiceImpl implements ISysUserExtService
public void updateBySysUser(SysUser sysUser) { public void updateBySysUser(SysUser sysUser) {
SysUserExt where=new SysUserExt(); SysUserExt where=new SysUserExt();
where.setUserId(sysUser.getUserId()); where.setUserId(sysUser.getUserId());
where.setComId(sysUser.getComId());
List<SysUserExt> userExts=sysUserExtMapper.selectSysUserExtList(where);
where.setProjectId(sysUser.getDeptId()); where.setProjectId(sysUser.getDeptId());
where.setIsActive(userExts.size()==0?1l:0l);
SysUserExt old=selectSysUserExtById(where); SysUserExt old=selectSysUserExtById(where);
if(Objects.nonNull(old)){ if(Objects.nonNull(old)){
old.setUserType(sysUser.getUserType()); old.setUserType(sysUser.getUserType());

View File

@ -10,10 +10,12 @@ import com.yanzhu.common.core.enums.ShiFouEnums;
import com.yanzhu.common.core.enums.UserTypeEnums; import com.yanzhu.common.core.enums.UserTypeEnums;
import com.yanzhu.common.core.utils.DateUtils; import com.yanzhu.common.core.utils.DateUtils;
import com.yanzhu.common.core.web.domain.AjaxResult; import com.yanzhu.common.core.web.domain.AjaxResult;
import com.yanzhu.common.security.service.TokenService;
import com.yanzhu.system.api.RemoteProService; import com.yanzhu.system.api.RemoteProService;
import com.yanzhu.system.api.RemoteUserService; import com.yanzhu.system.api.RemoteUserService;
import com.yanzhu.system.api.domain.SysDept; import com.yanzhu.system.api.domain.SysDept;
import com.yanzhu.system.api.domain.SysRoleDept; import com.yanzhu.system.api.domain.SysRoleDept;
import com.yanzhu.system.api.model.LoginUser;
import com.yanzhu.system.domain.*; import com.yanzhu.system.domain.*;
import com.yanzhu.system.mapper.*; import com.yanzhu.system.mapper.*;
import com.yanzhu.system.service.ISysUserExtService; import com.yanzhu.system.service.ISysUserExtService;
@ -83,6 +85,11 @@ public class SysUserServiceImpl implements ISysUserService
private ISysUserExtService userExtService; private ISysUserExtService userExtService;
@Autowired @Autowired
private SysUserComMapper userComMapper; private SysUserComMapper userComMapper;
@Autowired
private TokenService tokenService;
/** /**
* *
* *
@ -319,7 +326,7 @@ public class SysUserServiceImpl implements ISysUserService
public int insertUser(SysUser user) public int insertUser(SysUser user)
{ {
// 新增用户信息 // 新增用户信息
user.setUserName(userNameAndCout(user.getNickName())); //user.setUserName(userNameAndCout(user.getNickName()));
SysDept dept = deptMapper.selectDeptById(user.getDeptId()); SysDept dept = deptMapper.selectDeptById(user.getDeptId());
if(Objects.isNull(dept)){ if(Objects.isNull(dept)){
throw new ServiceException("所属单位选择异常,必须选择子公司及下属单位"); throw new ServiceException("所属单位选择异常,必须选择子公司及下属单位");
@ -328,11 +335,11 @@ public class SysUserServiceImpl implements ISysUserService
int rows=0; int rows=0;
SysUser sysUser = userMapper.selectByPhone(user.getPhonenumber()); SysUser sysUser = userMapper.selectByPhone(user.getPhonenumber());
if(Objects.nonNull(sysUser)){//此电话号码已注册 if(Objects.nonNull(sysUser)){//此电话号码已注册
SysUser where=new SysUser(); SysUserExt where=new SysUserExt();
where.setUserId(sysUser.getUserId()); where.setUserId(sysUser.getUserId());
where.setComId(user.getComId()); where.setProjectId(user.getDeptId());
SysUser oldUserCom=userMapper.selectUserCom(where); List<SysUserExt> userExts=userExtService.selectSysUserExtList(where);
if(Objects.nonNull(oldUserCom)){ if(userExts.size()>0){
throw new ServiceException("此用户己在此项目中!"); throw new ServiceException("此用户己在此项目中!");
} }
user.setUserId(sysUser.getUserId()); user.setUserId(sysUser.getUserId());
@ -340,7 +347,9 @@ public class SysUserServiceImpl implements ISysUserService
user.setStatus("0"); user.setStatus("0");
userMapper.insertUserCom(user); userMapper.insertUserCom(user);
sysUser.setUserName(user.getUserName()); sysUser.setUserName(user.getUserName());
sysUser.setPhonenumber(user.getUserName()); sysUser.setComId(user.getComId());
sysUser.setDeptId(user.getDeptId());
sysUser.setPhonenumber(user.getPhonenumber());
sysUser.setNickName(user.getNickName()); sysUser.setNickName(user.getNickName());
sysUser.setUpdateBy(user.getUpdateBy()); sysUser.setUpdateBy(user.getUpdateBy());
sysUser.setUpdateTime(user.getUpdateTime()); sysUser.setUpdateTime(user.getUpdateTime());
@ -915,14 +924,38 @@ public class SysUserServiceImpl implements ISysUserService
} }
@Override @Override
public int activeUserCom(SysUserCom userCom) { public SysUser activeUserCom(SysUserCom userCom) {
userCom.setIsActive(1l); userCom.setIsActive(1l);
int cnt= userComMapper.updateActiveTo0(userCom); int cnt= userComMapper.updateActiveTo0(userCom);
cnt+= userComMapper.updateActive(userCom); cnt+= userComMapper.updateActive(userCom);
SysUserExt userExtWhere=new SysUserExt();
userExtWhere.setUserId(userCom.getUserId());
userExtWhere.setComId(userCom.getComId());
List<SysUserExt> userExts=userExtService.selectSysUserExtList(userExtWhere);
if(userExts.size()==0){
throw new ServiceException("此租户下面没有项目");
}
SysUserExt sysUserExt=findActiveUserExt(userExts);
SysUser user=selectUserById(userCom.getUserId()); SysUser user=selectUserById(userCom.getUserId());
user.setComId(userCom.getComId()); user.setComId(userCom.getComId());
user.setDeptId(sysUserExt.getProjectId());
cnt+= userMapper.updateUser(user); cnt+= userMapper.updateUser(user);
return cnt; return user;
}
private SysUserExt findActiveUserExt(List<SysUserExt> userExts) {
SysUserExt find=null;
for(SysUserExt userExt:userExts){
if(userExt.getIsActive()==1){
find=userExt;
}
}
if(find==null){
find=userExts.get(0);
find.setIsActive(1l);
userExtService.updateSysUserExt(find);
}
return find;
} }
} }

View File

@ -172,7 +172,7 @@ export function getUserComs(userId){
export function activeUserCom(userCom){ export function activeUserCom(userCom){
return request({ return request({
url:'/system/user/profile/activeUserCom', url:'/system/user/activeUserCom',
method:'post', method:'post',
data:userCom data:userCom
}) })

View File

@ -56,8 +56,8 @@ const useUserStore = defineStore(
this.nickName = user.nickName; this.nickName = user.nickName;
this.compInfo=user.comp; this.compInfo=user.comp;
this.avatar = avatar; this.avatar = avatar;
this.currentComId = user.comp?.deptId||user.activeComId; this.currentComId = user.activeComId;
this.currentComName =user.comp?.deptName|| user.activeComName; this.currentComName = user.activeComName;
this.currentPrjId = user.activeProjectId; this.currentPrjId = user.activeProjectId;
this.currentProName = user.activeProjectName; this.currentProName = user.activeProjectName;
resolve(res) resolve(res)

View File

@ -1,143 +1,156 @@
<template> <template>
<div class="app-container user-profile"> <div class="app-container user-profile">
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="6" :xs="24"> <el-col :span="6" :xs="24">
<el-card class="box-card"> <el-card class="box-card">
<template v-slot:header> <template v-slot:header>
<div class="clearfix"> <div class="clearfix">
<span>个人信息</span> <span>个人信息</span>
</div> </div>
</template> </template>
<div> <div>
<div class="text-center"> <div class="text-center">
<userAvatar :user="state.user" /> <userAvatar :user="state.user" />
</div> </div>
<ul class="list-group list-group-striped"> <ul class="list-group list-group-striped">
<li class="list-group-item"> <li class="list-group-item">
<svg-icon icon-class="user" />用户名称 <svg-icon icon-class="user" />用户名称
<div class="pull-right">{{ state.user.userName }}</div> <div class="pull-right">{{ state.user.userName }}</div>
</li> </li>
<li class="list-group-item"> <li class="list-group-item">
<svg-icon icon-class="phone" />手机号码 <svg-icon icon-class="phone" />手机号码
<div class="pull-right">{{ state.user.phonenumber }}</div> <div class="pull-right">{{ state.user.phonenumber }}</div>
</li> </li>
<li class="list-group-item"> <li class="list-group-item">
<svg-icon icon-class="email" />用户邮箱 <svg-icon icon-class="email" />用户邮箱
<div class="pull-right">{{ state.user.email }}</div> <div class="pull-right">{{ state.user.email }}</div>
</li> </li>
<li class="list-group-item"> <li class="list-group-item">
<svg-icon icon-class="tree" />所属部门 <svg-icon icon-class="tree" />所属部门
<div class="pull-right" v-if="state.user.dept">{{ state.user.dept.deptName }} / {{ state.postGroup }}</div> <div class="pull-right" v-if="state.user.dept">
</li> {{ state.user.dept.deptName }} / {{ state.postGroup }}
<li class="list-group-item"> </div>
<svg-icon icon-class="peoples" />所属角色 </li>
<div class="pull-right">{{ state.roleGroup }}</div> <li class="list-group-item">
</li> <svg-icon icon-class="peoples" />所属角色
<li class="list-group-item"> <div class="pull-right">{{ state.roleGroup }}</div>
<svg-icon icon-class="date" />创建日期 </li>
<div class="pull-right">{{ state.user.createTime }}</div> <li class="list-group-item">
</li> <svg-icon icon-class="date" />创建日期
</ul> <div class="pull-right">{{ state.user.createTime }}</div>
</div> </li>
</el-card> </ul>
</el-col> </div>
<el-col :span="18" :xs="24"> </el-card>
<el-card> </el-col>
<template v-slot:header> <el-col :span="18" :xs="24">
<div class="clearfix"> <el-card>
<span>基本资料</span> <template v-slot:header>
</div> <div class="clearfix">
</template> <span>基本资料</span>
<el-tabs v-model="activeTab"> </div>
<el-tab-pane label="基本资料" name="userinfo"> </template>
<userInfo :user="state.user" /> <el-tabs v-model="activeTab">
</el-tab-pane> <el-tab-pane label="基本资料" name="userinfo">
<el-tab-pane label="修改密码" name="resetPwd"> <userInfo :user="state.user" />
<resetPwd /> </el-tab-pane>
</el-tab-pane> <el-tab-pane label="修改密码" name="resetPwd">
</el-tabs> <resetPwd />
</el-card> </el-tab-pane>
</el-tabs>
</el-card>
<el-card style="margin-top:10px;"> <el-card style="margin-top: 10px">
<template v-slot:header> <template v-slot:header>
<div class="clearfix"> <div class="clearfix">
<span>租户信息</span> <span>租户信息</span>
</div> </div>
</template> </template>
<div class="user-coms"> <div class="user-coms">
<div v-for="(it,idx) in state.coms" :key="idx" class="user-com" :class="it.isActive==1?'is-active':''"> <div
<span style="display: inline-block;margin-right:10px;"> v-for="(it, idx) in state.coms"
{{ it.comName }} :key="idx"
</span> class="user-com"
<el-tag type="success" class="is-active-tag" v-if="it.isActive==1"></el-tag> :class="it.isActive == 1 ? 'is-active' : ''"
<el-button v-else type="primary" @click="toggleCom(it)"></el-button> >
<span style="display: inline-block; margin-right: 10px">
</div> {{ it.comName }}
</div> </span>
</el-card> <el-tag
</el-col> type="success"
</el-row> class="is-active-tag"
</div> v-if="it.isActive == 1"
>已激活</el-tag
>
<el-button v-else type="primary" @click="toggleCom(it)"
>切换</el-button
>
</div>
</div>
</el-card>
</el-col>
</el-row>
</div>
</template> </template>
<script setup name="Profile"> <script setup name="Profile">
import useUserStore from '@/store/modules/user' import useUserStore from "@/store/modules/user";
import userAvatar from "./userAvatar"; import userAvatar from "./userAvatar";
import userInfo from "./userInfo"; import userInfo from "./userInfo";
import resetPwd from "./resetPwd"; import resetPwd from "./resetPwd";
import { getUserProfile ,getUserComs,activeUserCom} from "@/api/system/user"; import { getUserProfile, getUserComs, activeUserCom } from "@/api/system/user";
import { switchProject } from "@/api/login";
const { proxy } = getCurrentInstance(); const { proxy } = getCurrentInstance();
const userStore = useUserStore() const userStore = useUserStore();
const activeTab = ref("userinfo"); const activeTab = ref("userinfo");
const state = reactive({ const state = reactive({
user: {}, user: {},
roleGroup: {}, roleGroup: {},
postGroup: {}, postGroup: {},
coms:[] coms: [],
}); });
function getUser() { function getUser() {
getUserProfile().then(response => { getUserProfile().then((response) => {
state.user = response.data; state.user = response.data;
state.roleGroup = response.roleGroup; state.roleGroup = response.roleGroup;
state.postGroup = response.postGroup; state.postGroup = response.postGroup;
}); });
}; }
function loadUserComs(){ function loadUserComs() {
let userId=userStore.uid; let userId = userStore.uid;
if(!userId){ if (!userId) {
return; return;
} }
getUserComs(userId).then(d=>{ getUserComs(userId).then((d) => {
state.coms=d.data||[]; state.coms = d.data || [];
}); });
} }
function toggleCom(com){ function toggleCom(com) {
activeUserCom(com).then(d=>{ activeUserCom(com).then((d) => {
if(d.code==200){ if (d.code == 200) {
location.reload(); proxy.$modal.loading("正在切换项目信息,请稍后...");
} setTimeout("window.location.reload()", 500);
}); }
});
} }
loadUserComs(); loadUserComs();
getUser(); getUser();
</script> </script>
<style lang="scss"> <style lang="scss">
.app-container.user-profile{ .app-container.user-profile {
.user-coms{ .user-coms {
.user-com{ .user-com {
&.is-active{ &.is-active {
color: #00a4e6; color: #00a4e6;
}
line-height:40px;
.is-active-tag{
font-size: 12px;
}
} }
} line-height: 40px;
.is-active-tag {
font-size: 12px;
}
}
}
} }
</style> </style>