iot-gateway_fontend/src/api/bulletin-mgmt.ts
Kven dfd9d165ca refactor(notification): 优化公告编辑组件中的附件处理逻辑
-将 formData 中的 attachments 属性改为 attachmentIds,以更准确地表示附件 ID 列表
- 在编辑公告时,将附件列表转换为附件 ID 列表
- 更新附件上传和删除逻辑,以适应新的附件 ID 列表结构
- 移除 BulletinRecord接口中的 closeTime 属性,简化数据结构
2025-01-18 19:55:31 +08:00

113 lines
2.3 KiB
TypeScript

import axios from 'axios';
export interface BulletinCreateRecord {
title: string;
top: boolean;
content: string;
remark: string;
attachmentIds?: string[];
}
export interface AttachmentRecord {
id: string;
fileName: string;
url: string;
uploadTime?: string;
mimeType?: string;
}
export interface BulletinRecord extends BulletinCreateRecord {
id: number;
createTime: string;
createBy: string;
updateTime: string;
state: string;
editUserId: number;
publishUserId: number;
publishTime: string;
closeUserId: number;
attachments?: AttachmentRecord[];
}
export interface BulletinsRecord {
title?: string;
state?: string[];
publishTimeBegin?: string[];
publishTimeEnd?: string[];
total?: number;
current: number;
size: number;
}
// 查看详情
export function queryBulletinDetail(id: number) {
return axios.get(`/api/rest/bulletin/${id}`);
}
// 分页查询
export function queryBulletinList(data: BulletinsRecord) {
return axios({
url: '/api/rest/bulletin',
method: 'get',
params: data,
});
}
// 添加公告
export function create(data: BulletinCreateRecord) {
return axios.post(`/api/rest/bulletin`, data);
}
// 更新公告
export function update(data: BulletinRecord) {
return axios.patch(`/api/rest/bulletin/${data.id}`, data);
}
// 置顶状态
export function toggle(id: number) {
return axios.patch(`/api/rest/bulletin/${id}/toggle-top`);
}
// 发布编辑
export function publish(data: number[]) {
return axios.patch(`/api/rest/bulletin/publish`, data);
}
// 关闭公告
export function close(id: number) {
return axios.patch(`/api/rest/bulletin/${id}/toggleClose`);
}
// 删除公告
export function remove(id: number) {
return axios.delete(`/api/rest/bulletin/${id}`);
}
// 添加附件
export function addAttachments(data: any) {
return axios({
method: 'post',
url: '/api/rest/attachment',
headers: {
'Content-Type': 'multipart/form-data',
},
data,
})
}
// 获取附件信息
export function addAttachment(id: string) {
return axios.get(`/api/rest/attachment/find/${id}`);
}
// 删除附件
export function deleteAttachment(id: string) {
return axios.delete(`/api/rest/attachment/delete/${id}`);
}
// 获取部门树
export function queryDeptTreeList() {
return axios.get(`/api/deptTree`);
}