48 lines
1.4 KiB
JavaScript
48 lines
1.4 KiB
JavaScript
import { defineStore } from 'pinia'
|
|
import { getNotificationList } from '../api/notification'
|
|
|
|
export const useNotificationStore = defineStore('notification', {
|
|
state() {
|
|
return {
|
|
// 通知列表
|
|
notificationList: [],
|
|
// 通知总数
|
|
notificationTotal: 0,
|
|
// 通知列表搜索数据
|
|
notificationSearch: {
|
|
pageNo: 1,
|
|
pageSize: 50,
|
|
},
|
|
}
|
|
},
|
|
actions: {
|
|
// 删除通知列表某一项数据
|
|
deleteNotificationItem (index) {
|
|
this.notificationList.splice(index, 1)
|
|
},
|
|
// 更新某一项通知列表数据
|
|
updateNotificationItem (index, params) {
|
|
this.notificationList[index] = { ...this.notificationList[index], ...params }
|
|
},
|
|
// 更新通知列表搜索数据
|
|
updateNotificationSearch (params) {
|
|
this.notificationSearch = { ...this.notificationSearch, ...params }
|
|
},
|
|
// 获取通知列表
|
|
async getNotificationList (params) {
|
|
const { code, data, message } = await getNotificationList({ pageNo: params.pageNo, pageSize: params.pageSize })
|
|
if(code === 0) {
|
|
this.notificationTotal = data.total
|
|
if(params.pageNo === 1) {
|
|
this.notificationList = data.list
|
|
} else {
|
|
this.notificationList = this.notificationList.concat(data.list)
|
|
}
|
|
return { code }
|
|
} else {
|
|
return { code, message }
|
|
}
|
|
},
|
|
}
|
|
})
|