2 天以前 93275f2ff4134a98bf72e72da843ff709657332c
src/api/viewIndex.js
@@ -1,12 +1,21 @@
// 首页接口
import request from "@/utils/request";
//  工单执行效率分析
export const workOrderEfficiencyAnalysis = (query) => {
//  工序数据生产统计明细
export const processDataProductionStatistics = (params) => {
  return request({
    url: "/home/workOrderEfficiencyAnalysis",
    url: "/home/processDataProductionStatistics",
    method: "get",
    params: query,
    params,
  });
};
//  质量统计
export const qualityInspectionStatistics = (params) => {
  return request({
    url: "/home/qualityInspectionStatistics",
    method: "get",
    params,
  });
};
@@ -91,13 +100,24 @@
    method: "get",
  });
};
// 质检分析
export const qualityStatistics = () => {
// 质检分析(可传 dateType: 1周 2月 3季度)
export const qualityStatistics = (params) => {
  return request({
    url: "/home/qualityStatistics",
    method: "get",
    params,
  });
};
// 工单执行效率分析(dateType: 1周 2月 3季度)
export const workOrderEfficiencyAnalysis = (params) => {
  return request({
    url: "/home/workOrderEfficiencyAnalysis",
    method: "get",
    params,
  });
};
// 生产核算分析
export const productionAccountingAnalysis = (query) => {
  return request({
@@ -135,6 +155,14 @@
export const getProgressStatistics = () => {
  return request({
    url: "/home/progressStatistics",
    method: "get",
  });
};
// 订单数量统计(生产订单数、已完成订单数、待生产订单数)
export const orderCount = () => {
  return request({
    url: "/home/orderCount",
    method: "get",
  });
};
@@ -207,6 +235,15 @@
  });
};
// 工序产出分析(dateType: 1周 2月 3季度)
export const processOutputAnalysis = (params) => {
  return request({
    url: "/home/processOutputAnalysis",
    method: "get",
    params,
  });
};
// 原材料采购金额占比
export const rawMaterialPurchaseAmountRatio = () => {
  return request({
@@ -236,6 +273,15 @@
export const productInOutAnalysis = (params) => {
  return request({
    url: "/home/productInOutAnalysis",
    method: "get",
    params,
  });
};
// 投入产出分析
export const inputOutputAnalysis = (params) => {
  return request({
    url: "/home/inputOutputAnalysis",
    method: "get",
    params,
  });
@@ -280,3 +326,72 @@
    method: "get",
  });
};
export const productionOverview = () => {
  return request({
    url: "/home/productionOverview",
    method: "get",
    headers: {
      handleAuthError: false,
    },
  });
};
export const productionRealtimeBoard = () => {
  return request({
    url: "/home/productionRealtimeBoard",
    method: "get",
    headers: {
      handleAuthError: false,
    },
  });
};
const HOME_PROGRESS_STATUS_LIST = ["all", "waiting", "inProgress", "completed", "paused", "1", "2", "3", "4"];
const HOME_PROGRESS_TAB_LIST = ["all", "inProgress", "completed", "paused"];
const HOME_DATE_PATTERN = /^\d{4}-\d{2}-\d{2}$/;
const normalizeDateParam = (value) => {
  const dateText = typeof value === "string" ? value.trim() : "";
  return HOME_DATE_PATTERN.test(dateText) ? dateText : undefined;
};
export const productionOrderProgress = (params = {}) => {
  const safePageNum = Math.max(1, Number(params.pageNum || 1));
  const safePageSize = Math.min(50, Math.max(1, Number(params.pageSize || 10)));
  const rawStatus = String(params.status ?? "").trim();
  const safeStatus = HOME_PROGRESS_STATUS_LIST.includes(rawStatus) ? rawStatus : undefined;
  const safeTab = HOME_PROGRESS_TAB_LIST.includes(params.tab) ? params.tab : "all";
  const normalizedTab = safeStatus && HOME_PROGRESS_TAB_LIST.includes(safeStatus) ? safeStatus : safeTab;
  return request({
    url: "/home/productionOrderProgress",
    method: "get",
    params: {
      ...params,
      status: safeStatus,
      tab: normalizedTab,
      bizDate: normalizeDateParam(params.bizDate),
      pageNum: safePageNum,
      pageSize: safePageSize,
    },
    headers: {
      handleAuthError: false,
    },
  });
};
export const todayProductionPlan = (params = {}) => {
  const safeLimit = Math.min(20, Math.max(1, Number(params.limit || 4)));
  return request({
    url: "/home/todayProductionPlan",
    method: "get",
    params: {
      ...params,
      limit: safeLimit,
      planDate: normalizeDateParam(params.planDate),
    },
    headers: {
      handleAuthError: false,
    },
  });
};