feat(meeting): 改造项目列表页,状态文案对齐,操作列接入项目详情跳转
- 状态文案同步:草稿→待召开,已邀约→正在召开 - 「文件」按钮改为「上传项目资料」,跳转至 ReviewProjectDetail - 新增 goToDetail 函数,携带 meetingId/projectId/projectTitle 参数 - 操作列宽度调整为 200px Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>pull/874/head
parent
17ff8a6871
commit
db5253b3e6
|
|
@ -67,10 +67,10 @@
|
|||
/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" width="160" align="center" fixed="right">
|
||||
<el-table-column label="操作" width="200" align="center" fixed="right">
|
||||
<template #default="{ row }">
|
||||
<el-button type="primary" link @click="openForm('update', row)">编辑</el-button>
|
||||
<el-button type="primary" link @click="openFileDialog(row)">文件</el-button>
|
||||
<el-button type="primary" link @click="goToDetail(row)">上传项目资料</el-button>
|
||||
<el-button type="danger" link @click="handleDelete(row.id)">删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
|
@ -121,7 +121,7 @@
|
|||
|
||||
<script setup lang="ts">
|
||||
import { ref, reactive, onMounted } from 'vue'
|
||||
import { useRoute } from 'vue-router'
|
||||
import { useRoute, useRouter } from 'vue-router'
|
||||
import { ElMessage, ElMessageBox } from 'element-plus'
|
||||
import { Plus, Delete } from '@element-plus/icons-vue'
|
||||
import { getReviewMeeting } from '@/api/review/meeting'
|
||||
|
|
@ -132,6 +132,7 @@ import { formatDate } from '@/utils/formatTime'
|
|||
defineOptions({ name: 'ReviewMeetingProject' })
|
||||
|
||||
const route = useRoute()
|
||||
const router = useRouter()
|
||||
const reviewMeetingId = Number(route.params.meetingId)
|
||||
|
||||
const loading = ref(false)
|
||||
|
|
@ -139,8 +140,8 @@ const list = ref<ReviewMeetingProjectRespVO[]>([])
|
|||
const total = ref(0)
|
||||
const meetingInfo = ref<any>({})
|
||||
|
||||
const STATUS_LABEL: Record<number, string> = { 0: '草稿', 1: '已邀约', 2: '已结束', 3: '已取消' }
|
||||
const STATUS_TAG_TYPE: Record<number, string> = { 0: 'info', 1: 'primary', 2: 'success', 3: 'danger' }
|
||||
const STATUS_LABEL: Record<number, string> = { 0: '待召开', 1: '正在召开', 2: '已结束', 3: '已取消' }
|
||||
const STATUS_TAG_TYPE: Record<number, string> = { 0: 'warning', 1: 'success', 2: 'info', 3: 'danger' }
|
||||
|
||||
const queryParams = reactive({
|
||||
pageNo: 1,
|
||||
|
|
@ -231,6 +232,14 @@ const openFileDialog = (row: ReviewMeetingProjectRespVO) => {
|
|||
fileDialogRef.value?.open(row.id, row.projectTitle)
|
||||
}
|
||||
|
||||
const goToDetail = (row: ReviewMeetingProjectRespVO) => {
|
||||
router.push({
|
||||
name: 'ReviewProjectDetail',
|
||||
params: { meetingId: reviewMeetingId, projectId: row.id },
|
||||
query: { projectTitle: row.projectTitle }
|
||||
})
|
||||
}
|
||||
|
||||
onMounted(async () => {
|
||||
meetingInfo.value = await getReviewMeeting(reviewMeetingId)
|
||||
await getList()
|
||||
|
|
|
|||
Loading…
Reference in New Issue