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>
|
</template>
|
||||||
</el-table-column>
|
</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 }">
|
<template #default="{ row }">
|
||||||
<el-button type="primary" link @click="openForm('update', row)">编辑</el-button>
|
<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>
|
<el-button type="danger" link @click="handleDelete(row.id)">删除</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
|
@ -121,7 +121,7 @@
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref, reactive, onMounted } from 'vue'
|
import { ref, reactive, onMounted } from 'vue'
|
||||||
import { useRoute } from 'vue-router'
|
import { useRoute, useRouter } from 'vue-router'
|
||||||
import { ElMessage, ElMessageBox } from 'element-plus'
|
import { ElMessage, ElMessageBox } from 'element-plus'
|
||||||
import { Plus, Delete } from '@element-plus/icons-vue'
|
import { Plus, Delete } from '@element-plus/icons-vue'
|
||||||
import { getReviewMeeting } from '@/api/review/meeting'
|
import { getReviewMeeting } from '@/api/review/meeting'
|
||||||
|
|
@ -132,6 +132,7 @@ import { formatDate } from '@/utils/formatTime'
|
||||||
defineOptions({ name: 'ReviewMeetingProject' })
|
defineOptions({ name: 'ReviewMeetingProject' })
|
||||||
|
|
||||||
const route = useRoute()
|
const route = useRoute()
|
||||||
|
const router = useRouter()
|
||||||
const reviewMeetingId = Number(route.params.meetingId)
|
const reviewMeetingId = Number(route.params.meetingId)
|
||||||
|
|
||||||
const loading = ref(false)
|
const loading = ref(false)
|
||||||
|
|
@ -139,8 +140,8 @@ const list = ref<ReviewMeetingProjectRespVO[]>([])
|
||||||
const total = ref(0)
|
const total = ref(0)
|
||||||
const meetingInfo = ref<any>({})
|
const meetingInfo = ref<any>({})
|
||||||
|
|
||||||
const STATUS_LABEL: Record<number, string> = { 0: '草稿', 1: '已邀约', 2: '已结束', 3: '已取消' }
|
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_TAG_TYPE: Record<number, string> = { 0: 'warning', 1: 'success', 2: 'info', 3: 'danger' }
|
||||||
|
|
||||||
const queryParams = reactive({
|
const queryParams = reactive({
|
||||||
pageNo: 1,
|
pageNo: 1,
|
||||||
|
|
@ -231,6 +232,14 @@ const openFileDialog = (row: ReviewMeetingProjectRespVO) => {
|
||||||
fileDialogRef.value?.open(row.id, row.projectTitle)
|
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 () => {
|
onMounted(async () => {
|
||||||
meetingInfo.value = await getReviewMeeting(reviewMeetingId)
|
meetingInfo.value = await getReviewMeeting(reviewMeetingId)
|
||||||
await getList()
|
await getList()
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue