assistant-todo/src/app/lib/task/project/data.tsx

199 lines
5.8 KiB
TypeScript
Raw Normal View History

2024-04-12 06:43:55 -04:00
import {unstable_noStore as noStore} from 'next/cache';
import axios, {AxiosResponse} from "axios";
2024-04-16 04:11:21 -04:00
import {DataType, DictType, ResponseVO, ResultPage} from "@/app/lib/definitions";
2024-04-12 06:43:55 -04:00
2024-04-16 04:11:21 -04:00
export async function taskTreeResult(): Promise<ResponseVO<ResultPage<DataType>>> {
2024-04-12 06:43:55 -04:00
noStore();
try {
// 使用 Axios 发送 POST 请求获取数据
const response: AxiosResponse<ResponseVO<ResultPage<DataType>>> = await axios.post('http://localhost:8090/task/tree', {
pageSize: 10,
pageNumber: 1
});
// 从响应中提取数据并返回
return response.data;
} catch (error) {
// 处理错误
console.error('Error fetching data:', error);
// 返回一个默认值或者抛出错误
throw new Error('Failed to fetch data');
}
}
2024-04-16 04:11:21 -04:00
export async function getTask(id:number): Promise<ResponseVO<DataType>> {
noStore();
try {
// 使用 Axios 发送 GET 请求获取数据
const response: AxiosResponse<ResponseVO<DataType>> = await axios.get('http://localhost:8090/task/'+id);
// 从响应中提取数据并返回
return response.data;
} catch (error) {
// 处理错误
console.error('Error fetching data:', error);
// 返回一个默认值或者抛出错误
throw new Error('Failed to fetch data');
}
}
export async function addTask(task:DataType): Promise<ResponseVO<string>> {
noStore();
try {
// 使用 Axios 发送 POST 请求添加数据
const response: AxiosResponse<ResponseVO<string>> = await axios.post('http://localhost:8090/task', task);
// 从响应中提取数据并返回
return response.data;
} catch (error) {
// 处理错误
console.error('Error fetching data:', error);
// 返回一个默认值或者抛出错误
throw new Error('Failed to fetch data');
}
}
export async function updateTask(task:DataType): Promise<ResponseVO<string>> {
noStore();
try {
// 使用 Axios 发送 PUT 请求修改数据
const response: AxiosResponse<ResponseVO<string>> = await axios.put('http://localhost:8090/task', task);
// 从响应中提取数据并返回
return response.data;
} catch (error) {
// 处理错误
console.error('Error fetching data:', error);
// 返回一个默认值或者抛出错误
throw new Error('Failed to fetch data');
}
}
export async function deleteTask(id:number): Promise<ResponseVO<string>> {
noStore();
try {
// 使用 Axios 发送 DELETE 删除数据
const response: AxiosResponse<ResponseVO<string>> = await axios.delete('http://localhost:8090/task/'+id);
// 从响应中提取数据并返回
return response.data;
} catch (error) {
// 处理错误
console.error('Error fetching data:', error);
// 返回一个默认值或者抛出错误
throw new Error('Failed to fetch data');
}
}
export async function editState(id:number,state:number): Promise<ResponseVO<string>> {
noStore();
try {
// 使用 Axios 发送 DELETE 删除数据
const response: AxiosResponse<ResponseVO<string>> = await axios.patch('http://localhost:8090/task/'+id);
// 从响应中提取数据并返回
return response.data;
} catch (error) {
// 处理错误
console.error('Error fetching data:', error);
// 返回一个默认值或者抛出错误
throw new Error('Failed to fetch data');
}
}
export async function editPriority(id:number,priority:number): Promise<ResponseVO<string>> {
noStore();
try {
// 使用 Axios 发送 DELETE 删除数据
const response: AxiosResponse<ResponseVO<string>> = await axios.patch('http://localhost:8090/task/'+id);
// 从响应中提取数据并返回
return response.data;
} catch (error) {
// 处理错误
console.error('Error fetching data:', error);
// 返回一个默认值或者抛出错误
throw new Error('Failed to fetch data');
}
}
//0重要紧急红色1,重要不紧急黄色2不重要紧急灰色3不重要不紧急绿色
export const taskPriorityList: DictType[] = [
{
id: 0,
code: '0',
name: '重要紧急',
order: 0,
color: 'red'
}, {
id: 1,
code: '1',
name: '重要不紧急',
order: 1,
color: 'yellow'
}, {
id: 2,
code: '2',
name: '不重要紧急',
order: 2,
color: 'gary'
}, {
id: 3,
code: '3',
name: '不重要不紧急',
order: 3,
color: 'green'
}
]
// 0,暂存1,提交2审核3通过4拒绝5排期中6进行中7完成8bug修复9修复完成10确认11,上线运行
export const taskStateList: DictType[] = [
{
id: 0,
code: '0',
name: '暂存',
order: 1,
color: 'red'
}, {
id: 1,
code: '1',
name: '提交',
order: 1,
color: 'red'
}, {
id: 2,
code: '2',
name: '审核',
order: 2,
color: 'red'
}, {
id: 3,
code: '3',
name: '通过',
order: 3,
color: 'red'
}, {
id: 4,
code: '4',
name: '拒绝',
order: 4,
color: 'red'
}, {
id: 5,
code: '5',
name: '排期中',
order: 5,
color: 'red'
}, {
id: 6,
code: '6',
name: '排期中',
order: 6,
color: 'red'
}, {
id: 7,
code: '7',
name: '完成',
order: 7,
color: 'red'
}
]
export enum OPERATION_BUTTON_TYPE {
DETAIL,
ADD_CHILD,
UPDATE,
DELETE,
COMPLETE,
SHOW_FOUR
}