mirror of
https://github.com/FatttSnake/Pinnacle-OA.git
synced 2026-04-05 23:11:24 +08:00
add the function of fuzzy query by senderIds had been completed
This commit is contained in:
@@ -109,7 +109,7 @@ export default {
|
||||
type: '',
|
||||
startTime: '',
|
||||
endTime: '',
|
||||
userName: ''
|
||||
userIdList: []
|
||||
}
|
||||
})
|
||||
this.$emit('selectByCond')
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
color: '#fff',
|
||||
'font-size': '20px'
|
||||
}"
|
||||
@filter-change="handleFilterChange"
|
||||
>
|
||||
<el-table-column type="selection" width="55" align="center" />
|
||||
<el-table-column type="index" label="序号" width="75" align="center">
|
||||
@@ -79,9 +80,8 @@
|
||||
prop="sender.username"
|
||||
label="发布者"
|
||||
width="100"
|
||||
column-key="sender.username"
|
||||
:filters="filterSenderName"
|
||||
:filter-method="filterTag"
|
||||
column-key="senderId"
|
||||
:filters="senderList"
|
||||
filter-placement="bottom-end"
|
||||
align="center"
|
||||
>
|
||||
@@ -150,7 +150,6 @@
|
||||
</template>
|
||||
|
||||
<script lang="ts">
|
||||
import _ from 'lodash'
|
||||
import { mapState } from 'pinia'
|
||||
import { useNoticeStore } from '@/store/notice'
|
||||
import { COLOR_TOP, SIZE_ICON_MD, SIZE_ICON_SM } from '@/constants/Common.constants'
|
||||
@@ -170,15 +169,11 @@ export default {
|
||||
'currentPage',
|
||||
'pageSize',
|
||||
'multiDeleteSelection',
|
||||
'search'
|
||||
'search',
|
||||
'senderList'
|
||||
])
|
||||
},
|
||||
emits: ['clearFilter', 'handleDeleteById'],
|
||||
data() {
|
||||
return {
|
||||
filterSenderName: []
|
||||
}
|
||||
},
|
||||
emits: ['handleDeleteById', 'getNoticeSender', 'filterSender'],
|
||||
props: [],
|
||||
methods: {
|
||||
SIZE_ICON_SM() {
|
||||
@@ -203,20 +198,6 @@ export default {
|
||||
return title
|
||||
}
|
||||
},
|
||||
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) {
|
||||
// 获取单元格数据
|
||||
const data = row[column.property]
|
||||
@@ -261,7 +242,7 @@ export default {
|
||||
this.search.type,
|
||||
this.search.startTime,
|
||||
this.search.endTime,
|
||||
this.search.userName
|
||||
this.search.userIdList
|
||||
)
|
||||
},
|
||||
handleCurrentChange(currentPage) {
|
||||
@@ -276,31 +257,21 @@ export default {
|
||||
this.search.type,
|
||||
this.search.startTime,
|
||||
this.search.endTime,
|
||||
this.search.userName
|
||||
this.search.userIdList
|
||||
)
|
||||
},
|
||||
handleFilterChange(filters) {
|
||||
noticeStore.$patch((state) => {
|
||||
state.search.userIdList = filters.senderId
|
||||
})
|
||||
this.$emit('filterSender')
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
noticeStore.selectAllNotice(this.currentPage, this.pageSize, '', '', '', '', '')
|
||||
noticeStore.selectAllNotice(this.currentPage, this.pageSize, '', '', '', '', [])
|
||||
},
|
||||
updated() {
|
||||
this.$refs.tableRef.clearFilter(['sender.username'])
|
||||
this.filterSenderName = []
|
||||
const nameArray = []
|
||||
if (!_.isEmpty(this.selectData)) {
|
||||
for (let i = 0; i < this.selectData.length; i++) {
|
||||
nameArray.push(this.selectData[i].sender.username)
|
||||
}
|
||||
const newArr = nameArray.filter((item, i, arr) => {
|
||||
return arr.indexOf(item) === i
|
||||
})
|
||||
for (let j = 0; j < newArr.length; j++) {
|
||||
const senderName = { text: '', value: '' }
|
||||
senderName.text = newArr[j]
|
||||
senderName.value = newArr[j]
|
||||
this.filterSenderName.push(senderName)
|
||||
}
|
||||
}
|
||||
this.$emit('getNoticeSender')
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
@@ -37,6 +37,8 @@
|
||||
</el-dialog>
|
||||
<notice-manage-table
|
||||
@handleDeleteById="handleDeleteById"
|
||||
@getNoticeSender="getNoticeSender"
|
||||
@filterSender="getLoading"
|
||||
ref="manageTable"
|
||||
></notice-manage-table>
|
||||
</el-main>
|
||||
@@ -92,7 +94,7 @@ export default {
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
''
|
||||
[]
|
||||
)
|
||||
} else if (response.data.code === 20034) {
|
||||
ElMessage({
|
||||
@@ -119,8 +121,9 @@ export default {
|
||||
this.search.type,
|
||||
this.search.startTime,
|
||||
this.search.endTime,
|
||||
this.search.userName
|
||||
this.search.userIdList
|
||||
)
|
||||
// noticeStore.search.userIdList = []
|
||||
},
|
||||
deleteBatchByIds() {
|
||||
const multiDeleteIds = []
|
||||
@@ -147,7 +150,7 @@ export default {
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
''
|
||||
[]
|
||||
)
|
||||
} else if (response.data.code === 20034) {
|
||||
ElMessage({
|
||||
@@ -164,6 +167,20 @@ export default {
|
||||
type: 'warning'
|
||||
})
|
||||
}
|
||||
},
|
||||
getNoticeSender() {
|
||||
const senders = []
|
||||
request.get('/user/notice').then((response) => {
|
||||
for (let i = 0; i < response.data.data.length; i++) {
|
||||
const senderName = { text: '', value: '' }
|
||||
senderName.text = response.data.data[i].username
|
||||
senderName.value = response.data.data[i].id
|
||||
senders.push(senderName)
|
||||
}
|
||||
noticeStore.$patch((state) => {
|
||||
state.senderList = senders
|
||||
})
|
||||
})
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
@@ -175,7 +192,8 @@ export default {
|
||||
'currentPage',
|
||||
'pageSize',
|
||||
'multiDeleteSelection',
|
||||
'search'
|
||||
'search',
|
||||
'senderList'
|
||||
])
|
||||
}
|
||||
}
|
||||
|
||||
@@ -53,7 +53,7 @@ export const useNoticeStore = defineStore('notice', {
|
||||
type: '',
|
||||
startTime: '',
|
||||
endTime: '',
|
||||
userName: ''
|
||||
userIdList: []
|
||||
},
|
||||
selectData: [
|
||||
{
|
||||
@@ -91,6 +91,7 @@ export const useNoticeStore = defineStore('notice', {
|
||||
currentViewPage: 'All',
|
||||
hackReset: true,
|
||||
departmentList: [],
|
||||
senderList: [],
|
||||
multiDeleteSelection: [],
|
||||
noticeShowData: {
|
||||
content: '',
|
||||
@@ -121,14 +122,14 @@ export const useNoticeStore = defineStore('notice', {
|
||||
},
|
||||
getters: {},
|
||||
actions: {
|
||||
async selectAllNotice(
|
||||
selectAllNotice(
|
||||
currentPage: number,
|
||||
pageSize: number,
|
||||
title: string,
|
||||
type: string,
|
||||
startTime: string,
|
||||
endTime: string,
|
||||
userName: string
|
||||
userIdList: []
|
||||
) {
|
||||
void request
|
||||
.get('/notice/page', {
|
||||
@@ -138,7 +139,7 @@ export const useNoticeStore = defineStore('notice', {
|
||||
type,
|
||||
startTime,
|
||||
endTime,
|
||||
userName
|
||||
userIdList: userIdList.toString() + ''
|
||||
})
|
||||
.then((response) => {
|
||||
if (response.data.code === 20021) {
|
||||
@@ -177,8 +178,8 @@ export const useNoticeStore = defineStore('notice', {
|
||||
this.departmentList = response.data.data
|
||||
})
|
||||
},
|
||||
async handleAddNotice(addFormData: IAddNoticeData) {
|
||||
await request.post('/notice', addFormData).then((response) => {
|
||||
handleAddNotice(addFormData: IAddNoticeData) {
|
||||
void request.post('/notice', addFormData).then((response) => {
|
||||
if (response.data.code === 20022) {
|
||||
this.dialogAddVisible = false
|
||||
ElMessage({
|
||||
@@ -192,10 +193,10 @@ export const useNoticeStore = defineStore('notice', {
|
||||
})
|
||||
}
|
||||
})
|
||||
await this.selectAllNotice(1, 5, '', '', '', '', '')
|
||||
this.selectAllNotice(1, 5, '', '', '', '', [])
|
||||
},
|
||||
async handleUpdateNotice(updateNotice: IAddNoticeData) {
|
||||
await request.put('/notice', updateNotice).then((response) => {
|
||||
handleUpdateNotice(updateNotice: IAddNoticeData) {
|
||||
void request.put('/notice', updateNotice).then((response) => {
|
||||
if (response.data.code === 20023) {
|
||||
this.dialogEditVisible = false
|
||||
this.editFlag = false
|
||||
@@ -210,7 +211,7 @@ export const useNoticeStore = defineStore('notice', {
|
||||
})
|
||||
}
|
||||
})
|
||||
await this.selectAllNotice(1, 5, '', '', '', '', '')
|
||||
this.selectAllNotice(1, 5, '', '', '', '', [])
|
||||
this.hackReset = false
|
||||
},
|
||||
async modifyNoticeIsRead(notice: INotice) {
|
||||
|
||||
Reference in New Issue
Block a user