diff --git a/src/api/mes/prodReport/index.ts b/src/api/mes/prodReport/index.ts index 244cc32..512edb2 100644 --- a/src/api/mes/prodReport/index.ts +++ b/src/api/mes/prodReport/index.ts @@ -3,8 +3,6 @@ import { AxiosPromise } from 'axios'; /** * 生产计划完成率报表 - * @param query - * @returns {*} */ export const listPlanCompletionRateReport = (query): AxiosPromise<[]> => { return request({ @@ -16,8 +14,6 @@ export const listPlanCompletionRateReport = (query): AxiosPromise<[]> => { /** * 生产计划完成率对比报表 - * @param query - * @returns {*} */ export const listPlanCompletionContrastReport = (query): AxiosPromise<[]> => { return request({ @@ -26,3 +22,113 @@ export const listPlanCompletionContrastReport = (query): AxiosPromise<[]> => { params: query }); }; + +// 大屏设计-生产计划完成率 +export const designPlanCompletionRate = (query): AxiosPromise<[]> => { + return request({ + url: '/mes/prodReport/designPlanCompletionRate', + method: 'get', + params: query + }); +}; + +// 大屏设计-日产量信息 +export const designDailyOutputInformation = (query): AxiosPromise<[]> => { + return request({ + url: '/mes/prodReport/designDailyOutputInformation', + method: 'get', + params: query + }); +}; + +/** + * 报工工时数据报表(分页) + */ +export const listWorkHourReport = (query): AxiosPromise<[]> => { + return request({ + url: '/mes/prodReport/workHourReport', + method: 'get', + params: query + }); +}; + +/** + * 报工工时数据报表(导出) + */ +export const exportWorkHourReport = (query) => { + return request({ + url: '/mes/prodReport/workHourReport/export', + method: 'post', + params: query, + responseType: 'blob' + }); +}; + +/** + * 班组作业情况报表(分页) + */ +export const listTeamWorkReport = (query): AxiosPromise<[]> => { + return request({ + url: '/mes/prodReport/teamWorkReport', + method: 'get', + params: query + }); +}; + +/** + * 班组作业情况报表(导出) + */ +export const exportTeamWorkReport = (query) => { + return request({ + url: '/mes/prodReport/teamWorkReport/export', + method: 'post', + params: query, + responseType: 'blob' + }); +}; + +/** + * 在制品跟踪报表(分页) + */ +export const listWipTrackingReport = (query): AxiosPromise<[]> => { + return request({ + url: '/mes/prodReport/wipTrackingReport', + method: 'get', + params: query + }); +}; + +/** + * 在制品跟踪报表(导出) + */ +export const exportWipTrackingReport = (query) => { + return request({ + url: '/mes/prodReport/wipTrackingReport/export', + method: 'post', + params: query, + responseType: 'blob' + }); +}; + +/** + * 设备产量统计报表 + */ +export const yieldSummaryByMachine = (query): AxiosPromise<[]> => { + return request({ + url: '/mes/prodReport/yieldSummaryByMachine', + method: 'get', + params: query + }); +}; + + +/** + * 设备产量统计报表 + */ +export const yieldTrendByDate = (query): AxiosPromise<[]> => { + return request({ + url: '/mes/prodReport/yieldTrendByDate', + method: 'get', + params: query + }); +}; diff --git a/src/api/mes/wipTrackingReport/index.ts b/src/api/mes/wipTrackingReport/index.ts new file mode 100644 index 0000000..01b1076 --- /dev/null +++ b/src/api/mes/wipTrackingReport/index.ts @@ -0,0 +1,26 @@ +import request from '@/utils/request'; +import { AxiosPromise } from 'axios'; +import { WipTrackingReportVO, WipTrackingReportQuery } from './types'; + +/** + * 在制品跟踪报表(分页) + */ +export const listWipTrackingReport = (query: WipTrackingReportQuery): AxiosPromise => { + return request({ + url: '/mes/prodReport/wipTrackingReport', + method: 'get', + params: query + }); +}; + +/** + * 在制品跟踪报表(导出) + */ +export const exportWipTrackingReport = (query: WipTrackingReportQuery) => { + return request({ + url: '/mes/prodReport/wipTrackingReport/export', + method: 'post', + params: query, + responseType: 'blob' + }); +}; \ No newline at end of file diff --git a/src/api/mes/wipTrackingReport/types.ts b/src/api/mes/wipTrackingReport/types.ts new file mode 100644 index 0000000..4968f08 --- /dev/null +++ b/src/api/mes/wipTrackingReport/types.ts @@ -0,0 +1,175 @@ +export interface ProcessProgressVO { + /** + * 工序ID + */ + processId?: number; + + /** + * 工序名称 + */ + processName?: string; + + /** + * 工序顺序 + */ + processOrder?: number; + + /** + * 工序状态 + */ + planStatus?: string; + + /** + * 工序状态描述 + */ + statusDesc?: string; + + /** + * 是否已完成 + */ + isCompleted?: boolean; +} + +export interface WipTrackingReportVO { + /** + * 产品订单ID + */ + productOrderId?: number; + + /** + * 生产订单号 + */ + orderCode?: string; + + /** + * 物料编号 + */ + materialCode?: string; + + /** + * 物料名称 + */ + materialName?: string; + + /** + * 规格型号 + */ + materialSpec?: string; + + /** + * 计划总数量 + */ + planAmount?: number; + + /** + * 在制数量 + */ + wipAmount?: number; + + /** + * 已完成数量 + */ + completeAmount?: number; + + /** + * 计划开工时间 + */ + planBeginTime?: string; + + /** + * 实际开工时间 + */ + realBeginTime?: string; + + /** + * 计划完工时间 + */ + planEndTime?: string; + + /** + * 当前时间 + */ + currentTime?: string; + + /** + * 总工序数 + */ + totalProcessCount?: string; + + /** + * 在制工序 + */ + wipProcesses?: string; + + /** + * 剩余工序 + */ + remainingProcesses?: string; + + /** + * 整体进度(%) + */ + overallProgress?: string; + + /** + * 进度状态 + */ + progressStatus?: string; + + /** + * 总工序数(数值) + */ + totalProcessCountNum?: number; + + /** + * 在制工序加权和 + */ + wipWeightedSum?: number; + + /** + * 整体进度(数值) + */ + overallProgressNum?: number; + + /** + * 工序进度列表 + */ + processProgressList?: ProcessProgressVO[]; +} + +export interface WipTrackingReportQuery extends PageQuery { + /** + * 开始日期 + */ + beginDate?: string; + + /** + * 结束日期 + */ + endDate?: string; + + /** + * 生产订单号 + */ + orderCode?: string; + + /** + * 物料名称 + */ + materialName?: string; + + /** + * 物料编号 + */ + materialCode?: string; + + /** + * 进度状态 + */ + progressStatus?: string; +} + +export interface PageQuery { + pageNum?: number; + pageSize?: number; +} \ No newline at end of file diff --git a/src/api/wms/report/index.ts b/src/api/wms/report/index.ts new file mode 100644 index 0000000..664d45c --- /dev/null +++ b/src/api/wms/report/index.ts @@ -0,0 +1,167 @@ +import request from '@/utils/request'; +import { AxiosPromise } from 'axios'; +import { + ReportQuery, + ReturnReasonAnalysisVO, + InventoryTrendAnalysisVO, + SafetyStockAlertVO, + StagnantInventoryVO, + InventoryDifferenceVO, + InventoryTurnoverVO +} from '@/api/wms/report/types'; + +/** + * 查询退库原因分析报表 + * @param query + * @returns {*} + */ +export const getReturnReasonAnalysis = (query?: ReportQuery): AxiosPromise => { + return request({ + url: '/wms/report/returnReasonAnalysis', + method: 'get', + params: query + }); +}; + +/** + * 导出退库原因分析报表 + * @param query + */ +export const exportReturnReasonAnalysis = (query?: ReportQuery) => { + return request({ + url: '/wms/report/returnReasonAnalysis/export', + method: 'post', + params: query, + responseType: 'blob' + }); +}; + +/** + * 查询库存变动趋势分析报表 + * @param query + * @returns {*} + */ +export const getInventoryTrendAnalysis = (query?: ReportQuery): AxiosPromise => { + return request({ + url: '/wms/report/inventoryTrendAnalysis', + method: 'get', + params: query + }); +}; + +/** + * 导出库存变动趋势分析报表 + * @param query + */ +export const exportInventoryTrendAnalysis = (query?: ReportQuery) => { + return request({ + url: '/wms/report/inventoryTrendAnalysis/export', + method: 'post', + params: query, + responseType: 'blob' + }); +}; + +/** + * 查询安全库存预警报表 + * @param query + * @returns {*} + */ +export const getSafetyStockAlert = (query?: ReportQuery): AxiosPromise => { + return request({ + url: '/wms/report/safetyStockAlert', + method: 'get', + params: query + }); +}; + +/** + * 导出安全库存预警报表 + * @param query + */ +export const exportSafetyStockAlert = (query?: ReportQuery) => { + return request({ + url: '/wms/report/safetyStockAlert/export', + method: 'post', + params: query, + responseType: 'blob' + }); +}; + +/** + * 查询呆滞料库存报表 + * @param query + * @returns {*} + */ +export const getStagnantInventory = (query?: ReportQuery): AxiosPromise => { + return request({ + url: '/wms/report/stagnantInventory', + method: 'get', + params: query + }); +}; + +/** + * 导出呆滞料库存报表 + * @param query + */ +export const exportStagnantInventory = (query?: ReportQuery) => { + return request({ + url: '/wms/report/stagnantInventory/export', + method: 'post', + params: query, + responseType: 'blob' + }); +}; + +/** + * 查询库存差异报表 + * @param query + * @returns {*} + */ +export const getInventoryDifference = (query?: ReportQuery): AxiosPromise => { + return request({ + url: '/wms/report/inventoryDifference', + method: 'get', + params: query + }); +}; + +/** + * 导出库存差异报表 + * @param query + */ +export const exportInventoryDifference = (query?: ReportQuery) => { + return request({ + url: '/wms/report/inventoryDifference/export', + method: 'post', + params: query, + responseType: 'blob' + }); +}; + +/** + * 查询库存周转报表 + * @param query + * @returns {*} + */ +export const getInventoryTurnover = (query?: ReportQuery): AxiosPromise => { + return request({ + url: '/wms/report/inventoryTurnover', + method: 'get', + params: query + }); +}; + +/** + * 导出库存周转报表 + * @param query + */ +export const exportInventoryTurnover = (query?: ReportQuery) => { + return request({ + url: '/wms/report/inventoryTurnover/export', + method: 'post', + params: query, + responseType: 'blob' + }); +}; \ No newline at end of file diff --git a/src/views/mes/report/index.vue b/src/views/mes/report/index.vue new file mode 100644 index 0000000..d973633 --- /dev/null +++ b/src/views/mes/report/index.vue @@ -0,0 +1,473 @@ + + + diff --git a/src/views/mes/reportDailyOutput/index.vue b/src/views/mes/reportDailyOutput/index.vue index 561a0e0..66d7e8a 100644 --- a/src/views/mes/reportDailyOutput/index.vue +++ b/src/views/mes/reportDailyOutput/index.vue @@ -5,9 +5,9 @@ - + 搜索 重置 @@ -205,4 +205,4 @@ watch(activeTab, () => { width: 100%; height: 420px; } - \ No newline at end of file + diff --git a/src/views/mes/reportWorkHour/index.vue b/src/views/mes/reportWorkHour/index.vue new file mode 100644 index 0000000..1c13f8c --- /dev/null +++ b/src/views/mes/reportWorkHour/index.vue @@ -0,0 +1,220 @@ + + + diff --git a/src/views/mes/wipTrackingReport/index.vue b/src/views/mes/wipTrackingReport/index.vue new file mode 100644 index 0000000..6afef52 --- /dev/null +++ b/src/views/mes/wipTrackingReport/index.vue @@ -0,0 +1,516 @@ + + + + +