|
|
@@ -6,29 +6,35 @@
|
|
|
<content-card title="个人信息">
|
|
|
<uv-form-item label="姓名" prop="name" borderBottom>
|
|
|
<uv-input v-model="form.nickName" border="none" :readonly="!userStore.isStudent" placeholder="请输入姓名"
|
|
|
- placeholderClass="text-30" font-size="30rpx" :custom-style="customStyle">
|
|
|
+ placeholderClass="text-[15px]" font-size="15px" :custom-style="customStyle">
|
|
|
</uv-input>
|
|
|
</uv-form-item>
|
|
|
<uv-form-item v-if="userStore.isStudent" label="手机号码" prop="name" borderBottom>
|
|
|
<uv-input v-model="form.phonenumber" border="none" placeholder="请输入手机号码" maxlength="11" type="number"
|
|
|
- placeholderClass="text-30" font-size="30rpx" :custom-style="customStyle" readonly>
|
|
|
+ placeholderClass="text-[15px]" font-size="15px" :custom-style="customStyle" readonly>
|
|
|
</uv-input>
|
|
|
- <text slot="right" class="text-30 text-primary" @click="handleBindPhone">换绑</text>
|
|
|
+ <text slot="right" class="text-[15px] text-primary" @click="handleBindPhone">换绑</text>
|
|
|
</uv-form-item>
|
|
|
<uv-form-item label="所在省份" prop="name" borderBottom>
|
|
|
- <uv-input v-model="form.location" border="none" placeholder="" placeholderClass="text-30" font-size="30rpx"
|
|
|
+ <uv-input v-model="form.location" border="none" placeholder="" placeholderClass="text-[15px]" font-size="15px"
|
|
|
:custom-style="customStyle" readonly>
|
|
|
</uv-input>
|
|
|
<ie-image slot="right" src="/static/image/icon-lock.png" custom-class="w-24 h-30" mode="aspectFill" />
|
|
|
</uv-form-item>
|
|
|
<uv-form-item label="考试类别" prop="name" borderBottom>
|
|
|
- <view class="flex-1 pl-[26px] text-30">
|
|
|
+ <view class="flex-1 pl-[26px] text-[15px] leading-[24px]">
|
|
|
<ie-dict :dictName="EnumDictName.EXAM_TYPE" :dictValue="form.examType" />
|
|
|
</view>
|
|
|
<ie-image slot="right" src="/static/image/icon-lock.png" custom-class="w-24 h-30" mode="aspectFill" />
|
|
|
</uv-form-item>
|
|
|
+ <uv-form-item v-if="form.examType === 'VHS'" label="专业类别" prop="examMajor" borderBottom>
|
|
|
+ <view class="flex-1 pl-[26px] text-[15px] h-[24px] leading-[24px]">
|
|
|
+ <text>{{ examMajorName }}</text>
|
|
|
+ </view>
|
|
|
+ <ie-image slot="right" src="/static/image/icon-lock.png" custom-class="w-24 h-30" mode="aspectFill" />
|
|
|
+ </uv-form-item>
|
|
|
<uv-form-item label="单招年份" prop="name">
|
|
|
- <uv-input v-model="form.endYear" border="none" placeholder="" placeholderClass="text-30" font-size="30rpx"
|
|
|
+ <uv-input v-model="form.endYear" border="none" placeholder="" placeholderClass="text-[15px]" font-size="15px"
|
|
|
:custom-style="customStyle" readonly>
|
|
|
</uv-input>
|
|
|
<ie-image slot="right" src="/static/image/icon-lock.png" custom-class="w-24 h-30" mode="aspectFill" />
|
|
|
@@ -38,16 +44,16 @@
|
|
|
<content-card title="文化素质">
|
|
|
<uv-form-item label="语文" prop="name" borderBottom>
|
|
|
<uv-input v-model="scores.chinese" border="none"
|
|
|
- :placeholder="form.examType === EnumExamType.OHS ? '' : '请输入'" placeholderClass="text-30"
|
|
|
- font-size="30rpx" :custom-style="customStyle" :readonly="form.examType === EnumExamType.OHS">
|
|
|
+ :placeholder="form.examType === EnumExamType.OHS ? '' : '请输入'" placeholderClass="text-[15px]"
|
|
|
+ font-size="15px" :custom-style="customStyle" :readonly="form.examType === EnumExamType.OHS">
|
|
|
</uv-input>
|
|
|
<ie-image v-if="form.examType === EnumExamType.OHS" slot="right" src="/static/image/icon-lock.png"
|
|
|
custom-class="w-24 h-30" mode="aspectFill" />
|
|
|
</uv-form-item>
|
|
|
<uv-form-item label="数学" prop="name" borderBottom>
|
|
|
<uv-input v-model="scores.mathematics" border="none"
|
|
|
- :placeholder="form.examType === EnumExamType.OHS ? '' : '请输入'" placeholderClass="text-30"
|
|
|
- font-size="30rpx" :custom-style="customStyle" :readonly="form.examType === EnumExamType.OHS">
|
|
|
+ :placeholder="form.examType === EnumExamType.OHS ? '' : '请输入'" placeholderClass="text-[15px]"
|
|
|
+ font-size="15px" :custom-style="customStyle" :readonly="form.examType === EnumExamType.OHS">
|
|
|
</uv-input>
|
|
|
<ie-image v-if="form.examType === EnumExamType.OHS" slot="right" src="/static/image/icon-lock.png"
|
|
|
custom-class="w-24 h-30" mode="aspectFill" />
|
|
|
@@ -55,8 +61,8 @@
|
|
|
<uv-form-item label="外语" prop="name"
|
|
|
:borderBottom="form.examType === EnumExamType.OHS || form.examType === EnumExamType.SVS">
|
|
|
<uv-input v-model="scores.foreign" border="none"
|
|
|
- :placeholder="form.examType === EnumExamType.OHS ? '' : '请输入'" placeholderClass="text-30"
|
|
|
- font-size="30rpx" :custom-style="customStyle" :readonly="form.examType === EnumExamType.OHS">
|
|
|
+ :placeholder="form.examType === EnumExamType.OHS ? '' : '请输入'" placeholderClass="text-[15px]"
|
|
|
+ font-size="15px" :custom-style="customStyle" :readonly="form.examType === EnumExamType.OHS">
|
|
|
</uv-input>
|
|
|
<ie-image v-if="form.examType === EnumExamType.OHS" slot="right" src="/static/image/icon-lock.png"
|
|
|
custom-class="w-24 h-30" mode="aspectFill" />
|
|
|
@@ -64,16 +70,16 @@
|
|
|
<block v-if="[EnumExamType.OHS, EnumExamType.SVS].includes(form.examType)">
|
|
|
<uv-form-item label="物理" prop="name" borderBottom>
|
|
|
<uv-input v-model="scores.physics" border="none"
|
|
|
- :placeholder="form.examType === EnumExamType.OHS ? '' : '请输入'" placeholderClass="text-30"
|
|
|
- font-size="30rpx" :custom-style="customStyle" :readonly="form.examType === EnumExamType.OHS">
|
|
|
+ :placeholder="form.examType === EnumExamType.OHS ? '' : '请输入'" placeholderClass="text-[15px]"
|
|
|
+ font-size="15px" :custom-style="customStyle" :readonly="form.examType === EnumExamType.OHS">
|
|
|
</uv-input>
|
|
|
<ie-image v-if="form.examType === EnumExamType.OHS" slot="right" src="/static/image/icon-lock.png"
|
|
|
custom-class="w-24 h-30" mode="aspectFill" />
|
|
|
</uv-form-item>
|
|
|
<uv-form-item label="政治" prop="name">
|
|
|
<uv-input v-model="scores.political" border="none"
|
|
|
- :placeholder="form.examType === EnumExamType.OHS ? '' : '请输入'" placeholderClass="text-30"
|
|
|
- font-size="30rpx" :custom-style="customStyle" :readonly="form.examType === EnumExamType.OHS">
|
|
|
+ :placeholder="form.examType === EnumExamType.OHS ? '' : '请输入'" placeholderClass="text-[15px]"
|
|
|
+ font-size="15px" :custom-style="customStyle" :readonly="form.examType === EnumExamType.OHS">
|
|
|
</uv-input>
|
|
|
<ie-image v-if="form.examType === EnumExamType.OHS" slot="right" src="/static/image/icon-lock.png"
|
|
|
custom-class="w-24 h-30" mode="aspectFill" />
|
|
|
@@ -83,8 +89,8 @@
|
|
|
|
|
|
<content-card v-if="([EnumExamType.OHS, EnumExamType.SVS].includes(form.examType))" title="职业技能成绩">
|
|
|
<uv-form-item label="职业技能" prop="name">
|
|
|
- <uv-input v-model.number="scores.skill" border="none" placeholder="请输入" placeholderClass="text-30"
|
|
|
- font-size="30rpx" :custom-style="customStyle">
|
|
|
+ <uv-input v-model.number="scores.skill" border="none" placeholder="请输入" placeholderClass="text-[15px]"
|
|
|
+ font-size="15px" :custom-style="customStyle">
|
|
|
</uv-input>
|
|
|
</uv-form-item>
|
|
|
</content-card>
|
|
|
@@ -92,8 +98,8 @@
|
|
|
<template v-if="userStore.isStudent">
|
|
|
<content-card v-if="userStore.isVip" title="学校信息">
|
|
|
<uv-form-item label="学校名称" prop="form.name" borderBottom>
|
|
|
- <uv-input v-model="form.schoolName" border="none" placeholder="" placeholderClass="text-30"
|
|
|
- font-size="30rpx" :custom-style="customStyle" readonly>
|
|
|
+ <uv-input v-model="form.schoolName" border="none" placeholder="" placeholderClass="text-[15px]"
|
|
|
+ font-size="15px" :custom-style="customStyle" readonly>
|
|
|
</uv-input>
|
|
|
<ie-image slot="right" src="/static/image/icon-lock.png" custom-class="w-24 h-30" mode="aspectFill" />
|
|
|
</uv-form-item>
|
|
|
@@ -110,14 +116,14 @@
|
|
|
</template>
|
|
|
<content-card v-else-if="userStore.isTeacher" title="学校信息">
|
|
|
<uv-form-item label="学校名称" prop="form.campusName" borderBottom>
|
|
|
- <uv-input v-model="form.campusName" border="none" placeholder="" placeholderClass="text-30"
|
|
|
- font-size="30rpx" :custom-style="customStyle" readonly>
|
|
|
+ <uv-input v-model="form.campusName" border="none" placeholder="" placeholderClass="text-[15px]"
|
|
|
+ font-size="15px" :custom-style="customStyle" readonly>
|
|
|
</uv-input>
|
|
|
<ie-image slot="right" src="/static/image/icon-lock.png" custom-class="w-24 h-30" mode="aspectFill" />
|
|
|
</uv-form-item>
|
|
|
<uv-form-item label="所在班级" prop="form.campusClassName">
|
|
|
- <uv-input v-model="form.campusClassName" border="none" placeholder="" placeholderClass="text-30"
|
|
|
- font-size="30rpx" :custom-style="customStyle" readonly>
|
|
|
+ <uv-input v-model="form.campusClassName" border="none" placeholder="" placeholderClass="text-[15px]"
|
|
|
+ font-size="15px" :custom-style="customStyle" readonly>
|
|
|
</uv-input>
|
|
|
<ie-image slot="right" src="/static/image/icon-lock.png" custom-class="w-24 h-30" mode="aspectFill" />
|
|
|
</uv-form-item>
|
|
|
@@ -154,10 +160,15 @@ import { BindCardInfo, UserInfo } from '@/types/user';
|
|
|
import { EnumDictName, EnumSmsApiType, EnumExamType } from '@/common/enum';
|
|
|
import { validatePhone } from '@/hooks/useValidation';
|
|
|
import { validateSms } from '@/api/modules/system';
|
|
|
+import { useExamType } from '@/composables/useExamType';
|
|
|
+import { DictItem } from '@/types';
|
|
|
+const { loadExamMajorData } = useExamType();
|
|
|
+
|
|
|
const userStore = useUserStore();
|
|
|
const userInfo = computed(() => userStore.userInfo);
|
|
|
const cardInfo = computed(() => userStore.card);
|
|
|
const { classList, loadClassData } = useSchool();
|
|
|
+const examMajorList = ref<DictItem[]>([]);
|
|
|
|
|
|
const form = ref<UserInfo>({
|
|
|
...userInfo.value
|
|
|
@@ -184,6 +195,12 @@ const schoolClassDisabled = computed(() => {
|
|
|
const { schoolId } = form.value;
|
|
|
return schoolId === undefined || schoolId === null || pickerDisabled.value;
|
|
|
});
|
|
|
+const examMajorName = computed(() => {
|
|
|
+ if (!form.value.examMajor) {
|
|
|
+ return '';
|
|
|
+ }
|
|
|
+ return examMajorList.value.find(item => item.dictValue === form.value.examMajor)?.dictLabel;
|
|
|
+});
|
|
|
|
|
|
const handleSubmit = async () => {
|
|
|
uni.$ie.showLoading();
|
|
|
@@ -243,8 +260,20 @@ const handleChangePhone = async () => {
|
|
|
form.value.phonenumber = phoneForm.value.phone;
|
|
|
popupRef.value.close();
|
|
|
}
|
|
|
-onLoad(() => {
|
|
|
+const initData = () => {
|
|
|
loadClassData(cardInfo.value?.schoolId);
|
|
|
+ // 对口升学加载专业类别数据
|
|
|
+ if (form.value.examType === EnumExamType.VHS) {
|
|
|
+ uni.$ie.showLoading();
|
|
|
+ loadExamMajorData(form.value.location, form.value.examType).then(res => {
|
|
|
+ examMajorList.value = res || [];
|
|
|
+ }).finally(() => {
|
|
|
+ uni.$ie.hideLoading();
|
|
|
+ });
|
|
|
+ }
|
|
|
+}
|
|
|
+onLoad(() => {
|
|
|
+ initData();
|
|
|
});
|
|
|
</script>
|
|
|
|