修复溯源模块大量问题
This commit is contained in:
@@ -1,6 +1,17 @@
|
||||
import { requestClient } from '#/api/request';
|
||||
|
||||
export namespace TraceabilityApi {
|
||||
export interface OssStoredValue {
|
||||
bucketName: string;
|
||||
objectName: string;
|
||||
tempUrl?: string;
|
||||
}
|
||||
|
||||
export interface FieldStyle {
|
||||
bold?: boolean;
|
||||
color?: string;
|
||||
}
|
||||
|
||||
export interface Overview {
|
||||
templateCount: number;
|
||||
batchCount: number;
|
||||
@@ -15,9 +26,12 @@ export namespace TraceabilityApi {
|
||||
type: string;
|
||||
required: boolean;
|
||||
visible: boolean;
|
||||
fixedPreset?: boolean;
|
||||
placeholder?: string;
|
||||
defaultValue?: any;
|
||||
defaultPreviewUrl?: string;
|
||||
options?: string[];
|
||||
fieldStyle?: FieldStyle;
|
||||
}
|
||||
|
||||
export interface TemplateNode {
|
||||
@@ -31,6 +45,28 @@ export namespace TraceabilityApi {
|
||||
fields: FieldDefinition[];
|
||||
}
|
||||
|
||||
export interface PreviewNode {
|
||||
id?: string;
|
||||
sort?: number;
|
||||
category: 'business' | 'public' | string;
|
||||
name: string;
|
||||
description: string;
|
||||
consumerVisible: boolean;
|
||||
values: Record<string, any>;
|
||||
valuePreviewUrls?: Record<string, string>;
|
||||
fields: FieldDefinition[];
|
||||
}
|
||||
|
||||
export interface NodeLibraryItem {
|
||||
id: string;
|
||||
category: 'business' | 'public' | string;
|
||||
name: string;
|
||||
description: string;
|
||||
consumerVisible: boolean;
|
||||
fields: FieldDefinition[];
|
||||
updatedAt: string;
|
||||
}
|
||||
|
||||
export interface TemplateSummary {
|
||||
id: string;
|
||||
name: string;
|
||||
@@ -38,6 +74,7 @@ export namespace TraceabilityApi {
|
||||
productName: string;
|
||||
industryName: string;
|
||||
coverImage: string;
|
||||
coverImagePreviewUrl?: string;
|
||||
themeColor: string;
|
||||
status: string;
|
||||
nodeCount: number;
|
||||
@@ -49,6 +86,24 @@ export namespace TraceabilityApi {
|
||||
nodes: TemplateNode[];
|
||||
}
|
||||
|
||||
export interface PreviewPageSummary {
|
||||
id: string;
|
||||
name: string;
|
||||
previewCode: string;
|
||||
description: string;
|
||||
productName: string;
|
||||
coverImage: string;
|
||||
coverImagePreviewUrl?: string;
|
||||
themeColor: string;
|
||||
tags: string[];
|
||||
publicUrl: string;
|
||||
updatedAt: string;
|
||||
}
|
||||
|
||||
export interface PreviewPageDetail extends PreviewPageSummary {
|
||||
nodes: PreviewNode[];
|
||||
}
|
||||
|
||||
export interface BatchStep {
|
||||
id: string;
|
||||
templateNodeId?: string;
|
||||
@@ -61,6 +116,7 @@ export namespace TraceabilityApi {
|
||||
status: string;
|
||||
operatorName: string;
|
||||
values: Record<string, any>;
|
||||
valuePreviewUrls?: Record<string, string>;
|
||||
completedAt: string;
|
||||
fields: FieldDefinition[];
|
||||
}
|
||||
@@ -74,6 +130,7 @@ export namespace TraceabilityApi {
|
||||
productName: string;
|
||||
summary: string;
|
||||
coverImage: string;
|
||||
coverImagePreviewUrl?: string;
|
||||
tags: string[];
|
||||
status: string;
|
||||
currentStep: number;
|
||||
@@ -116,6 +173,18 @@ export namespace TraceabilityApi {
|
||||
fileName?: string;
|
||||
size?: number;
|
||||
}
|
||||
|
||||
export interface FileAssetItem {
|
||||
id: string;
|
||||
assetType: string;
|
||||
bucketName: string;
|
||||
objectName: string;
|
||||
fileName: string;
|
||||
contentType: string;
|
||||
size: number;
|
||||
previewUrl: string;
|
||||
createdAt: string;
|
||||
}
|
||||
}
|
||||
|
||||
export function getTraceabilityOverview() {
|
||||
@@ -128,6 +197,68 @@ export function getTraceabilityTemplates() {
|
||||
);
|
||||
}
|
||||
|
||||
export function getTraceabilityPreviews() {
|
||||
return requestClient.get<TraceabilityApi.PreviewPageSummary[]>(
|
||||
'/traceability/previews',
|
||||
);
|
||||
}
|
||||
|
||||
export function getTraceabilityPreview(id: string) {
|
||||
return requestClient.get<TraceabilityApi.PreviewPageDetail>(
|
||||
`/traceability/previews/${id}`,
|
||||
);
|
||||
}
|
||||
|
||||
export function createTraceabilityPreview(
|
||||
data: Omit<TraceabilityApi.PreviewPageDetail, 'id' | 'previewCode' | 'publicUrl' | 'updatedAt'>,
|
||||
) {
|
||||
return requestClient.post('/traceability/previews', data);
|
||||
}
|
||||
|
||||
export function updateTraceabilityPreview(
|
||||
id: string,
|
||||
data: Omit<TraceabilityApi.PreviewPageDetail, 'id' | 'previewCode' | 'publicUrl' | 'updatedAt'>,
|
||||
) {
|
||||
return requestClient.post(`/traceability/previews/${id}`, data);
|
||||
}
|
||||
|
||||
export function deleteTraceabilityPreview(id: string) {
|
||||
return requestClient.delete(`/traceability/previews/${id}`);
|
||||
}
|
||||
|
||||
export function syncTraceabilityPreviewToTemplate(id: string) {
|
||||
return requestClient.post(`/traceability/previews/${id}/sync-template`);
|
||||
}
|
||||
|
||||
export function getTraceabilityNodeLibrary() {
|
||||
return requestClient.get<TraceabilityApi.NodeLibraryItem[]>(
|
||||
'/traceability/node-library',
|
||||
);
|
||||
}
|
||||
|
||||
export function createTraceabilityNodeLibrary(
|
||||
data: Omit<TraceabilityApi.NodeLibraryItem, 'id' | 'updatedAt'>,
|
||||
) {
|
||||
return requestClient.post<TraceabilityApi.NodeLibraryItem>(
|
||||
'/traceability/node-library',
|
||||
data,
|
||||
);
|
||||
}
|
||||
|
||||
export function updateTraceabilityNodeLibrary(
|
||||
id: string,
|
||||
data: Omit<TraceabilityApi.NodeLibraryItem, 'id' | 'updatedAt'>,
|
||||
) {
|
||||
return requestClient.post<TraceabilityApi.NodeLibraryItem>(
|
||||
`/traceability/node-library/${id}`,
|
||||
data,
|
||||
);
|
||||
}
|
||||
|
||||
export function deleteTraceabilityNodeLibrary(id: string) {
|
||||
return requestClient.delete(`/traceability/node-library/${id}`);
|
||||
}
|
||||
|
||||
export function getTraceabilityTemplate(id: string) {
|
||||
return requestClient.get<TraceabilityApi.TemplateDetail>(
|
||||
`/traceability/templates/${id}`,
|
||||
@@ -144,7 +275,7 @@ export function updateTraceabilityTemplate(
|
||||
id: string,
|
||||
data: Omit<TraceabilityApi.TemplateDetail, 'batchCount' | 'id' | 'nodeCount' | 'updatedAt'>,
|
||||
) {
|
||||
return requestClient.put(`/traceability/templates/${id}`, data);
|
||||
return requestClient.post(`/traceability/templates/${id}`, data);
|
||||
}
|
||||
|
||||
export function deleteTraceabilityTemplate(id: string) {
|
||||
@@ -180,7 +311,7 @@ export function deleteTraceabilityBatch(id: string) {
|
||||
}
|
||||
|
||||
export function updateTraceabilityBatchBase(id: string, data: any) {
|
||||
return requestClient.put(`/traceability/batches/${id}/base`, data);
|
||||
return requestClient.post(`/traceability/batches/${id}/base`, data);
|
||||
}
|
||||
|
||||
export function updateTraceabilityBatchStep(
|
||||
@@ -193,7 +324,7 @@ export function updateTraceabilityBatchStep(
|
||||
completedAt?: string;
|
||||
},
|
||||
) {
|
||||
return requestClient.put(`/traceability/batches/${batchId}/steps/${stepId}`, data);
|
||||
return requestClient.post(`/traceability/batches/${batchId}/steps/${stepId}`, data);
|
||||
}
|
||||
|
||||
export function publishTraceabilityBatch(id: string) {
|
||||
@@ -206,6 +337,12 @@ export function getTraceabilityPublicDetail(code: string) {
|
||||
);
|
||||
}
|
||||
|
||||
export function getTraceabilityPreviewDetail(code: string) {
|
||||
return requestClient.get<TraceabilityApi.PublicDetail>(
|
||||
`/traceability/public/preview/by-code/${code}`,
|
||||
);
|
||||
}
|
||||
|
||||
export function getTraceabilityFeedbackList() {
|
||||
return requestClient.get<TraceabilityApi.FeedbackItem[]>(
|
||||
'/traceability/feedback',
|
||||
@@ -236,6 +373,17 @@ export function uploadTraceabilityImage(data: FormData) {
|
||||
);
|
||||
}
|
||||
|
||||
export function getTraceabilityFileAssets(assetType: string, limit = 24) {
|
||||
return requestClient.get<TraceabilityApi.FileAssetItem[]>(
|
||||
'/traceability/files/history',
|
||||
{ params: { assetType, limit } },
|
||||
);
|
||||
}
|
||||
|
||||
export function deleteTraceabilityFileAsset(id: string) {
|
||||
return requestClient.post<boolean>('/traceability/files/history/delete', { id });
|
||||
}
|
||||
|
||||
export function getTraceabilityUploadToken(data: {
|
||||
bucketName?: string;
|
||||
objectName: string;
|
||||
|
||||
Reference in New Issue
Block a user