Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
D
dataease
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
zhu
dataease
Commits
390eb53d
提交
390eb53d
authored
3月 11, 2021
作者:
fit2cloud-chenyw
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feat: 使用fit2cloud-ui查询条件
上级
ccb37e9e
隐藏空白字符变更
内嵌
并排
正在显示
23 个修改的文件
包含
634 行增加
和
95 行删除
+634
-95
ExtDeptMapper.java
.../main/java/io/dataease/base/mapper/ext/ExtDeptMapper.java
+8
-4
ExtDeptMapper.xml
...c/main/java/io/dataease/base/mapper/ext/ExtDeptMapper.xml
+21
-0
ExtSysRoleMapper.java
...in/java/io/dataease/base/mapper/ext/ExtSysRoleMapper.java
+2
-1
ExtSysRoleMapper.xml
...ain/java/io/dataease/base/mapper/ext/ExtSysRoleMapper.xml
+11
-7
ExtSysUserMapper.java
...in/java/io/dataease/base/mapper/ext/ExtSysUserMapper.java
+3
-1
ExtSysUserMapper.xml
...ain/java/io/dataease/base/mapper/ext/ExtSysUserMapper.xml
+14
-16
GridExample.java
...n/java/io/dataease/base/mapper/ext/query/GridExample.java
+259
-0
GridSql.java
.../main/java/io/dataease/base/mapper/ext/query/GridSql.java
+4
-0
GridSql.xml
...c/main/java/io/dataease/base/mapper/ext/query/GridSql.xml
+35
-0
SysDeptController.java
...in/java/io/dataease/controller/sys/SysDeptController.java
+14
-0
SysRoleController.java
...in/java/io/dataease/controller/sys/SysRoleController.java
+2
-1
SysUserController.java
...in/java/io/dataease/controller/sys/SysUserController.java
+6
-1
BaseGridRequest.java
...java/io/dataease/controller/sys/base/BaseGridRequest.java
+24
-0
ConditionEntity.java
...java/io/dataease/controller/sys/base/ConditionEntity.java
+16
-0
SimpleTreeNode.java
...va/io/dataease/controller/sys/request/SimpleTreeNode.java
+11
-0
DeptService.java
...nd/src/main/java/io/dataease/service/sys/DeptService.java
+63
-4
SysRoleService.java
...src/main/java/io/dataease/service/sys/SysRoleService.java
+3
-2
SysUserService.java
...src/main/java/io/dataease/service/sys/SysUserService.java
+6
-2
dept.js
frontend/src/api/system/dept.js
+10
-1
index.js
frontend/src/utils/index.js
+19
-7
index.vue
frontend/src/views/system/dept/index.vue
+88
-31
index.vue
frontend/src/views/system/role/index.vue
+8
-13
index.vue
frontend/src/views/system/user/index.vue
+7
-4
没有找到文件。
backend/src/main/java/io/dataease/base/mapper/ext/ExtDeptMapper.java
浏览文件 @
390eb53d
package
io
.
dataease
.
base
.
mapper
.
ext
;
package
io
.
dataease
.
base
.
mapper
.
ext
;
import
org.apache.ibatis.annotations.Delete
;
import
io.dataease.base.mapper.ext.query.GridExample
;
import
org.apache.ibatis.annotations.Mapper
;
import
io.dataease.controller.sys.request.SimpleTreeNode
;
import
org.apache.ibatis.annotations.Param
;
import
org.apache.ibatis.annotations.*
;
import
org.apache.ibatis.annotations.Update
;
import
java.util.List
;
import
java.util.List
;
...
@@ -22,4 +21,9 @@ public interface ExtDeptMapper {
...
@@ -22,4 +21,9 @@ public interface ExtDeptMapper {
" <foreach collection='ids' item='id' open='(' separator=',' close=')'>#{id}</foreach> "
+
" <foreach collection='ids' item='id' open='(' separator=',' close=')'>#{id}</foreach> "
+
"</script>"
)
"</script>"
)
int
batchDelete
(
@Param
(
"ids"
)
List
<
Long
>
ids
);
int
batchDelete
(
@Param
(
"ids"
)
List
<
Long
>
ids
);
List
<
SimpleTreeNode
>
allNodes
();
List
<
SimpleTreeNode
>
nodesByExample
(
GridExample
example
);
}
}
backend/src/main/java/io/dataease/base/mapper/ext/ExtDeptMapper.xml
0 → 100644
浏览文件 @
390eb53d
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper
namespace=
"io.dataease.base.mapper.ext.ExtDeptMapper"
>
<resultMap
id=
"simpleNode"
type=
"io.dataease.controller.sys.request.SimpleTreeNode"
>
<id
property=
"id"
column=
"id"
javaType=
"java.lang.Long"
/>
<result
property=
"pid"
column=
"pid"
javaType=
"java.lang.Long"
/>
</resultMap>
<select
id=
"allNodes"
resultMap=
"simpleNode"
>
select dept_id as id, pid from sys_dept
</select>
<select
id=
"nodesByExample"
resultType=
"io.dataease.base.mapper.ext.query.GridExample"
resultMap=
"simpleNode"
>
select dept_id as id, pid from sys_dept
<include
refid=
"io.dataease.base.mapper.ext.query.GridSql.gridCondition"
/>
</select>
</mapper>
backend/src/main/java/io/dataease/base/mapper/ext/ExtSysRoleMapper.java
浏览文件 @
390eb53d
package
io
.
dataease
.
base
.
mapper
.
ext
;
package
io
.
dataease
.
base
.
mapper
.
ext
;
import
io.dataease.base.domain.SysRole
;
import
io.dataease.base.domain.SysRole
;
import
io.dataease.base.mapper.ext.query.GridExample
;
import
io.dataease.controller.sys.request.RoleGridRequest
;
import
io.dataease.controller.sys.request.RoleGridRequest
;
import
io.dataease.controller.sys.response.RoleUserItem
;
import
io.dataease.controller.sys.response.RoleUserItem
;
import
org.apache.ibatis.annotations.Param
;
import
org.apache.ibatis.annotations.Param
;
...
@@ -12,7 +13,7 @@ import java.util.Map;
...
@@ -12,7 +13,7 @@ import java.util.Map;
public
interface
ExtSysRoleMapper
{
public
interface
ExtSysRoleMapper
{
List
<
SysRole
>
query
(
@Param
(
"request"
)
RoleGridRequest
request
);
List
<
SysRole
>
query
(
GridExample
example
);
int
deleteRoleMenu
(
@Param
(
"roleId"
)
Long
roleId
);
int
deleteRoleMenu
(
@Param
(
"roleId"
)
Long
roleId
);
...
...
backend/src/main/java/io/dataease/base/mapper/ext/ExtSysRoleMapper.xml
浏览文件 @
390eb53d
...
@@ -9,15 +9,19 @@
...
@@ -9,15 +9,19 @@
<result
property=
"name"
column=
"name"
/>
<result
property=
"name"
column=
"name"
/>
</resultMap>
</resultMap>
<select
id=
"query"
resultMap=
"io.dataease.base.mapper.SysRoleMapper.BaseResultMap"
>
<select
id=
"query"
parameterType=
"io.dataease.base.mapper.ext.query.GridExample"
resultMap=
"io.dataease.base.mapper.SysRoleMapper.BaseResultMap"
>
select r.*
select r.*
from sys_role r
from sys_role r
<where>
<if
test=
"_parameter != null"
>
<if
test=
"request.name != null"
>
<include
refid=
"io.dataease.base.mapper.ext.query.GridSql.gridCondition"
/>
AND r.name like CONCAT('%', #{request.name},'%')
</if>
</if>
<if
test=
"orderByClause != null"
>
</where>
order by ${orderByClause}
order by r.update_time desc
</if>
<if
test=
"orderByClause == null"
>
order by r.update_time desc
</if>
</select>
</select>
...
...
backend/src/main/java/io/dataease/base/mapper/ext/ExtSysUserMapper.java
浏览文件 @
390eb53d
package
io
.
dataease
.
base
.
mapper
.
ext
;
package
io
.
dataease
.
base
.
mapper
.
ext
;
import
io.dataease.base.mapper.ext.query.GridExample
;
import
io.dataease.controller.sys.base.BaseGridRequest
;
import
io.dataease.controller.sys.request.UserGridRequest
;
import
io.dataease.controller.sys.request.UserGridRequest
;
import
io.dataease.controller.sys.response.SysUserGridResponse
;
import
io.dataease.controller.sys.response.SysUserGridResponse
;
import
org.apache.ibatis.annotations.Param
;
import
org.apache.ibatis.annotations.Param
;
...
@@ -8,5 +10,5 @@ import java.util.List;
...
@@ -8,5 +10,5 @@ import java.util.List;
public
interface
ExtSysUserMapper
{
public
interface
ExtSysUserMapper
{
List
<
SysUserGridResponse
>
query
(
@Param
(
"request"
)
UserGridRequest
request
);
List
<
SysUserGridResponse
>
query
(
GridExample
example
);
}
}
backend/src/main/java/io/dataease/base/mapper/ext/ExtSysUserMapper.xml
浏览文件 @
390eb53d
...
@@ -27,26 +27,24 @@
...
@@ -27,26 +27,24 @@
</collection>
</collection>
</resultMap>
</resultMap>
<select
id=
"query"
resultMap=
"BaseResultMap"
>
<select
id=
"query"
parameterType=
"io.dataease.base.mapper.ext.query.GridExample"
resultMap=
"BaseResultMap"
>
select u.*,u.user_id as id, r.role_id,r.name as role_name , d.pid, d.name as dept_name
select u.*,u.user_id as id, r.role_id,r.name as role_name , d.pid, d.name as dept_name
from sys_user u left join sys_users_roles ur on u.user_id = ur.user_id
from sys_user u left join sys_users_roles ur on u.user_id = ur.user_id
left join sys_role r on r.role_id = ur.role_id
left join sys_role r on r.role_id = ur.role_id
left join sys_dept d on d.dept_id = u.dept_id
left join sys_dept d on d.dept_id = u.dept_id
<where>
<if
test=
"request.quick != null and request.name == null"
>
<if
test=
"_parameter != null"
>
AND u.nick_name like CONCAT('%', #{request.quick},'%')
<include
refid=
"io.dataease.base.mapper.ext.query.GridSql.gridCondition"
/>
</if>
</if>
<if
test=
"request.name != null"
>
<if
test=
"orderByClause != null"
>
AND u.nick_name like CONCAT('%', #{request.name},'%')
order by ${orderByClause}
</if>
</if>
<if
test=
"request.enabled != null"
>
<if
test=
"orderByClause == null"
>
AND u.enabled = #{request.enabled}
order by u.update_time desc
</if>
</if>
<if
test=
"request.deptId != null"
>
AND u.dept_id = #{request.deptId}
</if>
</where>
order by u.update_time desc
</select>
</select>
...
...
backend/src/main/java/io/dataease/base/mapper/ext/query/GridExample.java
0 → 100644
浏览文件 @
390eb53d
package
io
.
dataease
.
base
.
mapper
.
ext
.
query
;
import
io.dataease.controller.sys.base.ConditionEntity
;
import
org.apache.commons.lang3.StringUtils
;
import
java.util.ArrayList
;
import
java.util.List
;
public
class
GridExample
{
protected
String
orderByClause
;
protected
boolean
distinct
;
protected
List
<
Criteria
>
oredCriteria
;
public
GridExample
()
{
oredCriteria
=
new
ArrayList
<
Criteria
>();
}
public
void
setOrderByClause
(
String
orderByClause
)
{
this
.
orderByClause
=
orderByClause
;
}
public
String
getOrderByClause
()
{
return
orderByClause
;
}
public
void
setDistinct
(
boolean
distinct
)
{
this
.
distinct
=
distinct
;
}
public
boolean
isDistinct
()
{
return
distinct
;
}
public
List
<
Criteria
>
getOredCriteria
()
{
return
oredCriteria
;
}
public
void
or
(
Criteria
criteria
)
{
oredCriteria
.
add
(
criteria
);
}
public
Criteria
or
()
{
Criteria
criteria
=
createCriteriaInternal
();
oredCriteria
.
add
(
criteria
);
return
criteria
;
}
public
Criteria
createCriteria
()
{
Criteria
criteria
=
createCriteriaInternal
();
if
(
oredCriteria
.
size
()
==
0
)
{
oredCriteria
.
add
(
criteria
);
}
return
criteria
;
}
protected
Criteria
createCriteriaInternal
()
{
Criteria
criteria
=
new
Criteria
();
return
criteria
;
}
public
void
clear
()
{
oredCriteria
.
clear
();
orderByClause
=
null
;
distinct
=
false
;
}
protected
abstract
static
class
GeneratedCriteria
{
protected
List
<
Criterion
>
criteria
;
protected
GeneratedCriteria
()
{
super
();
criteria
=
new
ArrayList
<
Criterion
>();
}
public
boolean
isValid
()
{
return
criteria
.
size
()
>
0
;
}
public
List
<
Criterion
>
getAllCriteria
()
{
return
criteria
;
}
public
List
<
Criterion
>
getCriteria
()
{
return
criteria
;
}
protected
void
addCriterion
(
String
condition
)
{
if
(
condition
==
null
)
{
throw
new
RuntimeException
(
"Value for condition cannot be null"
);
}
criteria
.
add
(
new
Criterion
(
condition
));
}
protected
void
addCriterion
(
String
condition
,
Object
value
,
String
property
)
{
if
(
value
==
null
)
{
throw
new
RuntimeException
(
"Value for "
+
property
+
" cannot be null"
);
}
criteria
.
add
(
new
Criterion
(
condition
,
value
));
}
protected
void
addCriterion
(
String
condition
,
Object
value1
,
Object
value2
,
String
property
)
{
if
(
value1
==
null
||
value2
==
null
)
{
throw
new
RuntimeException
(
"Between values for "
+
property
+
" cannot be null"
);
}
criteria
.
add
(
new
Criterion
(
condition
,
value1
,
value2
));
}
public
Criteria
addCondtion
(
ConditionEntity
conditionEntity
){
String
field
=
conditionEntity
.
getField
();
Object
value
=
conditionEntity
.
getValue
();
String
operator
=
conditionEntity
.
getOperator
();
if
(
StringUtils
.
isEmpty
(
operator
))
operator
=
"like"
;
switch
(
operator
){
case
"eq"
:
addCriterion
(
field
+
" = "
,
value
,
field
);
break
;
case
"ne"
:
addCriterion
(
field
+
" <> "
,
value
,
field
);
break
;
case
"like"
:
addCriterion
(
field
+
" like "
,
"%"
+
value
+
"%"
,
field
);
break
;
case
"not like"
:
addCriterion
(
field
+
" not like "
,
value
,
field
);
break
;
case
"in"
:
List
<
Object
>
invalues
=
(
List
<
Object
>)
value
;
addCriterion
(
field
+
" in"
,
invalues
,
field
);
break
;
case
"not in"
:
List
<
Object
>
notinvalues
=
(
List
<
Object
>)
value
;
addCriterion
(
field
+
" not in"
,
notinvalues
,
field
);
break
;
case
"between"
:
List
<
Object
>
values
=
(
List
<
Object
>)
value
;
Object
v1
=
values
.
get
(
0
);
Object
v2
=
values
.
get
(
1
);
addCriterion
(
field
+
" between"
,
v1
,
v2
,
field
);
break
;
case
"gt"
:
addCriterion
(
field
+
" > "
,
value
,
field
);
break
;
case
"ge"
:
addCriterion
(
field
+
" >= "
,
value
,
field
);
break
;
case
"lt"
:
addCriterion
(
field
+
" < "
,
value
,
field
);
break
;
case
"le"
:
addCriterion
(
field
+
" <= "
,
value
,
field
);
break
;
}
return
(
Criteria
)
this
;
}
}
public
static
class
Criteria
extends
GeneratedCriteria
{
protected
Criteria
()
{
super
();
}
}
public
static
class
Criterion
{
private
String
condition
;
private
Object
value
;
private
Object
secondValue
;
private
boolean
noValue
;
private
boolean
singleValue
;
private
boolean
betweenValue
;
private
boolean
listValue
;
private
String
typeHandler
;
public
String
getCondition
()
{
return
condition
;
}
public
Object
getValue
()
{
return
value
;
}
public
Object
getSecondValue
()
{
return
secondValue
;
}
public
boolean
isNoValue
()
{
return
noValue
;
}
public
boolean
isSingleValue
()
{
return
singleValue
;
}
public
boolean
isBetweenValue
()
{
return
betweenValue
;
}
public
boolean
isListValue
()
{
return
listValue
;
}
public
String
getTypeHandler
()
{
return
typeHandler
;
}
protected
Criterion
(
String
condition
)
{
super
();
this
.
condition
=
condition
;
this
.
typeHandler
=
null
;
this
.
noValue
=
true
;
}
protected
Criterion
(
String
condition
,
Object
value
,
String
typeHandler
)
{
super
();
this
.
condition
=
condition
;
this
.
value
=
value
;
this
.
typeHandler
=
typeHandler
;
if
(
value
instanceof
List
<?>)
{
this
.
listValue
=
true
;
}
else
{
this
.
singleValue
=
true
;
}
}
protected
Criterion
(
String
condition
,
Object
value
)
{
this
(
condition
,
value
,
null
);
}
protected
Criterion
(
String
condition
,
Object
value
,
Object
secondValue
,
String
typeHandler
)
{
super
();
this
.
condition
=
condition
;
this
.
value
=
value
;
this
.
secondValue
=
secondValue
;
this
.
typeHandler
=
typeHandler
;
this
.
betweenValue
=
true
;
}
protected
Criterion
(
String
condition
,
Object
value
,
Object
secondValue
)
{
this
(
condition
,
value
,
secondValue
,
null
);
}
}
}
backend/src/main/java/io/dataease/base/mapper/ext/query/GridSql.java
0 → 100644
浏览文件 @
390eb53d
package
io
.
dataease
.
base
.
mapper
.
ext
.
query
;
public
interface
GridSql
{
}
backend/src/main/java/io/dataease/base/mapper/ext/query/GridSql.xml
0 → 100644
浏览文件 @
390eb53d
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"io.dataease.base.mapper.ext.query.GridSql"
>
<sql
id=
"gridCondition"
>
<where>
<foreach
collection=
"oredCriteria"
item=
"criteria"
separator=
"or"
>
<if
test=
"criteria.valid"
>
<trim
prefix=
"("
prefixOverrides=
"and"
suffix=
")"
>
<foreach
collection=
"criteria.criteria"
item=
"criterion"
>
<choose>
<when
test=
"criterion.noValue"
>
and ${criterion.condition}
</when>
<when
test=
"criterion.singleValue"
>
and ${criterion.condition} #{criterion.value}
</when>
<when
test=
"criterion.betweenValue"
>
and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
</when>
<when
test=
"criterion.listValue"
>
and ${criterion.condition}
<foreach
close=
")"
collection=
"criterion.value"
item=
"listItem"
open=
"("
separator=
","
>
#{listItem}
</foreach>
</when>
</choose>
</foreach>
</trim>
</if>
</foreach>
</where>
</sql>
</mapper>
backend/src/main/java/io/dataease/controller/sys/SysDeptController.java
浏览文件 @
390eb53d
...
@@ -3,6 +3,7 @@ package io.dataease.controller.sys;
...
@@ -3,6 +3,7 @@ package io.dataease.controller.sys;
import
io.dataease.base.domain.SysDept
;
import
io.dataease.base.domain.SysDept
;
import
io.dataease.commons.utils.BeanUtils
;
import
io.dataease.commons.utils.BeanUtils
;
import
io.dataease.controller.ResultHolder
;
import
io.dataease.controller.ResultHolder
;
import
io.dataease.controller.sys.base.BaseGridRequest
;
import
io.dataease.controller.sys.request.DeptCreateRequest
;
import
io.dataease.controller.sys.request.DeptCreateRequest
;
import
io.dataease.controller.sys.request.DeptDeleteRequest
;
import
io.dataease.controller.sys.request.DeptDeleteRequest
;
import
io.dataease.controller.sys.request.DeptStatusRequest
;
import
io.dataease.controller.sys.request.DeptStatusRequest
;
...
@@ -39,6 +40,19 @@ public class SysDeptController extends ResultHolder {
...
@@ -39,6 +40,19 @@ public class SysDeptController extends ResultHolder {
return
nodeResponses
;
return
nodeResponses
;
}
}
@PostMapping
(
"/search"
)
public
List
<
DeptNodeResponse
>
search
(
@RequestBody
BaseGridRequest
request
){
List
<
SysDept
>
nodes
=
deptService
.
nodesTreeByCondition
(
request
);
//List<SysDept> nodes = deptService.nodesByPid(pid);
List
<
DeptNodeResponse
>
nodeResponses
=
nodes
.
stream
().
map
(
node
->
{
DeptNodeResponse
deptNodeResponse
=
BeanUtils
.
copyBean
(
new
DeptNodeResponse
(),
node
);
deptNodeResponse
.
setHasChildren
(
node
.
getSubCount
()
>
0
);
deptNodeResponse
.
setTop
(
node
.
getPid
()
==
deptService
.
DEPT_ROOT_PID
);
return
deptNodeResponse
;
}).
collect
(
Collectors
.
toList
());
return
nodeResponses
;
}
@ApiOperation
(
"查询部门"
)
@ApiOperation
(
"查询部门"
)
@PostMapping
(
"/root"
)
@PostMapping
(
"/root"
)
public
ResultHolder
rootData
(){
public
ResultHolder
rootData
(){
...
...
backend/src/main/java/io/dataease/controller/sys/SysRoleController.java
浏览文件 @
390eb53d
...
@@ -6,6 +6,7 @@ import com.github.pagehelper.PageHelper;
...
@@ -6,6 +6,7 @@ import com.github.pagehelper.PageHelper;
import
io.dataease.base.domain.SysRole
;
import
io.dataease.base.domain.SysRole
;
import
io.dataease.commons.utils.PageUtils
;
import
io.dataease.commons.utils.PageUtils
;
import
io.dataease.commons.utils.Pager
;
import
io.dataease.commons.utils.Pager
;
import
io.dataease.controller.sys.base.BaseGridRequest
;
import
io.dataease.controller.sys.request.RoleGridRequest
;
import
io.dataease.controller.sys.request.RoleGridRequest
;
import
io.dataease.controller.sys.request.RoleMenusRequest
;
import
io.dataease.controller.sys.request.RoleMenusRequest
;
import
io.dataease.controller.sys.response.RoleUserItem
;
import
io.dataease.controller.sys.response.RoleUserItem
;
...
@@ -49,7 +50,7 @@ public class SysRoleController {
...
@@ -49,7 +50,7 @@ public class SysRoleController {
@ApiOperation
(
"查询角色"
)
@ApiOperation
(
"查询角色"
)
@PostMapping
(
"/roleGrid/{goPage}/{pageSize}"
)
@PostMapping
(
"/roleGrid/{goPage}/{pageSize}"
)
public
Pager
<
List
<
SysRole
>>
roleGrid
(
@PathVariable
int
goPage
,
@PathVariable
int
pageSize
,
@RequestBody
Rol
eGridRequest
request
)
{
public
Pager
<
List
<
SysRole
>>
roleGrid
(
@PathVariable
int
goPage
,
@PathVariable
int
pageSize
,
@RequestBody
Bas
eGridRequest
request
)
{
Page
<
Object
>
page
=
PageHelper
.
startPage
(
goPage
,
pageSize
,
true
);
Page
<
Object
>
page
=
PageHelper
.
startPage
(
goPage
,
pageSize
,
true
);
Pager
<
List
<
SysRole
>>
listPager
=
PageUtils
.
setPageInfo
(
page
,
sysRoleService
.
query
(
request
));
Pager
<
List
<
SysRole
>>
listPager
=
PageUtils
.
setPageInfo
(
page
,
sysRoleService
.
query
(
request
));
return
listPager
;
return
listPager
;
...
...
backend/src/main/java/io/dataease/controller/sys/SysUserController.java
浏览文件 @
390eb53d
...
@@ -5,6 +5,7 @@ import com.github.pagehelper.Page;
...
@@ -5,6 +5,7 @@ import com.github.pagehelper.Page;
import
com.github.pagehelper.PageHelper
;
import
com.github.pagehelper.PageHelper
;
import
io.dataease.commons.utils.PageUtils
;
import
io.dataease.commons.utils.PageUtils
;
import
io.dataease.commons.utils.Pager
;
import
io.dataease.commons.utils.Pager
;
import
io.dataease.controller.sys.base.BaseGridRequest
;
import
io.dataease.controller.sys.request.SysUserCreateRequest
;
import
io.dataease.controller.sys.request.SysUserCreateRequest
;
import
io.dataease.controller.sys.request.SysUserPwdRequest
;
import
io.dataease.controller.sys.request.SysUserPwdRequest
;
import
io.dataease.controller.sys.request.SysUserStateRequest
;
import
io.dataease.controller.sys.request.SysUserStateRequest
;
...
@@ -27,10 +28,14 @@ public class SysUserController {
...
@@ -27,10 +28,14 @@ public class SysUserController {
@ApiOperation
(
"查询用户"
)
@ApiOperation
(
"查询用户"
)
@PostMapping
(
"/userGrid/{goPage}/{pageSize}"
)
@PostMapping
(
"/userGrid/{goPage}/{pageSize}"
)
public
Pager
<
List
<
SysUserGridResponse
>>
userGrid
(
@PathVariable
int
goPage
,
@PathVariable
int
pageSize
,
@RequestBody
User
GridRequest
request
)
{
public
Pager
<
List
<
SysUserGridResponse
>>
userGrid
(
@PathVariable
int
goPage
,
@PathVariable
int
pageSize
,
@RequestBody
Base
GridRequest
request
)
{
Page
<
Object
>
page
=
PageHelper
.
startPage
(
goPage
,
pageSize
,
true
);
Page
<
Object
>
page
=
PageHelper
.
startPage
(
goPage
,
pageSize
,
true
);
return
PageUtils
.
setPageInfo
(
page
,
sysUserService
.
query
(
request
));
return
PageUtils
.
setPageInfo
(
page
,
sysUserService
.
query
(
request
));
}
}
/*public Pager<List<SysUserGridResponse>> userGrid(@PathVariable int goPage, @PathVariable int pageSize, @RequestBody UserGridRequest request) {
Page<Object> page = PageHelper.startPage(goPage, pageSize, true);
return PageUtils.setPageInfo(page, sysUserService.query(request));
}*/
@ApiOperation
(
"创建用户"
)
@ApiOperation
(
"创建用户"
)
@PostMapping
(
"/create"
)
@PostMapping
(
"/create"
)
...
...
backend/src/main/java/io/dataease/controller/sys/base/BaseGridRequest.java
0 → 100644
浏览文件 @
390eb53d
package
io
.
dataease
.
controller
.
sys
.
base
;
import
io.dataease.base.mapper.ext.query.GridExample
;
import
lombok.Data
;
import
org.apache.commons.collections.CollectionUtils
;
import
java.io.Serializable
;
import
java.util.List
;
@Data
public
class
BaseGridRequest
implements
Serializable
{
private
List
<
ConditionEntity
>
conditions
;
public
GridExample
convertExample
(){
GridExample
gridExample
=
new
GridExample
();
if
(
CollectionUtils
.
isEmpty
(
conditions
))
return
gridExample
;
GridExample
.
Criteria
criteria
=
gridExample
.
createCriteria
();
conditions
.
forEach
(
criteria:
:
addCondtion
);
return
gridExample
;
}
}
backend/src/main/java/io/dataease/controller/sys/base/ConditionEntity.java
0 → 100644
浏览文件 @
390eb53d
package
io
.
dataease
.
controller
.
sys
.
base
;
import
lombok.Data
;
import
java.io.Serializable
;
@Data
public
class
ConditionEntity
implements
Serializable
{
private
String
field
;
private
String
operator
;
private
Object
value
;
}
backend/src/main/java/io/dataease/controller/sys/request/SimpleTreeNode.java
0 → 100644
浏览文件 @
390eb53d
package
io
.
dataease
.
controller
.
sys
.
request
;
import
lombok.Data
;
@Data
public
class
SimpleTreeNode
{
private
Long
id
;
private
Long
pid
;
}
backend/src/main/java/io/dataease/service/sys/DeptService.java
浏览文件 @
390eb53d
...
@@ -4,16 +4,20 @@ import io.dataease.base.domain.SysDept;
...
@@ -4,16 +4,20 @@ import io.dataease.base.domain.SysDept;
import
io.dataease.base.domain.SysDeptExample
;
import
io.dataease.base.domain.SysDeptExample
;
import
io.dataease.base.mapper.SysDeptMapper
;
import
io.dataease.base.mapper.SysDeptMapper
;
import
io.dataease.base.mapper.ext.ExtDeptMapper
;
import
io.dataease.base.mapper.ext.ExtDeptMapper
;
import
io.dataease.base.mapper.ext.query.GridExample
;
import
io.dataease.commons.utils.BeanUtils
;
import
io.dataease.commons.utils.BeanUtils
;
import
io.dataease.commons.utils.CommonBeanFactory
;
import
io.dataease.controller.sys.base.BaseGridRequest
;
import
io.dataease.controller.sys.request.DeptCreateRequest
;
import
io.dataease.controller.sys.request.DeptCreateRequest
;
import
io.dataease.controller.sys.request.DeptDeleteRequest
;
import
io.dataease.controller.sys.request.DeptDeleteRequest
;
import
io.dataease.controller.sys.request.DeptStatusRequest
;
import
io.dataease.controller.sys.request.DeptStatusRequest
;
import
io.dataease.controller.sys.request.SimpleTreeNode
;
import
org.apache.commons.lang3.ObjectUtils
;
import
org.apache.commons.lang3.ObjectUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.annotation.Transactional
;
import
javax.annotation.Resource
;
import
javax.annotation.Resource
;
import
java.util.Date
;
import
java.util.*
;
import
java.util.List
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
@Service
@Service
...
@@ -23,11 +27,11 @@ public class DeptService {
...
@@ -23,11 +27,11 @@ public class DeptService {
private
final
static
Integer
DEFAULT_SUBCOUNT
=
0
;
private
final
static
Integer
DEFAULT_SUBCOUNT
=
0
;
public
final
static
Long
DEPT_ROOT_PID
=
0L
;
public
final
static
Long
DEPT_ROOT_PID
=
0L
;
@
Resource
@
Autowired
(
required
=
false
)
private
SysDeptMapper
sysDeptMapper
;
private
SysDeptMapper
sysDeptMapper
;
@
Resource
@
Autowired
(
required
=
false
)
private
ExtDeptMapper
extDeptMapper
;
private
ExtDeptMapper
extDeptMapper
;
public
List
<
SysDept
>
nodesByPid
(
Long
pid
){
public
List
<
SysDept
>
nodesByPid
(
Long
pid
){
...
@@ -120,4 +124,59 @@ public class DeptService {
...
@@ -120,4 +124,59 @@ public class DeptService {
return
sysDeptMapper
.
updateByPrimaryKeySelective
(
sysDept
);
return
sysDeptMapper
.
updateByPrimaryKeySelective
(
sysDept
);
}
}
public
List
<
SysDept
>
nodesTreeByCondition
(
BaseGridRequest
request
){
//DeptService proxy = proxy();
List
<
SimpleTreeNode
>
allNodes
=
allNodes
();
List
<
SimpleTreeNode
>
targetNodes
=
nodeByCondition
(
request
);
List
<
Long
>
ids
=
upTree
(
allNodes
,
targetNodes
);
SysDeptExample
example
=
new
SysDeptExample
();
SysDeptExample
.
Criteria
criteria
=
example
.
createCriteria
();
criteria
.
andDeptIdIn
(
ids
);
example
.
setOrderByClause
(
"dept_sort"
);
List
<
SysDept
>
sysDepts
=
sysDeptMapper
.
selectByExample
(
example
);
return
sysDepts
;
}
private
DeptService
proxy
(){
return
CommonBeanFactory
.
getBean
(
DeptService
.
class
);
}
private
List
<
SimpleTreeNode
>
allNodes
(){
List
<
SimpleTreeNode
>
simpleTreeNodes
=
extDeptMapper
.
allNodes
();
return
simpleTreeNodes
;
}
private
List
<
SimpleTreeNode
>
nodeByCondition
(
BaseGridRequest
request
){
GridExample
gridExample
=
request
.
convertExample
();
List
<
SimpleTreeNode
>
simpleTreeNodes
=
extDeptMapper
.
nodesByExample
(
gridExample
);
return
simpleTreeNodes
;
}
/**
* 找出目标节点所在路径上的所有节点 向上找
* @param allNodes 所有节点
* @param targetNodes 目标节点
* @return
*/
private
List
<
Long
>
upTree
(
List
<
SimpleTreeNode
>
allNodes
,
List
<
SimpleTreeNode
>
targetNodes
){
final
Map
<
Long
,
SimpleTreeNode
>
map
=
targetNodes
.
stream
().
collect
(
Collectors
.
toMap
(
SimpleTreeNode:
:
getId
,
node
->
node
));
List
<
Long
>
results
=
targetNodes
.
parallelStream
().
flatMap
(
targetNode
->
{
//向上逐级找爹
List
<
Long
>
ids
=
new
ArrayList
<>();
SimpleTreeNode
node
=
targetNode
;
while
(
node
!=
null
)
{
ids
.
add
(
node
.
getId
());
Long
pid
=
node
.
getPid
();
node
=
map
.
get
(
pid
);
}
return
ids
.
stream
();
}).
distinct
().
collect
(
Collectors
.
toList
());
return
results
;
}
}
}
backend/src/main/java/io/dataease/service/sys/SysRoleService.java
浏览文件 @
390eb53d
...
@@ -6,6 +6,7 @@ import io.dataease.base.domain.SysUsersRolesExample;
...
@@ -6,6 +6,7 @@ import io.dataease.base.domain.SysUsersRolesExample;
import
io.dataease.base.mapper.SysRoleMapper
;
import
io.dataease.base.mapper.SysRoleMapper
;
import
io.dataease.base.mapper.SysUsersRolesMapper
;
import
io.dataease.base.mapper.SysUsersRolesMapper
;
import
io.dataease.base.mapper.ext.ExtSysRoleMapper
;
import
io.dataease.base.mapper.ext.ExtSysRoleMapper
;
import
io.dataease.controller.sys.base.BaseGridRequest
;
import
io.dataease.controller.sys.request.RoleGridRequest
;
import
io.dataease.controller.sys.request.RoleGridRequest
;
import
io.dataease.controller.sys.request.RoleMenusRequest
;
import
io.dataease.controller.sys.request.RoleMenusRequest
;
import
io.dataease.controller.sys.response.RoleUserItem
;
import
io.dataease.controller.sys.response.RoleUserItem
;
...
@@ -56,8 +57,8 @@ public class SysRoleService {
...
@@ -56,8 +57,8 @@ public class SysRoleService {
}
}
public
List
<
SysRole
>
query
(
Rol
eGridRequest
request
){
public
List
<
SysRole
>
query
(
Bas
eGridRequest
request
){
List
<
SysRole
>
result
=
extSysRoleMapper
.
query
(
request
);
List
<
SysRole
>
result
=
extSysRoleMapper
.
query
(
request
.
convertExample
()
);
return
result
;
return
result
;
}
}
...
...
backend/src/main/java/io/dataease/service/sys/SysUserService.java
浏览文件 @
390eb53d
...
@@ -7,8 +7,10 @@ import io.dataease.base.domain.SysUsersRolesKey;
...
@@ -7,8 +7,10 @@ import io.dataease.base.domain.SysUsersRolesKey;
import
io.dataease.base.mapper.SysUserMapper
;
import
io.dataease.base.mapper.SysUserMapper
;
import
io.dataease.base.mapper.SysUsersRolesMapper
;
import
io.dataease.base.mapper.SysUsersRolesMapper
;
import
io.dataease.base.mapper.ext.ExtSysUserMapper
;
import
io.dataease.base.mapper.ext.ExtSysUserMapper
;
import
io.dataease.base.mapper.ext.query.GridExample
;
import
io.dataease.commons.utils.BeanUtils
;
import
io.dataease.commons.utils.BeanUtils
;
import
io.dataease.commons.utils.CodingUtil
;
import
io.dataease.commons.utils.CodingUtil
;
import
io.dataease.controller.sys.base.BaseGridRequest
;
import
io.dataease.controller.sys.request.SysUserCreateRequest
;
import
io.dataease.controller.sys.request.SysUserCreateRequest
;
import
io.dataease.controller.sys.request.SysUserPwdRequest
;
import
io.dataease.controller.sys.request.SysUserPwdRequest
;
import
io.dataease.controller.sys.request.SysUserStateRequest
;
import
io.dataease.controller.sys.request.SysUserStateRequest
;
...
@@ -40,8 +42,10 @@ public class SysUserService {
...
@@ -40,8 +42,10 @@ public class SysUserService {
@Resource
@Resource
private
ExtSysUserMapper
extSysUserMapper
;
private
ExtSysUserMapper
extSysUserMapper
;
public
List
<
SysUserGridResponse
>
query
(
UserGridRequest
request
){
List
<
SysUserGridResponse
>
lists
=
extSysUserMapper
.
query
(
request
);
public
List
<
SysUserGridResponse
>
query
(
BaseGridRequest
request
){
GridExample
gridExample
=
request
.
convertExample
();
List
<
SysUserGridResponse
>
lists
=
extSysUserMapper
.
query
(
gridExample
);
lists
.
forEach
(
item
->
{
lists
.
forEach
(
item
->
{
List
<
SysUserRole
>
roles
=
item
.
getRoles
();
List
<
SysUserRole
>
roles
=
item
.
getRoles
();
List
<
Long
>
roleIds
=
roles
.
stream
().
map
(
SysUserRole:
:
getRoleId
).
collect
(
Collectors
.
toList
());
List
<
Long
>
roleIds
=
roles
.
stream
().
map
(
SysUserRole:
:
getRoleId
).
collect
(
Collectors
.
toList
());
...
...
frontend/src/api/system/dept.js
浏览文件 @
390eb53d
...
@@ -8,6 +8,15 @@ export function getDeptTree(pid) {
...
@@ -8,6 +8,15 @@ export function getDeptTree(pid) {
})
})
}
}
export
function
loadTable
(
data
)
{
return
request
({
url
:
'api/dept/search'
,
method
:
'post'
,
data
,
loading
:
true
})
}
export
function
addDept
(
data
)
{
export
function
addDept
(
data
)
{
return
request
({
return
request
({
url
:
'/api/dept/create'
,
url
:
'/api/dept/create'
,
...
@@ -32,4 +41,4 @@ export function editDept(data) {
...
@@ -32,4 +41,4 @@ export function editDept(data) {
})
})
}
}
export
default
{
addDept
,
delDept
,
editDept
,
getDeptTree
}
export
default
{
addDept
,
delDept
,
editDept
,
getDeptTree
,
loadTable
}
frontend/src/utils/index.js
浏览文件 @
390eb53d
...
@@ -137,16 +137,28 @@ export function param2Obj(url) {
...
@@ -137,16 +137,28 @@ export function param2Obj(url) {
)
)
}
}
// export function formatCondition(param) {
// if (!param) {
// return null
// }
// const condition = {}
// for (const key in param) {
// if (Object.hasOwnProperty.call(param, key)) {
// const element = param[key]
// condition[element.field] = element.value
// }
// }
// return condition
// }
export
function
formatCondition
(
param
)
{
export
function
formatCondition
(
param
)
{
if
(
!
param
)
{
if
(
!
param
)
{
return
null
return
null
}
}
const
condition
=
{}
const
result
=
{
conditions
:
[]
}
for
(
const
key
in
param
)
{
for
(
const
[
key
,
value
]
of
Object
.
entries
(
param
))
{
if
(
Object
.
hasOwnProperty
.
call
(
param
,
key
))
{
console
.
log
(
`
${
key
}
`
)
const
element
=
param
[
key
]
result
.
conditions
.
push
(
value
)
condition
[
element
.
field
]
=
element
.
value
}
}
}
return
condition
return
result
}
}
frontend/src/views/system/dept/index.vue
浏览文件 @
390eb53d
...
@@ -5,7 +5,7 @@
...
@@ -5,7 +5,7 @@
ref=
"table"
ref=
"table"
:data=
"tableData"
:data=
"tableData"
lazy
lazy
:load=
"
initTableData
"
:load=
"
loadExpandDatas
"
:columns=
"columns"
:columns=
"columns"
:buttons=
"buttons"
:buttons=
"buttons"
:header=
"header"
:header=
"header"
...
@@ -13,7 +13,7 @@
...
@@ -13,7 +13,7 @@
:pagination-config=
"paginationConfig"
:pagination-config=
"paginationConfig"
:tree-props=
"
{children: 'children', hasChildren: 'hasChildren'}"
:tree-props=
"
{children: 'children', hasChildren: 'hasChildren'}"
row-key="deptId"
row-key="deptId"
@search="
initTableData
"
@search="
search
"
>
>
<template
#
buttons
>
<template
#
buttons
>
<fu-table-button
icon=
"el-icon-circle-plus-outline"
:label=
"$t('organization.create')"
@
click=
"create"
/>
<fu-table-button
icon=
"el-icon-circle-plus-outline"
:label=
"$t('organization.create')"
@
click=
"create"
/>
...
@@ -107,10 +107,11 @@
...
@@ -107,10 +107,11 @@
import
LayoutContent
from
'@/components/business/LayoutContent'
import
LayoutContent
from
'@/components/business/LayoutContent'
import
ComplexTable
from
'@/components/business/complex-table'
import
ComplexTable
from
'@/components/business/complex-table'
import
Treeselect
from
'@riophae/vue-treeselect'
import
Treeselect
from
'@riophae/vue-treeselect'
import
{
formatCondition
}
from
'@/utils/index'
import
'@riophae/vue-treeselect/dist/vue-treeselect.css'
import
'@riophae/vue-treeselect/dist/vue-treeselect.css'
import
{
LOAD_CHILDREN_OPTIONS
,
LOAD_ROOT_OPTIONS
}
from
'@riophae/vue-treeselect'
import
{
LOAD_CHILDREN_OPTIONS
,
LOAD_ROOT_OPTIONS
}
from
'@riophae/vue-treeselect'
import
{
getDeptTree
,
addDept
,
editDept
,
delDept
}
from
'@/api/system/dept'
import
{
getDeptTree
,
addDept
,
editDept
,
delDept
,
loadTable
}
from
'@/api/system/dept'
export
default
{
export
default
{
name
:
'MsOrganization'
,
name
:
'MsOrganization'
,
...
@@ -131,7 +132,6 @@ export default {
...
@@ -131,7 +132,6 @@ export default {
changeStatusPath
:
'/api/dept/updateStatus'
,
changeStatusPath
:
'/api/dept/updateStatus'
,
result
:
{},
result
:
{},
dialogOrgAddVisible
:
false
,
dialogOrgAddVisible
:
false
,
condition
:
{},
tableData
:
[],
tableData
:
[],
maps
:
new
Map
(),
maps
:
new
Map
(),
oldPid
:
null
,
oldPid
:
null
,
...
@@ -160,9 +160,9 @@ export default {
...
@@ -160,9 +160,9 @@ export default {
}
}
],
],
searchConfig
:
{
searchConfig
:
{
useQuickSearch
:
fals
e
,
useQuickSearch
:
tru
e
,
useComplexSearch
:
false
,
useComplexSearch
:
false
,
quickPlaceholder
:
'按
姓名
搜索'
,
quickPlaceholder
:
'按
名称
搜索'
,
components
:
[
components
:
[
]
]
...
@@ -171,22 +171,23 @@ export default {
...
@@ -171,22 +171,23 @@ export default {
currentPage
:
1
,
currentPage
:
1
,
pageSize
:
10
,
pageSize
:
10
,
total
:
0
total
:
0
},
defaultCondition
:
{
field
:
'pid'
,
operator
:
'eq'
,
value
:
0
}
}
}
}
},
},
activated
()
{
activated
()
{
this
.
initTableData
()
this
.
search
()
},
},
methods
:
{
methods
:
{
create
()
{
create
()
{
this
.
dialogOrgAddVisible
=
true
this
.
dialogOrgAddVisible
=
true
this
.
formType
=
'add'
this
.
formType
=
'add'
},
},
search
(
condition
)
{
console
.
log
(
condition
)
},
edit
(
row
)
{
edit
(
row
)
{
this
.
dialogOrgAddVisible
=
true
this
.
dialogOrgAddVisible
=
true
this
.
formType
=
'modify'
this
.
formType
=
'modify'
...
@@ -236,31 +237,87 @@ export default {
...
@@ -236,31 +237,87 @@ export default {
return
roots
return
roots
},
},
initTableData
(
row
,
treeNode
,
resolve
)
{
quick_condition
(
condition
)
{
const
_self
=
this
const
result
=
{}
const
pid
=
(
row
&&
row
.
deptId
)
?
row
.
deptId
:
'0'
if
(
condition
&&
condition
.
quick
)
{
getDeptTree
(
pid
).
then
(
response
=>
{
for
(
const
[
key
,
value
]
of
Object
.
entries
(
condition
))
{
let
data
=
response
.
data
// console.log(`${key}`)
if
(
`
${
key
}
`
===
'quick'
)
{
const
v_new
=
Object
.
assign
({},
value
)
v_new
[
'field'
]
=
'name'
result
[
'name'
]
=
v_new
}
else
{
result
[
`
${
key
}
`
]
=
value
}
}
return
result
}
return
Object
.
assign
({},
condition
)
},
// 加载表格数据
search
(
condition
)
{
let
param
=
{}
if
(
condition
&&
condition
.
quick
)
{
const
con
=
this
.
quick_condition
(
condition
)
param
=
formatCondition
(
con
)
}
else
{
param
=
{
conditions
:
[
this
.
defaultCondition
]
}
}
// param.conditions.push(this.defaultCondition)
loadTable
(
param
).
then
(
res
=>
{
let
data
=
res
.
data
data
=
data
.
map
(
obj
=>
{
data
=
data
.
map
(
obj
=>
{
if
(
obj
.
subCount
>
0
)
{
if
(
obj
.
subCount
>
0
)
{
obj
.
hasChildren
=
true
obj
.
hasChildren
=
true
}
}
return
obj
return
obj
})
})
if
(
!
row
)
{
this
.
tableData
=
data
data
.
some
(
node
=>
{
this
.
depts
=
null
node
.
children
=
null
})
_self
.
tableData
=
data
_self
.
depts
=
null
}
else
{
this
.
maps
.
set
(
row
.
deptId
,
{
row
,
treeNode
,
resolve
})
resolve
&&
resolve
(
data
)
}
})
})
},
},
// 加载下一级子节点数据
loadExpandDatas
(
row
,
treeNode
,
resolve
)
{
getDeptTree
(
row
.
deptId
).
then
(
res
=>
{
let
data
=
res
.
data
data
=
data
.
map
(
obj
=>
{
if
(
obj
.
subCount
>
0
)
{
obj
.
hasChildren
=
true
}
return
obj
})
this
.
maps
.
set
(
row
.
deptId
,
{
row
,
treeNode
,
resolve
})
resolve
&&
resolve
(
data
)
})
},
// initTableData(row, treeNode, resolve) {
// const _self = this
// const pid = (row && row.deptId) ? row.deptId : '0'
// getDeptTree(pid).then(response => {
// let data = response.data
// data = data.map(obj => {
// if (obj.subCount > 0) {
// obj.hasChildren = true
// }
// return obj
// })
// if (!row) {
// data.some(node => {
// node.children = null
// })
// _self.tableData = data
// _self.depts = null
// } else {
// this.maps.set(row.deptId, { row, treeNode, resolve })
// resolve && resolve(data)
// }
// })
// },
closeFunc
()
{
closeFunc
()
{
this
.
initTableData
()
this
.
search
()
this
.
form
=
{}
this
.
form
=
{}
this
.
oldPid
=
null
this
.
oldPid
=
null
this
.
depts
=
null
this
.
depts
=
null
...
@@ -329,7 +386,7 @@ export default {
...
@@ -329,7 +386,7 @@ export default {
if
(
this
.
formType
!==
'modify'
)
{
if
(
this
.
formType
!==
'modify'
)
{
addDept
(
this
.
form
).
then
(
res
=>
{
addDept
(
this
.
form
).
then
(
res
=>
{
this
.
$success
(
this
.
$t
(
'commons.save_success'
))
this
.
$success
(
this
.
$t
(
'commons.save_success'
))
this
.
initTableData
()
this
.
search
()
this
.
oldPid
&&
this
.
reloadByPid
(
this
.
oldPid
)
this
.
oldPid
&&
this
.
reloadByPid
(
this
.
oldPid
)
this
.
reloadByPid
(
this
.
form
[
'pid'
])
this
.
reloadByPid
(
this
.
form
[
'pid'
])
this
.
dialogOrgAddVisible
=
false
this
.
dialogOrgAddVisible
=
false
...
@@ -337,7 +394,7 @@ export default {
...
@@ -337,7 +394,7 @@ export default {
}
else
{
}
else
{
editDept
(
this
.
form
).
then
(
res
=>
{
editDept
(
this
.
form
).
then
(
res
=>
{
this
.
$success
(
this
.
$t
(
'commons.save_success'
))
this
.
$success
(
this
.
$t
(
'commons.save_success'
))
this
.
initTableData
()
this
.
search
()
this
.
oldPid
&&
this
.
reloadByPid
(
this
.
oldPid
)
this
.
oldPid
&&
this
.
reloadByPid
(
this
.
oldPid
)
this
.
reloadByPid
(
this
.
form
[
'pid'
])
this
.
reloadByPid
(
this
.
form
[
'pid'
])
this
.
dialogOrgAddVisible
=
false
this
.
dialogOrgAddVisible
=
false
...
@@ -358,7 +415,7 @@ export default {
...
@@ -358,7 +415,7 @@ export default {
const
requests
=
[{
deptId
:
organization
.
deptId
,
pid
:
organization
.
pid
}]
const
requests
=
[{
deptId
:
organization
.
deptId
,
pid
:
organization
.
pid
}]
delDept
(
requests
).
then
(
res
=>
{
delDept
(
requests
).
then
(
res
=>
{
this
.
$success
(
this
.
$t
(
'commons.delete_success'
))
this
.
$success
(
this
.
$t
(
'commons.delete_success'
))
this
.
initTableData
()
this
.
search
()
this
.
reloadByPid
(
organization
.
pid
)
this
.
reloadByPid
(
organization
.
pid
)
})
})
}).
catch
(()
=>
{
}).
catch
(()
=>
{
...
@@ -372,7 +429,7 @@ export default {
...
@@ -372,7 +429,7 @@ export default {
if
(
pid
!==
0
&&
this
.
maps
.
get
(
pid
))
{
if
(
pid
!==
0
&&
this
.
maps
.
get
(
pid
))
{
const
{
row
,
treeNode
,
resolve
}
=
this
.
maps
.
get
(
pid
)
const
{
row
,
treeNode
,
resolve
}
=
this
.
maps
.
get
(
pid
)
this
.
$set
(
this
.
$refs
.
table
.
store
.
states
.
lazyTreeNodeMap
,
pid
,
[])
this
.
$set
(
this
.
$refs
.
table
.
store
.
states
.
lazyTreeNodeMap
,
pid
,
[])
this
.
initTableData
(
row
,
treeNode
,
resolve
)
this
.
loadExpandDatas
(
row
,
treeNode
,
resolve
)
}
}
},
},
array2Tree
(
arr
)
{
array2Tree
(
arr
)
{
...
...
frontend/src/views/system/role/index.vue
浏览文件 @
390eb53d
...
@@ -83,6 +83,7 @@
...
@@ -83,6 +83,7 @@
import
LayoutContent
from
'@/components/business/LayoutContent'
import
LayoutContent
from
'@/components/business/LayoutContent'
import
ComplexTable
from
'@/components/business/complex-table'
import
ComplexTable
from
'@/components/business/complex-table'
import
{
formatCondition
}
from
'@/utils/index'
import
{
addRole
,
editRole
,
delRole
,
roleGrid
,
addRoleMenus
,
menuIds
}
from
'@/api/system/role'
import
{
addRole
,
editRole
,
delRole
,
roleGrid
,
addRoleMenus
,
menuIds
}
from
'@/api/system/role'
import
{
getMenusTree
,
getChild
}
from
'@/api/system/menu'
import
{
getMenusTree
,
getChild
}
from
'@/api/system/menu'
...
@@ -124,21 +125,13 @@ export default {
...
@@ -124,21 +125,13 @@ export default {
}
}
],
],
searchConfig
:
{
searchConfig
:
{
useQuickSearch
:
false
,
quickPlaceholder
:
'按名称搜索'
,
quickPlaceholder
:
'按名称搜索'
,
components
:
[
components
:
[
// { field: 'name', label: '姓名', component: 'FuComplexInput', defaultOperator: 'eq' },
// { field: 'name', label: '姓名', component: 'FuComplexInput', defaultOperator: 'eq' },
{
field
:
'name'
,
label
:
'名称'
,
component
:
'FuComplexInput'
},
{
field
:
'name'
,
label
:
'
角色
名称'
,
component
:
'FuComplexInput'
},
{
{
field
:
'code'
,
label
:
'角色代码'
,
component
:
'FuComplexInput'
,
defaultOperator
:
'eq'
}
field
:
'enabled'
,
label
:
'状态'
,
component
:
'FuComplexSelect'
,
options
:
[
{
label
:
'启用'
,
value
:
'1'
},
{
label
:
'禁用'
,
value
:
'0'
}
],
multiple
:
false
}
// { field: 'deptId', label: '组织', component: conditionTable }
// { field: 'deptId', label: '组织', component: conditionTable }
]
]
},
},
...
@@ -164,8 +157,10 @@ export default {
...
@@ -164,8 +157,10 @@ export default {
this
.
formType
=
'add'
this
.
formType
=
'add'
this
.
dialogVisible
=
true
this
.
dialogVisible
=
true
},
},
search
()
{
search
(
condition
)
{
roleGrid
(
this
.
paginationConfig
.
currentPage
,
this
.
paginationConfig
.
pageSize
,
{}).
then
(
response
=>
{
const
temp
=
formatCondition
(
condition
)
const
param
=
temp
||
{}
roleGrid
(
this
.
paginationConfig
.
currentPage
,
this
.
paginationConfig
.
pageSize
,
param
).
then
(
response
=>
{
const
data
=
response
.
data
const
data
=
response
.
data
this
.
total
=
data
.
itemCount
this
.
total
=
data
.
itemCount
this
.
tableData
=
data
.
listObject
this
.
tableData
=
data
.
listObject
...
...
frontend/src/views/system/user/index.vue
浏览文件 @
390eb53d
...
@@ -177,13 +177,14 @@ export default {
...
@@ -177,13 +177,14 @@ export default {
}
}
],
],
searchConfig
:
{
searchConfig
:
{
useQuickSearch
:
false
,
quickPlaceholder
:
'按姓名搜索'
,
quickPlaceholder
:
'按姓名搜索'
,
components
:
[
components
:
[
// { field: 'name', label: '姓名', component: 'FuComplexInput', defaultOperator: 'eq' },
// { field: 'name', label: '姓名', component: 'FuComplexInput', defaultOperator: 'eq' },
{
field
:
'name'
,
label
:
'姓名'
,
component
:
'FuComplexInput'
},
{
field
:
'n
ick_n
ame'
,
label
:
'姓名'
,
component
:
'FuComplexInput'
},
{
{
field
:
'enabled'
,
field
:
'
u.
enabled'
,
label
:
'状态'
,
label
:
'状态'
,
component
:
'FuComplexSelect'
,
component
:
'FuComplexSelect'
,
options
:
[
options
:
[
...
@@ -295,13 +296,15 @@ export default {
...
@@ -295,13 +296,15 @@ export default {
search
(
condition
)
{
search
(
condition
)
{
console
.
log
(
condition
)
// demo只查看搜索条件,没有搜索的实现
console
.
log
(
condition
)
// demo只查看搜索条件,没有搜索的实现
const
param
=
formatCondition
(
condition
)
const
temp
=
formatCondition
(
condition
)
const
param
=
temp
||
{}
const
{
currentPage
,
pageSize
}
=
this
.
paginationConfig
const
{
currentPage
,
pageSize
}
=
this
.
paginationConfig
userLists
(
currentPage
,
pageSize
,
param
||
{}
).
then
(
response
=>
{
userLists
(
currentPage
,
pageSize
,
param
).
then
(
response
=>
{
this
.
data
=
response
.
data
.
listObject
this
.
data
=
response
.
data
.
listObject
this
.
paginationConfig
.
total
=
response
.
data
.
itemCount
this
.
paginationConfig
.
total
=
response
.
data
.
itemCount
})
})
},
},
create
()
{
create
()
{
this
.
formType
=
'add'
this
.
formType
=
'add'
this
.
form
=
Object
.
assign
({},
this
.
defaultForm
)
this
.
form
=
Object
.
assign
({},
this
.
defaultForm
)
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论