|
|
@@ -56,7 +56,17 @@ interface AssetItem {
|
|
|
id: number;
|
|
|
assetType: AssetType;
|
|
|
assetFileType: AssetFileType;
|
|
|
- assetUrl: string;
|
|
|
+ fileId: number;
|
|
|
+ file?: {
|
|
|
+ id: number;
|
|
|
+ name: string;
|
|
|
+ type: string | null;
|
|
|
+ size: number | null;
|
|
|
+ path: string;
|
|
|
+ fullUrl?: string;
|
|
|
+ description: string | null;
|
|
|
+ uploadTime: string;
|
|
|
+ };
|
|
|
relatedTime: string;
|
|
|
remark?: string;
|
|
|
}
|
|
|
@@ -134,13 +144,14 @@ export const OrderAssetModal: React.FC<OrderAssetModalProps> = ({
|
|
|
|
|
|
// 添加资产数据
|
|
|
assets.forEach((asset: any) => {
|
|
|
- const { personId, assetType, id, assetFileType, assetUrl } = asset;
|
|
|
+ const { personId, assetType, id, assetFileType, fileId, file } = asset;
|
|
|
if (groupedData[personId]) {
|
|
|
groupedData[personId][assetType] = {
|
|
|
id,
|
|
|
assetType,
|
|
|
assetFileType,
|
|
|
- assetUrl,
|
|
|
+ fileId,
|
|
|
+ file,
|
|
|
relatedTime: asset.relatedTime,
|
|
|
remark: asset.remark,
|
|
|
};
|
|
|
@@ -529,18 +540,24 @@ export const OrderAssetModal: React.FC<OrderAssetModalProps> = ({
|
|
|
<div className="space-y-2">
|
|
|
<Label>文件预览</Label>
|
|
|
<div className="border rounded-md p-4 text-center">
|
|
|
- {currentAsset.assetItem.assetFileType === AssetFileType.IMAGE ? (
|
|
|
- <img
|
|
|
- src={currentAsset.assetItem.assetUrl}
|
|
|
- alt="资产文件"
|
|
|
- className="max-w-full h-auto max-h-[200px] mx-auto"
|
|
|
- />
|
|
|
+ {currentAsset.assetItem.file?.fullUrl ? (
|
|
|
+ currentAsset.assetItem.assetFileType === AssetFileType.IMAGE ? (
|
|
|
+ <img
|
|
|
+ src={currentAsset.assetItem.file.fullUrl}
|
|
|
+ alt="资产文件"
|
|
|
+ className="max-w-full h-auto max-h-[200px] mx-auto"
|
|
|
+ />
|
|
|
+ ) : (
|
|
|
+ <video
|
|
|
+ src={currentAsset.assetItem.file.fullUrl}
|
|
|
+ controls
|
|
|
+ className="max-w-full h-auto max-h-[200px] mx-auto"
|
|
|
+ />
|
|
|
+ )
|
|
|
) : (
|
|
|
- <video
|
|
|
- src={currentAsset.assetItem.assetUrl}
|
|
|
- controls
|
|
|
- className="max-w-full h-auto max-h-[200px] mx-auto"
|
|
|
- />
|
|
|
+ <div className="text-muted-foreground py-8">
|
|
|
+ 无法加载文件预览,文件URL不可用
|
|
|
+ </div>
|
|
|
)}
|
|
|
</div>
|
|
|
</div>
|