mirror of
https://github.com/FatttSnake/Pinnacle-OA.git
synced 2026-04-06 07:21:24 +08:00
add the function of fuzzy query item
This commit is contained in:
@@ -39,15 +39,15 @@ public class NoticeController {
|
||||
//分页查询所有公告或分页模糊查询
|
||||
@GetMapping("/page")
|
||||
@PreAuthorize("hasAuthority('notice:manage:get')")
|
||||
public ResponseResult<List<Notice>> selectPageNotice(Integer currentPage, Integer pageSize, String title, String type, String startTime, String endTime) {
|
||||
Page<Notice> noticePage = null;
|
||||
public ResponseResult<List<Notice>> selectPageNotice(Integer currentPage, Integer pageSize, String title, String type, String startTime, String endTime,String userName) {
|
||||
Page<Notice> noticePage;
|
||||
if (null != currentPage && null != pageSize) {
|
||||
noticePage = PageDTO.of(currentPage, pageSize);
|
||||
} else {
|
||||
// 不进行分页
|
||||
noticePage = PageDTO.of(1, -1);
|
||||
}
|
||||
IPage<Notice> noticeIPage = noticeService.selectPageNotice(noticePage, title.trim(), type.trim(), startTime.trim(), endTime.trim());
|
||||
IPage<Notice> noticeIPage = noticeService.selectPageNotice(noticePage, title.trim(), type.trim(), startTime.trim(), endTime.trim(),userName.trim());
|
||||
int code = noticeIPage.getRecords() != null ? ResponseCode.DATABASE_SELECT_OK : ResponseCode.DATABASE_SELECT_ERROR;
|
||||
String msg = noticeIPage.getRecords() != null ? String.valueOf(noticeIPage.getTotal()) : "数据查询失败,请重试!";
|
||||
return ResponseResult.build(code, msg, noticeIPage.getRecords());
|
||||
|
||||
@@ -20,5 +20,6 @@ import java.util.List;
|
||||
public interface NoticeMapper extends BaseMapper<Notice> {
|
||||
Notice selectByNoticeId(Long nid);
|
||||
|
||||
IPage<Notice> selectPageNotice(IPage<?> page, String title, String type, LocalDateTime startTime, LocalDateTime endTime);
|
||||
IPage<Notice> selectPageNotice(IPage<?> page, String title, String type, LocalDateTime startTime, LocalDateTime endTime,String userName);
|
||||
|
||||
}
|
||||
|
||||
@@ -27,5 +27,5 @@ public interface INoticeService extends IService<Notice> {
|
||||
|
||||
Boolean addNotice(Notice notice);
|
||||
|
||||
IPage<Notice> selectPageNotice(IPage<Notice> page, String title, String type, String startTime, String endTime);
|
||||
IPage<Notice> selectPageNotice(IPage<Notice> page, String title, String type, String startTime, String endTime,String userName);
|
||||
}
|
||||
|
||||
@@ -44,13 +44,13 @@ public class NoticeServiceImpl extends ServiceImpl<NoticeMapper, Notice> impleme
|
||||
}
|
||||
|
||||
@Override
|
||||
public IPage<Notice> selectPageNotice(IPage<Notice> page, String title, String type, String startTime, String endTime) {
|
||||
public IPage<Notice> selectPageNotice(IPage<Notice> page, String title, String type, String startTime, String endTime,String userName) {
|
||||
LocalDateTime start=null,end=null;
|
||||
if (startTime!=""&&endTime!=""){
|
||||
start= LocalDateTime.parse(startTime, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
|
||||
end = LocalDateTime.parse(endTime, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
|
||||
}
|
||||
return noticeMapper.selectPageNotice(page, title, type, start, end);
|
||||
return noticeMapper.selectPageNotice(page, title, type, start, end,userName);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -42,16 +42,19 @@
|
||||
left join t_user u on n.sender_id = u.id
|
||||
<where>
|
||||
<if test="null!=title and title!=''">
|
||||
and instr(title,#{title})>0
|
||||
and instr(n.title,#{title})>0
|
||||
</if>
|
||||
<if test="null!=type and type!=''">
|
||||
and instr(type.name,#{type})>0
|
||||
</if>
|
||||
<if test="null!=startTime">
|
||||
and send_time >= #{startTime}
|
||||
and n.send_time >= #{startTime}
|
||||
</if>
|
||||
<if test="null !=endTime">
|
||||
and end_time < #{endTime}
|
||||
and n.end_time < #{endTime}
|
||||
</if>
|
||||
<if test="null!=userName and userName!=''">
|
||||
and u.username = #{userName}
|
||||
</if>
|
||||
and n.deleted = 0
|
||||
and n.old = 0
|
||||
|
||||
@@ -108,9 +108,11 @@ export default {
|
||||
title: '',
|
||||
type: '',
|
||||
startTime: '',
|
||||
endTime: ''
|
||||
endTime: '',
|
||||
userName: ''
|
||||
}
|
||||
})
|
||||
this.$emit('selectByCond')
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
|
||||
@@ -77,7 +77,7 @@
|
||||
/>
|
||||
<el-table-column
|
||||
prop="sender.username"
|
||||
label="发布人"
|
||||
label="发布者"
|
||||
width="100"
|
||||
column-key="sender.username"
|
||||
:filters="filterSenderName"
|
||||
@@ -196,10 +196,6 @@ export default {
|
||||
state.multiDeleteSelection = val
|
||||
})
|
||||
},
|
||||
clearFilter() {
|
||||
this.$refs.tableRef.clearFilter(['senderName'])
|
||||
this.$emit('clearFilter')
|
||||
},
|
||||
formatterTitle(title) {
|
||||
if (title.length > 10) {
|
||||
return title.substring(0, 10) + ' ...'
|
||||
@@ -207,8 +203,19 @@ export default {
|
||||
return title
|
||||
}
|
||||
},
|
||||
filterTag(value, row) {
|
||||
return row.sender.username === value
|
||||
filterTag(value) {
|
||||
noticeStore.$patch((state) => {
|
||||
state.search.userName = value
|
||||
})
|
||||
noticeStore.selectAllNotice(
|
||||
this.currentPage,
|
||||
this.pageSize,
|
||||
this.search.title,
|
||||
this.search.type,
|
||||
this.search.startTime,
|
||||
this.search.endTime,
|
||||
this.search.userName
|
||||
)
|
||||
},
|
||||
formatDate(row, column) {
|
||||
// 获取单元格数据
|
||||
@@ -253,7 +260,8 @@ export default {
|
||||
this.search.title,
|
||||
this.search.type,
|
||||
this.search.startTime,
|
||||
this.search.endTime
|
||||
this.search.endTime,
|
||||
this.search.userName
|
||||
)
|
||||
},
|
||||
handleCurrentChange(currentPage) {
|
||||
@@ -267,12 +275,13 @@ export default {
|
||||
this.search.title,
|
||||
this.search.type,
|
||||
this.search.startTime,
|
||||
this.search.endTime
|
||||
this.search.endTime,
|
||||
this.search.userName
|
||||
)
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
noticeStore.selectAllNotice(this.currentPage, this.pageSize, '', '', '', '')
|
||||
noticeStore.selectAllNotice(this.currentPage, this.pageSize, '', '', '', '', '')
|
||||
},
|
||||
updated() {
|
||||
this.$refs.tableRef.clearFilter(['sender.username'])
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<el-container>
|
||||
<el-header>
|
||||
<notice-head @selectByCond="selectByCond"></notice-head>
|
||||
<notice-head @selectByCond="getLoading"></notice-head>
|
||||
</el-header>
|
||||
<el-main>
|
||||
<el-button
|
||||
@@ -63,16 +63,6 @@ export default {
|
||||
SIZE_ICON_MD() {
|
||||
return SIZE_ICON_MD
|
||||
},
|
||||
selectByCond() {
|
||||
noticeStore.selectAllNotice(
|
||||
this.currentPage,
|
||||
this.pageSize,
|
||||
this.search.title,
|
||||
this.search.type,
|
||||
this.search.startTime,
|
||||
this.search.endTime
|
||||
)
|
||||
},
|
||||
handleDialogClose() {
|
||||
noticeStore.$patch((state) => {
|
||||
state.dialogEditVisible = false
|
||||
@@ -101,6 +91,7 @@ export default {
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
''
|
||||
)
|
||||
} else if (response.data.code === 20034) {
|
||||
@@ -127,7 +118,8 @@ export default {
|
||||
this.search.title,
|
||||
this.search.type,
|
||||
this.search.startTime,
|
||||
this.search.endTime
|
||||
this.search.endTime,
|
||||
this.search.userName
|
||||
)
|
||||
},
|
||||
deleteBatchByIds() {
|
||||
@@ -154,6 +146,7 @@ export default {
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
''
|
||||
)
|
||||
} else if (response.data.code === 20034) {
|
||||
|
||||
@@ -52,7 +52,8 @@ export const useNoticeStore = defineStore('notice', {
|
||||
title: '',
|
||||
type: '',
|
||||
startTime: '',
|
||||
endTime: ''
|
||||
endTime: '',
|
||||
userName: ''
|
||||
},
|
||||
selectData: [
|
||||
{
|
||||
@@ -126,7 +127,8 @@ export const useNoticeStore = defineStore('notice', {
|
||||
title: string,
|
||||
type: string,
|
||||
startTime: string,
|
||||
endTime: string
|
||||
endTime: string,
|
||||
userName: string
|
||||
) {
|
||||
void request
|
||||
.get('/notice/page', {
|
||||
@@ -135,15 +137,14 @@ export const useNoticeStore = defineStore('notice', {
|
||||
title,
|
||||
type,
|
||||
startTime,
|
||||
endTime
|
||||
endTime,
|
||||
userName
|
||||
})
|
||||
.then((response) => {
|
||||
if (response.data.code === 20021) {
|
||||
this.selectData = response.data.data
|
||||
this.total = parseInt(response.data.msg)
|
||||
if (this.selectData.length !== 0) {
|
||||
this.loading = false
|
||||
}
|
||||
} else {
|
||||
this.loading = false
|
||||
ElMessage({
|
||||
@@ -191,7 +192,7 @@ export const useNoticeStore = defineStore('notice', {
|
||||
})
|
||||
}
|
||||
})
|
||||
await this.selectAllNotice(1, 5, '', '', '', '')
|
||||
await this.selectAllNotice(1, 5, '', '', '', '', '')
|
||||
},
|
||||
async handleUpdateNotice(updateNotice: IAddNoticeData) {
|
||||
await request.put('/notice', updateNotice).then((response) => {
|
||||
@@ -209,7 +210,7 @@ export const useNoticeStore = defineStore('notice', {
|
||||
})
|
||||
}
|
||||
})
|
||||
await this.selectAllNotice(1, 5, '', '', '', '')
|
||||
await this.selectAllNotice(1, 5, '', '', '', '', '')
|
||||
this.hackReset = false
|
||||
},
|
||||
async modifyNoticeIsRead(notice: INotice) {
|
||||
|
||||
Reference in New Issue
Block a user