|
@@ -18,12 +18,19 @@
|
|
|
label-width="0px"
|
|
label-width="0px"
|
|
|
class="input-item"
|
|
class="input-item"
|
|
|
>
|
|
>
|
|
|
- <!-- 手机号注册 -->
|
|
|
|
|
|
|
+ <!-- 学校输入框 -->
|
|
|
|
|
+ <el-form-item prop="tenantName" v-if="!isBlocklyLogin">
|
|
|
|
|
+ <el-input
|
|
|
|
|
+ v-model="loginForm.tenantName"
|
|
|
|
|
+ :prefix-icon="HomeFilled"
|
|
|
|
|
+ placeholder="请输入学校"
|
|
|
|
|
+ />
|
|
|
|
|
+ </el-form-item>
|
|
|
<el-form-item prop="phone">
|
|
<el-form-item prop="phone">
|
|
|
- <el-input
|
|
|
|
|
- v-model="loginForm.phone"
|
|
|
|
|
- :prefix-icon="Iphone"
|
|
|
|
|
- placeholder="请输入手机号"
|
|
|
|
|
|
|
+ <el-input
|
|
|
|
|
+ v-model="loginForm.phone"
|
|
|
|
|
+ :prefix-icon="Iphone"
|
|
|
|
|
+ placeholder="请输入手机号"
|
|
|
/>
|
|
/>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
<el-form-item prop="password">
|
|
<el-form-item prop="password">
|
|
@@ -66,8 +73,8 @@
|
|
|
</template>
|
|
</template>
|
|
|
|
|
|
|
|
<script setup>
|
|
<script setup>
|
|
|
-import { ref, computed } from "vue";
|
|
|
|
|
-import { Lock, Iphone, Key } from '@element-plus/icons-vue';
|
|
|
|
|
|
|
+import { ref, computed, watch } from "vue";
|
|
|
|
|
+import { Lock, Iphone, Key, HomeFilled } from '@element-plus/icons-vue';
|
|
|
import { ElMessage } from 'element-plus';
|
|
import { ElMessage } from 'element-plus';
|
|
|
import { useRouter } from 'vue-router';
|
|
import { useRouter } from 'vue-router';
|
|
|
import homeBG from "@/assets/images/homeBG.png";
|
|
import homeBG from "@/assets/images/homeBG.png";
|
|
@@ -87,6 +94,26 @@ const loginFormRef = ref(null);
|
|
|
const bgImageType = computed(() => router.currentRoute.value.query.bgImage || 'homeBG');
|
|
const bgImageType = computed(() => router.currentRoute.value.query.bgImage || 'homeBG');
|
|
|
const loginTypePage = computed(() => router.currentRoute.value.query.loginType || 'login');
|
|
const loginTypePage = computed(() => router.currentRoute.value.query.loginType || 'login');
|
|
|
|
|
|
|
|
|
|
+// 注册表单数据
|
|
|
|
|
+const loginForm = ref({
|
|
|
|
|
+ tenantName: "", // 学校
|
|
|
|
|
+ phone: "", // 手机号
|
|
|
|
|
+ password: "", // 密码
|
|
|
|
|
+ confirmPassword: "", // 确认密码
|
|
|
|
|
+ inviteCode: "", // 邀请码
|
|
|
|
|
+ rememberMe: false,
|
|
|
|
|
+});
|
|
|
|
|
+
|
|
|
|
|
+// 判断是否为blocklyLogin类型
|
|
|
|
|
+const isBlocklyLogin = computed(() => loginTypePage.value === 'blocklyLogin');
|
|
|
|
|
+
|
|
|
|
|
+// 设置默认值并监听变化
|
|
|
|
|
+watch(isBlocklyLogin, (newVal) => {
|
|
|
|
|
+ if (newVal) {
|
|
|
|
|
+ loginForm.value.tenantName = '内部测试租户';
|
|
|
|
|
+ }
|
|
|
|
|
+}, { immediate: true });
|
|
|
|
|
+
|
|
|
// 动态选择背景图
|
|
// 动态选择背景图
|
|
|
const registerBG = computed(() => {
|
|
const registerBG = computed(() => {
|
|
|
switch(bgImageType.value) {
|
|
switch(bgImageType.value) {
|
|
@@ -115,17 +142,11 @@ const goBackToLogin = () => {
|
|
|
router.replace(loginPath);
|
|
router.replace(loginPath);
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
-// 注册表单数据
|
|
|
|
|
-const loginForm = ref({
|
|
|
|
|
- phone: "", // 手机号
|
|
|
|
|
- password: "", // 密码
|
|
|
|
|
- confirmPassword: "", // 确认密码
|
|
|
|
|
- inviteCode: "", // 邀请码
|
|
|
|
|
- rememberMe: false,
|
|
|
|
|
-});
|
|
|
|
|
-
|
|
|
|
|
// 表单验证规则
|
|
// 表单验证规则
|
|
|
const rules = ref({
|
|
const rules = ref({
|
|
|
|
|
+ tenantName: [
|
|
|
|
|
+ { required: true, message: "请输入学校", trigger: "blur" }
|
|
|
|
|
+ ],
|
|
|
phone: [
|
|
phone: [
|
|
|
{ required: true, message: "请输入手机号", trigger: "blur" },
|
|
{ required: true, message: "请输入手机号", trigger: "blur" },
|
|
|
{ pattern: /^1[3-9]\d{9}$/, message: "请输入正确的手机号格式", trigger: "blur" }
|
|
{ pattern: /^1[3-9]\d{9}$/, message: "请输入正确的手机号格式", trigger: "blur" }
|
|
@@ -155,8 +176,8 @@ const handleRegister = async () => {
|
|
|
try {
|
|
try {
|
|
|
// 表单验证
|
|
// 表单验证
|
|
|
await loginFormRef.value.validate();
|
|
await loginFormRef.value.validate();
|
|
|
- // 获取默认租户名称
|
|
|
|
|
- const tenantName = '内部测试租户';
|
|
|
|
|
|
|
+ // 获取租户名称
|
|
|
|
|
+ const tenantName = loginForm.value.tenantName;
|
|
|
// 获取租户ID
|
|
// 获取租户ID
|
|
|
const tenantId = await getTenantId(tenantName);
|
|
const tenantId = await getTenantId(tenantName);
|
|
|
if (!tenantId) {
|
|
if (!tenantId) {
|