Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
H
huaxin-rq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
耿迪迪
huaxin-rq
Commits
3ab6d34f
Commit
3ab6d34f
authored
Dec 08, 2025
by
耿迪迪
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
居民安检人员分组
parent
0dd23efe
Hide whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
1761 additions
and
0 deletions
+1761
-0
TGroupMemberInfoController.java
...hong/web/controller/group/TGroupMemberInfoController.java
+108
-0
TPersonGroupInfoController.java
...hong/web/controller/group/TPersonGroupInfoController.java
+103
-0
TGroupMemberInfo.java
.../main/java/com/zehong/system/domain/TGroupMemberInfo.java
+107
-0
TPersonGroupInfo.java
.../main/java/com/zehong/system/domain/TPersonGroupInfo.java
+105
-0
TGroupMemberInfoMapper.java
...java/com/zehong/system/mapper/TGroupMemberInfoMapper.java
+71
-0
TPersonGroupInfoMapper.java
...java/com/zehong/system/mapper/TPersonGroupInfoMapper.java
+61
-0
ITGroupMemberInfoService.java
...a/com/zehong/system/service/ITGroupMemberInfoService.java
+69
-0
ITPersonGroupInfoService.java
...a/com/zehong/system/service/ITPersonGroupInfoService.java
+61
-0
TGroupMemberInfoServiceImpl.java
...hong/system/service/impl/TGroupMemberInfoServiceImpl.java
+108
-0
TPersonGroupInfoServiceImpl.java
...hong/system/service/impl/TPersonGroupInfoServiceImpl.java
+132
-0
TGroupMemberInfoMapper.xml
...c/main/resources/mapper/system/TGroupMemberInfoMapper.xml
+127
-0
TPersonGroupInfoMapper.xml
...c/main/resources/mapper/system/TPersonGroupInfoMapper.xml
+93
-0
groupInfo.js
huaxin-web/src/api/checktask/groupInfo.js
+62
-0
index.vue
huaxin-web/src/views/checktask/group/index.vue
+554
-0
No files found.
huaxin-admin/src/main/java/com/zehong/web/controller/group/TGroupMemberInfoController.java
0 → 100644
View file @
3ab6d34f
package
com
.
zehong
.
web
.
controller
.
group
;
import
com.zehong.common.annotation.Log
;
import
com.zehong.common.core.controller.BaseController
;
import
com.zehong.common.core.domain.AjaxResult
;
import
com.zehong.common.core.page.TableDataInfo
;
import
com.zehong.common.enums.BusinessType
;
import
com.zehong.common.utils.poi.ExcelUtil
;
import
com.zehong.system.domain.TGroupMemberInfo
;
import
com.zehong.system.service.ITGroupMemberInfoService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.security.access.prepost.PreAuthorize
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.List
;
import
java.util.Map
;
/**
* 组内成员信息Controller
*
* @author zehong
* @date 2025-12-05
*/
@RestController
@RequestMapping
(
"/group/member"
)
public
class
TGroupMemberInfoController
extends
BaseController
{
@Autowired
private
ITGroupMemberInfoService
tGroupMemberInfoService
;
/**
* 查询组内成员信息列表
*/
@PreAuthorize
(
"@ss.hasPermi('group:member:list')"
)
@GetMapping
(
"/list"
)
public
TableDataInfo
list
(
TGroupMemberInfo
tGroupMemberInfo
)
{
startPage
();
List
<
TGroupMemberInfo
>
list
=
tGroupMemberInfoService
.
selectTGroupMemberInfoList
(
tGroupMemberInfo
);
return
getDataTable
(
list
);
}
/**
* 导出组内成员信息列表
*/
@PreAuthorize
(
"@ss.hasPermi('group:member:export')"
)
@Log
(
title
=
"组内成员信息"
,
businessType
=
BusinessType
.
EXPORT
)
@GetMapping
(
"/export"
)
public
AjaxResult
export
(
TGroupMemberInfo
tGroupMemberInfo
)
{
List
<
TGroupMemberInfo
>
list
=
tGroupMemberInfoService
.
selectTGroupMemberInfoList
(
tGroupMemberInfo
);
ExcelUtil
<
TGroupMemberInfo
>
util
=
new
ExcelUtil
<
TGroupMemberInfo
>(
TGroupMemberInfo
.
class
);
return
util
.
exportExcel
(
list
,
"组内成员信息数据"
);
}
/**
* 获取组内成员信息详细信息
*/
@PreAuthorize
(
"@ss.hasPermi('group:member:query')"
)
@GetMapping
(
value
=
"/{memberId}"
)
public
AjaxResult
getInfo
(
@PathVariable
(
"memberId"
)
Long
memberId
)
{
return
AjaxResult
.
success
(
tGroupMemberInfoService
.
selectTGroupMemberInfoById
(
memberId
));
}
/**
* 新增组内成员信息
*/
@PreAuthorize
(
"@ss.hasPermi('group:member:add')"
)
@Log
(
title
=
"组内成员信息"
,
businessType
=
BusinessType
.
INSERT
)
@PostMapping
public
AjaxResult
add
(
@RequestBody
TGroupMemberInfo
tGroupMemberInfo
)
{
return
toAjax
(
tGroupMemberInfoService
.
insertTGroupMemberInfo
(
tGroupMemberInfo
));
}
/**
* 修改组内成员信息
*/
@PreAuthorize
(
"@ss.hasPermi('group:member:edit')"
)
@Log
(
title
=
"组内成员信息"
,
businessType
=
BusinessType
.
UPDATE
)
@PutMapping
public
AjaxResult
edit
(
@RequestBody
TGroupMemberInfo
tGroupMemberInfo
)
{
return
toAjax
(
tGroupMemberInfoService
.
updateTGroupMemberInfo
(
tGroupMemberInfo
));
}
/**
* 删除组内成员信息
*/
@PreAuthorize
(
"@ss.hasPermi('group:member:remove')"
)
@Log
(
title
=
"组内成员信息"
,
businessType
=
BusinessType
.
DELETE
)
@DeleteMapping
(
"/{memberIds}"
)
public
AjaxResult
remove
(
@PathVariable
Long
[]
memberIds
)
{
return
toAjax
(
tGroupMemberInfoService
.
deleteTGroupMemberInfoByIds
(
memberIds
));
}
/**
* 获取人员信息
* @return
*/
@PostMapping
(
"/selectMemberInfo"
)
public
AjaxResult
selectMemberInfo
(
@RequestBody
Map
<
String
,
Object
>
map
){
return
AjaxResult
.
success
(
tGroupMemberInfoService
.
selectMemberInfo
(
map
));
}
}
huaxin-admin/src/main/java/com/zehong/web/controller/group/TPersonGroupInfoController.java
0 → 100644
View file @
3ab6d34f
package
com
.
zehong
.
web
.
controller
.
group
;
import
java.util.List
;
import
org.springframework.security.access.prepost.PreAuthorize
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.PutMapping
;
import
org.springframework.web.bind.annotation.DeleteMapping
;
import
org.springframework.web.bind.annotation.PathVariable
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
com.zehong.common.annotation.Log
;
import
com.zehong.common.core.controller.BaseController
;
import
com.zehong.common.core.domain.AjaxResult
;
import
com.zehong.common.enums.BusinessType
;
import
com.zehong.system.domain.TPersonGroupInfo
;
import
com.zehong.system.service.ITPersonGroupInfoService
;
import
com.zehong.common.utils.poi.ExcelUtil
;
import
com.zehong.common.core.page.TableDataInfo
;
/**
* 人员分组信息Controller
*
* @author zehong
* @date 2025-12-05
*/
@RestController
@RequestMapping
(
"/group/info"
)
public
class
TPersonGroupInfoController
extends
BaseController
{
@Autowired
private
ITPersonGroupInfoService
tPersonGroupInfoService
;
/**
* 查询人员分组信息列表
*/
@PreAuthorize
(
"@ss.hasPermi('group:info:list')"
)
@GetMapping
(
"/list"
)
public
TableDataInfo
list
(
TPersonGroupInfo
tPersonGroupInfo
)
{
startPage
();
List
<
TPersonGroupInfo
>
list
=
tPersonGroupInfoService
.
selectTPersonGroupInfoList
(
tPersonGroupInfo
);
return
getDataTable
(
list
);
}
/**
* 导出人员分组信息列表
*/
@PreAuthorize
(
"@ss.hasPermi('group:info:export')"
)
@Log
(
title
=
"人员分组信息"
,
businessType
=
BusinessType
.
EXPORT
)
@GetMapping
(
"/export"
)
public
AjaxResult
export
(
TPersonGroupInfo
tPersonGroupInfo
)
{
List
<
TPersonGroupInfo
>
list
=
tPersonGroupInfoService
.
selectTPersonGroupInfoList
(
tPersonGroupInfo
);
ExcelUtil
<
TPersonGroupInfo
>
util
=
new
ExcelUtil
<
TPersonGroupInfo
>(
TPersonGroupInfo
.
class
);
return
util
.
exportExcel
(
list
,
"人员分组信息数据"
);
}
/**
* 获取人员分组信息详细信息
*/
@PreAuthorize
(
"@ss.hasPermi('group:info:query')"
)
@GetMapping
(
value
=
"/{groupId}"
)
public
AjaxResult
getInfo
(
@PathVariable
(
"groupId"
)
Long
groupId
)
{
return
AjaxResult
.
success
(
tPersonGroupInfoService
.
selectTPersonGroupInfoById
(
groupId
));
}
/**
* 新增人员分组信息
*/
@PreAuthorize
(
"@ss.hasPermi('group:info:add')"
)
@Log
(
title
=
"人员分组信息"
,
businessType
=
BusinessType
.
INSERT
)
@PostMapping
public
AjaxResult
add
(
@RequestBody
TPersonGroupInfo
tPersonGroupInfo
)
{
return
toAjax
(
tPersonGroupInfoService
.
insertTPersonGroupInfo
(
tPersonGroupInfo
));
}
/**
* 修改人员分组信息
*/
@PreAuthorize
(
"@ss.hasPermi('group:info:edit')"
)
@Log
(
title
=
"人员分组信息"
,
businessType
=
BusinessType
.
UPDATE
)
@PutMapping
public
AjaxResult
edit
(
@RequestBody
TPersonGroupInfo
tPersonGroupInfo
)
{
return
toAjax
(
tPersonGroupInfoService
.
updateTPersonGroupInfo
(
tPersonGroupInfo
));
}
/**
* 删除人员分组信息
*/
@PreAuthorize
(
"@ss.hasPermi('group:info:remove')"
)
@Log
(
title
=
"人员分组信息"
,
businessType
=
BusinessType
.
DELETE
)
@DeleteMapping
(
"/{groupIds}"
)
public
AjaxResult
remove
(
@PathVariable
Long
[]
groupIds
)
{
return
toAjax
(
tPersonGroupInfoService
.
deleteTPersonGroupInfoByIds
(
groupIds
));
}
}
huaxin-system/src/main/java/com/zehong/system/domain/TGroupMemberInfo.java
0 → 100644
View file @
3ab6d34f
package
com
.
zehong
.
system
.
domain
;
import
org.apache.commons.lang3.builder.ToStringBuilder
;
import
org.apache.commons.lang3.builder.ToStringStyle
;
import
com.zehong.common.annotation.Excel
;
import
com.zehong.common.core.domain.BaseEntity
;
/**
* 组内成员信息对象 t_group_member_info
*
* @author zehong
* @date 2025-12-05
*/
public
class
TGroupMemberInfo
extends
BaseEntity
{
private
static
final
long
serialVersionUID
=
1L
;
/** 主键 */
private
Long
memberId
;
/** 组主键 */
@Excel
(
name
=
"组主键"
)
private
Long
groupId
;
/** 用户主键 */
private
Long
userId
;
@Excel
(
name
=
"姓名"
)
private
String
nickName
;
/** 是否删除(0正常,1删除) */
@Excel
(
name
=
"是否删除(0正常,1删除)"
)
private
String
isDel
;
/** 备注 */
@Excel
(
name
=
"备注"
)
private
String
remarks
;
public
void
setMemberId
(
Long
memberId
)
{
this
.
memberId
=
memberId
;
}
public
Long
getMemberId
()
{
return
memberId
;
}
public
void
setGroupId
(
Long
groupId
)
{
this
.
groupId
=
groupId
;
}
public
Long
getGroupId
()
{
return
groupId
;
}
public
void
setUserId
(
Long
userId
)
{
this
.
userId
=
userId
;
}
public
Long
getUserId
()
{
return
userId
;
}
public
void
setIsDel
(
String
isDel
)
{
this
.
isDel
=
isDel
;
}
public
String
getIsDel
()
{
return
isDel
;
}
public
void
setRemarks
(
String
remarks
)
{
this
.
remarks
=
remarks
;
}
public
String
getRemarks
()
{
return
remarks
;
}
public
String
getNickName
()
{
return
nickName
;
}
public
void
setNickName
(
String
nickName
)
{
this
.
nickName
=
nickName
;
}
@Override
public
String
toString
()
{
return
new
ToStringBuilder
(
this
,
ToStringStyle
.
MULTI_LINE_STYLE
)
.
append
(
"memberId"
,
getMemberId
())
.
append
(
"groupId"
,
getGroupId
())
.
append
(
"userId"
,
getUserId
())
.
append
(
"createBy"
,
getCreateBy
())
.
append
(
"createTime"
,
getCreateTime
())
.
append
(
"updateBy"
,
getUpdateBy
())
.
append
(
"updateTime"
,
getUpdateTime
())
.
append
(
"isDel"
,
getIsDel
())
.
append
(
"remarks"
,
getRemarks
())
.
toString
();
}
}
huaxin-system/src/main/java/com/zehong/system/domain/TPersonGroupInfo.java
0 → 100644
View file @
3ab6d34f
package
com
.
zehong
.
system
.
domain
;
import
org.apache.commons.lang3.builder.ToStringBuilder
;
import
org.apache.commons.lang3.builder.ToStringStyle
;
import
com.zehong.common.annotation.Excel
;
import
com.zehong.common.core.domain.BaseEntity
;
import
java.util.List
;
/**
* 人员分组信息对象 t_person_group_info
*
* @author zehong
* @date 2025-12-05
*/
public
class
TPersonGroupInfo
extends
BaseEntity
{
private
static
final
long
serialVersionUID
=
1L
;
/** 主键 */
private
Long
groupId
;
/** 组名 */
@Excel
(
name
=
"组名"
)
private
String
groupName
;
/** 是否删除(0正常,1删除) */
@Excel
(
name
=
"是否删除"
,
readConverterExp
=
"0=正常,1=删除"
)
private
String
isDel
;
private
String
memberName
;
/** 备注 */
@Excel
(
name
=
"备注"
)
private
String
remarks
;
private
List
<
TGroupMemberInfo
>
memberInfoList
;
public
void
setGroupId
(
Long
groupId
)
{
this
.
groupId
=
groupId
;
}
public
Long
getGroupId
()
{
return
groupId
;
}
public
void
setGroupName
(
String
groupName
)
{
this
.
groupName
=
groupName
;
}
public
String
getGroupName
()
{
return
groupName
;
}
public
void
setIsDel
(
String
isDel
)
{
this
.
isDel
=
isDel
;
}
public
String
getIsDel
()
{
return
isDel
;
}
public
void
setRemarks
(
String
remarks
)
{
this
.
remarks
=
remarks
;
}
public
String
getRemarks
()
{
return
remarks
;
}
public
List
<
TGroupMemberInfo
>
getMemberInfoList
()
{
return
memberInfoList
;
}
public
void
setMemberInfoList
(
List
<
TGroupMemberInfo
>
memberInfoList
)
{
this
.
memberInfoList
=
memberInfoList
;
}
public
String
getMemberName
()
{
return
memberName
;
}
public
void
setMemberName
(
String
memberName
)
{
this
.
memberName
=
memberName
;
}
@Override
public
String
toString
()
{
return
new
ToStringBuilder
(
this
,
ToStringStyle
.
MULTI_LINE_STYLE
)
.
append
(
"groupId"
,
getGroupId
())
.
append
(
"groupName"
,
getGroupName
())
.
append
(
"createBy"
,
getCreateBy
())
.
append
(
"createTime"
,
getCreateTime
())
.
append
(
"updateBy"
,
getUpdateBy
())
.
append
(
"updateTime"
,
getUpdateTime
())
.
append
(
"isDel"
,
getIsDel
())
.
append
(
"remarks"
,
getRemarks
())
.
toString
();
}
}
huaxin-system/src/main/java/com/zehong/system/mapper/TGroupMemberInfoMapper.java
0 → 100644
View file @
3ab6d34f
package
com
.
zehong
.
system
.
mapper
;
import
java.util.List
;
import
java.util.Map
;
import
com.zehong.system.domain.TGroupMemberInfo
;
/**
* 组内成员信息Mapper接口
*
* @author zehong
* @date 2025-12-05
*/
public
interface
TGroupMemberInfoMapper
{
/**
* 查询组内成员信息
*
* @param memberId 组内成员信息ID
* @return 组内成员信息
*/
public
TGroupMemberInfo
selectTGroupMemberInfoById
(
Long
memberId
);
/**
* 查询组内成员信息列表
*
* @param tGroupMemberInfo 组内成员信息
* @return 组内成员信息集合
*/
public
List
<
TGroupMemberInfo
>
selectTGroupMemberInfoList
(
TGroupMemberInfo
tGroupMemberInfo
);
/**
* 新增组内成员信息
*
* @param tGroupMemberInfo 组内成员信息
* @return 结果
*/
public
int
insertTGroupMemberInfo
(
TGroupMemberInfo
tGroupMemberInfo
);
/**
* 修改组内成员信息
*
* @param tGroupMemberInfo 组内成员信息
* @return 结果
*/
public
int
updateTGroupMemberInfo
(
TGroupMemberInfo
tGroupMemberInfo
);
/**
* 删除组内成员信息
*
* @param memberId 组内成员信息ID
* @return 结果
*/
public
int
deleteTGroupMemberInfoById
(
Long
memberId
);
/**
* 批量删除组内成员信息
*
* @param memberIds 需要删除的数据ID
* @return 结果
*/
public
int
deleteTGroupMemberInfoByIds
(
Long
[]
memberIds
);
/**
* 获取人员信息
* @return
*/
List
<
Map
<
String
,
Object
>>
selectMemberInfo
(
Map
<
String
,
Object
>
map
);
int
deleteTGroupMemberInfoByGroupId
(
Long
groupId
);
}
huaxin-system/src/main/java/com/zehong/system/mapper/TPersonGroupInfoMapper.java
0 → 100644
View file @
3ab6d34f
package
com
.
zehong
.
system
.
mapper
;
import
java.util.List
;
import
com.zehong.system.domain.TPersonGroupInfo
;
/**
* 人员分组信息Mapper接口
*
* @author zehong
* @date 2025-12-05
*/
public
interface
TPersonGroupInfoMapper
{
/**
* 查询人员分组信息
*
* @param groupId 人员分组信息ID
* @return 人员分组信息
*/
public
TPersonGroupInfo
selectTPersonGroupInfoById
(
Long
groupId
);
/**
* 查询人员分组信息列表
*
* @param tPersonGroupInfo 人员分组信息
* @return 人员分组信息集合
*/
public
List
<
TPersonGroupInfo
>
selectTPersonGroupInfoList
(
TPersonGroupInfo
tPersonGroupInfo
);
/**
* 新增人员分组信息
*
* @param tPersonGroupInfo 人员分组信息
* @return 结果
*/
public
int
insertTPersonGroupInfo
(
TPersonGroupInfo
tPersonGroupInfo
);
/**
* 修改人员分组信息
*
* @param tPersonGroupInfo 人员分组信息
* @return 结果
*/
public
int
updateTPersonGroupInfo
(
TPersonGroupInfo
tPersonGroupInfo
);
/**
* 删除人员分组信息
*
* @param groupId 人员分组信息ID
* @return 结果
*/
public
int
deleteTPersonGroupInfoById
(
Long
groupId
);
/**
* 批量删除人员分组信息
*
* @param groupIds 需要删除的数据ID
* @return 结果
*/
public
int
deleteTPersonGroupInfoByIds
(
Long
[]
groupIds
);
}
huaxin-system/src/main/java/com/zehong/system/service/ITGroupMemberInfoService.java
0 → 100644
View file @
3ab6d34f
package
com
.
zehong
.
system
.
service
;
import
java.util.List
;
import
java.util.Map
;
import
com.zehong.system.domain.TGroupMemberInfo
;
/**
* 组内成员信息Service接口
*
* @author zehong
* @date 2025-12-05
*/
public
interface
ITGroupMemberInfoService
{
/**
* 查询组内成员信息
*
* @param memberId 组内成员信息ID
* @return 组内成员信息
*/
public
TGroupMemberInfo
selectTGroupMemberInfoById
(
Long
memberId
);
/**
* 查询组内成员信息列表
*
* @param tGroupMemberInfo 组内成员信息
* @return 组内成员信息集合
*/
public
List
<
TGroupMemberInfo
>
selectTGroupMemberInfoList
(
TGroupMemberInfo
tGroupMemberInfo
);
/**
* 新增组内成员信息
*
* @param tGroupMemberInfo 组内成员信息
* @return 结果
*/
public
int
insertTGroupMemberInfo
(
TGroupMemberInfo
tGroupMemberInfo
);
/**
* 修改组内成员信息
*
* @param tGroupMemberInfo 组内成员信息
* @return 结果
*/
public
int
updateTGroupMemberInfo
(
TGroupMemberInfo
tGroupMemberInfo
);
/**
* 批量删除组内成员信息
*
* @param memberIds 需要删除的组内成员信息ID
* @return 结果
*/
public
int
deleteTGroupMemberInfoByIds
(
Long
[]
memberIds
);
/**
* 删除组内成员信息信息
*
* @param memberId 组内成员信息ID
* @return 结果
*/
public
int
deleteTGroupMemberInfoById
(
Long
memberId
);
/**
* 获取人员信息
* @return
*/
List
<
Map
<
String
,
Object
>>
selectMemberInfo
(
Map
<
String
,
Object
>
map
);
}
huaxin-system/src/main/java/com/zehong/system/service/ITPersonGroupInfoService.java
0 → 100644
View file @
3ab6d34f
package
com
.
zehong
.
system
.
service
;
import
java.util.List
;
import
com.zehong.system.domain.TPersonGroupInfo
;
/**
* 人员分组信息Service接口
*
* @author zehong
* @date 2025-12-05
*/
public
interface
ITPersonGroupInfoService
{
/**
* 查询人员分组信息
*
* @param groupId 人员分组信息ID
* @return 人员分组信息
*/
public
TPersonGroupInfo
selectTPersonGroupInfoById
(
Long
groupId
);
/**
* 查询人员分组信息列表
*
* @param tPersonGroupInfo 人员分组信息
* @return 人员分组信息集合
*/
public
List
<
TPersonGroupInfo
>
selectTPersonGroupInfoList
(
TPersonGroupInfo
tPersonGroupInfo
);
/**
* 新增人员分组信息
*
* @param tPersonGroupInfo 人员分组信息
* @return 结果
*/
public
int
insertTPersonGroupInfo
(
TPersonGroupInfo
tPersonGroupInfo
);
/**
* 修改人员分组信息
*
* @param tPersonGroupInfo 人员分组信息
* @return 结果
*/
public
int
updateTPersonGroupInfo
(
TPersonGroupInfo
tPersonGroupInfo
);
/**
* 批量删除人员分组信息
*
* @param groupIds 需要删除的人员分组信息ID
* @return 结果
*/
public
int
deleteTPersonGroupInfoByIds
(
Long
[]
groupIds
);
/**
* 删除人员分组信息信息
*
* @param groupId 人员分组信息ID
* @return 结果
*/
public
int
deleteTPersonGroupInfoById
(
Long
groupId
);
}
huaxin-system/src/main/java/com/zehong/system/service/impl/TGroupMemberInfoServiceImpl.java
0 → 100644
View file @
3ab6d34f
package
com
.
zehong
.
system
.
service
.
impl
;
import
java.util.List
;
import
java.util.Map
;
import
com.zehong.common.utils.DateUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
com.zehong.system.mapper.TGroupMemberInfoMapper
;
import
com.zehong.system.domain.TGroupMemberInfo
;
import
com.zehong.system.service.ITGroupMemberInfoService
;
/**
* 组内成员信息Service业务层处理
*
* @author zehong
* @date 2025-12-05
*/
@Service
public
class
TGroupMemberInfoServiceImpl
implements
ITGroupMemberInfoService
{
@Autowired
private
TGroupMemberInfoMapper
tGroupMemberInfoMapper
;
/**
* 查询组内成员信息
*
* @param memberId 组内成员信息ID
* @return 组内成员信息
*/
@Override
public
TGroupMemberInfo
selectTGroupMemberInfoById
(
Long
memberId
)
{
return
tGroupMemberInfoMapper
.
selectTGroupMemberInfoById
(
memberId
);
}
/**
* 查询组内成员信息列表
*
* @param tGroupMemberInfo 组内成员信息
* @return 组内成员信息
*/
@Override
public
List
<
TGroupMemberInfo
>
selectTGroupMemberInfoList
(
TGroupMemberInfo
tGroupMemberInfo
)
{
return
tGroupMemberInfoMapper
.
selectTGroupMemberInfoList
(
tGroupMemberInfo
);
}
/**
* 新增组内成员信息
*
* @param tGroupMemberInfo 组内成员信息
* @return 结果
*/
@Override
public
int
insertTGroupMemberInfo
(
TGroupMemberInfo
tGroupMemberInfo
)
{
tGroupMemberInfo
.
setCreateTime
(
DateUtils
.
getNowDate
());
return
tGroupMemberInfoMapper
.
insertTGroupMemberInfo
(
tGroupMemberInfo
);
}
/**
* 修改组内成员信息
*
* @param tGroupMemberInfo 组内成员信息
* @return 结果
*/
@Override
public
int
updateTGroupMemberInfo
(
TGroupMemberInfo
tGroupMemberInfo
)
{
tGroupMemberInfo
.
setUpdateTime
(
DateUtils
.
getNowDate
());
return
tGroupMemberInfoMapper
.
updateTGroupMemberInfo
(
tGroupMemberInfo
);
}
/**
* 批量删除组内成员信息
*
* @param memberIds 需要删除的组内成员信息ID
* @return 结果
*/
@Override
public
int
deleteTGroupMemberInfoByIds
(
Long
[]
memberIds
)
{
return
tGroupMemberInfoMapper
.
deleteTGroupMemberInfoByIds
(
memberIds
);
}
/**
* 删除组内成员信息信息
*
* @param memberId 组内成员信息ID
* @return 结果
*/
@Override
public
int
deleteTGroupMemberInfoById
(
Long
memberId
)
{
return
tGroupMemberInfoMapper
.
deleteTGroupMemberInfoById
(
memberId
);
}
/**
* 获取人员信息
* @return
*/
@Override
public
List
<
Map
<
String
,
Object
>>
selectMemberInfo
(
Map
<
String
,
Object
>
map
){
return
tGroupMemberInfoMapper
.
selectMemberInfo
(
map
);
}
}
huaxin-system/src/main/java/com/zehong/system/service/impl/TPersonGroupInfoServiceImpl.java
0 → 100644
View file @
3ab6d34f
package
com
.
zehong
.
system
.
service
.
impl
;
import
java.util.Date
;
import
java.util.List
;
import
com.zehong.common.utils.DateUtils
;
import
com.zehong.common.utils.SecurityUtils
;
import
com.zehong.system.domain.TGroupMemberInfo
;
import
com.zehong.system.mapper.TGroupMemberInfoMapper
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
com.zehong.system.mapper.TPersonGroupInfoMapper
;
import
com.zehong.system.domain.TPersonGroupInfo
;
import
com.zehong.system.service.ITPersonGroupInfoService
;
import
org.springframework.transaction.annotation.Transactional
;
import
javax.annotation.Resource
;
/**
* 人员分组信息Service业务层处理
*
* @author zehong
* @date 2025-12-05
*/
@Service
public
class
TPersonGroupInfoServiceImpl
implements
ITPersonGroupInfoService
{
@Resource
private
TPersonGroupInfoMapper
tPersonGroupInfoMapper
;
@Resource
private
TGroupMemberInfoMapper
groupMemberInfoMapper
;
/**
* 查询人员分组信息
*
* @param groupId 人员分组信息ID
* @return 人员分组信息
*/
@Override
public
TPersonGroupInfo
selectTPersonGroupInfoById
(
Long
groupId
)
{
TPersonGroupInfo
groupInfo
=
tPersonGroupInfoMapper
.
selectTPersonGroupInfoById
(
groupId
);
TGroupMemberInfo
tGroupMemberInfo
=
new
TGroupMemberInfo
();
tGroupMemberInfo
.
setGroupId
(
groupId
);
List
<
TGroupMemberInfo
>
memberInfoList
=
groupMemberInfoMapper
.
selectTGroupMemberInfoList
(
tGroupMemberInfo
);
groupInfo
.
setMemberInfoList
(
memberInfoList
);
return
groupInfo
;
}
/**
* 查询人员分组信息列表
*
* @param tPersonGroupInfo 人员分组信息
* @return 人员分组信息
*/
@Override
public
List
<
TPersonGroupInfo
>
selectTPersonGroupInfoList
(
TPersonGroupInfo
tPersonGroupInfo
)
{
return
tPersonGroupInfoMapper
.
selectTPersonGroupInfoList
(
tPersonGroupInfo
);
}
/**
* 新增人员分组信息
*
* @param tPersonGroupInfo 人员分组信息
* @return 结果
*/
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
int
insertTPersonGroupInfo
(
TPersonGroupInfo
tPersonGroupInfo
)
{
tPersonGroupInfo
.
setCreateTime
(
DateUtils
.
getNowDate
());
tPersonGroupInfo
.
setCreateBy
(
SecurityUtils
.
getLoginUser
().
getUser
().
getNickName
());
int
result
=
tPersonGroupInfoMapper
.
insertTPersonGroupInfo
(
tPersonGroupInfo
);
addMemberInfo
(
tPersonGroupInfo
);
return
result
;
}
/**
* 新增组成员
* @param tPersonGroupInfo 组信息
*/
private
void
addMemberInfo
(
TPersonGroupInfo
tPersonGroupInfo
){
for
(
TGroupMemberInfo
memberInfo
:
tPersonGroupInfo
.
getMemberInfoList
()){
memberInfo
.
setGroupId
(
tPersonGroupInfo
.
getGroupId
());
memberInfo
.
setCreateTime
(
new
Date
());
memberInfo
.
setCreateBy
(
SecurityUtils
.
getLoginUser
().
getUser
().
getNickName
());
groupMemberInfoMapper
.
insertTGroupMemberInfo
(
memberInfo
);
}
}
/**
* 修改人员分组信息
*
* @param tPersonGroupInfo 人员分组信息
* @return 结果
*/
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
int
updateTPersonGroupInfo
(
TPersonGroupInfo
tPersonGroupInfo
)
{
tPersonGroupInfo
.
setUpdateTime
(
DateUtils
.
getNowDate
());
tPersonGroupInfo
.
setUpdateBy
(
SecurityUtils
.
getLoginUser
().
getUser
().
getNickName
());
groupMemberInfoMapper
.
deleteTGroupMemberInfoByGroupId
(
tPersonGroupInfo
.
getGroupId
());
addMemberInfo
(
tPersonGroupInfo
);
return
tPersonGroupInfoMapper
.
updateTPersonGroupInfo
(
tPersonGroupInfo
);
}
/**
* 批量删除人员分组信息
*
* @param groupIds 需要删除的人员分组信息ID
* @return 结果
*/
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
int
deleteTPersonGroupInfoByIds
(
Long
[]
groupIds
)
{
for
(
Long
groupId
:
groupIds
){
groupMemberInfoMapper
.
deleteTGroupMemberInfoByGroupId
(
groupId
);
}
return
tPersonGroupInfoMapper
.
deleteTPersonGroupInfoByIds
(
groupIds
);
}
/**
* 删除人员分组信息信息
*
* @param groupId 人员分组信息ID
* @return 结果
*/
@Override
public
int
deleteTPersonGroupInfoById
(
Long
groupId
)
{
return
tPersonGroupInfoMapper
.
deleteTPersonGroupInfoById
(
groupId
);
}
}
huaxin-system/src/main/resources/mapper/system/TGroupMemberInfoMapper.xml
0 → 100644
View file @
3ab6d34f
<?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=
"com.zehong.system.mapper.TGroupMemberInfoMapper"
>
<resultMap
type=
"TGroupMemberInfo"
id=
"TGroupMemberInfoResult"
>
<result
property=
"memberId"
column=
"member_id"
/>
<result
property=
"groupId"
column=
"group_id"
/>
<result
property=
"userId"
column=
"user_id"
/>
<result
property=
"createBy"
column=
"create_by"
/>
<result
property=
"createTime"
column=
"create_time"
/>
<result
property=
"updateBy"
column=
"update_by"
/>
<result
property=
"updateTime"
column=
"update_time"
/>
<result
property=
"isDel"
column=
"is_del"
/>
<result
property=
"remarks"
column=
"remarks"
/>
</resultMap>
<sql
id=
"selectTGroupMemberInfoVo"
>
SELECT
member.member_id,
member.group_id,
member.user_id,
member.create_by,
member.create_time,
member.update_by,
member.update_time,
member.is_del,
member.remarks,
su.nick_name as nickName
FROM
t_group_member_info member
LEFT JOIN sys_user su ON su.user_id = member.user_id
</sql>
<select
id=
"selectTGroupMemberInfoList"
parameterType=
"TGroupMemberInfo"
resultMap=
"TGroupMemberInfoResult"
>
<include
refid=
"selectTGroupMemberInfoVo"
/>
<where>
<if
test=
"groupId != null "
>
and group_id = #{groupId}
</if>
<if
test=
"userId != null "
>
and user_id = #{userId}
</if>
<if
test=
"isDel != null and isDel != ''"
>
and is_del = #{isDel}
</if>
<if
test=
"remarks != null and remarks != ''"
>
and remarks = #{remarks}
</if>
</where>
</select>
<select
id=
"selectTGroupMemberInfoById"
parameterType=
"Long"
resultMap=
"TGroupMemberInfoResult"
>
<include
refid=
"selectTGroupMemberInfoVo"
/>
where member_id = #{memberId}
</select>
<insert
id=
"insertTGroupMemberInfo"
parameterType=
"TGroupMemberInfo"
useGeneratedKeys=
"true"
keyProperty=
"memberId"
>
insert into t_group_member_info
<trim
prefix=
"("
suffix=
")"
suffixOverrides=
","
>
<if
test=
"groupId != null"
>
group_id,
</if>
<if
test=
"userId != null"
>
user_id,
</if>
<if
test=
"createBy != null"
>
create_by,
</if>
<if
test=
"createTime != null"
>
create_time,
</if>
<if
test=
"updateBy != null"
>
update_by,
</if>
<if
test=
"updateTime != null"
>
update_time,
</if>
<if
test=
"isDel != null"
>
is_del,
</if>
<if
test=
"remarks != null"
>
remarks,
</if>
</trim>
<trim
prefix=
"values ("
suffix=
")"
suffixOverrides=
","
>
<if
test=
"groupId != null"
>
#{groupId},
</if>
<if
test=
"userId != null"
>
#{userId},
</if>
<if
test=
"createBy != null"
>
#{createBy},
</if>
<if
test=
"createTime != null"
>
#{createTime},
</if>
<if
test=
"updateBy != null"
>
#{updateBy},
</if>
<if
test=
"updateTime != null"
>
#{updateTime},
</if>
<if
test=
"isDel != null"
>
#{isDel},
</if>
<if
test=
"remarks != null"
>
#{remarks},
</if>
</trim>
</insert>
<update
id=
"updateTGroupMemberInfo"
parameterType=
"TGroupMemberInfo"
>
update t_group_member_info
<trim
prefix=
"SET"
suffixOverrides=
","
>
<if
test=
"groupId != null"
>
group_id = #{groupId},
</if>
<if
test=
"userId != null"
>
user_id = #{userId},
</if>
<if
test=
"createBy != null"
>
create_by = #{createBy},
</if>
<if
test=
"createTime != null"
>
create_time = #{createTime},
</if>
<if
test=
"updateBy != null"
>
update_by = #{updateBy},
</if>
<if
test=
"updateTime != null"
>
update_time = #{updateTime},
</if>
<if
test=
"isDel != null"
>
is_del = #{isDel},
</if>
<if
test=
"remarks != null"
>
remarks = #{remarks},
</if>
</trim>
where member_id = #{memberId}
</update>
<delete
id=
"deleteTGroupMemberInfoById"
parameterType=
"Long"
>
delete from t_group_member_info where member_id = #{memberId}
</delete>
<delete
id=
"deleteTGroupMemberInfoByIds"
parameterType=
"String"
>
delete from t_group_member_info where member_id in
<foreach
item=
"memberId"
collection=
"array"
open=
"("
separator=
","
close=
")"
>
#{memberId}
</foreach>
</delete>
<select
id=
"selectMemberInfo"
parameterType=
"Map"
resultType=
"Map"
>
SELECT
su.user_id as userId,
su.nick_name as nickName,
su.phonenumber,
dept.dept_name as deptName
FROM
sys_user su
LEFT JOIN t_group_member_info member ON member.user_id = su.user_id
LEFT JOIN sys_dept dept ON dept.dept_id = su.dept_id
<where>
<if
test=
"groupId != null"
>
(member.group_id is null or member.group_id = #{groupId})
</if>
<if
test=
"groupId == null"
>
member.group_id is null
</if>
<if
test=
"nickName != null and nickName != ''"
>
and su.nick_name = #{nickName}
</if>
</where>
</select>
<delete
id=
"deleteTGroupMemberInfoByGroupId"
parameterType=
"Long"
>
delete from t_group_member_info where group_id = #{groupId}
</delete>
</mapper>
\ No newline at end of file
huaxin-system/src/main/resources/mapper/system/TPersonGroupInfoMapper.xml
0 → 100644
View file @
3ab6d34f
<?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=
"com.zehong.system.mapper.TPersonGroupInfoMapper"
>
<resultMap
type=
"TPersonGroupInfo"
id=
"TPersonGroupInfoResult"
>
<result
property=
"groupId"
column=
"group_id"
/>
<result
property=
"groupName"
column=
"group_name"
/>
<result
property=
"createBy"
column=
"create_by"
/>
<result
property=
"createTime"
column=
"create_time"
/>
<result
property=
"updateBy"
column=
"update_by"
/>
<result
property=
"updateTime"
column=
"update_time"
/>
<result
property=
"isDel"
column=
"is_del"
/>
<result
property=
"remarks"
column=
"remarks"
/>
</resultMap>
<sql
id=
"selectTPersonGroupInfoVo"
>
SELECT
info.group_id,
info.group_name,
info.create_by,
info.create_time,
info.update_by,
info.update_time,
info.is_del,
info.remarks,
(select GROUP_CONCAT(su.nick_name SEPARATOR '|') from t_group_member_info me,sys_user su where me.group_id = info.group_id and me.user_id = su.user_id)as memberName
FROM
t_person_group_info info
</sql>
<select
id=
"selectTPersonGroupInfoList"
parameterType=
"TPersonGroupInfo"
resultMap=
"TPersonGroupInfoResult"
>
<include
refid=
"selectTPersonGroupInfoVo"
/>
<where>
<if
test=
"groupName != null and groupName != ''"
>
and group_name like concat('%', #{groupName}, '%')
</if>
<if
test=
"isDel != null and isDel != ''"
>
and is_del = #{isDel}
</if>
<if
test=
"remarks != null and remarks != ''"
>
and remarks = #{remarks}
</if>
</where>
</select>
<select
id=
"selectTPersonGroupInfoById"
parameterType=
"Long"
resultMap=
"TPersonGroupInfoResult"
>
<include
refid=
"selectTPersonGroupInfoVo"
/>
where group_id = #{groupId}
</select>
<insert
id=
"insertTPersonGroupInfo"
parameterType=
"TPersonGroupInfo"
useGeneratedKeys=
"true"
keyProperty=
"groupId"
>
insert into t_person_group_info
<trim
prefix=
"("
suffix=
")"
suffixOverrides=
","
>
<if
test=
"groupName != null"
>
group_name,
</if>
<if
test=
"createBy != null"
>
create_by,
</if>
<if
test=
"createTime != null"
>
create_time,
</if>
<if
test=
"updateBy != null"
>
update_by,
</if>
<if
test=
"updateTime != null"
>
update_time,
</if>
<if
test=
"isDel != null"
>
is_del,
</if>
<if
test=
"remarks != null"
>
remarks,
</if>
</trim>
<trim
prefix=
"values ("
suffix=
")"
suffixOverrides=
","
>
<if
test=
"groupName != null"
>
#{groupName},
</if>
<if
test=
"createBy != null"
>
#{createBy},
</if>
<if
test=
"createTime != null"
>
#{createTime},
</if>
<if
test=
"updateBy != null"
>
#{updateBy},
</if>
<if
test=
"updateTime != null"
>
#{updateTime},
</if>
<if
test=
"isDel != null"
>
#{isDel},
</if>
<if
test=
"remarks != null"
>
#{remarks},
</if>
</trim>
</insert>
<update
id=
"updateTPersonGroupInfo"
parameterType=
"TPersonGroupInfo"
>
update t_person_group_info
<trim
prefix=
"SET"
suffixOverrides=
","
>
<if
test=
"groupName != null"
>
group_name = #{groupName},
</if>
<if
test=
"createBy != null"
>
create_by = #{createBy},
</if>
<if
test=
"createTime != null"
>
create_time = #{createTime},
</if>
<if
test=
"updateBy != null"
>
update_by = #{updateBy},
</if>
<if
test=
"updateTime != null"
>
update_time = #{updateTime},
</if>
<if
test=
"isDel != null"
>
is_del = #{isDel},
</if>
<if
test=
"remarks != null"
>
remarks = #{remarks},
</if>
</trim>
where group_id = #{groupId}
</update>
<delete
id=
"deleteTPersonGroupInfoById"
parameterType=
"Long"
>
delete from t_person_group_info where group_id = #{groupId}
</delete>
<delete
id=
"deleteTPersonGroupInfoByIds"
parameterType=
"String"
>
delete from t_person_group_info where group_id in
<foreach
item=
"groupId"
collection=
"array"
open=
"("
separator=
","
close=
")"
>
#{groupId}
</foreach>
</delete>
</mapper>
\ No newline at end of file
huaxin-web/src/api/checktask/groupInfo.js
0 → 100644
View file @
3ab6d34f
import
request
from
'@/utils/request'
// 查询组内成员信息列表
export
function
listInfo
(
query
)
{
return
request
({
url
:
'/group/info/list'
,
method
:
'get'
,
params
:
query
})
}
// 查询组内成员信息详细
export
function
getInfo
(
memberId
)
{
return
request
({
url
:
'/group/info/'
+
memberId
,
method
:
'get'
})
}
// 新增组内成员信息
export
function
addInfo
(
data
)
{
return
request
({
url
:
'/group/info'
,
method
:
'post'
,
data
:
data
})
}
// 修改组内成员信息
export
function
updateInfo
(
data
)
{
return
request
({
url
:
'/group/info'
,
method
:
'put'
,
data
:
data
})
}
// 删除组内成员信息
export
function
delInfo
(
memberId
)
{
return
request
({
url
:
'/group/info/'
+
memberId
,
method
:
'delete'
})
}
// 导出组内成员信息
export
function
exportInfo
(
query
)
{
return
request
({
url
:
'/group/info/export'
,
method
:
'get'
,
params
:
query
})
}
//获取人员信息
export
function
selectMemberInfo
(
data
)
{
return
request
({
url
:
'/group/member/selectMemberInfo'
,
method
:
'post'
,
data
:
data
})
}
huaxin-web/src/views/checktask/group/index.vue
0 → 100644
View file @
3ab6d34f
<
template
>
<div
class=
"app-container"
>
<el-form
:model=
"queryParams"
ref=
"queryForm"
:inline=
"true"
v-show=
"showSearch"
label-width=
"68px"
>
<el-form-item
label=
"组名"
prop=
"groupName"
>
<el-input
v-model=
"queryParams.groupName"
placeholder=
"请输入组名"
clearable
size=
"small"
@
keyup
.
enter
.
native=
"handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
icon=
"el-icon-search"
size=
"mini"
@
click=
"handleQuery"
>
搜索
</el-button>
<el-button
icon=
"el-icon-refresh"
size=
"mini"
@
click=
"resetQuery"
>
重置
</el-button>
</el-form-item>
</el-form>
<el-row
:gutter=
"10"
class=
"mb8"
>
<el-col
:span=
"1.5"
>
<el-button
type=
"primary"
plain
icon=
"el-icon-plus"
size=
"mini"
@
click=
"handleAdd"
v-hasPermi=
"['group:info:add']"
>
新增
</el-button>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"success"
plain
icon=
"el-icon-edit"
size=
"mini"
:disabled=
"single"
@
click=
"handleUpdate"
v-hasPermi=
"['group:info:edit']"
>
修改
</el-button>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"danger"
plain
icon=
"el-icon-delete"
size=
"mini"
:disabled=
"multiple"
@
click=
"handleDelete"
v-hasPermi=
"['group:info:remove']"
>
删除
</el-button>
</el-col>
<!--
<el-col
:span=
"1.5"
>
<el-button
type=
"warning"
plain
icon=
"el-icon-download"
size=
"mini"
:loading=
"exportLoading"
@
click=
"handleExport"
v-hasPermi=
"['group:info:export']"
>
导出
</el-button>
</el-col>
-->
<right-toolbar
:showSearch
.
sync=
"showSearch"
@
queryTable=
"getList"
></right-toolbar>
</el-row>
<el-table
v-loading=
"loading"
:data=
"infoList"
@
selection-change=
"handleSelectionChange"
>
<el-table-column
type=
"selection"
width=
"55"
align=
"center"
/>
<el-table-column
label=
"组名"
align=
"center"
prop=
"groupName"
/>
<el-table-column
label=
"成员"
align=
"center"
prop=
"memberName"
/>
<el-table-column
label=
"创建人"
align=
"center"
prop=
"createBy"
/>
<el-table-column
label=
"创建时间"
align=
"center"
prop=
"createTime"
/>
<el-table-column
label=
"备注"
align=
"center"
prop=
"remarks"
/>
<el-table-column
label=
"操作"
align=
"center"
class-name=
"small-padding fixed-width"
>
<template
slot-scope=
"scope"
>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-edit"
@
click=
"handleUpdate(scope.row)"
v-hasPermi=
"['group:info:edit']"
>
修改
</el-button>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-delete"
@
click=
"handleDelete(scope.row)"
v-hasPermi=
"['group:info:remove']"
>
删除
</el-button>
</
template
>
</el-table-column>
</el-table>
<pagination
v-show=
"total>0"
:total=
"total"
:page
.
sync=
"queryParams.pageNum"
:limit
.
sync=
"queryParams.pageSize"
@
pagination=
"getList"
/>
<!-- 添加或修改人员分组信息对话框 -->
<el-dialog
:title=
"title"
:visible
.
sync=
"open"
width=
"1000px"
append-to-body
destroy-on-close
:close-on-click-modal=
"false"
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"80px"
>
<div
class=
"title"
>
基本信息
</div>
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"组名"
prop=
"groupName"
>
<el-input
v-model=
"form.groupName"
placeholder=
"请输入组名"
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"24"
>
<el-form-item
label=
"备注"
prop=
"remarks"
>
<el-input
type=
"textarea"
v-model=
"form.remarks"
placeholder=
"请输入备注"
/>
</el-form-item>
</el-col>
</el-row>
<div
class=
"title"
>
成员信息
</div>
<el-row
style=
"height: 400px"
>
<el-col
:span=
"24"
style=
"height: 100%"
>
<div
class=
"choice-title"
>
<div
class=
"choice-title-item"
>
待选组员
</div>
<div
class=
"choice-title-item"
>
已选组员
</div>
</div>
<div
class=
"person-choice"
>
<div
class=
"person-choice-left"
>
<div
style=
"padding: 0px 1px 7px 0px;"
>
<el-input
v-model=
"personParam.nickName"
placeholder=
"姓名"
clearable
size=
"small"
style=
"width: 250px;margin-right: 10px"
/>
<el-button
type=
"primary"
size=
"small"
icon=
"el-icon-search"
@
click=
"queryPersonList"
>
搜索
</el-button>
</div>
<el-table
v-loading=
"loading"
:data=
"personList"
ref=
"personTable"
@
select=
"select"
@
select-all=
"selectAll"
>
<el-table-column
type=
"selection"
></el-table-column>
<el-table-column
label=
"姓名"
align=
"center"
prop=
"nickName"
:show-overflow-tooltip=
"true"
/>
<el-table-column
label=
"电话"
align=
"center"
prop=
"phonenumber"
:show-overflow-tooltip=
"true"
/>
<el-table-column
label=
"所在部门"
align=
"center"
prop=
"deptName"
:show-overflow-tooltip=
"true"
/>
</el-table>
</div>
<div
class=
"person-choice-middle"
>
<div>
>>
</div>
</div>
<div
class=
"person-choice-right"
>
<div
class=
"select-box"
>
<div
class=
"person-select"
v-for=
"(person,index) in form.memberInfoList"
>
<el-tooltip
class=
"item"
effect=
"dark"
:content=
"person.nickName"
placement=
"bottom-start"
>
<div
class=
"person-name"
>
{{ person.nickName }}
</div>
</el-tooltip>
<div
class=
"person-delete"
@
click=
"deletePerson(person,index)"
>
X
</div>
</div>
</div>
<div
class=
"bottom-text"
>
已选择{{ form.memberInfoList.length }}人
</div>
</div>
</div>
</el-col>
</el-row>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
click=
"submitForm"
>
确 定
</el-button>
<el-button
@
click=
"cancel"
>
取 消
</el-button>
</div>
</el-dialog>
</div>
</template>
<
script
>
import
{
listInfo
,
getInfo
,
delInfo
,
addInfo
,
updateInfo
,
exportInfo
,
selectMemberInfo
}
from
"@/api/checktask/groupInfo"
;
export
default
{
name
:
"Info"
,
components
:
{
},
data
()
{
return
{
// 遮罩层
loading
:
true
,
// 导出遮罩层
exportLoading
:
false
,
// 选中数组
ids
:
[],
groupNames
:
[],
// 非单个禁用
single
:
true
,
// 非多个禁用
multiple
:
true
,
// 显示搜索条件
showSearch
:
true
,
// 总条数
total
:
0
,
// 人员分组信息表格数据
infoList
:
[],
// 弹出层标题
title
:
""
,
// 是否显示弹出层
open
:
false
,
// 查询参数
queryParams
:
{
pageNum
:
1
,
pageSize
:
10
,
groupName
:
null
,
isDel
:
null
,
remarks
:
null
},
// 表单参数
form
:
{
memberInfoList
:
[],
},
// 表单校验
rules
:
{
groupName
:
[
{
required
:
true
,
message
:
"组名不能为空"
,
trigger
:
"blur"
},
]
},
personParam
:
{
nickName
:
null
,
groupId
:
null
},
personList
:
[],
};
},
created
()
{
this
.
getList
();
},
methods
:
{
/** 查询人员分组信息列表 */
getList
()
{
this
.
loading
=
true
;
listInfo
(
this
.
queryParams
).
then
(
response
=>
{
this
.
infoList
=
response
.
rows
;
this
.
total
=
response
.
total
;
this
.
loading
=
false
;
});
},
// 取消按钮
cancel
()
{
this
.
open
=
false
;
this
.
reset
();
},
// 表单重置
reset
()
{
this
.
form
=
{
groupId
:
null
,
groupName
:
null
,
createBy
:
null
,
createTime
:
null
,
updateBy
:
null
,
updateTime
:
null
,
isDel
:
null
,
remarks
:
null
,
memberInfoList
:
[],
};
this
.
personParam
=
{
nickName
:
null
,
groupId
:
null
},
this
.
resetForm
(
"form"
);
},
/** 搜索按钮操作 */
handleQuery
()
{
this
.
queryParams
.
pageNum
=
1
;
this
.
getList
();
},
/** 重置按钮操作 */
resetQuery
()
{
this
.
resetForm
(
"queryForm"
);
this
.
handleQuery
();
},
// 多选框选中数据
handleSelectionChange
(
selection
)
{
this
.
ids
=
selection
.
map
(
item
=>
item
.
groupId
);
this
.
groupNames
=
selection
.
map
(
item
=>
item
.
groupName
);
this
.
single
=
selection
.
length
!==
1
this
.
multiple
=
!
selection
.
length
},
/** 新增按钮操作 */
handleAdd
()
{
this
.
reset
();
this
.
queryPersonList
();
this
.
open
=
true
;
this
.
title
=
"添加人员分组信息"
;
},
/** 修改按钮操作 */
handleUpdate
(
row
)
{
this
.
reset
();
const
groupId
=
row
.
groupId
||
this
.
ids
getInfo
(
groupId
).
then
(
response
=>
{
this
.
form
=
response
.
data
;
this
.
personParam
.
groupId
=
groupId
;
this
.
queryPersonList
();
this
.
open
=
true
;
this
.
title
=
"修改人员分组信息"
;
});
},
/** 提交按钮 */
submitForm
()
{
this
.
$refs
[
"form"
].
validate
(
valid
=>
{
if
(
valid
)
{
if
(
this
.
validateMemberInfo
())
return
;
if
(
this
.
form
.
groupId
!=
null
)
{
updateInfo
(
this
.
form
).
then
(
response
=>
{
this
.
msgSuccess
(
"修改成功"
);
this
.
open
=
false
;
this
.
getList
();
});
}
else
{
addInfo
(
this
.
form
).
then
(
response
=>
{
this
.
msgSuccess
(
"新增成功"
);
this
.
open
=
false
;
this
.
getList
();
});
}
}
});
},
validateMemberInfo
(){
if
(
this
.
form
.
memberInfoList
.
length
==
0
){
this
.
msgError
(
"成员不能为空!"
);
return
true
;
}
},
/** 删除按钮操作 */
handleDelete
(
row
)
{
const
groupIds
=
row
.
groupId
||
this
.
ids
;
const
groupNames
=
row
.
groupName
||
this
.
groupNames
;
this
.
$confirm
(
'是否确认删除人员分组组名为"'
+
groupNames
+
'"的数据项?'
,
"警告"
,
{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
}).
then
(
function
()
{
return
delInfo
(
groupIds
);
}).
then
(()
=>
{
this
.
getList
();
this
.
msgSuccess
(
"删除成功"
);
}).
catch
(()
=>
{});
},
/** 导出按钮操作 */
handleExport
()
{
const
queryParams
=
this
.
queryParams
;
this
.
$confirm
(
'是否确认导出所有人员分组信息数据项?'
,
"警告"
,
{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
}).
then
(()
=>
{
this
.
exportLoading
=
true
;
return
exportInfo
(
queryParams
);
}).
then
(
response
=>
{
this
.
download
(
response
.
msg
);
this
.
exportLoading
=
false
;
}).
catch
(()
=>
{});
},
//全选
selectAll
(
all
){
//删除所有
if
(
all
.
length
==
0
||
(
all
.
length
==
1
&&
[
0
]
==
undefined
)){
this
.
form
.
memberInfoList
=
[];
}
//全选
if
(
all
.
length
>
0
){
all
.
forEach
((
item
)
=>
{
let
index
=
this
.
form
.
memberInfoList
.
findIndex
(
person
=>
person
.
userId
==
item
.
userId
);
if
(
index
==
-
1
){
let
data
=
{
userId
:
item
.
userId
,
nickName
:
item
.
nickName
,
groupId
:
this
.
form
.
groupId
};
if
(
this
.
form
.
groupId
){
data
.
groupId
=
this
.
form
.
groupId
;
}
this
.
form
.
memberInfoList
.
push
(
data
);
}
})
}
},
//选中
select
(
all
,
row
){
let
index
=
this
.
form
.
memberInfoList
.
findIndex
(
item
=>
item
.
userId
==
row
.
userId
);
if
(
index
>=
0
)
{
this
.
form
.
memberInfoList
.
splice
(
index
,
1
);
}
else
{
let
data
=
{
userId
:
row
.
userId
,
nickName
:
row
.
nickName
,
groupId
:
this
.
form
.
groupId
};
if
(
this
.
form
.
groupId
){
data
.
groupId
=
this
.
form
.
groupId
;
}
this
.
form
.
memberInfoList
.
push
(
data
);
}
},
deletePerson
(
person
,
index
){
this
.
form
.
memberInfoList
.
splice
(
index
,
1
);
let
item
=
this
.
personList
.
find
(
item
=>
item
.
userId
==
person
.
userId
);
this
.
$refs
.
personTable
.
toggleRowSelection
(
item
,
false
);
},
queryPersonList
(){
selectMemberInfo
(
this
.
personParam
).
then
(
res
=>
{
if
(
res
.
code
==
200
){
this
.
personList
=
res
.
data
;
if
(
this
.
form
.
memberInfoList
){
this
.
form
.
memberInfoList
.
forEach
(
item
=>
{
let
person
=
this
.
personList
.
find
(
person
=>
person
.
userId
==
item
.
userId
);
if
(
person
){
this
.
$nextTick
(()
=>
{
this
.
$refs
.
personTable
.
toggleRowSelection
(
person
,
true
);
})
}
})
}
}
})
}
}
};
</
script
>
<
style
lang=
"scss"
scoped
>
.person-choice
{
display
:
flex
;
padding
:
0px
10px
5px
10px
;
height
:
100%
;
}
.choice-title
{
display
:
flex
;
.choice-title-item
{
flex
:
1
;
padding
:
0px
0px
6px
12px
;
font-size
:
13px
;
color
:
#82848a
;
}
}
.person-choice-left
{
border
:
1px
solid
#e5e6eb
;
width
:
48%
;
height
:
100%
;
padding
:
13px
;
overflow-y
:
auto
;
&
:
:-
webkit-scrollbar
{
width
:
3px
;
background
:
#dfe4ed
;
position
:
absolute
;
top
:
0
;
}
&
:
:-
webkit-scrollbar-thumb
{
/*滚动条里面小方块*/
// border-radius: 10px;
// box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2);
background
:
#cccccc
;
border-radius
:
5px
;
}
}
.person-choice-middle
{
height
:
100%
;
width
:
4%
;
align-items
:
center
;
justify-content
:
center
;
display
:
flex
;
color
:
#1890ff
;
}
.person-choice-right
{
border
:
1px
solid
#e5e6eb
;
height
:
100%
;
width
:
48%
;
.select-box
{
padding
:
10px
;
display
:
flex
;
flex-wrap
:
wrap
;
align-content
:
flex-start
;
overflow-y
:
auto
;
height
:
94%
;
width
:
100%
;
&
:
:-
webkit-scrollbar
{
width
:
3px
;
background
:
#dfe4ed
;
position
:
absolute
;
top
:
0
;
}
&
:
:-
webkit-scrollbar-thumb
{
/*滚动条里面小方块*/
// border-radius: 10px;
// box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2);
background
:
#cccccc
;
border-radius
:
5px
;
}
.person-select
{
border
:
1px
solid
#a3d3ff
;
border-radius
:
3px
;
height
:
40px
;
width
:
48%
;
display
:
flex
;
padding
:
5px
;
margin
:
3px
;
color
:
#3d3d3d
;
font-size
:
12px
;
.person-name
{
overflow
:
hidden
;
white-space
:
nowrap
;
text-overflow
:
ellipsis
;
line-height
:
26px
;
width
:
90%
;
text-align
:
center
;
}
.person-delete
{
line-height
:
26px
;
cursor
:
pointer
;
}
}
}
.bottom-text
{
padding
:
8px
5px
0px
0px
;
font-size
:
14px
;
height
:
20px
;
line-height
:
3px
;
text-align
:
right
;
color
:
#1890ff
;
}
}
.title
{
font-size
:
16px
;
font-weight
:
700
;
margin-bottom
:
20px
;
}
</
style
>
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment