|
|
@@ -243,7 +243,7 @@
|
|
|
<!-- 新用户流程:保存资料 / 跳过 -->
|
|
|
<view class="family-section" v-if="isEdit && form.role !== 'teacher' && isNewUserFlow">
|
|
|
<view class="family-actions">
|
|
|
- <button class="btn btn-primary" @click="saveUserInfo" :loading="loading">
|
|
|
+ <button class="btn btn-primary" @click="saveUserInfo" :loading="loading" :disabled="loading">
|
|
|
保存资料
|
|
|
</button>
|
|
|
<button class="btn btn-skip" @click="skip">
|
|
|
@@ -255,7 +255,7 @@
|
|
|
<!-- 修改个人资料保存按钮(非新用户流程时显示) -->
|
|
|
<view class="family-section" v-if="isEdit && !isNewUserFlow && form.role !== 'teacher'">
|
|
|
<view class="family-actions">
|
|
|
- <button class="btn btn-primary" @click="saveUserInfo" :loading="loading">
|
|
|
+ <button class="btn btn-primary" @click="saveUserInfo" :loading="loading" :disabled="loading">
|
|
|
保存修改
|
|
|
</button>
|
|
|
</view>
|
|
|
@@ -264,7 +264,7 @@
|
|
|
<!-- 成长规划师提交按钮 -->
|
|
|
<view class="family-section" v-if="isEdit && form.role === 'teacher' && isNewUserFlow">
|
|
|
<view class="family-actions">
|
|
|
- <button class="btn btn-primary" @click="submitTeacherInfo" :loading="loading">
|
|
|
+ <button class="btn btn-primary" @click="submitTeacherInfo" :loading="loading" :disabled="loading">
|
|
|
提交申请
|
|
|
</button>
|
|
|
</view>
|
|
|
@@ -715,6 +715,7 @@ export default {
|
|
|
},
|
|
|
// 保存修改
|
|
|
async saveUserInfo() {
|
|
|
+ if (this.loading) return
|
|
|
// 新用户流程:昵称可跳过(跳过时用默认昵称);老用户流程:昵称必填
|
|
|
if (!this.isNewUserFlow && !this.form.nickname) {
|
|
|
uni.showToast({ title: '请输入昵称', icon: 'none' })
|
|
|
@@ -784,6 +785,7 @@ export default {
|
|
|
}
|
|
|
},
|
|
|
async submitTeacherInfo() {
|
|
|
+ if (this.loading) return
|
|
|
// 验证必填字段
|
|
|
if (!this.form.nickname) {
|
|
|
uni.showToast({ title: '请输入昵称', icon: 'none' })
|
|
|
@@ -827,6 +829,7 @@ export default {
|
|
|
}
|
|
|
},
|
|
|
async joinFamilyAction() {
|
|
|
+ if (this.loading) return
|
|
|
if (!this.form.inviteCode) {
|
|
|
uni.showToast({ title: '请输入邀请码', icon: 'none' })
|
|
|
return
|