From 1357b3fbf45a797d536c665c55370ecda0582768 Mon Sep 17 00:00:00 2001 From: LiuQAQQWQ <1109326957@qq.com> Date: Tue, 27 Jan 2026 16:44:07 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E9=A1=B9=E7=9B=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- admin/src/api/asset/info.ts | 10 +- admin/src/hooks/useDictOptions.ts | 9 +- admin/src/views/assets/info/index.vue | 26 +- admin/src/views/task/classTask.vue | 7 +- admin/src/views/teacher/course/edit.vue | 12 +- stu/src/App.vue | 2 +- stu/src/api/request.ts | 9 +- stu/src/components/HelloWorld.vue | 594 ------------------------ stu/src/components/apply.vue | 15 +- stu/src/components/query.vue | 62 ++- 10 files changed, 74 insertions(+), 672 deletions(-) delete mode 100644 stu/src/components/HelloWorld.vue diff --git a/admin/src/api/asset/info.ts b/admin/src/api/asset/info.ts index aa0990f..182d02f 100644 --- a/admin/src/api/asset/info.ts +++ b/admin/src/api/asset/info.ts @@ -2,25 +2,25 @@ import request from '@/utils/request' // 资产信息列表 export function infoLists(params?: Record) { - return request.get({ url: '/info/list', params }) + return request.get({ url: '/asset/info/list', params }) } // 资产信息详情 export function infoDetail(params: Record) { - return request.get({ url: '/info/detail', params }) + return request.get({ url: '/asset/info/detail', params }) } // 资产信息新增 export function infoAdd(params: Record) { - return request.post({ url: '/info/add', params }) + return request.post({ url: '/asset/info/add', params }) } // 资产信息编辑 export function infoEdit(params: Record) { - return request.post({ url: '/info/edit', params }) + return request.post({ url: '/asset/info/edit', params }) } // 资产信息删除 export function infoDelete(params: Record) { - return request.post({ url: '/info/del', params }) + return request.post({ url: '/asset/info/del', params }) } diff --git a/admin/src/hooks/useDictOptions.ts b/admin/src/hooks/useDictOptions.ts index 8494fa5..19cbd8d 100644 --- a/admin/src/hooks/useDictOptions.ts +++ b/admin/src/hooks/useDictOptions.ts @@ -47,10 +47,6 @@ export function useDictOptions(options: Options) { } } -// useDictData<{ -// dict: any[] -// }>(['dict']) - export function useDictData(id: number) { const dictData: any = reactive({}) const refresh = async () => { @@ -59,10 +55,11 @@ export function useDictData(id: number) { }) Object.assign(dictData, data.lists) } - refresh() + const initPromise = refresh() return { dictData: dictData as T, - refresh + refresh, + initPromise } } diff --git a/admin/src/views/assets/info/index.vue b/admin/src/views/assets/info/index.vue index 6b908b5..f246326 100644 --- a/admin/src/views/assets/info/index.vue +++ b/admin/src/views/assets/info/index.vue @@ -19,7 +19,7 @@ > - + + + + + @@ -56,11 +64,7 @@ - - - + @@ -94,7 +98,6 @@ @@ -116,16 +119,13 @@ const queryParams = reactive({ isFixedAsset: '', consumableId: '', }) - +const dictLoading = ref(false) const { pager, getLists, resetPage, resetParams } = usePaging({ fetchFun: infoLists, params: queryParams }) -const { dictData } = useDictData<{ - asset_classification: any[] -}>(7) - +const { dictData } = useDictData>(7) const handleAdd = async () => { showEdit.value = true diff --git a/admin/src/views/task/classTask.vue b/admin/src/views/task/classTask.vue index 9f5ec52..2ffe271 100644 --- a/admin/src/views/task/classTask.vue +++ b/admin/src/views/task/classTask.vue @@ -24,7 +24,7 @@ - + - - - { try { const res = await majorLists(queryParams) getMajorLists.value = res + await getLists() } catch (err) { feedback.msgError('获取专业列表失败') } diff --git a/admin/src/views/teacher/course/edit.vue b/admin/src/views/teacher/course/edit.vue index 3d1e969..37c0489 100644 --- a/admin/src/views/teacher/course/edit.vue +++ b/admin/src/views/teacher/course/edit.vue @@ -93,7 +93,7 @@ - diff --git a/stu/src/components/apply.vue b/stu/src/components/apply.vue index 83123ff..a042bb8 100644 --- a/stu/src/components/apply.vue +++ b/stu/src/components/apply.vue @@ -158,6 +158,9 @@ import { ElButton, ElMessage, ElForm, ElFormItem, ElInput } from 'element-plus' import { submitEnrollmentInfo } from '@/api/enrollment' +import { useRouter } from 'vue-router' + +const router = useRouter() // 学生信息数据 const studentData = reactive({ @@ -190,8 +193,16 @@ const handleConfirmSubmit = async () => { ElMessage.warning('请输入有效的18位身份证号') return } - await submitEnrollmentInfo(studentData.baseInfo) - ElMessage.success('报名提交成功') + const data = await submitEnrollmentInfo(studentData.baseInfo) + console.log(data) + if(data.code === 1){ + ElMessage.success('报名提交成功') + router.push({ + path: '/query', + query: { idCard: studentData.baseInfo.idCard } + }) + } + else ElMessage.error(data.msg) } catch (error) { ElMessage.error('报名提交失败,请稍后重试') console.error('提交报名信息失败:', error) diff --git a/stu/src/components/query.vue b/stu/src/components/query.vue index 9aab83f..4e9e21b 100644 --- a/stu/src/components/query.vue +++ b/stu/src/components/query.vue @@ -104,23 +104,20 @@ import { reactive, computed, onMounted, ref, unref } from 'vue' import { ElButton, ElMessage, ElForm, ElFormItem, ElInput, ElDialog, ElTabs, ElTabPane } from 'element-plus' import { - getEnrollmentProcessStatus, - submitEnrollmentInfo + getEnrollmentProcessStatus } from '@/api/enrollment' +import { useRoute } from 'vue-router' -// 新增:标签页激活状态 const activeTab = ref('enroll') // 默认显示报名页面 - +const route = useRoute() // 步骤标题与后端状态对应 -const stepTitles = ['报名', '材料审核', '录取', '缴费'] +const stepTitles = ['报名', '缴费', '等待录取'] const submission = ref(false) // 提交状态 const rejectionReason = ref('') // 拒绝原因 - // 查询相关状态 const isQueryDialogOpen = ref(false) // 查询弹窗显示状态 const isQueryLoading = ref(false) // 查询加载状态 const queryFormRef = ref | null>(null) // 查询表单引用 - // 查询表单数据 const queryForm = reactive({ idCard: '' @@ -165,9 +162,8 @@ const studentData = reactive({ const statusConfig = reactive({ steps: [ { completed: false, time: 0, status: 0 }, // 报名 - { completed: false, time: 0, status: 0 }, // 材料审核 - { completed: false, time: 0, status: 0 }, // 录取 - { completed: false, time: 0, status: 0 } // 缴费 + { completed: false, time: 0, status: 0 }, // 缴费 + { completed: false, time: 0, status: 0 }, // 等待录取通知 ], applicationNumber: '' // 报名编号 }) @@ -186,17 +182,13 @@ const getStepDescription = (index: number) => { if (index === 0) { return step.completed ? `已完成${timeStr}` : '状态异常' } else if (index === 1) { - if (step.status === 0) return '待审核' - if (step.status === 1) return `审核通过 ${timeStr}` - if (step.status === 2) return `审核不通过 ${timeStr}` - } else if (index === 2) { - if (step.status === 0) return '待审核' - if (step.status === 1) return `已录取 ${timeStr}` - if (step.status === 2) return `未录取 ${timeStr}` - } else if (index === 3) { if (step.status === 0) return '未缴费' if (step.status === 1) return `已缴费 ${timeStr}` - } + } else if (index === 2) { + if (step.status === 0) return '等待录取通知' + if (step.status === 1) return `录取通知已发送 ${timeStr}` + if (step.status === 2) return `未录取 ${timeStr}` + } return '' } @@ -220,7 +212,8 @@ const handleQuerySubmit = async () => { await formRef.validate() isQueryLoading.value = true - const statusRes = await getEnrollmentProcessStatus(queryForm) + const data = await getEnrollmentProcessStatus(queryForm) + const statusRes = data.data if (statusRes) { isQueryDialogOpen.value = false @@ -240,15 +233,10 @@ const handleQuerySubmit = async () => { status: statusRes.approvalStatus || 0 } statusConfig.steps[2] = { - completed: statusRes.admissionStatus === 1, + completed: statusRes.admissionStatus === 6, time: statusRes.admissionTime || 0, status: statusRes.admissionStatus || 0 } - statusConfig.steps[3] = { - completed: statusRes.paymentStatus === 1, - time: statusRes.paymentTime || 0, - status: statusRes.paymentStatus || 0 - } ElMessage.success('查询成功') } else { @@ -290,11 +278,6 @@ const loadProcessStatus = async (idCard?: string) => { time: statusRes.data.admissionTime || 0, status: statusRes.data.admissionStatus || 0 } - statusConfig.steps[3] = { - completed: statusRes.data.paymentStatus === 1, - time: statusRes.data.paymentTime || 0, - status: statusRes.data.paymentStatus || 0 - } } } catch (error) { console.error('刷新状态失败:', error) @@ -304,7 +287,6 @@ const loadProcessStatus = async (idCard?: string) => { // 重置状态配置 const resetStatusConfig = () => { statusConfig.steps = [ - { completed: false, time: 0, status: 0 }, { completed: false, time: 0, status: 0 }, { completed: false, time: 0, status: 0 }, { completed: false, time: 0, status: 0 } @@ -371,9 +353,19 @@ const completedStepCount = computed(() => { // 页面加载时初始化 onMounted(() => { - const idCard = studentData.baseInfo.idCard - if (idCard && typeof idCard === 'string') { - loadProcessStatus(idCard) + // 新增:从路由参数获取身份证号并自动查询 + const idCardFromRoute = route.query.idCard as string + if (idCardFromRoute) { + queryForm.idCard = idCardFromRoute + // 延迟执行避免表单验证时机问题 + setTimeout(() => { + handleQuerySubmit() + }, 100) + } else { + const idCard = studentData.baseInfo.idCard + if (idCard && typeof idCard === 'string') { + loadProcessStatus(idCard) + } } })