diff --git a/vboot-core/src/main/java/vboot/core/module/bpm/proc/cond/BpmProcCond.java b/vboot-core/src/main/java/vboot/core/module/bpm/proc/cond/BpmProcCond.java new file mode 100644 index 0000000..2bdded4 --- /dev/null +++ b/vboot-core/src/main/java/vboot/core/module/bpm/proc/cond/BpmProcCond.java @@ -0,0 +1,27 @@ +package vboot.core.module.bpm.proc.cond; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Id; + +@Entity +@Getter +@Setter +@ApiModel("流程条件参数") +public class BpmProcCond { + + @Id + @Column(length = 32) + @ApiModelProperty("主键ID") + private String id; + + @Column(length = 2000) + @ApiModelProperty("参数值") + private String cond; + +} \ No newline at end of file diff --git a/vboot-core/src/main/java/vboot/core/module/bpm/proc/cond/BpmProcCondRepo.java b/vboot-core/src/main/java/vboot/core/module/bpm/proc/cond/BpmProcCondRepo.java new file mode 100644 index 0000000..47b3445 --- /dev/null +++ b/vboot-core/src/main/java/vboot/core/module/bpm/proc/cond/BpmProcCondRepo.java @@ -0,0 +1,10 @@ +package vboot.core.module.bpm.proc.cond; + + +import org.springframework.data.jpa.repository.JpaRepository; +import vboot.core.module.bpm.proc.main.BpmProcMain; + +public interface BpmProcCondRepo extends JpaRepository { + + +} \ No newline at end of file diff --git a/vboot-core/src/main/java/vboot/core/module/bpm/proc/main/Zcond.java b/vboot-core/src/main/java/vboot/core/module/bpm/proc/main/Zcond.java new file mode 100644 index 0000000..8407626 --- /dev/null +++ b/vboot-core/src/main/java/vboot/core/module/bpm/proc/main/Zcond.java @@ -0,0 +1,11 @@ +package vboot.core.module.bpm.proc.main; + +import lombok.Data; + +@Data +public class Zcond { + + private String proid;//流程ID + + private String modty;//类别 +} diff --git a/vboot-core/src/main/java/vboot/core/module/gen/org/GenOrgRoleApi.java b/vboot-core/src/main/java/vboot/core/module/gen/org/GenOrgRoleApi.java new file mode 100644 index 0000000..72e925a --- /dev/null +++ b/vboot-core/src/main/java/vboot/core/module/gen/org/GenOrgRoleApi.java @@ -0,0 +1,48 @@ +package vboot.core.module.gen.org; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import vboot.core.common.mvc.api.R; +import vboot.core.common.mvc.dao.JdbcDao; +import vboot.core.common.mvc.dao.Sqler; +import vboot.core.common.mvc.pojo.Ztree; + +import java.util.List; + +@RestController +@RequestMapping("gen/org/role") +public class GenOrgRoleApi { + + //查询角色树 + @GetMapping("tree") + public R getTree(String name) { + Sqler sqler = new Sqler("sys_org_role_tree"); + sqler.addLike("t.name", name); + sqler.addOrder("t.ornum"); + sqler.addWhere("t.avtag=1"); + sqler.addSelect("null pid"); + List list = jdbcDao.findTreeList(sqler); + return R.ok(list); + } + + //查询角色 + @GetMapping("list") + public R getList(String treid,String name) { + Sqler sqler = new Sqler("sys_org_role_main"); + sqler.addLike("t.name", name); + sqler.addOrder("t.ornum"); + sqler.addEqual("t.treid",treid); + return R.ok(jdbcDao.findMapList(sqler)); + } + + + @Autowired + private JdbcDao jdbcDao; + + +// @Autowired +// private SysOrgDeptService deptService; + +} diff --git a/vboot-core/src/main/java/vboot/core/module/sys/org/role/SysOrgRoleMain.java b/vboot-core/src/main/java/vboot/core/module/sys/org/role/SysOrgRoleMain.java new file mode 100644 index 0000000..f68a6de --- /dev/null +++ b/vboot-core/src/main/java/vboot/core/module/sys/org/role/SysOrgRoleMain.java @@ -0,0 +1,25 @@ +package vboot.core.module.sys.org.role; + +import lombok.Data; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Id; + +//层级角色 +@Data +@Entity +public class SysOrgRoleMain { + @Id + @Column(length = 36) + private String id;//主键 + + @Column(length = 64) + private String name;//角色名称 + + private Integer ornum;//排序号 + + private String notes;//备注 + + +} \ No newline at end of file diff --git a/vboot-core/src/main/java/vboot/core/module/sys/org/role/SysOrgRoleNode.java b/vboot-core/src/main/java/vboot/core/module/sys/org/role/SysOrgRoleNode.java new file mode 100644 index 0000000..a60d4c2 --- /dev/null +++ b/vboot-core/src/main/java/vboot/core/module/sys/org/role/SysOrgRoleNode.java @@ -0,0 +1,54 @@ +package vboot.core.module.sys.org.role; + +import lombok.Data; +import vboot.core.module.sys.org.root.SysOrg; + +import javax.persistence.*; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +//层级节点 +@Entity +@Data +public class SysOrgRoleNode { + + @Id + @Column(length = 32) + private String id;//ID + + @Column(length = 100) + private String name;//名称 + + @Transient + private List children = new ArrayList<>(); //行项目 + + @Transient + private String pid;//父ID + + @ManyToOne(fetch = FetchType.EAGER) + @JoinColumn(name = "pid") + private SysOrgRoleNode parent;//父元素 + +// private Integer tieid;//1为机构,2为部门,4为岗位,8为用户,16为常用群组,32为角色线 + + private String treid;//角色树id + + @Column(length = 1000) + private String tier;//层级 + + private String notes;//备注 + + private Integer ornum;//排序号 + + @Column(updatable = false) + private Date crtim = new Date();//创建时间 + + private Date uptim;//更新时间 + + private Boolean avtag;//可用标记 + + @ManyToOne(fetch = FetchType.EAGER) + @JoinColumn(name = "memid") + private SysOrg member; +} diff --git a/vboot-core/src/main/java/vboot/core/module/sys/org/role/SysOrgRoleNodeApi.java b/vboot-core/src/main/java/vboot/core/module/sys/org/role/SysOrgRoleNodeApi.java new file mode 100644 index 0000000..8fef857 --- /dev/null +++ b/vboot-core/src/main/java/vboot/core/module/sys/org/role/SysOrgRoleNodeApi.java @@ -0,0 +1,93 @@ +package vboot.core.module.sys.org.role; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import vboot.core.common.mvc.api.R; +import vboot.core.common.mvc.dao.JdbcDao; +import vboot.core.common.mvc.dao.Sqler; +import vboot.core.common.mvc.pojo.Ztree; +import vboot.core.common.utils.lang.XstrUtil; + +import javax.servlet.http.HttpServletRequest; +import java.util.List; + +@RestController +@RequestMapping("sys/org/rnode") +public class SysOrgRoleNodeApi { + + private String table = "sys_org_role_node"; + + @GetMapping + public R get(String name, String pid, String notes) { + Sqler sqler = new Sqler(table); + if (XstrUtil.isNotBlank(name)) { + sqler.addLike("t.name" , name); + } else { + if ("".equals(pid)) { + sqler.addWhere("t.pid is null"); + } else if (XstrUtil.isNotBlank(pid)) { + sqler.addEqual("t.pid" , pid); + } + } + sqler.addLike("t.notes" , notes); + sqler.addWhere("t.avtag=1"); + sqler.addOrder("t.ornum"); + sqler.addSelect("t.ornum,t.notes,t.pid,t.crtim,t.uptim"); + return R.ok(jdbcDao.findPageData(sqler)); + } + + //查询层级树 + @GetMapping("tree") + public R getTree(String name) { + Sqler sqler = new Sqler("sys_org_role_node"); + sqler.addSelect("t.pid"); + sqler.addLike("t.name", name); + sqler.addOrder("t.ornum"); + sqler.addWhere("t.avtag=1"); + List list = jdbcDao.findTreeList(sqler); + return R.ok(list); + } + + //排除了自己 +// @GetMapping("listn") +// public R listn(String name, String id) { +// Sqler sqler = new Sqler(table); +// sqler.addLike("t.name", name); +// sqler.addWhere("t.avtag=1"); +// sqler.addOrder("t.ornum"); +// sqler.addSelect("t.pid"); +// return R.ok(service.findWithoutItself(sqler, id)); +// } + + @GetMapping("one/{id}") + public R getOne(@PathVariable String id, HttpServletRequest request) { + SysOrgRoleNode main = service.findById(id); + return R.ok(main); + } + + + + @PostMapping + public R post(@RequestBody SysOrgRoleNode main) { + service.insert(main); + return R.ok(main.getId()); + } + + @PutMapping + public R put(@RequestBody SysOrgRoleNode main) throws Exception { + service.update(main); + return R.ok(main.getId()); + } + + @DeleteMapping("{ids}") + public R delete(@PathVariable String[] ids) { + return R.ok(service.delete(ids)); + } + + @Autowired + private JdbcDao jdbcDao; + + @Autowired + private SysOrgRoleNodeService service; + +} diff --git a/vboot-core/src/main/java/vboot/core/module/sys/org/role/SysOrgRoleNodeRepo.java b/vboot-core/src/main/java/vboot/core/module/sys/org/role/SysOrgRoleNodeRepo.java new file mode 100644 index 0000000..e9df871 --- /dev/null +++ b/vboot-core/src/main/java/vboot/core/module/sys/org/role/SysOrgRoleNodeRepo.java @@ -0,0 +1,8 @@ +package vboot.core.module.sys.org.role; + +import org.springframework.data.jpa.repository.JpaRepository; + +public interface SysOrgRoleNodeRepo extends JpaRepository { + + +} diff --git a/vboot-core/src/main/java/vboot/core/module/sys/org/role/SysOrgRoleNodeService.java b/vboot-core/src/main/java/vboot/core/module/sys/org/role/SysOrgRoleNodeService.java new file mode 100644 index 0000000..5f60369 --- /dev/null +++ b/vboot-core/src/main/java/vboot/core/module/sys/org/role/SysOrgRoleNodeService.java @@ -0,0 +1,184 @@ +package vboot.core.module.sys.org.role; + +import cn.hutool.core.util.StrUtil; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.jdbc.core.BeanPropertyRowMapper; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import vboot.core.common.mvc.api.PageData; +import vboot.core.common.mvc.dao.JdbcDao; +import vboot.core.common.mvc.dao.Sqler; +import vboot.core.common.mvc.pojo.ZidName; +import vboot.core.common.utils.lang.XstrUtil; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +@Service +@Transactional(rollbackFor = Exception.class) +public class SysOrgRoleNodeService { + + @Transactional(readOnly = true) + public SysOrgRoleNode findById(String id) { + return nodeRepo.findById(id).get(); + } + + public SysOrgRoleNode insert(SysOrgRoleNode main) { + if (main.getId() == null || "".equals(main.getId())) { + main.setId(XstrUtil.getUUID()); + } + if (main.getParent() == null || StrUtil.isBlank(main.getParent().getId())) { + main.setTier("x" + main.getId() + "x"); + } else { + String tier = jdbcDao.findOneString("select tier from sys_org_role_node where id=?", main.getParent().getId()); + main.setTier(tier + main.getId() + "x"); + } + return nodeRepo.save(main); + } + + + public SysOrgRoleNode update(SysOrgRoleNode main) throws Exception { + main.setUptim(new Date()); + if (main.getParent() == null || StrUtil.isBlank(main.getParent().getId())) { + main.setTier("x" + main.getId() + "x"); + } else { + String tier = jdbcDao.findOneString("select tier from sys_org_role_node where id=?", main.getParent().getId()); + main.setTier(tier + main.getId() + "x"); + String[] arr = tier.split("x"); + for (String str : arr) { + if (main.getId().equals(str)) { + throw new Exception("父层级不能为自己或者自己的子层级"); + } + } + } + SysOrgRoleNode backTier = nodeRepo.save(main); + String oldTier = jdbcDao.findOneString("select tier from sys_org_role_node where id=?", main.getId()); + dealTier(oldTier, main.getTier(), main.getId()); + return backTier; + } + + public int delete(String[] ids) { + for (String str : ids) { + nodeRepo.deleteById(str); + } + return ids.length; + } + + private void dealTier(String oldTier, String newTier, String id) { + String sql = "select id,tier as name from sys_org_role_node where tier like ? and id<>?"; + List list = jdbcDao.findIdNameList(sql, oldTier + "%", id); + String updateSql = "update sys_org_role_node set tier=? where id=?"; + List updateList = new ArrayList(); + batchReady(oldTier, newTier, list, updateList); + jdbcDao.batch(updateSql, updateList); + } + + + private void batchReady(String oldTier, String newTier, List list, List updateList) { + for (ZidName ztwo : list) { + Object[] arr = new Object[2]; + arr[1] = ztwo.getId(); + arr[0] = ztwo.getName().replace(oldTier, newTier); + updateList.add(arr); + } + } + + public List findAll(Sqler sqler) { + List list = jdbcDao.getTp().query(sqler.getSql(), sqler.getParams(), new BeanPropertyRowMapper<>(SysOrgRoleNode.class)); + return list; + } + + public PageData findPageData(Sqler sqler) { + return jdbcDao.findPageData(sqler); + } + + public List findTree(Sqler sqler) { + List list = jdbcDao.getTp().query(sqler.getSql(), sqler.getParams(), new BeanPropertyRowMapper<>(SysOrgRoleNode.class)); + return buildByRecursive(list); + } + + //使用递归方法建树 + private List buildByRecursive(List nodes) { + List list = new ArrayList<>(); + for (SysOrgRoleNode node : nodes) { + if (node.getPid() == null) { + list.add(findChildrenByTier(node, nodes)); + } else { + boolean flag = false; + for (SysOrgRoleNode node2 : nodes) { + if (node.getPid().equals(node2.getId())) { + flag = true; + break; + } + } + if (!flag) { + list.add(findChildrenByTier(node, nodes)); + } + } + } + return list; + } + + //递归查找子节点 + private SysOrgRoleNode findChildrenByTier(SysOrgRoleNode node, List nodes) { + for (SysOrgRoleNode item : nodes) { + if (node.getId().equals(item.getPid())) { + if (node.getChildren() == null) { + node.setChildren(new ArrayList<>()); + } + node.getChildren().add(findChildrenByTier(item, nodes)); + } + } + return node; + } + + +// public List findWithoutItself(Sqler sqler, String id) { +// List list = jdbcDao.getTp().query(sqler.getSql(), sqler.getParams(), new BeanPropertyRowMapper<>(SysOrgRoleTree.class)); +// return buildByRecursiveWithoutItself(list, id); +// } + + //使用递归方法建树不包含自己 +// private List buildByRecursiveWithoutItself(List nodes, String id) { +// List list = new ArrayList<>(); +// for (SysOrgRoleTree node : nodes) { +// if (node.getPid() == null && !node.getId().equals(id)) { +// list.add(findChildrenByTierWithoutItself(node, nodes, id)); +// } else { +// boolean flag = false; +// for (SysOrgRoleTree node2 : nodes) { +// if (node.getPid() != null && node.getPid().equals(node2.getId())) { +// flag = true; +// break; +// } +// } +// if (!flag && !node.getId().equals(id)) { +// list.add(findChildrenByTierWithoutItself(node, nodes, id)); +// } +// } +// } +// return list; +// } + + //递归查找子节点不包含自己 +// private SysOrgRoleTree findChildrenByTierWithoutItself(SysOrgRoleTree node, List nodes, String id) { +// for (SysOrgRoleTree item : nodes) { +// if (node.getId().equals(item.getPid()) && (!item.getId().equals(id))) { +// if (node.getChildren() == null) { +// node.setChildren(new ArrayList<>()); +// } +// node.getChildren().add(findChildrenByTierWithoutItself(item, nodes, id)); +// } +// } +// return node; +// } + + @Autowired + private JdbcDao jdbcDao; + + @Autowired + private SysOrgRoleNodeRepo nodeRepo; + + +} diff --git a/vboot-core/src/main/java/vboot/core/module/sys/org/role/SysOrgRoleTree.java b/vboot-core/src/main/java/vboot/core/module/sys/org/role/SysOrgRoleTree.java new file mode 100644 index 0000000..0fd4ee5 --- /dev/null +++ b/vboot-core/src/main/java/vboot/core/module/sys/org/role/SysOrgRoleTree.java @@ -0,0 +1,25 @@ +package vboot.core.module.sys.org.role; + +import lombok.Getter; +import lombok.Setter; +import vboot.core.common.mvc.entity.BaseMainEntity; + +import javax.persistence.*; +import java.util.ArrayList; +import java.util.List; + +//层级树 +@Entity +@Getter +@Setter +public class SysOrgRoleTree extends BaseMainEntity { + + private Integer ornum;//排序号 + + @OneToMany(cascade = CascadeType.ALL, orphanRemoval = true) + @JoinColumn(name = "treid") + @OrderBy("ornum ASC") + private List roles = new ArrayList<>();//层级角色 + + +} diff --git a/vboot-core/src/main/java/vboot/core/module/sys/org/role/SysOrgRoleTreeApi.java b/vboot-core/src/main/java/vboot/core/module/sys/org/role/SysOrgRoleTreeApi.java new file mode 100644 index 0000000..a51a69d --- /dev/null +++ b/vboot-core/src/main/java/vboot/core/module/sys/org/role/SysOrgRoleTreeApi.java @@ -0,0 +1,64 @@ +package vboot.core.module.sys.org.role; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import vboot.core.common.mvc.api.R; +import vboot.core.common.mvc.dao.JdbcDao; +import vboot.core.common.mvc.dao.Sqler; + +@RestController +@RequestMapping("sys/org/rtree") +public class SysOrgRoleTreeApi { + + @GetMapping + public R get(String name) { + Sqler sqler = new Sqler("sys_org_role_tree"); + sqler.addLike("t.name", name); + sqler.addSelect("t.notes"); + return R.ok(service.findPageData(sqler)); + } + + @GetMapping("one/{id}") + public R getOne(@PathVariable String id) { + SysOrgRoleTree main = service.findOne(id); + return R.ok(main); + } + + @PostMapping + public R post(@RequestBody SysOrgRoleTree main) { + return R.ok(service.insertx(main)); + } + + @PutMapping + public R put(@RequestBody SysOrgRoleTree main) { + return R.ok(service.updatex(main)); + } + + @DeleteMapping("{ids}") + public R delete(@PathVariable String[] ids) { + return R.ok(service.delete(ids)); + } + + @GetMapping("calc") + public R calc(String useid, String rolid) { + return R.ok(service.calc(useid, rolid)); + } + + @GetMapping("tlist") + public R getTlist() { + return R.ok(service.findAll()); + } + + @GetMapping("rlist") + public R getRlist(String treid) { + String sql = "select id,name from sys_org_role_main where treid=?"; + return R.ok(jdbcDao.findMapList(sql, treid)); + } + + @Autowired + private SysOrgRoleTreeService service; + + @Autowired + private JdbcDao jdbcDao; + +} diff --git a/vboot-core/src/main/java/vboot/core/module/sys/org/role/SysOrgRoleTreeRepo.java b/vboot-core/src/main/java/vboot/core/module/sys/org/role/SysOrgRoleTreeRepo.java new file mode 100644 index 0000000..2dd8acb --- /dev/null +++ b/vboot-core/src/main/java/vboot/core/module/sys/org/role/SysOrgRoleTreeRepo.java @@ -0,0 +1,10 @@ +package vboot.core.module.sys.org.role; + + +import org.springframework.data.jpa.repository.JpaRepository; + +public interface SysOrgRoleTreeRepo extends JpaRepository { + + +} + diff --git a/vboot-core/src/main/java/vboot/core/module/sys/org/role/SysOrgRoleTreeService.java b/vboot-core/src/main/java/vboot/core/module/sys/org/role/SysOrgRoleTreeService.java new file mode 100644 index 0000000..9ae4d9e --- /dev/null +++ b/vboot-core/src/main/java/vboot/core/module/sys/org/role/SysOrgRoleTreeService.java @@ -0,0 +1,75 @@ +package vboot.core.module.sys.org.role; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.jdbc.core.BeanPropertyRowMapper; +import org.springframework.stereotype.Service; +import vboot.core.common.mvc.service.BaseMainService; +import vboot.core.framework.security.pojo.UserDo; +import vboot.core.module.sys.org.root.SysOrg; +import vboot.core.module.sys.org.root.SysOrgRepo; + +import javax.annotation.PostConstruct; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +@Service +public class SysOrgRoleTreeService extends BaseMainService { + + public String insertx(SysOrgRoleTree main) { + String id = insert(main); + List list = new ArrayList<>(); + for (SysOrgRoleMain role : main.getRoles()) { + SysOrg sysOrg = new SysOrg(role.getId(), role.getName(), 32); + list.add(sysOrg); + } + orgRepo.saveAll(list); + return id; + } + + public String updatex(SysOrgRoleTree main) { + String id = update(main); + List list = new ArrayList<>(); + for (SysOrgRoleMain role : main.getRoles()) { + SysOrg sysOrg = new SysOrg(role.getId(), role.getName(), 32); + list.add(sysOrg); + } + orgRepo.saveAll(list); + return id; + } + + public SysOrg calc(String useid, String rolid) { + String sql = "select t.tier \"tier\",m.ornum \"ornum\" from sys_org_role_node t " + + "inner join sys_org_role_main m on m.treid=t.treid where t.memid=? and m.id=?"; + Map map = jdbcDao.findMap(sql, useid, rolid); + if (map == null) { + sql = "select t.tier \"tier\",m.ornum \"ornum\" from sys_org_role_node t " + + "inner join sys_org_role_main m on m.treid=t.treid " + + "inner join sys_org_user u on u.depid=t.memid where u.id=? and m.id=?"; + map = jdbcDao.findMap(sql, useid, rolid); + if (map == null) { + return null; + } + } + String tier = "" + map.get("tier"); + Integer ornum = Integer.parseInt("" + map.get("ornum")); + String[] idArr = tier.split("x"); + String sql3 = "select o.id,o.name,o.type from sys_org_role_node t inner join sys_org o on o.id=t.memid where t.id=?"; + SysOrg org = jdbcDao.getTp().queryForObject(sql3, + new Object[]{idArr[ornum]}, new BeanPropertyRowMapper<>(SysOrg.class)); + return org; + } + + @Autowired + private SysOrgRepo orgRepo; + + @Autowired + private SysOrgRoleTreeRepo repo; + + @PostConstruct + public void initDao() { + super.setRepo(repo); + } + +} + diff --git a/vboot-web/src/main/java/vboot/web/init/SysApiInit.java b/vboot-web/src/main/java/vboot/web/init/SysApiInit.java index c133caf..d572f6e 100644 --- a/vboot-web/src/main/java/vboot/web/init/SysApiInit.java +++ b/vboot-web/src/main/java/vboot/web/init/SysApiInit.java @@ -5,6 +5,7 @@ import org.springframework.web.bind.annotation.*; import vboot.core.common.mvc.dao.JdbcDao; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; +import vboot.core.common.utils.lang.XstrUtil; import vboot.core.framework.security.authz.AuthzApiData; import vboot.core.framework.security.pojo.Yapi; import vboot.core.framework.security.pojo.Yurl; @@ -148,7 +149,9 @@ public class SysApiInit { topUrl.setPid(topUrl.getId().split("-")[0]); } topUrl.setUrl(classUrl); - list.add(topUrl); + if(XstrUtil.isNotBlank(topUrl.getId())){ + list.add(topUrl); + } Method[] methods = clazz.getDeclaredMethods(); for (Method method : methods) { GetMapping getMapping = method.getAnnotation(GetMapping.class); @@ -262,7 +265,9 @@ public class SysApiInit { for (String str : rootSet) { Yurl yurl = new Yurl(); yurl.setId(str); - list.add(yurl); + if(XstrUtil.isNotBlank(yurl.getId())){ + list.add(yurl); + } } return list; } diff --git a/vboot-web/src/main/java/vboot/web/init/SysPortalVueInit.java b/vboot-web/src/main/java/vboot/web/init/SysPortalVueInit.java index 8c71157..5cc5002 100644 --- a/vboot-web/src/main/java/vboot/web/init/SysPortalVueInit.java +++ b/vboot-web/src/main/java/vboot/web/init/SysPortalVueInit.java @@ -218,6 +218,54 @@ public class SysPortalVueInit { menu114a.setPorid("sys"); menuService.insert(menu114a); + SysPortalMenu menu115 = new SysPortalMenu(); + menu115.setId("SysOrgRtree"); + menu115.setName("角色管理"); + menu115.setCode("SysOrgRtree"); + menu115.setPath("/sys/org/rtree"); + menu115.setComp("/sys/org/role/tree"); + menu115.setOrnum(50); + menu115.setIcon("ele-Cherry"); + menu115.setPid("SysOrg"); + menu115.setCatag(true); + menu115.setAvtag(true); + menu115.setShtag(true); + menu115.setType("M"); + menu115.setPorid("sys"); + menuService.insert(menu115); + + SysPortalMenu menu115a = new SysPortalMenu(); + menu115a.setId("SysOrgRtreeEdit"); + menu115a.setName("角色树编辑"); + menu115a.setCode("SysOrgRtreeEdit"); + menu115a.setPath("/sys/org/rtree/edit"); + menu115a.setComp("/sys/org/role/tree_edit"); + menu115a.setOrnum(51); + menu115a.setIcon("ele-Tickets"); + menu115a.setPid("SysOrg"); + menu115a.setCatag(true); + menu115a.setAvtag(true); + menu115a.setShtag(false); + menu115a.setType("M"); + menu115a.setPorid("sys"); + menuService.insert(menu115a); + + SysPortalMenu menu115b = new SysPortalMenu(); + menu115b.setId("SysOrgRnode"); + menu115b.setName("角色树节点配置"); + menu115b.setCode("SysOrgRnode"); + menu115b.setPath("/sys/org/rnode"); + menu115b.setComp("/sys/org/role/node"); + menu115b.setOrnum(52); + menu115b.setIcon("ele-Tickets"); + menu115b.setPid("SysOrg"); + menu115b.setCatag(true); + menu115b.setAvtag(true); + menu115b.setShtag(false); + menu115b.setType("M"); + menu115b.setPorid("sys"); + menuService.insert(menu115b); + SysPortalMenu menu12 = new SysPortalMenu(); menu12.setId("SysApi"); menu12.setName("接口管理"); @@ -926,6 +974,38 @@ public class SysPortalVueInit { menu413b.setPorid("sys"); menuService.insert(menu413b); + SysPortalMenu menu414 = new SysPortalMenu(); + menu414.setId("SysTodoMain"); + menu414.setName("流程待办"); + menu414.setCode("SysTodoMain"); + menu414.setPath("/sys/todo/main"); + menu414.setComp("/sys/todo/main/index"); + menu414.setOrnum(414); + menu414.setIcon("ele-Tickets"); + menu414.setPid("OaFlow"); + menu414.setCatag(true); + menu414.setAvtag(true); + menu414.setShtag(true); + menu414.setType("M"); + menu414.setPorid("sys"); + menuService.insert(menu414); + + SysPortalMenu menu414a = new SysPortalMenu(); + menu414a.setId("SysTodoMainEdit"); + menu414a.setName("流程待办查看"); + menu414a.setCode("SysTodoMainEdit"); + menu414a.setPath("/sys/todo/main/edit"); + menu414a.setComp("/sys/todo/main/edit"); + menu414a.setOrnum(4141); + menu414a.setIcon("ele-Tickets"); + menu414a.setPid("OaFlow"); + menu414a.setCatag(true); + menu414a.setAvtag(true); + menu414a.setShtag(false); + menu414a.setType("M"); + menu414a.setPorid("sys"); + menuService.insert(menu414a); + //-----------------DEMO-------------------- SysPortalMenu menu8 = new SysPortalMenu(); menu8.setId("My"); diff --git a/vboot-web/src/main/resources/config/app-init.properties b/vboot-web/src/main/resources/config/app-init.properties index 9146440..46dfb4e 100644 --- a/vboot-web/src/main/resources/config/app-init.properties +++ b/vboot-web/src/main/resources/config/app-init.properties @@ -1,5 +1,5 @@ #应用初始化类型 -app.init.orgName=WC集团 +app.init.orgName=XX集团 app.init.orgRootId=1 #-- sa:组织架构只包含一个sa管理员与一个vben的演示账户 #-- test:除了以上数据还包含张三李四等测试人员 diff --git a/vboot-web/src/main/resources/vms/vue/drawer/edit.vue.vm b/vboot-web/src/main/resources/vms/vue/drawer/edit.vue.vm index ba46ee7..532dc9d 100644 --- a/vboot-web/src/main/resources/vms/vue/drawer/edit.vue.vm +++ b/vboot-web/src/main/resources/vms/vue/drawer/edit.vue.vm @@ -34,16 +34,16 @@ - {{ form.crman ? form.crman.name : '' }} +
{{ form.crman ? form.crman.name : '' }}
- {{ form.crtim }} +
{{ form.crtim }}
- {{ form.upman ? form.upman.name : '' }} +
{{ form.upman ? form.upman.name : '' }}
- {{ form.uptim }} +
{{ form.uptim }}
diff --git a/vboot-web/src/main/resources/vms/vue/drawer/index.vue.vm b/vboot-web/src/main/resources/vms/vue/drawer/index.vue.vm index 455d785..8f51678 100644 --- a/vboot-web/src/main/resources/vms/vue/drawer/index.vue.vm +++ b/vboot-web/src/main/resources/vms/vue/drawer/index.vue.vm @@ -2,24 +2,24 @@
@@ -58,7 +58,7 @@ import {Plus, Delete, ArrowDown, ArrowUp} from '@element-plus/icons-vue'; import {onMounted, reactive, ref} from 'vue'; import {listQuery, listDelete, listSelect} from '/@/comps/page/index'; -import Edit from './edit.vue'; +import Dedit from './edit.vue'; const editRef = ref() as any; const state = reactive({ diff --git a/vboot-web/src/main/resources/vms/vue/popup/edit.vue.vm b/vboot-web/src/main/resources/vms/vue/popup/edit.vue.vm index 99b6d1f..9a78e03 100644 --- a/vboot-web/src/main/resources/vms/vue/popup/edit.vue.vm +++ b/vboot-web/src/main/resources/vms/vue/popup/edit.vue.vm @@ -52,7 +52,7 @@ const state = reactive({ const {form} = toRefs(state); const formRef = ref(); -const openModal = async (data: any) => { +const open = async (data: any) => { if (data && data.id) { state.form = await request({ url: state.url + '/one/' + data.id, @@ -66,7 +66,7 @@ const openModal = async (data: any) => { } state.show = true; }; -defineExpose({openModal}); +defineExpose({open}); const emits = defineEmits(['close']); const handleConfirm = async () => { diff --git a/vboot-web/src/main/resources/vms/vue/popup/index.vue.vm b/vboot-web/src/main/resources/vms/vue/popup/index.vue.vm index 31d7499..db2b2bf 100644 --- a/vboot-web/src/main/resources/vms/vue/popup/index.vue.vm +++ b/vboot-web/src/main/resources/vms/vue/popup/index.vue.vm @@ -2,24 +2,24 @@
@@ -57,7 +57,7 @@ import {Plus, Delete, ArrowDown, ArrowUp} from '@element-plus/icons-vue'; import {onMounted, reactive, ref} from 'vue'; import {listQuery, listDelete, listSelect} from '/@/comps/page/index'; -import Edit from './edit.vue'; +import Pedit from './edit.vue'; const editRef = ref() as any; const state = reactive({ diff --git a/vboot-web/src/main/resources/vms/vue/tab/edit.vue.vm b/vboot-web/src/main/resources/vms/vue/tab/edit.vue.vm index 733f646..6495107 100644 --- a/vboot-web/src/main/resources/vms/vue/tab/edit.vue.vm +++ b/vboot-web/src/main/resources/vms/vue/tab/edit.vue.vm @@ -1,15 +1,15 @@