import { buildAttachmentItem } from '@/utils/upload.js'; export const LEVEL_OPTIONS = [ { id: 2, title: '一般隐患' }, { id: 3, title: '重大隐患' } ]; export const SOURCE_OPTIONS = [ { id: 1, title: '部门检查' }, { id: 2, title: '督导检查' }, { id: 3, title: '企业自查' }, { id: 4, title: '行业互查' } ]; export const AI_LEVEL_MAP = { 轻微: 0, 轻微隐患: 0, 一般: 0, 一般隐患: 0, 重大: 1, 重大隐患: 1 }; export function createEmptyHazardPayload() { return { formData: { title: '', level: 0, source: 0, hazardSourceCode: null, hazardSourceName: '', description: '', tagIndex: 0, tagId: null, regulationId: null, regulationName: '' }, address: '', lng: 0, lat: 0, areaId: '', areaName: '', fileList: [] }; } export function buildHiddenDangerParams(payload, extra = {}) { const { formData, address, lng, lat, areaId, fileList } = payload; const selectedTag = payload.tagOptions?.[formData.tagIndex]; const tagId = formData.tagId ?? (selectedTag ? selectedTag.id : null); return { title: formData.title, level: LEVEL_OPTIONS[formData.level]?.id || 2, lng: lng || 0, lat: lat || 0, address: address || '', areaId: areaId || null, description: formData.description || '', source: SOURCE_OPTIONS[formData.source]?.title || '', hazardSource: formData.hazardSourceCode ?? null, tagId, attachments: (fileList || []) .filter((f) => f.status === 'success') .map((file) => buildAttachmentItem(file)), regulationId: formData.regulationId || null, ...extra }; } export function hasValidHazardPayload(payload) { if (!payload) return false; const { formData, fileList } = payload; return !!(formData?.title && fileList?.length > 0); } export function hasHazardFormContent(payload) { if (!payload) return false; const data = payload.formData || {}; const files = payload.fileList || []; return !!( data.title || data.description || data.regulationName || data.regulationId || data.hazardSourceCode != null || data.hazardSourceName || payload.address || payload.areaId || payload.areaName || (files.length > 0) ); }