From 34030cf2ea28986a8fb8c2daf1d5e53d99bfe94c Mon Sep 17 00:00:00 2001 From: 18631081161 <2088094923@qq.com> Date: Tue, 7 Apr 2026 19:58:30 +0800 Subject: [PATCH] =?UTF-8?q?=E7=95=8C=E9=9D=A2=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../scripts/add_planner_booking_fields.sql | 46 +++++++++ .../MiAssessment/scripts/init_business_db.sql | 7 ++ .../Entities/PlannerBooking.cs | 30 ++++++ .../AssessmentRecord/AssessmentRecordDto.cs | 5 + .../AssessmentRecordQueryRequest.cs | 4 +- .../Models/Planner/BookingDetailDto.cs | 25 +++++ .../Services/AssessmentRecordService.cs | 7 +- .../Services/PlannerService.cs | 5 + .../src/api/business/assessmentRecord.ts | 3 +- .../business/assessment/record/index.vue | 25 ++--- .../src/views/business/config/index.vue | 29 +++++- .../Services/OrderService.cs | 5 + .../Entities/PlannerBooking.cs | 30 ++++++ .../Models/Order/CreateOrderModels.cs | 25 +++++ uniapp/pages/assessment/history/index.vue | 2 +- uniapp/pages/index/index.vue | 93 ++++++++++++++++-- uniapp/pages/mine/index.vue | 14 +-- uniapp/pages/planner/book/index.vue | 96 +++++++++++++++---- 18 files changed, 390 insertions(+), 61 deletions(-) create mode 100644 server/MiAssessment/scripts/add_planner_booking_fields.sql diff --git a/server/MiAssessment/scripts/add_planner_booking_fields.sql b/server/MiAssessment/scripts/add_planner_booking_fields.sql new file mode 100644 index 0000000..602dc14 --- /dev/null +++ b/server/MiAssessment/scripts/add_planner_booking_fields.sql @@ -0,0 +1,46 @@ +-- ============================================= +-- 规划预约表新增字段:所在地区、学校、学情 +-- ============================================= + +-- 省份 +IF NOT EXISTS (SELECT * FROM sys.columns WHERE object_id = OBJECT_ID(N'[dbo].[planner_bookings]') AND name = 'Province') +BEGIN + ALTER TABLE [dbo].[planner_bookings] ADD [Province] NVARCHAR(50) NULL; + PRINT N'Column Province added to planner_bookings'; +END +GO + +-- 城市 +IF NOT EXISTS (SELECT * FROM sys.columns WHERE object_id = OBJECT_ID(N'[dbo].[planner_bookings]') AND name = 'City') +BEGIN + ALTER TABLE [dbo].[planner_bookings] ADD [City] NVARCHAR(50) NULL; + PRINT N'Column City added to planner_bookings'; +END +GO + +-- 区县 +IF NOT EXISTS (SELECT * FROM sys.columns WHERE object_id = OBJECT_ID(N'[dbo].[planner_bookings]') AND name = 'District') +BEGIN + ALTER TABLE [dbo].[planner_bookings] ADD [District] NVARCHAR(50) NULL; + PRINT N'Column District added to planner_bookings'; +END +GO + +-- 学校 +IF NOT EXISTS (SELECT * FROM sys.columns WHERE object_id = OBJECT_ID(N'[dbo].[planner_bookings]') AND name = 'School') +BEGIN + ALTER TABLE [dbo].[planner_bookings] ADD [School] NVARCHAR(100) NULL; + PRINT N'Column School added to planner_bookings'; +END +GO + +-- 学情 +IF NOT EXISTS (SELECT * FROM sys.columns WHERE object_id = OBJECT_ID(N'[dbo].[planner_bookings]') AND name = 'StudyInfo') +BEGIN + ALTER TABLE [dbo].[planner_bookings] ADD [StudyInfo] NVARCHAR(1000) NULL; + PRINT N'Column StudyInfo added to planner_bookings'; +END +GO + +PRINT N'planner_bookings 新字段添加完成'; +GO diff --git a/server/MiAssessment/scripts/init_business_db.sql b/server/MiAssessment/scripts/init_business_db.sql index 9e60231..7f03888 100644 --- a/server/MiAssessment/scripts/init_business_db.sql +++ b/server/MiAssessment/scripts/init_business_db.sql @@ -472,6 +472,13 @@ BEGIN [ScoreBiology] INT NULL, -- 生物成绩 [ScoreGeography] INT NULL, -- 地理成绩 [ScorePolitics] INT NULL, -- 政治成绩 + [FamilyAtmosphere] NVARCHAR(500) NULL, -- 家庭氛围 + [Expectation] NVARCHAR(500) NULL, -- 期望 + [Province] NVARCHAR(50) NULL, -- 省份 + [City] NVARCHAR(50) NULL, -- 城市 + [District] NVARCHAR(50) NULL, -- 区县 + [School] NVARCHAR(100) NULL, -- 学校 + [StudyInfo] NVARCHAR(1000) NULL, -- 学情 [Status] INT NOT NULL DEFAULT 1, -- 状态:1待联系 2已联系 3已完成 4已取消 [CreateTime] DATETIME2 NOT NULL DEFAULT GETDATE(), [UpdateTime] DATETIME2 NOT NULL DEFAULT GETDATE(), diff --git a/server/MiAssessment/src/MiAssessment.Admin.Business/Entities/PlannerBooking.cs b/server/MiAssessment/src/MiAssessment.Admin.Business/Entities/PlannerBooking.cs index 1a78f56..58c5f7a 100644 --- a/server/MiAssessment/src/MiAssessment.Admin.Business/Entities/PlannerBooking.cs +++ b/server/MiAssessment/src/MiAssessment.Admin.Business/Entities/PlannerBooking.cs @@ -126,6 +126,36 @@ public class PlannerBooking [MaxLength(500)] public string? Expectation { get; set; } + /// + /// 省份 + /// + [MaxLength(50)] + public string? Province { get; set; } + + /// + /// 城市 + /// + [MaxLength(50)] + public string? City { get; set; } + + /// + /// 区县 + /// + [MaxLength(50)] + public string? District { get; set; } + + /// + /// 学校 + /// + [MaxLength(100)] + public string? School { get; set; } + + /// + /// 学情 + /// + [MaxLength(1000)] + public string? StudyInfo { get; set; } + /// /// 状态:1待联系 2联系中 3已完成 4已取消 /// diff --git a/server/MiAssessment/src/MiAssessment.Admin.Business/Models/AssessmentRecord/AssessmentRecordDto.cs b/server/MiAssessment/src/MiAssessment.Admin.Business/Models/AssessmentRecord/AssessmentRecordDto.cs index f5da631..74e7fe5 100644 --- a/server/MiAssessment/src/MiAssessment.Admin.Business/Models/AssessmentRecord/AssessmentRecordDto.cs +++ b/server/MiAssessment/src/MiAssessment.Admin.Business/Models/AssessmentRecord/AssessmentRecordDto.cs @@ -15,6 +15,11 @@ public class AssessmentRecordDto /// public long UserId { get; set; } + /// + /// 用户UID + /// + public string? UserUid { get; set; } + /// /// 用户昵称 /// diff --git a/server/MiAssessment/src/MiAssessment.Admin.Business/Models/AssessmentRecord/AssessmentRecordQueryRequest.cs b/server/MiAssessment/src/MiAssessment.Admin.Business/Models/AssessmentRecord/AssessmentRecordQueryRequest.cs index 425a2ea..a9fab96 100644 --- a/server/MiAssessment/src/MiAssessment.Admin.Business/Models/AssessmentRecord/AssessmentRecordQueryRequest.cs +++ b/server/MiAssessment/src/MiAssessment.Admin.Business/Models/AssessmentRecord/AssessmentRecordQueryRequest.cs @@ -6,9 +6,9 @@ namespace MiAssessment.Admin.Business.Models.AssessmentRecord; public class AssessmentRecordQueryRequest : PagedRequest { /// - /// 用户ID + /// 用户UID /// - public long? UserId { get; set; } + public string? Uid { get; set; } /// /// 测评类型ID diff --git a/server/MiAssessment/src/MiAssessment.Admin.Business/Models/Planner/BookingDetailDto.cs b/server/MiAssessment/src/MiAssessment.Admin.Business/Models/Planner/BookingDetailDto.cs index 6ba2c76..1877418 100644 --- a/server/MiAssessment/src/MiAssessment.Admin.Business/Models/Planner/BookingDetailDto.cs +++ b/server/MiAssessment/src/MiAssessment.Admin.Business/Models/Planner/BookingDetailDto.cs @@ -94,4 +94,29 @@ public class BookingDetailDto : BookingDto /// 期望 /// public string? Expectation { get; set; } + + /// + /// 省份 + /// + public string? Province { get; set; } + + /// + /// 城市 + /// + public string? City { get; set; } + + /// + /// 区县 + /// + public string? District { get; set; } + + /// + /// 学校 + /// + public string? School { get; set; } + + /// + /// 学情 + /// + public string? StudyInfo { get; set; } } diff --git a/server/MiAssessment/src/MiAssessment.Admin.Business/Services/AssessmentRecordService.cs b/server/MiAssessment/src/MiAssessment.Admin.Business/Services/AssessmentRecordService.cs index f7240ff..a4ceae0 100644 --- a/server/MiAssessment/src/MiAssessment.Admin.Business/Services/AssessmentRecordService.cs +++ b/server/MiAssessment/src/MiAssessment.Admin.Business/Services/AssessmentRecordService.cs @@ -100,6 +100,7 @@ public class AssessmentRecordService : IAssessmentRecordService { Id = r.Id, UserId = r.UserId, + UserUid = r.User != null ? r.User.Uid : null, UserNickname = r.User != null ? r.User.Nickname : null, OrderId = r.OrderId, OrderNo = r.Order != null ? r.Order.OrderNo : null, @@ -693,10 +694,10 @@ public class AssessmentRecordService : IAssessmentRecordService IQueryable query, AssessmentRecordQueryRequest request) { - // 按用户ID筛选 - if (request.UserId.HasValue) + // 按用户UID筛选 + if (!string.IsNullOrWhiteSpace(request.Uid)) { - query = query.Where(r => r.UserId == request.UserId.Value); + query = query.Where(r => r.User != null && r.User.Uid == request.Uid); } // 按测评类型ID筛选 diff --git a/server/MiAssessment/src/MiAssessment.Admin.Business/Services/PlannerService.cs b/server/MiAssessment/src/MiAssessment.Admin.Business/Services/PlannerService.cs index 7cb3f39..5b260c6 100644 --- a/server/MiAssessment/src/MiAssessment.Admin.Business/Services/PlannerService.cs +++ b/server/MiAssessment/src/MiAssessment.Admin.Business/Services/PlannerService.cs @@ -402,6 +402,11 @@ public class PlannerService : IPlannerService ScorePolitics = booking.ScorePolitics, FamilyAtmosphere = booking.FamilyAtmosphere, Expectation = booking.Expectation, + Province = booking.Province, + City = booking.City, + District = booking.District, + School = booking.School, + StudyInfo = booking.StudyInfo, Status = booking.Status, StatusName = GetBookingStatusName(booking.Status), OrderAmount = booking.Order?.Amount, diff --git a/server/MiAssessment/src/MiAssessment.Admin/admin-web/src/api/business/assessmentRecord.ts b/server/MiAssessment/src/MiAssessment.Admin/admin-web/src/api/business/assessmentRecord.ts index f19fabd..3ddc44b 100644 --- a/server/MiAssessment/src/MiAssessment.Admin/admin-web/src/api/business/assessmentRecord.ts +++ b/server/MiAssessment/src/MiAssessment.Admin/admin-web/src/api/business/assessmentRecord.ts @@ -12,6 +12,7 @@ import type { PagedRequest, PagedResult } from '@/types/common' export interface AssessmentRecordItem { id: number userId: number + userUid: string | null userNickname: string | null orderId: number orderNo: string | null @@ -92,7 +93,7 @@ export interface AssessmentReport extends AssessmentRecordItem { /** 测评记录查询参数 */ export interface AssessmentRecordQuery extends PagedRequest { - userId?: number + uid?: string assessmentTypeId?: number status?: number startDate?: string diff --git a/server/MiAssessment/src/MiAssessment.Admin/admin-web/src/views/business/assessment/record/index.vue b/server/MiAssessment/src/MiAssessment.Admin/admin-web/src/views/business/assessment/record/index.vue index 353dcfc..57a3a5e 100644 --- a/server/MiAssessment/src/MiAssessment.Admin/admin-web/src/views/business/assessment/record/index.vue +++ b/server/MiAssessment/src/MiAssessment.Admin/admin-web/src/views/business/assessment/record/index.vue @@ -23,16 +23,16 @@ - + - + @@ -40,6 +40,7 @@ + @@ -72,10 +73,10 @@ - + @@ -452,7 +453,7 @@ const dateRange = ref<[string, string] | null>(null) const queryParams = reactive({ page: 1, pageSize: 10, - userId: '', + uid: '', status: undefined as number | undefined, startDate: undefined as string | undefined, endDate: undefined as string | undefined @@ -551,8 +552,8 @@ async function loadRecordList() { page: queryParams.page, pageSize: queryParams.pageSize } - if (queryParams.userId) { - params.userId = Number(queryParams.userId) + if (queryParams.uid) { + params.uid = queryParams.uid } if (queryParams.status !== undefined) { params.status = queryParams.status @@ -641,7 +642,7 @@ function handleSearch() { } function handleReset() { - queryParams.userId = '' + queryParams.uid = '' queryParams.status = undefined queryParams.startDate = undefined queryParams.endDate = undefined @@ -816,8 +817,8 @@ async function handleExport() { page: 1, pageSize: 10000 } - if (queryParams.userId) { - params.userId = Number(queryParams.userId) + if (queryParams.uid) { + params.uid = queryParams.uid } if (queryParams.status !== undefined) { params.status = queryParams.status diff --git a/server/MiAssessment/src/MiAssessment.Admin/admin-web/src/views/business/config/index.vue b/server/MiAssessment/src/MiAssessment.Admin/admin-web/src/views/business/config/index.vue index 29cd64f..f0c6d4a 100644 --- a/server/MiAssessment/src/MiAssessment.Admin/admin-web/src/views/business/config/index.vue +++ b/server/MiAssessment/src/MiAssessment.Admin/admin-web/src/views/business/config/index.vue @@ -44,9 +44,9 @@ 点击编辑上传图片 @@ -166,6 +166,17 @@ + + +
+ +
+
@@ -201,6 +212,8 @@ interface ConfigPageState { imageValue: string saving: boolean validationError: string + previewVisible: boolean + previewUrl: string } // 富文本配置键列表 @@ -229,7 +242,9 @@ const state = reactive({ imageDialogVisible: false, imageValue: '', saving: false, - validationError: '' + validationError: '', + previewVisible: false, + previewUrl: '' }) // ============ Helper Functions ============ @@ -464,6 +479,14 @@ function handleImageCancel() { state.imageValue = '' } +/** + * 预览图片 + */ +function handlePreviewImage(url: string) { + state.previewUrl = url + state.previewVisible = true +} + async function handleImageSave() { if (!state.editingItem) return diff --git a/server/MiAssessment/src/MiAssessment.Core/Services/OrderService.cs b/server/MiAssessment/src/MiAssessment.Core/Services/OrderService.cs index 42a1dff..2647e51 100644 --- a/server/MiAssessment/src/MiAssessment.Core/Services/OrderService.cs +++ b/server/MiAssessment/src/MiAssessment.Core/Services/OrderService.cs @@ -681,6 +681,11 @@ public class OrderService : IOrderService ScorePolitics = request.PlannerInfo.ScorePolitics, FamilyAtmosphere = request.PlannerInfo.FamilyAtmosphere, Expectation = request.PlannerInfo.Expectation, + Province = request.PlannerInfo.Province, + City = request.PlannerInfo.City, + District = request.PlannerInfo.District, + School = request.PlannerInfo.School, + StudyInfo = request.PlannerInfo.StudyInfo, Status = 1, // 待确认 CreateTime = now, UpdateTime = now, diff --git a/server/MiAssessment/src/MiAssessment.Model/Entities/PlannerBooking.cs b/server/MiAssessment/src/MiAssessment.Model/Entities/PlannerBooking.cs index 3ce113e..486321f 100644 --- a/server/MiAssessment/src/MiAssessment.Model/Entities/PlannerBooking.cs +++ b/server/MiAssessment/src/MiAssessment.Model/Entities/PlannerBooking.cs @@ -126,6 +126,36 @@ public class PlannerBooking [MaxLength(500)] public string? Expectation { get; set; } + /// + /// 省份 + /// + [MaxLength(50)] + public string? Province { get; set; } + + /// + /// 城市 + /// + [MaxLength(50)] + public string? City { get; set; } + + /// + /// 区县 + /// + [MaxLength(50)] + public string? District { get; set; } + + /// + /// 学校 + /// + [MaxLength(100)] + public string? School { get; set; } + + /// + /// 学情 + /// + [MaxLength(1000)] + public string? StudyInfo { get; set; } + /// /// 状态:1待联系 2联系中 3已完成 4已取消 /// diff --git a/server/MiAssessment/src/MiAssessment.Model/Models/Order/CreateOrderModels.cs b/server/MiAssessment/src/MiAssessment.Model/Models/Order/CreateOrderModels.cs index 65e5c28..d44ace0 100644 --- a/server/MiAssessment/src/MiAssessment.Model/Models/Order/CreateOrderModels.cs +++ b/server/MiAssessment/src/MiAssessment.Model/Models/Order/CreateOrderModels.cs @@ -157,6 +157,31 @@ public class PlannerInfoDto /// public string? Expectation { get; set; } + /// + /// 省份 + /// + public string? Province { get; set; } + + /// + /// 城市 + /// + public string? City { get; set; } + + /// + /// 区县 + /// + public string? District { get; set; } + + /// + /// 学校 + /// + public string? School { get; set; } + + /// + /// 学情 + /// + public string? StudyInfo { get; set; } + /// /// 备注 /// diff --git a/uniapp/pages/assessment/history/index.vue b/uniapp/pages/assessment/history/index.vue index fd09ec7..2aff489 100644 --- a/uniapp/pages/assessment/history/index.vue +++ b/uniapp/pages/assessment/history/index.vue @@ -124,7 +124,7 @@ onReachBottom(() => { /** * 查看测评结果 */ -function viewResult(record) { +async function viewResult(record) { // 已完成 - 查看报告 if (record.status === ASSESSMENT_STATUS.COMPLETED) { uni.navigateTo({ diff --git a/uniapp/pages/index/index.vue b/uniapp/pages/index/index.vue index b54be78..d656f52 100644 --- a/uniapp/pages/index/index.vue +++ b/uniapp/pages/index/index.vue @@ -112,13 +112,24 @@ - + + + + 联系我们 + + + + + 暂未配置客服二维码 + + + @@ -130,7 +141,6 @@ import { useNavbar } from '@/composables/useNavbar.js' import { getBannerList, getNavigationList } from '@/api/home.js' import { getContactInfo } from '@/api/system.js' import Loading from '@/components/Loading/index.vue' -import Popup from '@/components/Popup/index.vue' const userStore = useUserStore() const { statusBarHeight, navbarHeight, totalNavbarHeight } = useNavbar() @@ -186,6 +196,17 @@ async function loadMoreList() { } } +/** + * 预览二维码图片 + */ +function handlePreviewQrcode() { + if (!qrcodeUrl.value) return + uni.previewImage({ + urls: [qrcodeUrl.value], + current: qrcodeUrl.value + }) +} + /** * 加载客服二维码URL */ @@ -477,4 +498,60 @@ onMounted(() => { height: 40rpx; padding-bottom: env(safe-area-inset-bottom); } + +// 联系我们弹窗 +.popup-mask { + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: rgba(0, 0, 0, 0.5); + display: flex; + align-items: center; + justify-content: center; + z-index: 999; +} + +.contact-popup { + width: 90%; + background-color: $bg-white; + border-radius: $border-radius-xl; + overflow: hidden; + + .contact-popup-header { + display: flex; + align-items: center; + justify-content: space-between; + padding: $spacing-xl $spacing-xl 0; + + .contact-popup-title { + font-size: $font-size-lg; + font-weight: $font-weight-bold; + color: $text-color; + } + + .contact-popup-close { + font-size: $font-size-xl; + color: $text-placeholder; + } + } + + .contact-popup-body { + display: flex; + flex-direction: column; + align-items: center; + padding: $spacing-xl; + + .contact-qrcode { + width: 100%; + } + + .contact-tip { + margin-top: $spacing-lg; + font-size: $font-size-sm; + color: $text-secondary; + } + } +} diff --git a/uniapp/pages/mine/index.vue b/uniapp/pages/mine/index.vue index f2f1bd3..98d864e 100644 --- a/uniapp/pages/mine/index.vue +++ b/uniapp/pages/mine/index.vue @@ -109,10 +109,9 @@ - 长按识别或点击预览保存二维码 @@ -523,7 +522,7 @@ onMounted(() => { // 联系我们弹窗 .contact-popup { - width: 560rpx; + width: 90%; background-color: $bg-white; border-radius: $border-radius-xl; overflow: hidden; @@ -554,16 +553,9 @@ onMounted(() => { padding: $spacing-xl; .contact-qrcode { - width: 400rpx; - height: 400rpx; + width: 100%; border-radius: $border-radius-md; } - - .contact-tip { - margin-top: $spacing-lg; - font-size: $font-size-sm; - color: $text-placeholder; - } } } diff --git a/uniapp/pages/planner/book/index.vue b/uniapp/pages/planner/book/index.vue index d89f81d..945438e 100644 --- a/uniapp/pages/planner/book/index.vue +++ b/uniapp/pages/planner/book/index.vue @@ -48,6 +48,8 @@ const timeOptions = [ // 表单数据 const formData = ref({ name: '', phone: '', grade: '', + province: '', city: '', district: '', + school: '', studyInfo: '', majorName: '', familyAtmosphere: '', expectation: '' }) @@ -114,10 +116,12 @@ const showSuccessPopup = ref(false) * 表单是否填写完整 */ const isFormComplete = computed(() => { - if (!selectedDate.value || !selectedTime.value) return false if (!formData.value.name.trim()) return false if (!formData.value.phone.trim()) return false if (!formData.value.grade) return false + if (!formData.value.province) return false + if (!formData.value.school.trim()) return false + if (!formData.value.studyInfo.trim()) return false if (showScores.value) { if (!scores.value.chinese.trim() || !scores.value.math.trim() || !scores.value.english.trim()) return false } @@ -211,13 +215,20 @@ function onGradeChange(e) { formData.value.majorName = '' } +/** + * 省市区选择 + */ +function onRegionChange(e) { + const value = e.detail.value + formData.value.province = value[0] || '' + formData.value.city = value[1] || '' + formData.value.district = value[2] || '' +} + /** * 验证表单 */ function validateForm() { - if (!selectedDate.value || !selectedTime.value) { - uni.showToast({ title: '请选择规划时间', icon: 'none' }); return false - } if (!formData.value.name.trim()) { uni.showToast({ title: '请输入姓名', icon: 'none' }); return false } @@ -227,6 +238,15 @@ function validateForm() { if (!formData.value.grade) { uni.showToast({ title: '请选择所在年级', icon: 'none' }); return false } + if (!formData.value.province) { + uni.showToast({ title: '请选择所在地区', icon: 'none' }); return false + } + if (!formData.value.school.trim()) { + uni.showToast({ title: '请输入学校', icon: 'none' }); return false + } + if (!formData.value.studyInfo.trim()) { + uni.showToast({ title: '请输入学情', icon: 'none' }); return false + } if (showScores.value && (!scores.value.chinese.trim() || !scores.value.math.trim() || !scores.value.english.trim())) { uni.showToast({ title: '请填写必填科目成绩', icon: 'none' }); return false } @@ -278,8 +298,13 @@ async function handleSubmit() { plannerInfo: { name: formData.value.name, phone: formData.value.phone, - bookDateTime: `${selectedDate.value} ${selectedTime.value}`, + bookDateTime: selectedDate.value && selectedTime.value ? `${selectedDate.value} ${selectedTime.value}` : null, grade: gradeMap[formData.value.grade] || 0, + province: formData.value.province, + city: formData.value.city, + district: formData.value.district, + school: formData.value.school, + studyInfo: formData.value.studyInfo, majorName: showMajor.value ? formData.value.majorName : null, ...scoreFields, familyAtmosphere: formData.value.familyAtmosphere, @@ -330,22 +355,11 @@ onLoad(async (options) => { - - + + @@ -374,6 +388,36 @@ onLoad(async (options) => { + + + *所在地区 + + + {{ formData.province }} {{ formData.city }} {{ formData.district }} + 请选择 + + + + + + + + *学校 + + + + + + *学情 +