接口api定义和请求拦截器request.ts
E:\shimily\project\gench.projectmanage\gench.projectmanage.pc\src\util\request.ts
import axios from "axios"; import { notification } from 'ant-design-vue'; //创建axios实例 const request = axios.create(); // 添加请求拦截器 request.interceptors.request.use( function (config) { // 在发送请求之前做些什么 return config; }, function (error) { // 对请求错误做些什么 return Promise.reject(error); } ); // 添加响应拦截器 request.interceptors.response.use( function (response) { // 2xx 范围内的状态码都会触发该函数。 // 对响应数据做点什么 if (response.data.error) { notification.open({ message: '错误信息提示', description: response.data.error.displayInfo, duration: 0, }); } return response; }, function (error) { // 超出 2xx 范围的状态码都会触发该函数。 // 对响应错误做点什么 // ElMessage({ // type: "error", // message: error.message, // grouping: true, // }); return Promise.reject(error); } ); export default request;
接口api定义:引入../util/request
E:\shimily\project\gench.projectmanage\gench.projectmanage.pc\src\api\projectRequest.ts
import axiosInstance from "../util/request"; import qs from "qs"; //并发请求 export const allRequest = (arryRequest: any) => { return Promise.all(arryRequest); }; /**************************项目接口***************************/ //DeleteProject(Guid workPlanId) //GetProject(Guid id) export const GetProjectsForSelect = (id,filterStr) => { return axiosInstance.get("PM/GetProjectsForSelect", { params: { workPlanId: id, filterStr:filterStr||'' }, }); }; //SaveProject(Project dto) export const SaveModule = (data: any) => { return axiosInstance.post("PM/SaveModule", qs.stringify(data)); }; // export const GetCharges = () => { return axiosInstance.get("PM/GetCharges"); }; //获取参与人 export const GetChargesByObjectId = (id) => { return axiosInstance.get("PM/GetChargesByObjectId", { params: { objectId: id, }, }); }; //SaveProject(Project dto) export const SaveProject = (data: any) => { return axiosInstance.post("PM/SaveProject", qs.stringify(data)); }; // GetProjects(int pageNum, int pageSize, Guid? workPlanId = null, string? name = "", Enums.状态类型? status = null) export const GetProjects = (data) => { return axiosInstance.get("PM/GetProjects", { params: { ...data, }, }); }; //GetProject(Guid id) export const GetProject = (id) => { return axiosInstance.get("PM/GetProject", { params: { id: id, }, }); }; //DeleteProject(Guid id) export const DeleteProject = (id) => { return axiosInstance.post("PM/DeleteProject?id=" + id); }; // 获取周 /PM/GetWeekOfYear start end export const GetWeekOfYear = (data) => { return axiosInstance.get("PM/GetWeekOfYear", { params: { ...data, }, }); }; // 获取项目进度列表 /PM/GetProjectProgresses // int pageNum, int pageSize, Guid? projectId = null, int? year = null, int? week = null export const GetProjectProgresses = (data) => { return axiosInstance.get("PM/GetProjectProgresses", { params: { ...data, }, }); }; // 保存项目进度 /PM/SaveProjectProgress export const SaveProjectProgress = (data) => { return axiosInstance.post("PM/SaveProjectProgress", qs.stringify(data)); }; // 删除项目进度 /PM/DeleteProjectProgress export const DeleteProjectProgress = (id) => { return axiosInstance.post("PM/DeleteProjectProgress?id=" + id); }; //项目工时统计 export const GetUserManHours = (data) => { return axiosInstance.get("PM/GetUserManHours", { params: { ...data, }, }) }
页面中使用aip
E:\shimily\project\gench.projectmanage\gench.projectmanage.pc\src\views\projects.vue
import { GetProjectsForSelect } from '../api/projectRequest'
const workPlanId: any = ref('')
const getProjectList = (id) => {
let queryId = id || route.query.id;
let filterStr = workPlanTagName.value || '';
dataLoading.value = true;
GetProjectsForSelect(queryId, filterStr).then(res => {
projectList.value = res.data.results;
}).finally(() => {
dataLoading.value = false;
});
}
onMounted(() => {
getProjectList(workPlanId.value);
})
给心灵一个纯净空间,让思想,情感,飞扬!