فهرست منبع

feat(web-admin): add photoUrls types and pl-photo helpers

Co-authored-by: Cursor <cursoragent@cursor.com>
zlwu 3 ماه پیش
والد
کامیت
e2f087e6b9
2فایلهای تغییر یافته به همراه21 افزوده شده و 0 حذف شده
  1. 4 0
      web-admin/src/api/pl/index.ts
  2. 17 0
      web-admin/src/utils/pl-photo.ts

+ 4 - 0
web-admin/src/api/pl/index.ts

@@ -100,6 +100,7 @@ export interface Vehicle {
   loadCapacity?: number
   vehicleStatus: string
   remark?: string
+  photoUrls?: string
   certList?: CertRead[]
   createTime: string
 }
@@ -118,6 +119,7 @@ export interface VehiclePayload {
   loadCapacity?: number | null
   vehicleStatus: string
   remark?: string
+  photoUrls?: string
   personnelList?: VehiclePersonnelRow[]
   certList?: CertRow[]
 }
@@ -153,6 +155,7 @@ export interface Personnel {
   personnelAffiliation: string
   status: string
   remark?: string
+  photoUrls?: string
   nearestExpireDate?: string
   certList?: CertRead[]
   createTime: string
@@ -171,6 +174,7 @@ export interface PersonnelPayload {
   personnelAffiliation: string
   status: string
   remark?: string
+  photoUrls?: string
   certList?: CertRow[]
 }
 

+ 17 - 0
web-admin/src/utils/pl-photo.ts

@@ -0,0 +1,17 @@
+import { normalizeAttachmentUrls } from '@/utils/download-attachment'
+
+/** 取逗号分隔附件中的第一张 URL(相对或绝对) */
+export function firstPhotoUrl(raw?: string | null): string {
+  const normalized = normalizeAttachmentUrls(raw)
+  if (!normalized) return ''
+  return normalized.split(',').map((s) => s.trim()).filter(Boolean)[0] || ''
+}
+
+/** 拼 MinIO 完整访问地址(与 AttachmentUploadField 一致) */
+export function resolvePhotoDisplayUrl(url?: string | null): string {
+  const trimmed = String(url || '').trim()
+  if (!trimmed) return ''
+  if (/^https?:\/\//i.test(trimmed)) return trimmed
+  const base = String(import.meta.env.VITE_MINIO_BASE_URL || '').replace(/\/$/, '')
+  return base ? `${base}/${trimmed.replace(/^\//, '')}` : trimmed
+}