fix(meetings): 修改/复制 URL 带 projectId 让左列快照立刻加载; meeting 冗余字段兜底防 project_id 为 NULL
This commit is contained in:
@@ -79,8 +79,9 @@ const router = useRouter()
|
||||
// new: ?projectId=xxx → POST /business/meeting (新建)
|
||||
// edit: ?meetingId=xxx → PUT /business/meeting/{id} (修改)
|
||||
// copy: ?meetingId=xxx&mode=copy → POST /business/meeting (复制)
|
||||
// 修改/复制 URL 同时带 projectId 让左列快照能立即加载 (不必先等 bizGet meeting)
|
||||
const meetingId = route.query.meetingId || ''
|
||||
const projectId = route.query.projectId || ''
|
||||
const urlProjectId = route.query.projectId || '' // URL 直接带的 projectId
|
||||
const mode = computed(() => {
|
||||
if (meetingId && route.query.mode === 'copy') return 'copy'
|
||||
if (meetingId) return 'edit'
|
||||
@@ -155,8 +156,15 @@ async function loadMeeting(mid) {
|
||||
form.endTime = d.endTime || ''
|
||||
form.totalPeriods = d.totalPeriods || 1
|
||||
form.remark = d.remark || ''
|
||||
// 左列快照来自 meeting.projectId
|
||||
await loadProjectSnapshot(d.projectId)
|
||||
// 左列快照 projectNo/projectName 用 meeting 冗余字段 (即使 project_id 为 NULL 也能显示)
|
||||
snap.projectNo = d.projectNo || ''
|
||||
snap.projectName = d.projectName || ''
|
||||
// 总场次/支持单位/创建时间/创建人员 优先用 URL projectId, 其次 meeting.projectId
|
||||
// (URL 带的 projectId 优先, 避免 copy 模式下 user 没传导致再读 meeting)
|
||||
const pid = urlProjectId || d.projectId
|
||||
if (pid) {
|
||||
await loadProjectSnapshot(pid)
|
||||
}
|
||||
}
|
||||
|
||||
// ========== 保存 ==========
|
||||
|
||||
@@ -192,13 +192,13 @@ const detailOpen = ref(false)
|
||||
const currentRow = ref(null)
|
||||
function onView(row) { currentRow.value = row; detailOpen.value = true }
|
||||
|
||||
// ========== 修改 / 复制 (跳 MeetingNew.vue 独立页, ?meetingId=xxx[&mode=copy]) ==========
|
||||
// ========== 修改 / 复制 (跳 MeetingNew.vue 独立页, ?meetingId=xxx&projectId=xxx[&mode=copy]) ==========
|
||||
const router = useRouter()
|
||||
function onEdit(row) {
|
||||
router.push({ name: 'manager-meetings-new', query: { meetingId: row.meetingId } })
|
||||
router.push({ name: 'manager-meetings-new', query: { meetingId: row.meetingId, projectId: row.projectId || '' } })
|
||||
}
|
||||
function onCopy(row) {
|
||||
router.push({ name: 'manager-meetings-new', query: { meetingId: row.meetingId, mode: 'copy' } })
|
||||
router.push({ name: 'manager-meetings-new', query: { meetingId: row.meetingId, projectId: row.projectId || '', mode: 'copy' } })
|
||||
}
|
||||
|
||||
// ========== 提交 (单条) ==========
|
||||
|
||||
Reference in New Issue
Block a user