|
@@ -37,6 +37,7 @@ import vipGiftIcon from '../images/vip-gift-icon.png';
|
|
|
import MMessageTip from '@/components/m-message-tip';
|
|
|
import SelectStudent from '../modal/select-student';
|
|
|
import { setLoginInit } from '@/state';
|
|
|
+import dayjs from 'dayjs';
|
|
|
|
|
|
const classList: any = [];
|
|
|
for (let i = 1; i <= 40; i++) {
|
|
@@ -81,6 +82,13 @@ export default defineComponent({
|
|
|
return tempList;
|
|
|
});
|
|
|
const forms = reactive({
|
|
|
+ /** 参数数据 */
|
|
|
+ queryParams: {
|
|
|
+ classId: route.query.ci as any,
|
|
|
+ currentGradeNum: route.query.cgn ? Number(route.query.cgn) : null,
|
|
|
+ currentClass: route.query.cc ? Number(route.query.cc) : null
|
|
|
+ },
|
|
|
+
|
|
|
countDownStatus: true,
|
|
|
countDownTime: 1000 * 120, // 倒计时时间
|
|
|
modelValue: false, // 是否选中协议
|
|
@@ -124,6 +132,15 @@ export default defineComponent({
|
|
|
confirmButtonText: '确定',
|
|
|
messageAlign: 'left' as 'center' | 'left' | 'right'
|
|
|
});
|
|
|
+
|
|
|
+ // 班级状态
|
|
|
+ const isClassStatus = computed(() => {
|
|
|
+ return {
|
|
|
+ isGrade: forms.queryParams.currentGradeNum ? true : false,
|
|
|
+ isClass: forms.queryParams.currentClass ? true : false
|
|
|
+ };
|
|
|
+ });
|
|
|
+
|
|
|
const isAgree = ref(false);
|
|
|
const studentInfo = reactive({
|
|
|
autoRegister: true,
|
|
@@ -132,8 +149,8 @@ export default defineComponent({
|
|
|
client_secret: 'cooleshow-student',
|
|
|
extra: {
|
|
|
nickname: '',
|
|
|
- currentGradeNum: '',
|
|
|
- currentClass: '',
|
|
|
+ currentGradeNum: null as any,
|
|
|
+ currentClass: null as any,
|
|
|
gender: 1,
|
|
|
registerType: '', // 报名类型
|
|
|
giftVipDay: 0 // 赠送会员天数
|
|
@@ -164,54 +181,6 @@ export default defineComponent({
|
|
|
}
|
|
|
forms.imgCodeStatus = true;
|
|
|
};
|
|
|
- // const getUserInfos = async () => {
|
|
|
- // if (
|
|
|
- // studentInfo.password.length !== 6 ||
|
|
|
- // !checkPhone(studentInfo.username)
|
|
|
- // ) {
|
|
|
- // return;
|
|
|
- // }
|
|
|
- // try {
|
|
|
- // const { data } = await request.get(
|
|
|
- // `/edu-app/open/student/studentInfo?mobile=${studentInfo.username}&code=${studentInfo.password}&type=REGISTER`
|
|
|
- // );
|
|
|
- // if (data) {
|
|
|
- // if (!studentInfo.extra.nickname) {
|
|
|
- // studentInfo.extra.nickname = data.nickname;
|
|
|
- // }
|
|
|
-
|
|
|
- // if (!studentInfo.extra.currentGradeNum) {
|
|
|
- // studentInfo.extra.currentGradeNum = data.currentGradeNum;
|
|
|
- // }
|
|
|
-
|
|
|
- // if (!studentInfo.extra.currentClass) {
|
|
|
- // studentInfo.extra.currentClass = data.currentClass;
|
|
|
- // }
|
|
|
- // // if (!studentInfo.extra.gender) {
|
|
|
- // studentInfo.extra.gender =
|
|
|
- // studentInfo.extra.gender !== data.gender
|
|
|
- // ? data.gender
|
|
|
- // : studentInfo.extra.gender;
|
|
|
-
|
|
|
- // // studentInfo.username = data.nickname;
|
|
|
-
|
|
|
- // classList.forEach((i: any) => {
|
|
|
- // if (i.value === data.currentClass) {
|
|
|
- // forms.currentClassText = i.text;
|
|
|
- // }
|
|
|
- // });
|
|
|
-
|
|
|
- // const tempGrade: any = gradeList.value[0] || [];
|
|
|
- // tempGrade?.forEach((i: any) => {
|
|
|
- // if (i.value === data.currentGradeNum) {
|
|
|
- // forms.gradeNumText = i.text;
|
|
|
- // }
|
|
|
- // });
|
|
|
- // }
|
|
|
- // } catch {
|
|
|
- // //
|
|
|
- // }
|
|
|
- // };
|
|
|
const getUserInfos = async () => {
|
|
|
if (
|
|
|
studentInfo.password.length !== 6 ||
|
|
@@ -229,23 +198,26 @@ export default defineComponent({
|
|
|
const firstStudent: any = forms.studentList[0];
|
|
|
forms.studentItem = firstStudent;
|
|
|
studentInfo.extra.nickname = firstStudent.nickname;
|
|
|
- const tempGrade: any = gradeList.value[0] || [];
|
|
|
- tempGrade?.forEach((i: any) => {
|
|
|
- if (i.value === firstStudent.currentGradeNum) {
|
|
|
- // forms.instrumentCode = i.instrumentCode;
|
|
|
- forms.gradeNumText = i.text;
|
|
|
- studentInfo.extra.currentGradeNum = firstStudent.currentGradeNum;
|
|
|
- // if (forms.schoolInstrumentSetType === 'CLASS') {
|
|
|
- // forms.classList = i.classList;
|
|
|
- // }
|
|
|
- }
|
|
|
- });
|
|
|
- classList.forEach((i: any) => {
|
|
|
- if (i.value === firstStudent.currentClass) {
|
|
|
- forms.currentClassText = i.text;
|
|
|
- studentInfo.extra.currentClass = firstStudent.currentClass;
|
|
|
- }
|
|
|
- });
|
|
|
+
|
|
|
+ if (!isClassStatus.value.isGrade) {
|
|
|
+ const tempGrade: any = gradeList.value[0] || [];
|
|
|
+ tempGrade?.forEach((i: any) => {
|
|
|
+ if (i.value === firstStudent.currentGradeNum) {
|
|
|
+ forms.gradeNumText = i.text;
|
|
|
+ studentInfo.extra.currentGradeNum =
|
|
|
+ firstStudent.currentGradeNum;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ if (!isClassStatus.value.isClass) {
|
|
|
+ classList.forEach((i: any) => {
|
|
|
+ if (i.value === firstStudent.currentClass) {
|
|
|
+ forms.currentClassText = i.text;
|
|
|
+ studentInfo.extra.currentClass = firstStudent.currentClass;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
studentInfo.extra.gender = firstStudent.gender;
|
|
|
|
|
|
forms.isRegister = 'update';
|
|
@@ -370,6 +342,7 @@ export default defineComponent({
|
|
|
...res,
|
|
|
extra: JSON.stringify({
|
|
|
...extra,
|
|
|
+ classId: forms.queryParams.classId,
|
|
|
schoolId: forms.schoolId
|
|
|
})
|
|
|
}
|
|
@@ -392,6 +365,7 @@ export default defineComponent({
|
|
|
schoolId: forms.schoolId,
|
|
|
clientType: 'STUDENT',
|
|
|
...extra,
|
|
|
+ classId: forms.queryParams.classId,
|
|
|
mobile: username,
|
|
|
newRegUser: forms.isRegister === 'create' ? true : false
|
|
|
}
|
|
@@ -473,18 +447,35 @@ export default defineComponent({
|
|
|
} else {
|
|
|
forms.showTips = true;
|
|
|
}
|
|
|
+
|
|
|
+ // 判断是否有传来的年级班级
|
|
|
+ const tempGrade: any = gradeList.value[0] || [];
|
|
|
+ tempGrade?.forEach((i: any) => {
|
|
|
+ if (i.value === forms.queryParams.currentGradeNum) {
|
|
|
+ forms.gradeNumText = i.text;
|
|
|
+ studentInfo.extra.currentGradeNum =
|
|
|
+ forms.queryParams.currentGradeNum;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ classList.forEach((i: any) => {
|
|
|
+ if (i.value === forms.queryParams.currentClass) {
|
|
|
+ forms.currentClassText = i.text;
|
|
|
+ studentInfo.extra.currentClass = forms.queryParams.currentClass;
|
|
|
+ }
|
|
|
+ });
|
|
|
} catch {}
|
|
|
};
|
|
|
|
|
|
onMounted(async () => {
|
|
|
try {
|
|
|
// 获取支付类型
|
|
|
+ let expireDay = null;
|
|
|
const { data } = await request.get(
|
|
|
'/edu-app/open/paramConfig/queryByParamNameList',
|
|
|
{
|
|
|
requestType: 'form',
|
|
|
params: {
|
|
|
- paramNames: 'multi_user_limit'
|
|
|
+ paramNames: 'multi_user_limit,qr_code_expire_time'
|
|
|
}
|
|
|
}
|
|
|
);
|
|
@@ -494,10 +485,21 @@ export default defineComponent({
|
|
|
forms.multi_user_limit = item.paramValue
|
|
|
? Number(item.paramValue)
|
|
|
: 1;
|
|
|
+ } else if (item.paramName === 'qr_code_expire_time') {
|
|
|
+ expireDay = item.paramValue ? Number(item.paramValue) : null;
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
|
|
|
+ const createT = route.query.t;
|
|
|
+ if (createT && expireDay !== null) {
|
|
|
+ if (dayjs(Number(createT)).add(expireDay, 'day').isBefore(dayjs())) {
|
|
|
+ forms.showTips = true;
|
|
|
+ forms.showMessage = '二维码已经失效,详情请咨询学校老师';
|
|
|
+ forms.showButton = false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
await getRegisterGoods();
|
|
|
} catch {}
|
|
|
});
|
|
@@ -506,11 +508,16 @@ export default defineComponent({
|
|
|
const phoneChangeEmptyInfo = () => {
|
|
|
studentInfo.password = '';
|
|
|
studentInfo.extra.nickname = '';
|
|
|
- studentInfo.extra.currentGradeNum = '';
|
|
|
- studentInfo.extra.currentClass = '';
|
|
|
+ if (!isClassStatus.value.isGrade) {
|
|
|
+ studentInfo.extra.currentGradeNum = '';
|
|
|
+ forms.gradeNumText = '';
|
|
|
+ }
|
|
|
+
|
|
|
+ if (!isClassStatus.value.isClass) {
|
|
|
+ studentInfo.extra.currentClass = '';
|
|
|
+ forms.currentClassText = '';
|
|
|
+ }
|
|
|
studentInfo.extra.gender = 1;
|
|
|
- forms.currentClassText = '';
|
|
|
- forms.gradeNumText = '';
|
|
|
forms.studentList = []; // 手机号关联学生列表
|
|
|
forms.studentItem = {}; // 选择的学生
|
|
|
forms.isRegister = 'create'; // 是否注册学生
|
|
@@ -701,11 +708,13 @@ export default defineComponent({
|
|
|
clearable={false}
|
|
|
label="所在年级"
|
|
|
placeholder="请选择年级"
|
|
|
- isLink
|
|
|
+ isLink={isClassStatus.value.isGrade ? false : true}
|
|
|
readonly
|
|
|
clickable={false}
|
|
|
modelValue={forms.gradeNumText}
|
|
|
onClick={() => {
|
|
|
+ // 如果传进来则不修改
|
|
|
+ if (isClassStatus.value.isGrade) return;
|
|
|
forms.gradePopupIndex = [studentInfo.extra.currentGradeNum];
|
|
|
forms.gradeStatus = true;
|
|
|
}}
|
|
@@ -715,12 +724,14 @@ export default defineComponent({
|
|
|
<Field
|
|
|
clearable={false}
|
|
|
label="所在班级"
|
|
|
+ isLink={isClassStatus.value.isClass ? false : true}
|
|
|
placeholder="请选择班级"
|
|
|
- isLink
|
|
|
readonly
|
|
|
clickable={false}
|
|
|
modelValue={forms.currentClassText}
|
|
|
onClick={() => {
|
|
|
+ // 如果传进来则不修改
|
|
|
+ if (isClassStatus.value.isClass) return;
|
|
|
forms.classPopupIndex = [studentInfo.extra.currentClass];
|
|
|
forms.classStatus = true;
|
|
|
}}
|