diff --git a/src/api/mes/mixTrace/index.ts b/src/api/mes/mixTrace/index.ts new file mode 100644 index 0000000..c1459d1 --- /dev/null +++ b/src/api/mes/mixTrace/index.ts @@ -0,0 +1,87 @@ +import request from '@/utils/request'; +import { AxiosPromise } from 'axios'; +import { + MixTraceListVO, + MixTraceDetailVO, + MixTraceSpcSampleVO, + MixTraceSpcResultVO, + MixTraceQuery, + SpcQuery +} from './types'; + +/** + * 追溯列表(图5)- 分页 + */ +export const listMixTrace = (query?: MixTraceQuery): AxiosPromise => { + return request({ + url: '/mes/mixTrace/list', + method: 'get', + params: query + }); +}; + +/** + * 追溯列表导出 + */ +export const exportMixTrace = (query?: MixTraceQuery): AxiosPromise => { + return request({ + url: '/mes/mixTrace/export', + method: 'post', + params: query, + responseType: 'blob' + }); +}; + +/** + * 追溯详情(图9) + */ +export const getMixTraceDetail = (recipeId: string | number): AxiosPromise => { + return request({ + url: '/mes/mixTrace/detail/' + recipeId, + method: 'get' + }); +}; + +/** + * SPC样本列表(图6)- 分页 + */ +export const listSpcSamples = (query?: SpcQuery): AxiosPromise => { + return request({ + url: '/mes/mixTrace/spc/samples', + method: 'get', + params: query + }); +}; + +/** + * SPC能力分析(图7) + */ +export const getSpcCapability = (query?: SpcQuery): AxiosPromise => { + return request({ + url: '/mes/mixTrace/spc/capability', + method: 'get', + params: query + }); +}; + +/** + * SPC运行图(图8) + */ +export const getSpcRunChart = (query?: SpcQuery): AxiosPromise => { + return request({ + url: '/mes/mixTrace/spc/runChart', + method: 'get', + params: query + }); +}; + +/** + * SPC均值极差图(图10) + */ +export const getSpcXbarR = (query?: SpcQuery): AxiosPromise => { + return request({ + url: '/mes/mixTrace/spc/xbarR', + method: 'get', + params: query + }); +}; diff --git a/src/api/mes/mixTrace/types.ts b/src/api/mes/mixTrace/types.ts new file mode 100644 index 0000000..8d777c2 --- /dev/null +++ b/src/api/mes/mixTrace/types.ts @@ -0,0 +1,187 @@ +/** + * 密炼追溯列表VO(图5) + */ +export interface MixTraceListVO { + recipeId: string | number; + recipeCode: string; + machineId: string | number; + machineName: string; + materialId: string | number; + materialName: string; + edtCode: number; + userEdtCode: string; + recipeState: string; + recipeType: number; + recipeTypecode: string; + rubType: string; + rubTypecode: string; + totalWeight: number; + fillCoefficient: number; + operCode: string; + auditFlag: string; + doneTime: number; + createTime: string; + weightCount: number; + mixingCount: number; +} + +/** + * 追溯详情VO(图9) + */ +export interface MixTraceDetailVO { + recipeInfo: MixTraceListVO; + weightList: RecipeWeightItem[]; + mixingList: RecipeMixingItem[]; +} + +/** + * 称量明细 + */ +export interface RecipeWeightItem { + weightId: string | number; + recipeId: string | number; + weightSeq: number; + machineId: string | number; + edtCode: number; + weightType: string; + scaleCode: number; + actCode: string; + setWeight: number; + errorAllow: number; + fatherCode: string | number; + unitId: string | number; + childCode: number; + ifUseBat: string; + maxRate: string; +} + +/** + * 混炼明细 + */ +export interface RecipeMixingItem { + mixingId: string | number; + recipeId: string | number; + mixId: string | number; + machineId: string | number; + edtCode: number; + condCode: string; + mixingTime: number; + mixingTemp: number; + mixingEnergy: number; + mixingPower: number; + mixingPress: number; + mixingSpeed: number; + actCode: string; + fatherCode: string; + childCode: string; + termCode: string; + setTime: number; + setTemp: number; + setEnergy: number; + setPower: number; + setPres: number; + setRota: number; +} + +/** + * SPC样本VO(图6) + */ +export interface MixTraceSpcSampleVO { + recipeId: string | number; + recipeCode: string; + machineId: string | number; + machineName: string; + mixId: number; + termCode: string; + actCode: string; + condCode: string; + mixingTime: number; + mixingTemp: number; + mixingEnergy: number; + mixingPower: number; + mixingPress: number; + mixingSpeed: number; + setTime: number; + setTemp: number; + setEnergy: number; + setPower: number; + setPres: number; + setRota: number; + createTime: string; +} + +/** + * SPC统计结果VO(图7/8/10) + */ +export interface MixTraceSpcResultVO { + paramName: string; + paramLabel: string; + sampleCount: number; + mean: number; + sigma: number; + minValue: number; + maxValue: number; + usl: number; + lsl: number; + target: number; + cp: number; + cpk: number; + cpu: number; + cpl: number; + pp: number; + ppk: number; + sampleValues: number[]; + sampleLabels: string[]; + subgroupSize: number; + xbarValues: number[]; + rValues: number[]; + subgroupLabels: string[]; + xbarbar: number; + rbar: number; + uclX: number; + clX: number; + lclX: number; + uclR: number; + clR: number; + lclR: number; + histogramCounts: number[]; + histogramBins: string[]; +} + +/** + * 追溯查询参数 + */ +export interface MixTraceQuery { + recipeCode?: string; + machineId?: string | number; + materialId?: string | number; + materialName?: string; + recipeState?: string; + rubType?: string; + rubTypecode?: string; + recipeTypecode?: string; + operCode?: string; + auditFlag?: string; + beginDate?: string; + endDate?: string; + pageNum?: number; + pageSize?: number; +} + +/** + * SPC查询参数 + */ +export interface SpcQuery { + machineId?: string | number; + materialId?: string | number; + recipeCode?: string; + rubTypecode?: string; + mixId?: string | number; + termCode?: string; + paramName?: string; + subgroupSize?: number; + beginDate?: string; + endDate?: string; + pageNum?: number; + pageSize?: number; +} diff --git a/src/views/mes/mixTrace/index.vue b/src/views/mes/mixTrace/index.vue new file mode 100644 index 0000000..af514e0 --- /dev/null +++ b/src/views/mes/mixTrace/index.vue @@ -0,0 +1,618 @@ + + + + +