diff --git a/src/main/java/com/bonus/leader/performance/manager/manager/config/SecurityHandlerConfig.java b/src/main/java/com/bonus/leader/performance/manager/manager/config/SecurityHandlerConfig.java index 9d30659..71d80c0 100644 --- a/src/main/java/com/bonus/leader/performance/manager/manager/config/SecurityHandlerConfig.java +++ b/src/main/java/com/bonus/leader/performance/manager/manager/config/SecurityHandlerConfig.java @@ -48,7 +48,6 @@ public class SecurityHandlerConfig { public void onAuthenticationSuccess(HttpServletRequest request, HttpServletResponse response, Authentication authentication) throws IOException, ServletException { LoginUser loginUser = (LoginUser) authentication.getPrincipal(); - Token token = tokenService.saveToken(loginUser); ResponseUtil.responseJson(response, HttpStatus.OK.value(), token); } diff --git a/src/main/java/com/bonus/leader/performance/manager/manager/controller/UserController.java b/src/main/java/com/bonus/leader/performance/manager/manager/controller/UserController.java index 3a2c1dc..ff08e0f 100644 --- a/src/main/java/com/bonus/leader/performance/manager/manager/controller/UserController.java +++ b/src/main/java/com/bonus/leader/performance/manager/manager/controller/UserController.java @@ -1,27 +1,27 @@ package com.bonus.leader.performance.manager.manager.controller; +import java.util.HashMap; import java.util.List; +import java.util.Map; import com.bonus.leader.performance.manager.manager.dao.UserDao; +import com.bonus.leader.performance.manager.manager.entity.MapBean; import com.bonus.leader.performance.manager.manager.entity.UserDto; +import com.bonus.leader.performance.manager.manager.entity.ZNode; import com.bonus.leader.performance.manager.manager.model.SysUser; import com.bonus.leader.performance.manager.manager.table.PageTableHandler; import com.bonus.leader.performance.manager.manager.table.PageTableRequest; import com.bonus.leader.performance.manager.manager.table.PageTableResponse; import com.bonus.leader.performance.manager.manager.service.UserService; +import com.bonus.leader.performance.manager.manager.utils.AjaxRes; +import com.bonus.leader.performance.manager.manager.utils.GlobalConst; import com.bonus.leader.performance.manager.manager.utils.UserUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.PutMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import com.bonus.leader.performance.manager.manager.annotation.LogAnnotation; @@ -39,6 +39,7 @@ public class UserController { private static final Logger log = LoggerFactory.getLogger("adminLogger"); + @Autowired private UserService userService; @Autowired @@ -119,4 +120,69 @@ public class UserController { return userDao.getById(id); } + + /**-------------------------------------------用户管理新接口-----------------------------------------------------------------*/ + + + @LogAnnotation + @PostMapping("getLoginLog") + @ApiOperation(value = "个人信息-登录日志") + public List> getLoginLogs() { + return userService.getLoginLogs(); + } + + @LogAnnotation + @PostMapping(value = "/getRole") + @ApiOperation(value = "人员角色select列表") + public List getRole() { + List result = userService.getRole(); + return result; + } + + @LogAnnotation + @PostMapping("getDepartmentTree") + @ApiOperation(value = "用户管理-获取部门树") + public AjaxRes getDepartmentTree() { + AjaxRes ar = new AjaxRes(); + try { + List list = userService.getDepartmentTree(); + ar.setSucceed(list); + } catch (Exception e) { + ar.setFailMsg(GlobalConst.DATA_FAIL); + } + return ar; + } + + @RequestMapping(value = "getListPerson", method = RequestMethod.POST) + @ResponseBody + @ApiOperation(value = "个人信息-查询") + public AjaxRes getListPerson(){ + AjaxRes ar = new AjaxRes(); + SysUser sysUser = userService.getListPerson(); + Map map = new HashMap<>(); + if(sysUser !=null){ + map.put("sysUser",sysUser); + } + ar.setSucceed(map,GlobalConst.DATA_SUCCEED); + return ar; + } + + @RequestMapping(value = "updatePerson", method = RequestMethod.POST) + @ResponseBody + @ApiOperation(value = "个人信息-修改") + public AjaxRes updatePerson(@RequestBody SysUser bean){ + AjaxRes ar = new AjaxRes(); + int cb = userService.updatePerson(bean); + ar.setFailMsg(GlobalConst.DATA_FAIL); + if(cb>0){ + ar.setFailMsg(GlobalConst.INIT_SUCCEED); + if (cb == 5){ + ar.setFailMsg("手机号已存在"); + } + } + return ar; + } + } + + diff --git a/src/main/java/com/bonus/leader/performance/manager/manager/dao/UserDao.java b/src/main/java/com/bonus/leader/performance/manager/manager/dao/UserDao.java index b364f33..acacfd1 100644 --- a/src/main/java/com/bonus/leader/performance/manager/manager/dao/UserDao.java +++ b/src/main/java/com/bonus/leader/performance/manager/manager/dao/UserDao.java @@ -3,6 +3,8 @@ package com.bonus.leader.performance.manager.manager.dao; import java.util.List; import java.util.Map; +import com.bonus.leader.performance.manager.manager.entity.MapBean; +import com.bonus.leader.performance.manager.manager.entity.ZNode; import com.bonus.leader.performance.manager.manager.model.SysUser; import org.apache.ibatis.annotations.Delete; import org.apache.ibatis.annotations.Insert; @@ -22,7 +24,7 @@ public interface UserDao { @Select("select * from sys_user t where t.id = #{id}") SysUser getById(Long id); - @Select("select * from sys_user t where t.username = #{username}") + @Select("select * from sys_user t where t.phone = #{username}") SysUser getUser(String username); @Update("update sys_user t set t.password = #{password} where t.id = #{id}") @@ -39,4 +41,20 @@ public interface UserDao { int saveUserRoles(@Param("userId") Long userId, @Param("roleIds") List roleIds); int update(SysUser user); + + int insertLoginInfo(SysUser sysuser); + + List findAllByOrderByCreateTimeDesc(String userId); + + List getRole(); + + List getDepartmentTree(ZNode o); + + SysUser getListById(String id); + + int phoneIfExists(String sysUser, String phone, String phone1, String string); + + int updateInfo(SysUser bean); + + int updateRoleUser(SysUser bean); } diff --git a/src/main/java/com/bonus/leader/performance/manager/manager/entity/ZNode.java b/src/main/java/com/bonus/leader/performance/manager/manager/entity/ZNode.java new file mode 100644 index 0000000..30eb013 --- /dev/null +++ b/src/main/java/com/bonus/leader/performance/manager/manager/entity/ZNode.java @@ -0,0 +1,307 @@ +package com.bonus.leader.performance.manager.manager.entity; + +import java.io.Serializable; + +public class ZNode implements Serializable { + + private static final long serialVersionUID = 1L; + + private String id; + + private String pId; + + private String name; + + private String code; + + private String pName; + + private String checked; + + private Integer type; + private String puid; + + private boolean open = false; + + private boolean existed = true; + + private String icon; + + private String sort; + + private String leasePrice; + + private String internalPrice; + + private String portalPrice; + + private Float num; + + private Integer currency; + + private Integer level; + + private String unitName; + + private String unitValue; + + private String partId; + + private Integer isCount; + + private String storageNum; + + private Integer keepId; + private String keepName; + + private String orgIds; + private String levels; + + public String getOrgIds() { + return orgIds; + } + + public void setOrgIds(String orgIds) { + this.orgIds = orgIds; + } + + public String getLevels() { + return levels; + } + + public void setLevels(String levels) { + this.levels = levels; + } + + public String getPuid() { + return puid; + } + + public void setPuid(String puid) { + this.puid = puid; + } + + public Integer getIsCount() { + return isCount; + } + + public void setIsCount(Integer isCount) { + this.isCount = isCount; + } + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getPortalPrice() { + return portalPrice; + } + + public void setPortalPrice(String portalPrice) { + this.portalPrice = portalPrice; + } + + public String getPartId() { + return partId; + } + + public void setPartId(String partId) { + this.partId = partId; + } + + public String getUnitName() { + return unitName; + } + + public void setUnitName(String unitName) { + this.unitName = unitName; + } + + public String getUnitValue() { + return unitValue; + } + + public void setUnitValue(String unitValue) { + this.unitValue = unitValue; + } + + public String getpName() { + return pName; + } + + public void setpName(String pName) { + this.pName = pName; + } + + public Integer getLevel() { + return level; + } + + public void setLevel(Integer level) { + this.level = level; + } + + public Integer getCurrency() { + return currency; + } + + public void setCurrency(Integer currency) { + this.currency = currency; + } + + public String getInternalPrice() { + return internalPrice; + } + + public void setInternalPrice(String internalPrice) { + this.internalPrice = internalPrice; + } + + public Float getNum() { + return num; + } + + public void setNum(Float num) { + this.num = num; + } + + public String getLeasePrice() { + return leasePrice; + } + + public void setLeasePrice(String leasePrice) { + this.leasePrice = leasePrice; + } + + public Integer getType() { + return type; + } + + public void setType(Integer type) { + this.type = type; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getpId() { + return pId; + } + + public void setpId(String pId) { + this.pId = pId; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getChecked() { + return checked; + } + + public void setChecked(String checked) { + this.checked = checked; + } + + public boolean isOpen() { + return open; + } + + public void setOpen(boolean open) { + this.open = open; + } + + public boolean isExisted() { + return existed; + } + + public void setExisted(boolean existed) { + this.existed = existed; + } + + public String getIcon() { + return icon; + } + + public void setIcon(String icon) { + this.icon = icon; + } + + public String getSort() { + return sort; + } + + public void setSort(String sort) { + this.sort = sort; + } + + public String getStorageNum() { + return storageNum; + } + + public void setStorageNum(String storageNum) { + this.storageNum = storageNum; + } + + + public Integer getKeepId() { + return keepId; + } + + public void setKeepId(Integer keepId) { + this.keepId = keepId; + } + + public String getKeepName() { + return keepName; + } + + public void setKeepName(String keepName) { + this.keepName = keepName; + } + + @Override + public String toString() { + return "ZNode{" + + "id='" + id + '\'' + + ", pId='" + pId + '\'' + + ", name='" + name + '\'' + + ", code='" + code + '\'' + + ", pName='" + pName + '\'' + + ", checked='" + checked + '\'' + + ", type=" + type + + ", puid='" + puid + '\'' + + ", open=" + open + + ", existed=" + existed + + ", icon='" + icon + '\'' + + ", sort='" + sort + '\'' + + ", leasePrice='" + leasePrice + '\'' + + ", internalPrice='" + internalPrice + '\'' + + ", portalPrice='" + portalPrice + '\'' + + ", num=" + num + + ", currency=" + currency + + ", level=" + level + + ", unitName='" + unitName + '\'' + + ", unitValue='" + unitValue + '\'' + + ", partId='" + partId + '\'' + + ", isCount=" + isCount + + ", storageNum='" + storageNum + '\'' + + ", keepId=" + keepId + + ", keepName='" + keepName + '\'' + + '}'; + } +} diff --git a/src/main/java/com/bonus/leader/performance/manager/manager/model/SysUser.java b/src/main/java/com/bonus/leader/performance/manager/manager/model/SysUser.java index 781f5b8..295659e 100644 --- a/src/main/java/com/bonus/leader/performance/manager/manager/model/SysUser.java +++ b/src/main/java/com/bonus/leader/performance/manager/manager/model/SysUser.java @@ -3,7 +3,9 @@ package com.bonus.leader.performance.manager.manager.model; import java.util.Date; import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +@Data public class SysUser extends BaseEntity { private static final long serialVersionUID = -6525908145032868837L; @@ -21,8 +23,30 @@ public class SysUser extends BaseEntity { private Integer status; private String intro; + private String userId; + private String roleId; + private String departmentId; + private String department; + private String keyWord; + + private String roleName; + private String level; private String orgId; + private String pId; + private String orgIds; + private String noticeId; + private String noticeName; + private String noticeType; + private String isRead; + private String createTimed; + private String ipAddress; + private String sysUserId; + private String systemName; + private String hostName; + private String month; + private String ip; + private String type; public String getUsername() { return username; diff --git a/src/main/java/com/bonus/leader/performance/manager/manager/service/UserService.java b/src/main/java/com/bonus/leader/performance/manager/manager/service/UserService.java index e3d9466..f35bb14 100644 --- a/src/main/java/com/bonus/leader/performance/manager/manager/service/UserService.java +++ b/src/main/java/com/bonus/leader/performance/manager/manager/service/UserService.java @@ -1,8 +1,13 @@ package com.bonus.leader.performance.manager.manager.service; +import com.bonus.leader.performance.manager.manager.entity.MapBean; import com.bonus.leader.performance.manager.manager.entity.UserDto; +import com.bonus.leader.performance.manager.manager.entity.ZNode; import com.bonus.leader.performance.manager.manager.model.SysUser; +import java.util.List; +import java.util.Map; + public interface UserService { SysUser saveUser(UserDto userDto); @@ -13,4 +18,15 @@ public interface UserService { void changePassword(String username, String oldPassword, String newPassword); +// int addLoginLog(); + + List> getLoginLogs(); + + List getRole(); + + List getDepartmentTree(); + + SysUser getListPerson(); + + int updatePerson(SysUser bean); } diff --git a/src/main/java/com/bonus/leader/performance/manager/manager/service/impl/TokenServiceImpl.java b/src/main/java/com/bonus/leader/performance/manager/manager/service/impl/TokenServiceImpl.java index c333b2f..c99991a 100644 --- a/src/main/java/com/bonus/leader/performance/manager/manager/service/impl/TokenServiceImpl.java +++ b/src/main/java/com/bonus/leader/performance/manager/manager/service/impl/TokenServiceImpl.java @@ -1,12 +1,20 @@ package com.bonus.leader.performance.manager.manager.service.impl; +import java.net.InetAddress; +import java.net.UnknownHostException; +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; import java.util.UUID; import java.util.concurrent.TimeUnit; +import com.bonus.leader.performance.manager.manager.dao.UserDao; import com.bonus.leader.performance.manager.manager.entity.LoginUser; import com.bonus.leader.performance.manager.manager.entity.Token; +import com.bonus.leader.performance.manager.manager.model.SysUser; import com.bonus.leader.performance.manager.manager.service.SysLogService; import com.bonus.leader.performance.manager.manager.service.TokenService; +import com.bonus.leader.performance.manager.manager.service.UserService; +import com.bonus.leader.performance.manager.manager.utils.UserUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.data.redis.core.RedisTemplate; @@ -15,6 +23,7 @@ import org.springframework.stereotype.Service; /** * token存到redis的实现类
* 普通token,uuid + * @author Lenovo */ @Deprecated @Service("tokenService") @@ -29,6 +38,8 @@ public class TokenServiceImpl implements TokenService { private RedisTemplate redisTemplate; @Autowired private SysLogService logService; + @Autowired + private UserDao userDao; @Override public Token saveToken(LoginUser loginUser) { @@ -36,12 +47,47 @@ public class TokenServiceImpl implements TokenService { loginUser.setToken(token); cacheLoginUser(loginUser); + addLoginLog(); // 登陆日志 logService.save(loginUser.getId(), "登陆", true, null); return new Token(token, loginUser.getLoginTime()); } + public int addLoginLog() { + int num = 0; + try { + // 获取当前IP地址 + InetAddress ipAddress = InetAddress.getLocalHost(); + String ip = ipAddress.getHostAddress(); + + // 获取系统名称 + String systemName = System.getProperty("os.name"); + + // 获取所在位置(主机名) + String hostName = ipAddress.getHostName(); + + LocalDate currentYearMonth = LocalDate.now(); + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); + String formattedYearMonth = currentYearMonth.format(formatter); + + String id = UserUtil.getLoginUser().getId().toString(); + + // 创建SysUser对象并设置值 + SysUser sysuser = new SysUser(); + sysuser.setIpAddress(ip); + sysuser.setSystemName(systemName); + sysuser.setHostName(hostName); + sysuser.setMonth(formattedYearMonth); + sysuser.setUserId(id); + + num = userDao.insertLoginInfo(sysuser); + } catch (UnknownHostException e) { + e.printStackTrace(); + } + return num; + } + private void cacheLoginUser(LoginUser loginUser) { loginUser.setLoginTime(System.currentTimeMillis()); loginUser.setExpireTime(loginUser.getLoginTime() + expireSeconds * 1000); diff --git a/src/main/java/com/bonus/leader/performance/manager/manager/service/impl/UserServiceImpl.java b/src/main/java/com/bonus/leader/performance/manager/manager/service/impl/UserServiceImpl.java index afbbf16..364d3bb 100644 --- a/src/main/java/com/bonus/leader/performance/manager/manager/service/impl/UserServiceImpl.java +++ b/src/main/java/com/bonus/leader/performance/manager/manager/service/impl/UserServiceImpl.java @@ -1,9 +1,20 @@ package com.bonus.leader.performance.manager.manager.service.impl; +import java.net.InetAddress; +import java.net.UnknownHostException; +import java.text.SimpleDateFormat; +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; +import java.util.ArrayList; +import java.util.LinkedHashMap; import java.util.List; +import java.util.Map; import com.bonus.leader.performance.manager.manager.dao.UserDao; +import com.bonus.leader.performance.manager.manager.entity.MapBean; +import com.bonus.leader.performance.manager.manager.entity.ZNode; import com.bonus.leader.performance.manager.manager.model.SysUser; +import com.bonus.leader.performance.manager.manager.utils.UserUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -68,6 +79,8 @@ public class UserServiceImpl implements UserService { log.debug("修改{}的密码", username); } + + @Override @Transactional public SysUser updateUser(UserDto userDto) { @@ -77,4 +90,71 @@ public class UserServiceImpl implements UserService { return userDto; } + /**-------------------------------------------用户管理新接口-----------------------------------------------------------------*/ + + @Override + public List> getLoginLogs() { + List> result = new ArrayList<>(); + String userId = UserUtil.getLoginUser().getId().toString(); + List sysUsers = userDao.findAllByOrderByCreateTimeDesc(userId); + Map>> resultMap = new LinkedHashMap<>(); + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); + SimpleDateFormat timeFormat = new SimpleDateFormat("HH:mm:ss"); + + for (SysUser sysUser : sysUsers) { + String loginDate = dateFormat.format(sysUser.getCreateTime()); + + Map record = new LinkedHashMap<>(); + record.put("system", sysUser.getSystemName()); + record.put("ip", sysUser.getIpAddress()); + record.put("hostName", sysUser.getHostName()); + record.put("time", timeFormat.format(sysUser.getCreateTime())); + + if (!resultMap.containsKey(loginDate)) { + resultMap.put(loginDate, new ArrayList<>()); + } + resultMap.get(loginDate).add(record); + } + + for (Map.Entry>> entry : resultMap.entrySet()) { + Map dateRecord = new LinkedHashMap<>(); + dateRecord.put("date", entry.getKey()); + dateRecord.put("records", entry.getValue()); + result.add(dateRecord); + } + + return result; + } + + @Override + public List getRole() { + return userDao.getRole(); + } + + @Override + public List getDepartmentTree() { + ZNode o = new ZNode(); + o.setLevels(UserUtil.getLoginUser().getLevel()); + o.setOrgIds(UserUtil.getLoginUser().getOrgId()); + return userDao.getDepartmentTree(o); + } + + @Override + public SysUser getListPerson() { + String id = UserUtil.getLoginUser().getId().toString(); + return userDao.getListById(id); + } + + @Override + public int updatePerson(SysUser bean) { + int num =0; + bean.setId(UserUtil.getLoginUser().getId()); +// int phone = userDao.phoneIfExists("sys_user","phone",bean.getPhone(),bean.getId().toString()); +// if(phone >0){ +// return 5; +// } + num = userDao.updateInfo(bean); + int team = userDao.updateRoleUser(bean); + return num; + } } diff --git a/src/main/java/com/bonus/leader/performance/manager/projectManagement/controller/projectManageController.java b/src/main/java/com/bonus/leader/performance/manager/projectManagement/controller/ProjectManageController.java similarity index 60% rename from src/main/java/com/bonus/leader/performance/manager/projectManagement/controller/projectManageController.java rename to src/main/java/com/bonus/leader/performance/manager/projectManagement/controller/ProjectManageController.java index 62d0b17..f154165 100644 --- a/src/main/java/com/bonus/leader/performance/manager/projectManagement/controller/projectManageController.java +++ b/src/main/java/com/bonus/leader/performance/manager/projectManagement/controller/ProjectManageController.java @@ -4,35 +4,37 @@ import com.bonus.leader.performance.manager.manager.annotation.LogAnnotation; import com.bonus.leader.performance.manager.manager.utils.AjaxRes; import com.bonus.leader.performance.manager.manager.utils.GlobalConst; import com.bonus.leader.performance.manager.manager.utils.R; -import com.bonus.leader.performance.manager.projectManagement.entity.projectManageBean; -import com.bonus.leader.performance.manager.projectManagement.service.projectManageService; +import com.bonus.leader.performance.manager.projectManagement.entity.ProjectManageBean; +import com.bonus.leader.performance.manager.projectManagement.service.ProjectManageService; import io.swagger.annotations.ApiOperation; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; +import java.util.HashMap; import java.util.List; +import java.util.Map; @RestController @RequestMapping("/projectManage") -public class projectManageController { +public class ProjectManageController { @Resource - private projectManageService service; + private ProjectManageService service; @LogAnnotation @PostMapping("getProjectManageList") @ApiOperation(value = "项目管理-列表") - public R getFirmList(projectManageBean o){ - List list = service.getProjectManageList(o); + public R getFirmList(ProjectManageBean o){ + List list = service.getProjectManageList(o); return !list.isEmpty() ? R.okTable(list, list.size()): R.failTable("暂无数据"); } @RequestMapping(value = "addProjectManage", method = RequestMethod.POST) @ResponseBody - @PreAuthorize("hasAuthority('sysFirmContent:add')") + @PreAuthorize("hasAuthority('sysProjectManage:add')") @ApiOperation(value = "项目管理-新增") - public AjaxRes addProjectManage(@RequestBody projectManageBean bean) throws Exception { + public AjaxRes addProjectManage(@RequestBody ProjectManageBean bean) throws Exception { AjaxRes ar = new AjaxRes(); int cb = service.addProjectManage(bean); ar.setFailMsg(GlobalConst.DATA_FAIL); @@ -47,9 +49,9 @@ public class projectManageController { @RequestMapping(value = "updateProjectManage", method = RequestMethod.POST) @ResponseBody - @PreAuthorize("hasAuthority('sysFirmContent:update')") + @PreAuthorize("hasAuthority('sysProjectManage:update')") @ApiOperation(value = "项目管理-修改") - public AjaxRes updateProjectManage(@RequestBody projectManageBean bean) throws Exception { + public AjaxRes updateProjectManage(@RequestBody ProjectManageBean bean) throws Exception { AjaxRes ar = new AjaxRes(); int cb = service.updateProjectManage(bean); ar.setFailMsg(GlobalConst.DATA_FAIL); @@ -64,7 +66,7 @@ public class projectManageController { @RequestMapping(value = "delProjectManage", method = RequestMethod.POST) @ResponseBody - @PreAuthorize("hasAuthority('sysFirmContent:delete')") + @PreAuthorize("hasAuthority('sysProjectManage:delete')") @ApiOperation(value = "项目管理-删除") public AjaxRes delProjectManage(String id) throws Exception { AjaxRes ar = new AjaxRes(); @@ -79,5 +81,33 @@ public class projectManageController { return ar; } + @RequestMapping(value = "getListProjectManage", method = RequestMethod.POST) + @ResponseBody + @ApiOperation(value = "项目管理-查询人员信息") + public AjaxRes getListProjectManage(String id){ + AjaxRes ar = new AjaxRes(); + ProjectManageBean projectManage = service.getListProjectManage(id); + Map map = new HashMap<>(); + if(projectManage !=null){ + map.put("projectManage",projectManage); + } + ar.setSucceed(map,GlobalConst.DATA_SUCCEED); + return ar; + } + + @RequestMapping(value = "updateBind", method = RequestMethod.POST) + @ResponseBody + @PreAuthorize("hasAuthority('sysProjectManage:bind')") + @ApiOperation(value = "项目管理-项目绑定") + public AjaxRes updateBind(@RequestBody ProjectManageBean bean) throws Exception { + AjaxRes ar = new AjaxRes(); + int cb = service.updateBind(bean); + ar.setFailMsg(GlobalConst.DATA_FAIL); + if(cb>0){ + ar.setFailMsg(GlobalConst.INIT_SUCCEED); + } + return ar; + } + } diff --git a/src/main/java/com/bonus/leader/performance/manager/projectManagement/dao/ProjectManageDao.java b/src/main/java/com/bonus/leader/performance/manager/projectManagement/dao/ProjectManageDao.java new file mode 100644 index 0000000..d2b278f --- /dev/null +++ b/src/main/java/com/bonus/leader/performance/manager/projectManagement/dao/ProjectManageDao.java @@ -0,0 +1,24 @@ + package com.bonus.leader.performance.manager.projectManagement.dao; + + import com.bonus.leader.performance.manager.projectManagement.entity.ProjectManageBean; + import org.springframework.stereotype.Repository; + + import java.util.List; + +@Repository(value = "ProjectManageDao") +public interface ProjectManageDao { + + List getProjectManageList(ProjectManageBean o); + + int getProName(ProjectManageBean bean); + + int addProjectManage(ProjectManageBean bean); + + int updateProjectManage(ProjectManageBean bean); + + int delProjectManage(String id); + + ProjectManageBean getListProjectManage(String id); + + int updateBind(ProjectManageBean bean); +} diff --git a/src/main/java/com/bonus/leader/performance/manager/projectManagement/dao/projectManageDao.java b/src/main/java/com/bonus/leader/performance/manager/projectManagement/dao/projectManageDao.java deleted file mode 100644 index bda9909..0000000 --- a/src/main/java/com/bonus/leader/performance/manager/projectManagement/dao/projectManageDao.java +++ /dev/null @@ -1,20 +0,0 @@ - package com.bonus.leader.performance.manager.projectManagement.dao; - - import com.bonus.leader.performance.manager.projectManagement.entity.projectManageBean; - import org.springframework.stereotype.Repository; - - import java.util.List; - -@Repository(value = "projectManageDao") -public interface projectManageDao { - - List getProjectManageList(projectManageBean o); - - int getProName(projectManageBean bean); - - int addProjectManage(projectManageBean bean); - - int updateProjectManage(projectManageBean bean); - - int delProjectManage(String id); -} diff --git a/src/main/java/com/bonus/leader/performance/manager/projectManagement/entity/projectManageBean.java b/src/main/java/com/bonus/leader/performance/manager/projectManagement/entity/ProjectManageBean.java similarity index 91% rename from src/main/java/com/bonus/leader/performance/manager/projectManagement/entity/projectManageBean.java rename to src/main/java/com/bonus/leader/performance/manager/projectManagement/entity/ProjectManageBean.java index 52a2378..9fbfce1 100644 --- a/src/main/java/com/bonus/leader/performance/manager/projectManagement/entity/projectManageBean.java +++ b/src/main/java/com/bonus/leader/performance/manager/projectManagement/entity/ProjectManageBean.java @@ -7,7 +7,7 @@ import lombok.Data; * @date 2023/11/10 14:22 */ @Data -public class projectManageBean { +public class ProjectManageBean { private String id; private String dataKey; diff --git a/src/main/java/com/bonus/leader/performance/manager/projectManagement/service/ProjectManageService.java b/src/main/java/com/bonus/leader/performance/manager/projectManagement/service/ProjectManageService.java new file mode 100644 index 0000000..9cdcbdc --- /dev/null +++ b/src/main/java/com/bonus/leader/performance/manager/projectManagement/service/ProjectManageService.java @@ -0,0 +1,20 @@ +package com.bonus.leader.performance.manager.projectManagement.service; + +import com.bonus.leader.performance.manager.projectManagement.entity.ProjectManageBean; + +import java.util.List; + +public interface ProjectManageService { + + List getProjectManageList(ProjectManageBean o); + + int addProjectManage(ProjectManageBean bean); + + int updateProjectManage(ProjectManageBean bean); + + String delProjectManage(String id); + + ProjectManageBean getListProjectManage(String id); + + int updateBind(ProjectManageBean bean); +} diff --git a/src/main/java/com/bonus/leader/performance/manager/projectManagement/service/projectManageServiceimlp.java b/src/main/java/com/bonus/leader/performance/manager/projectManagement/service/ProjectManageServiceimlp.java similarity index 67% rename from src/main/java/com/bonus/leader/performance/manager/projectManagement/service/projectManageServiceimlp.java rename to src/main/java/com/bonus/leader/performance/manager/projectManagement/service/ProjectManageServiceimlp.java index 85e6d0c..b600a8a 100644 --- a/src/main/java/com/bonus/leader/performance/manager/projectManagement/service/projectManageServiceimlp.java +++ b/src/main/java/com/bonus/leader/performance/manager/projectManagement/service/ProjectManageServiceimlp.java @@ -1,27 +1,26 @@ package com.bonus.leader.performance.manager.projectManagement.service; -import com.bonus.leader.performance.manager.manager.utils.StringHelper; -import com.bonus.leader.performance.manager.projectManagement.dao.projectManageDao; -import com.bonus.leader.performance.manager.projectManagement.entity.projectManageBean; +import com.bonus.leader.performance.manager.projectManagement.dao.ProjectManageDao; +import com.bonus.leader.performance.manager.projectManagement.entity.ProjectManageBean; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.List; -@Service("projectManageService") -public class projectManageServiceimlp implements projectManageService { +@Service("ProjectManageService") +public class ProjectManageServiceimlp implements ProjectManageService { @Resource - private projectManageDao dao; + private ProjectManageDao dao; // 重写getProjectManageList方法,用于获取项目列表 @Override - public List getProjectManageList(projectManageBean o) { + public List getProjectManageList(ProjectManageBean o) { // 调用dao层的getProjectManageList方法,传入projectManageBean对象,获取项目列表 return dao.getProjectManageList(o); } @Override - public int addProjectManage(projectManageBean bean) { + public int addProjectManage(ProjectManageBean bean) { int proName = dao.getProName(bean); if(proName >0){ return 3; @@ -30,7 +29,7 @@ public class projectManageServiceimlp implements projectManageService { } @Override - public int updateProjectManage(projectManageBean bean) { + public int updateProjectManage(ProjectManageBean bean) { int proName = dao.getProName(bean); if(proName >0){ return 3; @@ -51,4 +50,14 @@ public class projectManageServiceimlp implements projectManageService { return result; } + @Override + public ProjectManageBean getListProjectManage(String id) { + return dao.getListProjectManage(id); + } + + @Override + public int updateBind(ProjectManageBean bean) { + return dao.updateBind(bean); + } + } diff --git a/src/main/java/com/bonus/leader/performance/manager/projectManagement/service/projectManageService.java b/src/main/java/com/bonus/leader/performance/manager/projectManagement/service/projectManageService.java deleted file mode 100644 index 988f7f0..0000000 --- a/src/main/java/com/bonus/leader/performance/manager/projectManagement/service/projectManageService.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.bonus.leader.performance.manager.projectManagement.service; - -import com.bonus.leader.performance.manager.projectManagement.entity.projectManageBean; - -import java.util.List; - -public interface projectManageService { - - List getProjectManageList(projectManageBean o); - - int addProjectManage(projectManageBean bean); - - int updateProjectManage(projectManageBean bean); - - String delProjectManage(String id); -} diff --git a/src/main/java/com/bonus/leader/performance/manager/select/controller/SelectController.java b/src/main/java/com/bonus/leader/performance/manager/select/controller/SelectController.java index c74f8f8..1dafd18 100644 --- a/src/main/java/com/bonus/leader/performance/manager/select/controller/SelectController.java +++ b/src/main/java/com/bonus/leader/performance/manager/select/controller/SelectController.java @@ -72,4 +72,37 @@ public class SelectController { return list; } + @LogAnnotation + @PostMapping("getProjectType") + @ApiOperation(value = "查询工程类型") + public List getProjectType(SelectBean o) { + List list = service.getProjectType(o); + if (list.size() <= 0) { + list = new ArrayList<>(); + } + return list; + } + + @LogAnnotation + @PostMapping("getPushNotification") + @ApiOperation(value = "查询产业工人系统工程名称") + public List getPushNotification(SelectBean o) { + List list = service.getPushNotification(o); + if (list.size() <= 0) { + list = new ArrayList<>(); + } + return list; + } + + @LogAnnotation + @PostMapping("getFound") + @ApiOperation(value = "查询领导履职系统工程名称") + public List getFound(SelectBean o) { + List list = service.getFound(o); + if (list.size() <= 0) { + list = new ArrayList<>(); + } + return list; + } + } diff --git a/src/main/java/com/bonus/leader/performance/manager/select/dao/ProjectManagerDao.java b/src/main/java/com/bonus/leader/performance/manager/select/dao/ProjectManagerDao.java index b85713e..15b1b23 100644 --- a/src/main/java/com/bonus/leader/performance/manager/select/dao/ProjectManagerDao.java +++ b/src/main/java/com/bonus/leader/performance/manager/select/dao/ProjectManagerDao.java @@ -21,4 +21,10 @@ public interface ProjectManagerDao { List getVoltageLevel(SelectBean o); List getProjectName(SelectBean o); + + List getProjectType(SelectBean o); + + List getPushNotification(SelectBean o); + + List getFound(SelectBean o); } diff --git a/src/main/java/com/bonus/leader/performance/manager/select/service/ProjectManagerService.java b/src/main/java/com/bonus/leader/performance/manager/select/service/ProjectManagerService.java index c26dfee..40ac88c 100644 --- a/src/main/java/com/bonus/leader/performance/manager/select/service/ProjectManagerService.java +++ b/src/main/java/com/bonus/leader/performance/manager/select/service/ProjectManagerService.java @@ -19,4 +19,10 @@ public interface ProjectManagerService { List getVoltageLevel(SelectBean o); List getProjectName(SelectBean o); + + List getProjectType(SelectBean o); + + List getPushNotification(SelectBean o); + + List getFound(SelectBean o); } diff --git a/src/main/java/com/bonus/leader/performance/manager/select/service/ProjectManagerServiceImpl.java b/src/main/java/com/bonus/leader/performance/manager/select/service/ProjectManagerServiceImpl.java index 4d5e3b4..d9efc44 100644 --- a/src/main/java/com/bonus/leader/performance/manager/select/service/ProjectManagerServiceImpl.java +++ b/src/main/java/com/bonus/leader/performance/manager/select/service/ProjectManagerServiceImpl.java @@ -34,4 +34,19 @@ public class ProjectManagerServiceImpl implements ProjectManagerService{ return dao.getProjectName(o); } + @Override + public List getProjectType(SelectBean o) { + return dao.getProjectType(o); + } + + @Override + public List getPushNotification(SelectBean o) { + return dao.getPushNotification(o); + } + + @Override + public List getFound(SelectBean o) { + return dao.getFound(o); + } + } diff --git a/src/main/resources/mappers/projectManagement/projectManageMapper.xml b/src/main/resources/mappers/projectManagement/projectManageMapper.xml index 80655b1..d43b34b 100644 --- a/src/main/resources/mappers/projectManagement/projectManageMapper.xml +++ b/src/main/resources/mappers/projectManagement/projectManageMapper.xml @@ -1,27 +1,133 @@ - + "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> + - - + + INSERT INTO bm_project + ( + pro_name, + short_name, + pro_type, + depart_id, + level, + pro_status, + pro_from, + create_time, + is_active + ) + VALUES + ( + #{proName}, + #{shortName}, + #{proType}, + #{projectIds}, + #{volLevelIds}, + '1', + '2', + NOW(), + '1' + ) - - + + UPDATE bm_project + SET + pro_name = #{proName}, + short_name = #{shortName}, + pro_type = #{proType}, + depart_id = #{projectIds}, + level = #{volLevelIds}, + update_time = NOW() + WHERE + id = #{id} + + + UPDATE bm_project AS pm_push + JOIN bm_project AS pm_found ON pm_found.id = #{pushNotification} AND pm_found.is_active = '1' + SET + pm_push.real_name = pm_found.real_name, + pm_push.pro_type = pm_found.pro_type, + pm_push.depart_id = pm_found.depart_id, + pm_push.level = pm_found.level, + pm_push.pro_status = pm_found.pro_status, + pm_push.update_time = NOW(), + pm_found.is_active = '0' + WHERE + pm_push.id = #{found} AND pm_push.is_active = '1' - - + + UPDATE bm_project + SET + is_active = '0' + WHERE + id = #{id} - + SELECT + bpm.id as id, -- 项目ID + if(bpm.real_name IS NULL, bpm.pro_name, bpm.real_name) AS proName, -- 项目名称 + bpm.short_name as shortName, -- 项目简称 + so1.org_name as orgName, -- 所属组织 + sdd.dict_key as proType, -- 工程类型 + sdd1.dict_key as volLevel, -- 电压等级 + bpm.pro_status as proStatus, -- 项目状态 + bpm.pro_from as proSource -- 项目来源 + FROM bm_project bpm + LEFT JOIN sys_data_dict sdd on sdd.id = bpm.pro_type AND sdd.is_active = '1' + LEFT JOIN sys_organization so on so.id = bpm.depart_id AND so.is_active = '1' + LEFT JOIN sys_organization so1 on so1.id = so.parent_id AND so1.is_active = '1' + LEFT JOIN sys_data_dict sdd1 on sdd1.id = bpm.level AND sdd1.is_active = '1' + WHERE + bpm.is_active = '1' + + AND so1.id = #{orgId} + + + AND ( + bpm.pro_name LIKE concat ('%',#{keyWord},'%') + OR bpm.real_name LIKE concat ('%',#{keyWord},'%') + OR sdd.dict_key LIKE concat ('%',#{keyWord},'%') + ) + + + AND bpm.level = #{volLevelIds} + + + AND bpm.pro_status LIKE concat ('%',#{statusId},'%') + - + SELECT + COUNT(1) + FROM + bm_project + WHERE + depart_id = #{projectIds} and pro_name = #{projectName} + AND is_active = '1' + + AND id != #{id} + + + + \ No newline at end of file diff --git a/src/main/resources/static/img/cloudDownload.png b/src/main/resources/static/img/cloudDownload.png new file mode 100644 index 0000000..d4f64c2 Binary files /dev/null and b/src/main/resources/static/img/cloudDownload.png differ diff --git a/src/main/resources/static/img/cloudDownloadGrey.png b/src/main/resources/static/img/cloudDownloadGrey.png new file mode 100644 index 0000000..78fc984 Binary files /dev/null and b/src/main/resources/static/img/cloudDownloadGrey.png differ diff --git a/src/main/resources/static/img/login/bgs.png b/src/main/resources/static/img/login/bgs.png new file mode 100644 index 0000000..9be582b Binary files /dev/null and b/src/main/resources/static/img/login/bgs.png differ diff --git a/src/main/resources/static/img/login/code.png b/src/main/resources/static/img/login/code.png new file mode 100644 index 0000000..6f0e9cc Binary files /dev/null and b/src/main/resources/static/img/login/code.png differ diff --git a/src/main/resources/static/img/login/filetype/chanel.png b/src/main/resources/static/img/login/filetype/chanel.png new file mode 100644 index 0000000..e576ff2 Binary files /dev/null and b/src/main/resources/static/img/login/filetype/chanel.png differ diff --git a/src/main/resources/static/img/login/filetype/download.png b/src/main/resources/static/img/login/filetype/download.png new file mode 100644 index 0000000..02aecce Binary files /dev/null and b/src/main/resources/static/img/login/filetype/download.png differ diff --git a/src/main/resources/static/img/login/filetype/excel.png b/src/main/resources/static/img/login/filetype/excel.png new file mode 100644 index 0000000..8a4247a Binary files /dev/null and b/src/main/resources/static/img/login/filetype/excel.png differ diff --git a/src/main/resources/static/img/login/filetype/pdf.png b/src/main/resources/static/img/login/filetype/pdf.png new file mode 100644 index 0000000..1cf8b9c Binary files /dev/null and b/src/main/resources/static/img/login/filetype/pdf.png differ diff --git a/src/main/resources/static/img/login/filetype/ppt.png b/src/main/resources/static/img/login/filetype/ppt.png new file mode 100644 index 0000000..e88e398 Binary files /dev/null and b/src/main/resources/static/img/login/filetype/ppt.png differ diff --git a/src/main/resources/static/img/login/filetype/txt.png b/src/main/resources/static/img/login/filetype/txt.png new file mode 100644 index 0000000..6ffeefc Binary files /dev/null and b/src/main/resources/static/img/login/filetype/txt.png differ diff --git a/src/main/resources/static/img/login/filetype/visio.png b/src/main/resources/static/img/login/filetype/visio.png new file mode 100644 index 0000000..c3a16b6 Binary files /dev/null and b/src/main/resources/static/img/login/filetype/visio.png differ diff --git a/src/main/resources/static/img/login/filetype/word.png b/src/main/resources/static/img/login/filetype/word.png new file mode 100644 index 0000000..b9afa92 Binary files /dev/null and b/src/main/resources/static/img/login/filetype/word.png differ diff --git a/src/main/resources/static/img/login/filetype/zip.png b/src/main/resources/static/img/login/filetype/zip.png new file mode 100644 index 0000000..82e68c0 Binary files /dev/null and b/src/main/resources/static/img/login/filetype/zip.png differ diff --git a/src/main/resources/static/img/login/phone.png b/src/main/resources/static/img/login/phone.png new file mode 100644 index 0000000..1bdadb6 Binary files /dev/null and b/src/main/resources/static/img/login/phone.png differ diff --git a/src/main/resources/static/img/login/pwd.png b/src/main/resources/static/img/login/pwd.png new file mode 100644 index 0000000..ba50c4f Binary files /dev/null and b/src/main/resources/static/img/login/pwd.png differ diff --git a/src/main/resources/static/img/login/refresh.png b/src/main/resources/static/img/login/refresh.png new file mode 100644 index 0000000..bbed82a Binary files /dev/null and b/src/main/resources/static/img/login/refresh.png differ diff --git a/src/main/resources/static/index.html b/src/main/resources/static/index.html index 74f65f5..1a4a4d0 100644 --- a/src/main/resources/static/index.html +++ b/src/main/resources/static/index.html @@ -32,6 +32,19 @@
  • + +
  • + + + +
    +
    +
    文件 清空记录
    +
    +
    +
    +
    +
  • @@ -39,7 +52,7 @@
    - 个人信息 + 个人信息
    diff --git a/src/main/resources/static/js/corporateOrg/branch.js b/src/main/resources/static/js/corporateOrg/branch.js index 4fc4a6e..7ed1598 100644 --- a/src/main/resources/static/js/corporateOrg/branch.js +++ b/src/main/resources/static/js/corporateOrg/branch.js @@ -31,6 +31,9 @@ layui.use(['table', 'layer', 'laydate', 'jquery', 'form'], function () { if ($.inArray('sysMsgContent:update', pers) >= 0) { text +='编辑'; } + if ($.inArray('sysMsgContent:del', pers) >= 0) { + text +='删除'; + } return text; } } diff --git a/src/main/resources/static/js/main.js b/src/main/resources/static/js/main.js index 10f8377..5ed74cd 100644 --- a/src/main/resources/static/js/main.js +++ b/src/main/resources/static/js/main.js @@ -112,6 +112,149 @@ function logout(){ }); } +showCloud(1); +function showCloud(type){ + var pro = window.location.protocol; + var host = window.location.host; + var domain = pro + "//" + host; + var img = $(".admin-header-user-cloud img"); + if (type == 1){ + img.attr("src", domain+ctxPath+"/img/cloudDownloadGrey.png"); + }else { + img.attr("src", domain+ctxPath+"/img/cloudDownload.png"); + } +} +// 获取img元素 +var cloudImg = document.getElementById('cloud-img'); +// 监听鼠标移入事件 +cloudImg.addEventListener('mouseenter', function() { + // 鼠标移入img时的操作 + showCloud(2) + //获取下载记录 + + getDownloadRecord(); + +}); +function downloads(type){ + // alert(type) +} +// 监听鼠标移出事件 +cloudImg.addEventListener('mouseleave', function() { + // 鼠标移出img时的操作 + showCloud(1) +}); +// 获取img元素 +var cloudTmgContainer = document.getElementById('cloud-img-container'); +// 监听鼠标移入事件 +cloudTmgContainer.addEventListener('mouseenter', function() { + // 鼠标移入img时的操作 + showCloud(2) + +}); +// 监听鼠标移出事件 +cloudTmgContainer.addEventListener('mouseleave', function() { + // 鼠标移出img时的操作 + showCloud(1) +}); + +function getDownloadRecord(){ + $.ajax({ + type: 'post', + url: ctxPath + '/users/getDownloadRecord', + dataType: 'json', // 服务器返回数据类型 + async: false, + data: { + }, + success: function (data) { + var resMsg = data.resMsg; + if ("数据获取成功" == resMsg) { + let info = data.obj.fileBeans; + $("#cloud-img-record").empty(); + var htmls = ''; + if (info == null || info.length == 0) { + htmls = '
    暂无记录
    '; + }else { + for (let i = 0; i < info.length; i++) { + var typePath = getTypeImg(info[i].fileName); + htmls += '
    ' + + '
    ' + + '' + + '
    ' + + '
    ' + + '
    '+determineStrLength(info[i].fileName)+'
    ' + + '
    2023-10-11 10:10:10
    ' + + '
    ' + + '
    ' + + '' + + '' + + '
    ' + + '
    ' + } + } + $("#cloud-img-record").append(htmls); + } + }, + error: function (err) { + console.log("获取下载记录数据出错:", err); + } + }); +} + + +function chanel(id){ + var index = layer.confirm('确定要删除吗?', { + btn : [ '确定', '取消' ] + }, function() { + $.ajax({ + type: 'POST', + async: false, // 默认异步true,false表示同步 + url: ctxPath + '/users/delRecordById',// 请求地址 + contentType: "application/x-www-form-urlencoded", + dataType: 'json', // 服务器返回数据类型 + data: {'id': id}, //获取提交的表单字段 + success: function (data) { + var resMsg = data.resMsg; + layer.close(index); + if ("数据获取成功" === resMsg) { + layer.msg('删除成功',{icon:1,timeout:2000}); + }else { + layer.msg('删除失败',{icon:2,timeout:2000}); + } + } + }); + }); +} + +function delAll(){ + var index = layer.confirm('确定清空记录吗?', { + btn : [ '确定', '取消' ] + }, function() { + $.ajax({ + type: 'POST', + async: false, // 默认异步true,false表示同步 + url: ctxPath + '/users/delAll',// 请求地址 + contentType: "application/x-www-form-urlencoded", + dataType: 'json', // 服务器返回数据类型 + success: function (data) { + var resMsg = data.resMsg; + layer.close(index); + if ("数据获取成功" === resMsg) { + layer.msg('删除成功',{icon:1,timeout:2000}); + }else { + layer.msg('删除失败',{icon:2,timeout:2000}); + } + } + }); + }); +} + +function determineStrLength(str){ + if (str.length > 13){ + return str.substr(0, 11) + ".."; + } + return str; +} + var active; layui.use(['layer', 'element'], function() { @@ -211,4 +354,88 @@ layui.use(['layer', 'element'], function() { shadeMobile.on('click', function () { $('body').removeClass('site-mobile'); }); -}); \ No newline at end of file +}); + +function getTypeImg(str) { + if (str.toLowerCase().indexOf("xlsx") > 0 || str.toLowerCase().indexOf("xls") > 0) { + return "./img/login/filetype/excel.png"; + } else if (str.toLowerCase().indexOf("pdf") > 0) { + return "./img/login/filetype/pdf.png"; + } else if (str.toLowerCase().indexOf("ppt") > 0) { + return "./img/login/filetype/ppt.png"; + } else if (str.toLowerCase().indexOf("txt") > 0) { + return "./img/login/filetype/txt.png"; + } else if (str.toLowerCase().indexOf("vsdx") > 0) { + return "./img/login/filetype/visio.png"; + } else if (str.toLowerCase().indexOf("doc") > 0 || str.toLowerCase().indexOf("docx") > 0) { + return "./img/login/filetype/word.png"; + }else if (str.toLowerCase().indexOf("zip") > 0 || str.toLowerCase().indexOf("rar") > 0) { + return "./img/login/filetype/zip.png"; + } +} + + +/** + * 获取 blob + * @param {String} url 目标文件地址 + * @return {Promise} + */ +function getBlob(url) { + return new Promise(resolve => { + const xhr = new XMLHttpRequest(); + xhr.open('GET', url, true); + xhr.responseType = 'blob'; + xhr.onload = () => { + if (xhr.status === 200) { + resolve(xhr.response); + } + }; + + xhr.send(); + }); +} + +/** + * 保存 + * @param {Blob} blob + * @param {String} filename 想要保存的文件名称 + */ +function saveAs(blob, filename) { + if (window.navigator.msSaveOrOpenBlob) { + navigator.msSaveBlob(blob, filename); + } else { + const link = document.createElement('a'); + const body = document.querySelector('body'); + link.href = window.URL.createObjectURL(blob); + link.download = filename; + + // fix Firefox + link.style.display = 'none'; + body.appendChild(link); + + link.click(); + body.removeChild(link); + + window.URL.revokeObjectURL(link.href); + } +} + +/** + * 下载 + * @param {String} url 目标文件地址 + * @param {String} filename 想要保存的文件名称 + */ +function download(url, filename) { + var truePath; + // window.location.href = '/download/download?filePath=' + data.filePath; + if (url.indexOf("http") != -1) { + truePath = url; + } else { + truePath = ctxPath + "/statics/" + url; + } + + + getBlob(truePath).then(blob => { + saveAs(blob, filename); + }); +} \ No newline at end of file diff --git a/src/main/resources/static/js/projectManagement/lineProjectList.js b/src/main/resources/static/js/projectManagement/lineProjectList.js new file mode 100644 index 0000000..dc25da1 --- /dev/null +++ b/src/main/resources/static/js/projectManagement/lineProjectList.js @@ -0,0 +1,267 @@ +layui.config({ + base: '../../js/layuiModules/', // 第三方模块所在目录 + version: 'v1.6.4' // 插件版本号 +}).extend({ + soulTable: 'notice,layNotify', // 模块 +}); +let form; +var tree; +var table; +var notice; +var layNotify; +var oldKeyWord = ""; +var orgId = ""; +var statusId = ""; +var volLevelIds = ""; +const token = localStorage.getItem("token"); +let pers = checkPermission(); +$("#resetBt").click(function(){ + table.reload('menuTable', { + url: ctxPath + '/projectManage/getProjectManageList' + , method: 'post' //方式默认是get + , page: true + , where: { + keyWord: '', + orgId: '', + volLevelIds: '', + statusId: '', + } //设定异步数据接口的额外参数 + }); + $("#keyWord").val(''); + $("#statusId").val(''); + getOrgName(form,""); + getVoltageLevel(form,""); +}) +$("#searchBt").click(function(){ + oldKeyWord = $("#keyWord").val(); + orgId = $("#orgId").val(); + volLevelIds = $("#volLevelIds").val(); + statusId = $("#statusId").val(); + table.reload('menuTable', { + url: ctxPath + '/projectManage/getProjectManageList' + , method: 'post' //方式默认是get + , page: true + , where: { + keyWord: oldKeyWord, + orgId: orgId, + volLevelIds: volLevelIds, + statusId: statusId, + } //设定异步数据接口的额外参数 + }); + $("#keyWord").val(oldKeyWord); + $("#orgId").val(orgId); + $("#volLevelIds").val(volLevelIds); + $("#statusId").val(statusId); +}) +$("#addBt").click(function(){ + localStorage.setItem("id","") + layerOpenFormForSencond("新增","./projectManageForm.html"); +}) +$("#bind").click(function(){ + layerOpenFormForSencond("项目绑定","./projectManageBind.html"); +}) +$("#exportBt").click(function(){ + oldKeyWord = $("#keyWord").val(); + orgId = $("#orgId").val(); + volLevelIds = $("#volLevelIds").val(); + statusId = $("#statusId").val(); + window.location.href = ctxPath + "/projectManage/exportPhysicalCheckResult?" + +"orgId=" + orgId + + "&volLevelIds=" + volLevelIds + + "&keyWord=" + oldKeyWord + + "&statusId=" + statusId + + "&type=" + '1' + + "&token=" + token; //下载文件 +}) + +layui.use(['table', 'form','notice', 'layNotify'], function () { + table = layui.table; + form = layui.form; + tree = layui.tree; + notice = layui.notice; + layNotify = layui.layNotify; + + + // if ($.inArray('sysProjectManage:add', pers) < 0) { + // document.getElementById('addDiv').remove(); + // } + + + //渲染表格 + table.render({ + elem: '#demo' + , url: ctxPath + '/projectManage/getProjectManageList' //数据接口 + , method: 'post' //方式默认是get + , toolbar: 'default' //开启工具栏,此处显示默认图标,可以自定义模板,详见文档 + , where: {} //post请求必须加where ,post请求需要的参数 + , cellMinWidth: 80 + , cols: [[ //表头 + { + field: 'number', width:80,title: '序号', align: 'center', type: 'numbers' + } + , {field: 'orgName', align: 'center', title: '分公司'} + , {field: 'proName', align: 'center', title: '工程名称'} + , {field: 'proType', align: 'center', title: '工程类型'} + , {field: 'volLevel', align: 'center', title: '电压等级'} + , { + field: 'proStatus', title: '项目状态', align: 'center', templet: d => { + let text = ""; + if (d.proStatus === "1") { + text = "在建"; + } else if (d.proStatus === "2") { + text = "已完工"; + } + return text; + } + } + , { + field: 'proSource', title: '项目来源', align: 'center', templet: d => { + let text = ""; + if (d.proSource === "1") { + text = "推送"; + } else if (d.proSource === "2") { + text = "创建"; + } + return text; + } + } + ,{ + fixed: 'right', width:180, title: '操作', align: 'center', templet: d => { + let text = ""; + let proStatus = d.proSource; + if (proStatus == "1") { + text = "不可操作"; + }else{ + if ($.inArray('sysProjectManage:update', pers) > 0) { + text +='修改'; + text +=' | '; + } + if ($.inArray('sysProjectManage:delete', pers) > 0) { + text +='删除'; + } + } + return text; + } + } + ]] + , id: 'menuTable' + , page: true //开启分页 + , loading: true //数据加载中。。。 + , limits: [5, 10, 20] //一页选择显示3,5或10条数据 + , limit: 10 //一页显示5条数据 + , response: { + statusCode: 200 //规定成功的状态码,默认:0 + }, parseData: function (res) { //将原始数据解析成 table 组件所规定的数据,res为从url中get到的数据 + let result; + if (res.data !== '' && res.data != null && res.data !== "null") { + if (this.page.curr) { + result = res.data.slice(this.limit * (this.page.curr - 1), this.limit * this.page.curr); + } else { + result = res.data.slice(0, this.limit); + } + } + return { + "code": res.code, //解析接口状态 + "msg": res.msg, //解析提示文本 + "count": res.count, //解析数据长度 + "data": result, //解析数据列表 + }; + } + ,toolbar: "#toolbar" + , done: function(res, curr, count) { + for (var i = 0; i < res.data.length; i++) { + // console.log('res.data[i]:', res.data[i]) + var data = res.data[i]; + data.planTime = data.startTime + ' ~ ' + data.endTime; + console.log('planTime:', data.planTime); // 打印 planTime 的值 + } + } + }); + + //监听工具条 + table.on('tool(test)', function (obj) { + var data = obj.data; //当前行数据 + console.log(data) + var rowIndex = obj.index; + var layEvent = obj.event; //当前点击的事件名 + var proProcess = data.proProcess; + if (layEvent === 'update') { + localStorage.setItem('id',data.id); + localStorage.setItem('title',data.title); + localStorage.setItem('voltageLevelId',data.voltageLevelId); + localStorage.setItem('teamName',data.teamName); + layerOpenFormForSencond("修改","./projectManageForm.html"); + } + if (layEvent === 'del') { + var indexs = layer.confirm('确定要删除吗?', { + btn : [ '确定', '取消' ] + }, function() { + // ajaxCommonMethod('/linePro/delProjectById',{'id': data.id}); + $.ajax({ + type: 'POST', + async: false, // 默认异步true,false表示同步 + url: ctxPath + '/projectManage/delProjectManage',// 请求地址 + contentType: "application/x-www-form-urlencoded", + dataType: 'json', // 服务器返回数据类型 + data: {'id': data.id}, //获取提交的表单字段 + success: function (data) { + var resMsg = data.resMsg; + layer.close(indexs); + if ("数据获取成功" === resMsg) { + reloadTip("删除","删除成功",'success'); + } else if ("数据获取失败" === resMsg) { + reloadTip("删除","删除失败",'error'); + } + } + }); + table.reload('menuTable', { + url: ctxPath + '/projectManage/getProjectManageList' + , method: 'post' //方式默认是get + , page: true + , where: { + keyWord: "", + status: "", + branchId: "", + } + }); + }); + } + }); + +// 单元格编辑事件 + table.on('edit(test)', function (obj) { + var field = obj.field; // 得到字段 + var value = obj.value; // 得到修改后的值 + var oldValue = obj.oldValue; + var data = obj.data; // 得到所在行所有键值 + var update = {}; + + // 值的校验 + if (field === 'idNumber') { + if (value.length != 18) { + update[field] = oldValue; + obj.update(update); + layer.tips('输入的身份证不正确,请重新编辑', this, {tips: 1}); + return obj.reedit(); // 重新编辑 -- v2.8.0 新增 + } else { + update[field] = value; + obj.update(update); + } + } + // 编辑后续操作,如提交更新请求,以完成真实的数据更新 + // … + layer.msg('编辑成功', {icon: 1}); + }); + getOrgName(form,null); + getVoltageLevel(form, ""); + + document.getElementById("searchBt").classList.add("layui-none"); +}); + +function reloadTip(tip,message,type){ + layNotify.notice({ + title: tip+"提示", + type: type, + message: message + }); +} \ No newline at end of file diff --git a/src/main/resources/static/js/select.js b/src/main/resources/static/js/select.js index 475fecf..5e72ccb 100644 --- a/src/main/resources/static/js/select.js +++ b/src/main/resources/static/js/select.js @@ -74,7 +74,7 @@ function getAnnouncementType(from,id) { } /** - * 获取项目部数据 + * 获取分公司数据 * @param id 工种id */ function getProjectName(from,id) { @@ -86,7 +86,7 @@ function getProjectName(from,id) { success: function (data) { var res = data; var html = ''; - html += ''; + html += ''; for(var i=0;i' + res[i].name + ''; @@ -405,31 +405,31 @@ function getRole(form,roleId) { * 获取设备工序 * @param id 工种id */ -function getVoltageLevel(from,id) { - $("#volLevelIds").empty(); - $.ajax({ - type: 'post', - url: ctxPath + '/selectUtil/getVoltageLevel', - async: false, - success: function (data) { - var res = data; - var html = ''; - html += ''; - for(var i=0;i' + res[i].name + ''; - }else{ - html += ''; - } - } - $("#volLevelIds").html(html); - form.render("select"); - }, - error: function (err) { - console.log("获取电压等级数据失败:", err); - } - }); -} +// function getVoltageLevel(from,id) { +// $("#volLevelIds").empty(); +// $.ajax({ +// type: 'post', +// url: ctxPath + '/selectUtil/getVoltageLevel', +// async: false, +// success: function (data) { +// var res = data; +// var html = ''; +// html += ''; +// for(var i=0;i' + res[i].name + ''; +// }else{ +// html += ''; +// } +// } +// $("#volLevelIds").html(html); +// form.render("select"); +// }, +// error: function (err) { +// console.log("获取电压等级数据失败:", err); +// } +// }); +// } /** * 获取设备工序 @@ -518,3 +518,98 @@ function getSelect(form,Id) { } }); } + + +/********************************************************领导履职********************************************************/ +/** + * 获取工程类型 + * @param form + * @param Id + */ +function getProjectType(form,Id) { + $("#parentId").html(""); + $.ajax({ + type: 'post', + url: ctxPath + '/selectUtil/getProjectType', + data: { + }, + async: false, + success: function (data) { + var html = ''; + for (var i = 0; i < data.length; i++) { + if (Id == data[i].id) { + html += ''; + } else { + html += ''; + } + } + $("#proType").html(html); + layui.form.render('select'); + }, + error: function (err) { + console.log("获取工程类型下拉列表出错:", err); + } + }); +} + +/** + * 获取产业工人系统工程名称 + * @param form + * @param Id + */ +function getPushNotification(form,Id) { + $("#parentId").html(""); + $.ajax({ + type: 'post', + url: ctxPath + '/selectUtil/getPushNotification', + data: { + }, + async: false, + success: function (data) { + var html = ''; + for (var i = 0; i < data.length; i++) { + if (Id == data[i].id) { + html += ''; + } else { + html += ''; + } + } + $("#pushNotification").html(html); + layui.form.render('select'); + }, + error: function (err) { + console.log("获取产业工人系统工程下拉列表出错:", err); + } + }); +} + +/** + * 获取领导履职系统工程名称 + * @param form + * @param Id + */ +function getFound(form,Id) { + $("#parentId").html(""); + $.ajax({ + type: 'post', + url: ctxPath + '/selectUtil/getFound', + data: { + }, + async: false, + success: function (data) { + var html = ''; + for (var i = 0; i < data.length; i++) { + if (Id == data[i].id) { + html += ''; + } else { + html += ''; + } + } + $("#found").html(html); + layui.form.render('select'); + }, + error: function (err) { + console.log("获取领导履职系统工程下拉列表出错:", err); + } + }); +} \ No newline at end of file diff --git a/src/main/resources/static/pages/personalData.html b/src/main/resources/static/pages/personalData.html new file mode 100644 index 0000000..eeaaeb6 --- /dev/null +++ b/src/main/resources/static/pages/personalData.html @@ -0,0 +1,82 @@ + + + + + 个人资料 + + + + +
    +
    + +
    +
    + +
    + +
    + +
    +
    + + + + \ No newline at end of file diff --git a/src/main/resources/static/pages/projectManagement/projectManageBind.html b/src/main/resources/static/pages/projectManagement/projectManageBind.html new file mode 100644 index 0000000..ecd5514 --- /dev/null +++ b/src/main/resources/static/pages/projectManagement/projectManageBind.html @@ -0,0 +1,172 @@ + + + + + 工程绑定表单 + + + + +
    +
    +
    +
    + +
    +
    + +
    +
    +
    +
    + +
    +
    + +
    +
    +
    + +
    +
    + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/resources/static/pages/projectManagement/projectManageForm.html b/src/main/resources/static/pages/projectManagement/projectManageForm.html new file mode 100644 index 0000000..01bdf50 --- /dev/null +++ b/src/main/resources/static/pages/projectManagement/projectManageForm.html @@ -0,0 +1,266 @@ + + + + + 线路工程表单 + + + + +
    +
    +
    +
    + +
    +
    + +
    +
    +
    +
    + +
    +
    + +
    +
    +
    +
    + +
    +
    + +
    +
    +
    +
    + +
    +
    + +
    +
    +
    +
    + +
    +
    + +
    +
    +
    + +
    +
    + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/resources/static/pages/projectManagement/projectManageList.html b/src/main/resources/static/pages/projectManagement/projectManageList.html new file mode 100644 index 0000000..84a0256 --- /dev/null +++ b/src/main/resources/static/pages/projectManagement/projectManageList.html @@ -0,0 +1,67 @@ + + + + + 工程管理--线路工程列表 + + + + +
    +
    +
    +
    + +
    +
    + +
    +
    + +
    +
    + +
    + + + + + + +
    +
    +
    + +
    + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/resources/static/pages/user/addUserForms.html b/src/main/resources/static/pages/user/addUserForms.html new file mode 100644 index 0000000..4a2385e --- /dev/null +++ b/src/main/resources/static/pages/user/addUserForms.html @@ -0,0 +1,363 @@ + + + + + 用户查询--新增 + + + + + + +
    +
    +
    +
    + + +
    +
    +
    +
    + + +
    +
    +
    +
    + + + + +
    +
    +
    +
    +
    + + +
    +
    + +
    +
    + +
    +
    + +
    + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/resources/static/pages/user/changePassword.html b/src/main/resources/static/pages/user/changePassword.html index 146b851..2bd34ce 100644 --- a/src/main/resources/static/pages/user/changePassword.html +++ b/src/main/resources/static/pages/user/changePassword.html @@ -1,24 +1,49 @@ - + +修改密码 + +
    -
    +
    - +
    - + data-bv-notempty-message="联系方式 不能为空">
    - +
    - +
    - +
    - +
    @@ -61,9 +87,9 @@
    - + - + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/resources/static/pages/user/systemNotifications.html b/src/main/resources/static/pages/user/systemNotifications.html new file mode 100644 index 0000000..0f690d4 --- /dev/null +++ b/src/main/resources/static/pages/user/systemNotifications.html @@ -0,0 +1,222 @@ + + + + + 系统通知 + + + +
    +
    +
    + +
    +
    + +
    +
    + +
    +
    + 全部标记为已读 +
    +
    +
    +
    + + + + + + + + + + \ No newline at end of file