接口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);
})

 

posted @ 2024-06-25 09:14  Shimily  阅读(32)  评论(0)    收藏  举报