From b69ea9f1722fcda600420800ca79534c971f5fd4 Mon Sep 17 00:00:00 2001 From: "962704835@qq.com" Date: Wed, 17 Dec 2025 19:09:42 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=96=E5=AE=BF=E7=94=B3=E8=AF=B7=E5=A1=AB?= =?UTF-8?q?=E5=86=99-=E7=94=B3=E8=AF=B7=E9=A1=BB=E7=9F=A5=E5=BC=B9?= =?UTF-8?q?=E7=AA=97=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../outsideAccommodation/applicationForm.vue | 125 ++++++++++++++---- 1 file changed, 99 insertions(+), 26 deletions(-) diff --git a/pages/dormitory/outsideAccommodation/applicationForm.vue b/pages/dormitory/outsideAccommodation/applicationForm.vue index f0ae2b7..2e8e34d 100644 --- a/pages/dormitory/outsideAccommodation/applicationForm.vue +++ b/pages/dormitory/outsideAccommodation/applicationForm.vue @@ -286,25 +286,31 @@ - - - - 申请须知 - 剩余 {{countdown}} 秒 + + + + + + + + + 申请须知 + 剩余 {{countdown}} 秒 + + + 1. 仅限南宁市学生申请外宿,需完整填写所有必填项并上传对应附件 + 2. 外宿原因需上传佐证材料(因病提供病例,外宿居所提供住房证明等) + 3. 家长意见需上传签字扫描件,本人承诺需完成电子签名 + 4. 审批通过后需经学院领导签署意见,方可办理退房手续 + + + + - - 1. 仅限南宁市学生申请外宿,需完整填写所有必填项并上传对应附件 - 2. 外宿原因需上传佐证材料(因病提供病例,外宿居所提供住房证明等) - 3. 家长意见需上传签字扫描件,本人承诺需完成电子签名 - 4. 审批通过后需经学院领导签署意见,方可办理退房手续 - - - - - - + + @@ -1100,18 +1106,40 @@ }); }, submitForm(status) { - const requiredFields = [ - '原宿舍号', '姓名', '性别', '出生日期', - '专业', '班级', '学号', '身份证', '手机号码', - '外宿原因', '外宿地址省市区', '详细门牌号', '紧急联系人', - '紧急联系电话', '家长意见', '家长联系电话', '家长地址省市区', - '家长地址详细', '签署日期' - ]; + // 定义英文字段名和中文提示的映射关系 + const fieldMap = { + 'originalDormitory': '原宿舍号', + 'studentName': '姓名', + 'gender': '性别', + 'birthDate': '出生日期', + 'majorName': '专业', + 'className': '班级', + 'studentNo': '学号', + 'idCard': '身份证', + 'studentPhone': '手机号码', + 'applyReason': '外宿原因', + 'address': '外宿地址省市区', + 'outsideAddress': '详细门牌号', + 'emergencyContact': '紧急联系人', + 'emergencyPhone': '紧急联系电话', + 'parentOpinion': '家长意见', + 'parentPhone': '家长联系电话', + 'parentAddress': '家长地址省市区', + 'parentDetailAddress': '家长地址详细', + 'promiseDate': '签署日期' + }; + // 提取所有需要验证的英文字段名 + const requiredFields = Object.keys(fieldMap); + + // 筛选出为空的英文字段 const emptyFields = requiredFields.filter(field => !this.form[field]); + if (emptyFields.length) { + // 根据空的英文字段,找到对应的中文提示 + const emptyFieldCn = fieldMap[emptyFields[0]]; uni.showToast({ - title: '请填写' + emptyFields[0], + title: '请填写' + emptyFieldCn, icon: 'none' }); return; @@ -1881,4 +1909,49 @@ padding: 12rpx 24rpx; font-size: 26rpx; } + /* 添加过渡样式 */ + .popup-fade-enter-active, .popup-fade-leave-active { + transition: opacity 0.3s ease; + } + .popup-fade-enter-from, .popup-fade-leave-to { + opacity: 0; + } + + .popup-slide-enter-active, .popup-slide-leave-active { + transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1); + } + .popup-slide-enter-from { + opacity: 0; + transform: translate(-50%, -50%) translateY(50px); + } + .popup-slide-leave-to { + opacity: 0; + transform: translate(-50%, -50%) translateY(50px); + } + /* 蒙层渐入渐出动画 */ + .popup-fade-enter-active, + .popup-fade-leave-active { + transition: opacity 0.3s ease; + } + /* 进入前/离开后状态(透明) */ + .popup-fade-enter, + .popup-fade-leave-to { + opacity: 0; + } + + /* 弹窗滑入滑出动画(核心) */ + .popup-slide-enter-active, + .popup-slide-leave-active { + transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1); /* 缓动曲线更丝滑 */ + } + /* 进入前状态:透明 + 向下偏移50px */ + .popup-slide-enter { + opacity: 0; + transform: translate(-50%, -50%) translateY(50px); + } + /* 离开后状态:透明 + 向下偏移50px */ + .popup-slide-leave-to { + opacity: 0; + transform: translate(-50%, -50%) translateY(50px); + } \ No newline at end of file