浏览代码

个人中心:操作添加disabled

Xiao_123 6 天之前
父节点
当前提交
d933d9d51f

+ 1 - 1
components/PositionList/index.vue

@@ -85,7 +85,7 @@
               class="ss-m-l-10"
               type="warning"
               size="mini"
-              style="color:#fff; backgroundColor:#00897b;borderColor:#00897b"
+              style="color:#fff; backgroundColor:#00B760;borderColor:#00B760"
             >上报为实习企业</button>
 					</view>
 				</view>

+ 0 - 115
pages/login/index.vue

@@ -27,10 +27,6 @@
           <uni-easyinput placeholder="请输入验证码" v-model="state.sms.code" :inputBorder="false" type="number" maxlength="6"></uni-easyinput>
         </uni-forms-item>
       </uni-forms>
-      <!-- <view>
-        <button v-if="!protocol" class="wxLogon" type="text" :plain="true" @click="showProtocolToast">微信一键登录</button>
-        <button v-else class="wxLogon" type="text" :plain="true" open-type="getPhoneNumber" @getphonenumber="getPhoneNumber">微信一键登录</button>
-      </view> -->
 
       <button class="send-button" @tap="handleLogin"> 注册 </button>
       <view class="agreement-box ss-flex ss-row-center">
@@ -47,44 +43,6 @@
         </view>
       </view>
     </view>
-
-    <!-- <AdvertisePop></AdvertisePop> -->
-
-    <!-- <uni-popup ref="popup" background-color="#fff" type="bottom" :is-mask-click="false">
-      <view style="padding: 20px;">
-        <view class="text-center ss-m-b-50 font-size-20 color-primary">请完善您的基本信息</view>
-        <uni-forms
-          ref="baseInfoRef"
-          v-model="formData"
-          :rules="formRules"
-          validateTrigger="bind"
-          label-width="75px"
-          labelAlign="center"
-        >
-          <uni-forms-item name="name" label="姓名" required>
-            <uni-easyinput placeholder="请输入姓名" v-model="formData.name" :inputBorder="false" type="text"></uni-easyinput>
-          </uni-forms-item>
-          <uni-forms-item name="phone" label="联系电话" required>
-            <uni-easyinput placeholder="请输入联系电话" v-model="formData.phone" :inputBorder="false" type="number"></uni-easyinput>
-          </uni-forms-item>
-          <uni-forms-item name="sex" label="性别" required>
-            <uni-data-picker v-model="formData.sex" :localdata="dictObj.sex" :clear-icon="false" popup-title="请选择性别" :map="{ text: 'label', value: 'value' }"></uni-data-picker>
-          </uni-forms-item>
-          <uni-forms-item name="jobStatus" label="求职状态" required>
-            <uni-data-picker v-model="formData.jobStatus" :localdata="dictObj.jobStatus" :clear-icon="false" popup-title="请选择求职状态" :map="{ text: 'label', value: 'value' }"></uni-data-picker>
-          </uni-forms-item>
-          <uni-forms-item name="expType" label="工作经验" required>
-            <uni-data-picker v-model="formData.expType" :localdata="dictObj.exp" :clear-icon="false" popup-title="请选择工作经验" :clear="false" :map="{ text: 'label', value: 'value' }"></uni-data-picker>
-          </uni-forms-item>
-          <uni-forms-item name="eduType" label="最高学历" required>
-            <uni-data-picker v-model="formData.eduType" :localdata="dictObj.edu" :clear-icon="false" popup-title="请选择最高学历" :clear="false" :map="{ text: 'label', value: 'value' }"></uni-data-picker>
-          </uni-forms-item>
-        </uni-forms>
-      </view>
-      <view class="f-horizon-center">
-				<button type="primary" size="default" class="send-button"  @click="submit">提 交</button>
-			</view>
-		</uni-popup> -->
   </view>
 </template>
 
@@ -97,17 +55,10 @@ import { userStore } from '@/store/user'
 import { onLoad } from '@dcloudio/uni-app'
 import { useIM } from '@/hooks/useIM'
 import { watch } from 'vue'
-// import AdvertisePop from '@/components/Advertisement'
-// import { dictObj } from '@/utils/position.js'
-// import { savePersonSimpleInfo } from '@/api/user'
-// import { showAuthModal } from '@/hooks/useModal'
 
 const useUserStore = userStore()
 const smsLoginRef = ref()
 const protocol = ref(false)
-// const popup = ref()
-// const baseInfoRef = ref()
-// const formData = ref({})
 const state = ref({
   isMobileEnd: false, // 手机号输入完毕
   codeText: '获取验证码',
@@ -121,26 +72,6 @@ const state = ref({
     phone: mobile
   }
 })
-// const formRules = {
-// 	name:{
-// 		rules: [{required: true, errorMessage: '请输入姓名' }]
-// 	},
-//   phone:{
-// 		rules: [{required: true, errorMessage: '请输入联系电话' }]
-// 	},
-// 	sex : {
-// 		rules: [{required: true, errorMessage: '请选择您的性别' }]
-// 	},
-//   expType: {
-// 		rules: [{required: true, errorMessage: '请选择您的工作年限' }]
-// 	},
-//   eduType: {
-// 		rules: [{required: true, errorMessage: '请选择您的最高学历' }]
-// 	},
-//   jobStatus: {
-// 		rules: [{required: true, errorMessage: '请选择您的求职状态' }]
-// 	}
-// }
 
 const { resetConfig } = useIM()
 watch(() => useUserStore?.accountInfo?.userId, (newVal, oldVal) => {
@@ -152,7 +83,6 @@ watch(() => useUserStore?.accountInfo?.userId, (newVal, oldVal) => {
 
 onLoad((options) => {
   console.log(options, 'options-my-share=========')
-  // const testOptions = { scene: "shareId%3D1" }
 	if (options.scene) {
     const scene = decodeURIComponent(options.scene)
     const shareUserId = scene.split('=')[1]
@@ -199,52 +129,7 @@ const handleLogin = async () => {
   uni.switchTab({
     url: '/pages/index/my'
   })
-  
-  // uni.showToast({ icon: 'none', title: '请先完善信息' })
-  // formData.value.phone = state.value.sms.phone
-  // popup.value.open()
 }
-
-// const submit = async () => {
-//   const validate = await unref(baseInfoRef).validate()
-//   if (!validate) return uni.showToast({ title: '请将信息补充完整', icon: 'none' })
-//   try {
-//     uni.showToast({ title: '保存成功', icon: 'none' })
-//     await useUserStore.getInfo()
-//     await useUserStore.getUserInfo()
-//     uni.switchTab({
-//       url: '/pages/index/position'
-//     })
-//   } catch (err) {
-//     uni.showToast({ title: err.msg || '保存失败', icon: 'none' })
-//   }
-// }
-
-
-// const showProtocolToast = () => {
-//   uni.showToast({ title: '请先阅读并同意用户协议和隐私政策', icon: 'none' })
-// }
-
-// // 微信登录
-// const getPhoneNumber = async (e) => {
-//   if (e?.detail?.errMsg !== 'getPhoneNumber:ok') {
-//     uni.showToast({ title: '微信登录失败', icon: 'none' })
-//     return
-//   }
-//   changeType.value = 'login'
-//   wx.login({
-//     success: async (result) => {
-//       const wxLoginCode = result?.code || ''
-//       const query = {
-//         loginCode: wxLoginCode,
-//         phoneCode: e.detail.code,
-//         state: e.detail.encryptedData,
-//       }
-//       await useUserStore.handleSmsLogin(query, 2)
-//     },
-//     fail:(res)=> { console.log("获取登录凭证code失败!", res) }
-//   })
-// }
 </script>
 
 <style scoped lang="scss">

+ 1 - 1
pagesA/info/index.vue

@@ -160,7 +160,7 @@ const submit = async () => {
   await updatePersonAvatar(formData.value.avatar)
   await saveBaseInfo(formData.value)
   uni.showToast({ title: '编辑成功', icon: 'success' })
-  await useUserStore.getInfo()
+  await useUserStore.getInfo(false)
   getInfo()
 }
 </script>

+ 13 - 3
pagesA/interview/item.vue

@@ -26,9 +26,19 @@
 
         <view v-if="item.status === '0'">
 					<view class="ss-m-y-30" style="border-top: 1rpx solid #E1E4E9;"></view>
-					<view class="d-flex justify-end">
-						<span class="MiSans-Normal" style="color: #dd524d;text-decoration: underline;" @click="handleAction(item, 'refuse')">拒绝</span>
-						<span class="MiSans-Normal" style="color: #00B760;margin-left: 65rpx;text-decoration: underline;" @click="handleAction(item, 'agree')">同意</span>
+					<view style="text-align: end;">
+            <button
+              @tap.stop="handleAction(item, 'refuse')"
+              type="danger"
+              size="mini"
+              style="color:#fff; backgroundColor:#dd524d;borderColor:#dd524d"
+            >拒绝</button>
+            <button
+              @tap.stop="handleAction(item, 'agree')"
+              type="danger"
+              size="mini"
+              style="color:#fff; backgroundColor:#00B760;borderColor:#00B760; margin-left: 30rpx;"
+            >同意</button>
 					</view>
 				</view>
       </view>

+ 1 - 1
pagesA/resumeAnalysis/index.vue

@@ -206,7 +206,7 @@ const submit = async () => {
     submitLoading.value = true
     uni.showLoading({ title: '提交中' })
     await saveResumeInfo(obj)
-    await useUserStore.getInfo()
+    await useUserStore.getInfo(false)
 		uni.hideLoading()
     setTimeout(() => {
       uni.showToast({ title: '提交成功', icon: 'success', duration: 2000 })

+ 17 - 10
pagesA/resumeOnline/advantage.vue

@@ -10,7 +10,7 @@
       style="border: 1rpx solid gray; width: 100%; min-height: 300px;"
     ></textarea>
     <view class="f-horizon-center">
-      <button type="primary" size="default" class="send-button MiSans-Medium"  @click="submit">提 交</button>
+      <button type="primary" size="default" class="send-button MiSans-Medium" :disabled="disabled" @click="submit">提 交</button>
     </view>
   </view>
 </template>
@@ -30,20 +30,27 @@ function getBaseInfo () {
 // 获取基础信息
 getBaseInfo()
 // 提交
+const disabled = ref(false)
 const submit = async () => {
   if (!advantage.value) {
     uni.showToast({ title: '请填写您的个人优势', icon: 'none' })
     return
   }
-  await saveResumeAdvantage({ content: advantage.value })
-  uni.showToast({ title: '编辑成功', icon: 'success' })
-  await useUserStore.getInfo()
-  //
-  setTimeout(() => {
-		uni.navigateBack({
-			delta: 1,
-		})
-	}, 1000);
+
+  disabled.value = true
+  try {
+    await saveResumeAdvantage({ content: advantage.value })
+    uni.showToast({ title: '编辑成功', icon: 'success' })
+    await useUserStore.getInfo(false)
+    setTimeout(() => {
+      uni.navigateBack({
+        delta: 1
+      })
+      disabled.value = false
+    }, 1000)
+  } catch {
+    disabled.value = false
+  }
 }
 </script>
 <style lang="scss" scoped>

+ 18 - 11
pagesA/resumeOnline/baseInfoEdit.vue

@@ -52,7 +52,7 @@
 				<uni-data-picker v-model="formData.regId" :localdata="dictObj.areaTreeData" :clear-icon="true" popup-title="请选择户籍所在地" :map="{ text: 'name', value: 'id'}"></uni-data-picker>
 			</uni-forms-item>
 			<view class="f-horizon-center">
-				<button type="primary" size="default" class="send-button MiSans-Medium"  @click="submit">提 交</button>
+				<button type="primary" size="default" class="send-button MiSans-Medium" :disabled="disabled" @click="submit">提 交</button>
 			</view>
 		</uni-forms>
 	</view>
@@ -171,20 +171,27 @@ const rules = {
 	}
 }
 
+const disabled = ref(false)
 const submit = async () => {
   const valid = await unref(form).validate()
   if (!valid) return
 
-  await updatePersonAvatar(formData.value.avatar)
-  await saveBaseInfo(formData.value)
-  uni.showToast({ title: '编辑成功', icon: 'success' })
-  await useUserStore.getInfo()
-  getInfo()
-  setTimeout(() => {
-		uni.navigateBack({
-			delta: 1
-		})
-	}, 1000)
+  disabled.value = true
+  try {
+    await updatePersonAvatar(formData.value.avatar)
+    await saveBaseInfo(formData.value)
+    uni.showToast({ title: '编辑成功', icon: 'success' })
+    await useUserStore.getInfo(false)
+    getInfo()
+    setTimeout(() => {
+      uni.navigateBack({
+        delta: 1
+      })
+      disabled.value = false
+    }, 1000)
+  } catch {
+    disabled.value = false
+  }
 }
 </script>
 

+ 25 - 8
pagesA/resumeOnline/educationExp.vue

@@ -29,8 +29,14 @@
 			</uni-forms-item>
     </uni-forms>
     <view class="f-horizon-center">
-      <button v-if="editId" size="default" class="delete-button commonBtnStyle MiSans-Medium" @click="handleDelete">删 除</button>
-      <button size="default" class="MiSans-Medium" :class="{'save-button': editId, 'commonBtnStyle': editId, 'send-button': !editId}"  @click="submit">保 存</button>
+      <button v-if="editId" size="default" class="delete-button commonBtnStyle MiSans-Medium" :disabled="deleteDisabled" @click="handleDelete">删 除</button>
+      <button 
+        size="default" 
+        class="MiSans-Medium" 
+        :class="{'save-button': editId, 'commonBtnStyle': editId, 'send-button': !editId}" 
+        @click="submit"
+        :disabled="disabled"
+       >保 存</button>
     </view>
   </view>
 </template>
@@ -119,18 +125,23 @@ const handleSearchMajor = (e) => {
 }
 
 // 保存
+const disabled = ref(false)
 const submit = async () => {
   const valid = await unref(form).validate()
   if (!valid) return
   formData.value.majorId = searchData.value.major.find(e => e.nameCn === formData.value.major)?.id
   formData.value.schoolId = searchData.value.school.find(e => e.value === formData.value.schoolName)?.key
+
+  const startTime = convertYearMonthToTimestamp(formData.value.startTime)
+  const endTime = convertYearMonthToTimestamp(formData.value.endTime)
+  if (startTime > endTime) {
+    uni.showToast({ icon: 'none', title: '开始时间不能大于结束时间' })
+    return
+  }
+
+  disabled.value = true
   try {
-    const startTime = convertYearMonthToTimestamp(formData.value.startTime)
-    const endTime = convertYearMonthToTimestamp(formData.value.endTime)
-    if (startTime > endTime) {
-      uni.showToast({ icon: 'none', title: '开始时间不能大于结束时间' })
-      return
-    }
+    
     await saveResumeEduExp({ ...formData.value, startTime, endTime })
     uni.showToast({
 			icon: 'success',
@@ -141,8 +152,10 @@ const submit = async () => {
       uni.navigateBack({
         delta: 1
       })
+      disabled.value = false
     }, 1000)
   } catch (err) {
+    disabled.value = false
 		uni.showToast({
 			icon: 'none',
 			title: err.msg
@@ -151,7 +164,9 @@ const submit = async () => {
 }
 
 // 删除
+const deleteDisabled = ref(false)
 const handleDelete = async () => {
+  deleteDisabled.value = true
 	try {
 		await deleteResumeEduExp(editId.value)
 		uni.showToast({
@@ -163,8 +178,10 @@ const handleDelete = async () => {
 			uni.navigateBack({
 				delta: 1
 			})
+      deleteDisabled.value = false
 		}, 1000)
 	} catch (err) {
+    deleteDisabled.value = false
 		uni.showToast({
 			icon: 'none',
 			title: err.msg

+ 17 - 2
pagesA/resumeOnline/jobIntention.vue

@@ -42,8 +42,14 @@
 			</uni-forms-item>
     </uni-forms>
     <view class="f-horizon-center">
-      <button v-if="editId" size="default" class="delete-button commonBtnStyle MiSans-Medium" @click="handleDelete">删 除</button>
-      <button size="default" class="MiSans-Medium" :class="{'save-button': editId, 'commonBtnStyle': editId, 'send-button': !editId}"  @click="submit">保 存</button>
+      <button v-if="editId" size="default" class="delete-button commonBtnStyle MiSans-Medium" :disabled="deleteDisabled" @click="handleDelete">删 除</button>
+      <button
+				size="default"
+				class="MiSans-Medium"
+				:class="{'save-button': editId, 'commonBtnStyle': editId, 'send-button': !editId}"
+				:disabled="disabled"
+				@click="submit"
+			>保 存</button>
     </view>
   </view>
 </template>
@@ -83,11 +89,14 @@ onLoad((options) => {
 })
 
 // 提交
+const disabled = ref(false)
 const submit = async () => {
   const valid = await unref(form).validate()
   if (!valid) return
 	// 后续做多选
 	// const query = {...formData.value, industryIdList: formData.value.industryIdList, interestedAreaIdList: formData.value.interestedAreaIdList}
+
+	disabled.value = true
 	try {
 		await saveResumeJobInterested(formData.value)
 		uni.showToast({
@@ -99,8 +108,10 @@ const submit = async () => {
 			uni.navigateBack({
 				delta: 1
 			})
+			disabled.value = false
 		}, 1000)
 	} catch (err) {
+		disabled.value = false
 		uni.showToast({
 			icon: 'none',
 			title: err.msg
@@ -109,7 +120,9 @@ const submit = async () => {
 }
 
 // 删除
+const deleteDisabled = ref(false)
 const handleDelete = async () => {
+	deleteDisabled.value = true
 	try {
 		await deleteResumeJobInterested(editId.value)
 		uni.showToast({
@@ -121,8 +134,10 @@ const handleDelete = async () => {
 			uni.navigateBack({
 				delta: 1
 			})
+			deleteDisabled.value = false
 		}, 1000)
 	} catch (err) {
+		deleteDisabled.value = false
 		uni.showToast({
 			icon: 'none',
 			title: err.msg

+ 16 - 10
pagesA/resumeOnline/portrait.vue

@@ -40,7 +40,7 @@
       </uni-collapse>
     </view>
     <view class="f-horizon-center">
-      <button type="primary" size="default" class="send-button MiSans-Medium"  @click="submit">提 交</button>
+      <button type="primary" size="default" class="send-button MiSans-Medium" :disabled="disabled" @click="submit">提 交</button>
     </view>
   </view>
 </template>
@@ -87,16 +87,22 @@ const getTagList = async () => {
 getTagList()
 
 // 提交
+const disabled = ref(false)
 const submit = async () => {
-  await savePersonPortrait({ tagList: select.value })
-  uni.showToast({ title: '编辑成功', icon: 'success' })
-  await useUserStore.getInfo()
-  //
-  setTimeout(() => {
-		uni.navigateBack({
-			delta: 1,
-		})
-	}, 1000);
+  disabled.value = true
+  try {
+    await savePersonPortrait({ tagList: select.value })
+    uni.showToast({ title: '编辑成功', icon: 'success' })
+    await useUserStore.getInfo(false)
+    setTimeout(() => {
+      uni.navigateBack({
+        delta: 1
+      })
+      disabled.value = false
+    }, 1000)
+  } catch {
+    disabled.value = false
+  }
 }
 </script>
 

+ 16 - 2
pagesA/resumeOnline/trainingExperience.vue

@@ -23,8 +23,14 @@
 			</uni-forms-item>
     </uni-forms>
     <view class="f-horizon-center">
-      <button v-if="editId" size="default" class="delete-button commonBtnStyle MiSans-Medium" @click="handleDelete">删 除</button>
-      <button size="default" class="MiSans-Medium" :class="{'save-button': editId, 'commonBtnStyle': editId, 'send-button': !editId}"  @click="submit">保 存</button>
+      <button v-if="editId" size="default" class="delete-button commonBtnStyle MiSans-Medium" :disabled="deleteDisabled" @click="handleDelete">删 除</button>
+      <button 
+				size="default" 
+				class="MiSans-Medium" 
+				:class="{'save-button': editId, 'commonBtnStyle': editId, 'send-button': !editId}"  
+				@click="submit"
+				:disabled="disabled"
+			>保 存</button>
     </view>
   </view>
 </template>
@@ -78,6 +84,7 @@ onLoad((options) => {
 })
 
 // 保存
+const disabled = ref(false)
 const submit = async () => {
   const valid = await unref(form).validate()
   if (!valid) return
@@ -87,6 +94,7 @@ const submit = async () => {
     uni.showToast({ icon: 'none', title: '开始时间不能大于结束时间' })
 		return
 	}
+	disabled.value = true
   try {
 		await saveResumeTrainExp({ ...formData.value, startTime, endTime })
     uni.showToast({
@@ -98,8 +106,10 @@ const submit = async () => {
       uni.navigateBack({
         delta: 1
       })
+			disabled.value = false
     }, 1000)
   } catch (err) {
+		disabled.value = false
 		uni.showToast({
 			icon: 'none',
 			title: err.msg
@@ -108,7 +118,9 @@ const submit = async () => {
 }
 
 // 删除
+const deleteDisabled = ref(false)
 const handleDelete = async () => {
+	deleteDisabled.value = true
 	try {
 		await deleteResumeTrainExp(editId.value)
 		uni.showToast({
@@ -120,8 +132,10 @@ const handleDelete = async () => {
 			uni.navigateBack({
 				delta: 1
 			})
+			deleteDisabled.value = false
 		}, 1000)
 	} catch (err) {
+		deleteDisabled.value = false
 		uni.showToast({
 			icon: 'none',
 			title: err.msg

+ 5 - 1
pagesA/resumeOnline/vocationalSkills.vue

@@ -28,7 +28,7 @@
         </uni-forms-item>
       </uni-forms>
       <view class="f-horizon-center">
-        <button size="default" class="send-button MiSans-Medium" @click="submit">提 交</button>
+        <button size="default" class="send-button MiSans-Medium" :disabled="disabled" @click="submit">提 交</button>
       </view>
     </uni-section>
   </view>
@@ -88,9 +88,11 @@ async function getSkillExpData () {
 getSkillExpData()
 
 // 保存
+const disabled = ref(false)
 const submit = async () => {
   const valid = await unref(form).validate()
   if (!valid) return
+  disabled.value = true
   try {
     await saveResumePersonSkill(formData.value)
     uni.showToast({
@@ -98,9 +100,11 @@ const submit = async () => {
 			title: '新增成功'
 		})
 		setTimeout(() => {
+      disabled.value = false
       getSkillExpData()
     })
   } catch (err) {
+    disabled.value = false
 		uni.showToast({
 			icon: 'none',
 			title: err.msg

+ 16 - 2
pagesA/resumeOnline/workExperience.vue

@@ -26,8 +26,14 @@
 			</uni-forms-item>
     </uni-forms>
     <view class="f-horizon-center">
-      <button v-if="editId" size="default" class="delete-button commonBtnStyle MiSans-Medium" @click="handleDelete">删 除</button>
-      <button size="default" class="MiSans-Medium" :class="{'save-button': editId, 'commonBtnStyle': editId, 'send-button': !editId}"  @click="submit">保 存</button>
+      <button v-if="editId" size="default" class="delete-button commonBtnStyle MiSans-Medium" :disabled="deleteDisabled" @click="handleDelete">删 除</button>
+      <button 
+        size="default" 
+        class="MiSans-Medium" 
+        :class="{'save-button': editId, 'commonBtnStyle': editId, 'send-button': !editId}"  
+        @click="submit"
+        :disabled="disabled"
+      >保 存</button>
     </view>
   </view>
 </template>
@@ -120,6 +126,7 @@ const handleChangeSofar = (e) => {
 }
 
 // 保存
+const disabled = ref(false)
 const submit = async () => {
   const valid = await unref(form).validate()
   if (!valid) return
@@ -134,6 +141,7 @@ const submit = async () => {
     return
   }
 
+  disabled.value = true
   try {
 		await saveResumeWorkExp({ ...formData.value, startTime, endTime })
     uni.showToast({
@@ -145,8 +153,10 @@ const submit = async () => {
       uni.navigateBack({
         delta: 1
       })
+      disabled.value = false
     }, 1000)
   } catch (err) {
+    disabled.value = false
 		uni.showToast({
 			icon: 'none',
 			title: err.msg
@@ -155,7 +165,9 @@ const submit = async () => {
 }
 
 // 删除
+const deleteDisabled = ref(false)
 const handleDelete = async () => {
+  deleteDisabled.value = true
 	try {
 		await deleteResumeWorkExp(editId.value)
 		uni.showToast({
@@ -167,8 +179,10 @@ const handleDelete = async () => {
 			uni.navigateBack({
 				delta: 1
 			})
+      deleteDisabled.value = false
 		}, 1000)
 	} catch (err) {
+    deleteDisabled.value = false
 		uni.showToast({
 			icon: 'none',
 			title: err.msg

+ 6 - 1
pagesA/student/addReport.vue

@@ -30,7 +30,7 @@
       </uni-forms>
     </view>
     <view class="bottom-sticky">
-      <button type="primary" size="default" class="recomm-button" @click="submit">确认</button>
+      <button type="primary" size="default" class="recomm-button" :disabled="disabled" @click="submit">确认</button>
     </view>
   </scroll-view>
 </template>
@@ -57,11 +57,14 @@ const formRules = {
 	},
 }
 
+const disabled = ref(false)
 const infoRef = ref()
 const submit = async () => {
   const validate = await unref(infoRef).validate()
   if (!validate) return uni.showToast({ title: '请选择企业', icon: 'none' })
   if (!reportList.value?.length) return uni.showToast({ title: '请上传实习报告', icon: 'none' })
+
+  disabled.value = true
   try {
     await saveStudentReport({
       ...formData.value,
@@ -72,8 +75,10 @@ const submit = async () => {
       uni.navigateBack({
         delta: 1
       })
+      disabled.value = false
     }, 500)
   } catch (err) {
+    disabled.value = false
     uni.showToast({ title: err?.msg || '保存失败', icon: 'none' })
   }
 }

+ 6 - 1
pagesA/student/information.vue

@@ -34,7 +34,7 @@
         </uni-forms-item>
       </uni-forms>
       <view class="f-horizon-center">
-        <button type="primary" size="default" class="send-button" @click="submit">保 存</button>
+        <button type="primary" size="default" class="send-button" :disabled="disabled" @click="submit">保 存</button>
       </view>
     </view>
   </scroll-view>
@@ -128,10 +128,13 @@ const formRules = {
 	}
 }
 
+const disabled = ref(false)
 const schoolClassIdRef = ref()
 const submit = async () => {
   const validate = await unref(baseInfoRef).validate()
   if (!validate) return uni.showToast({ title: '请将信息补充完整', icon: 'none' })
+  disabled.value = true
+
   let params = {...formData.value}
 
   const schoolClassObj = schoolClassIdRef.value?.getValue()
@@ -147,8 +150,10 @@ const submit = async () => {
       uni.navigateBack({
         delta: 1
       })
+      disabled.value = false
     }, 1000)
   } catch (err) {
+    disabled.value = false
     uni.showToast({ title: err?.msg || '保存失败', icon: 'none' })
   }
 }

+ 2 - 2
store/user.js

@@ -112,7 +112,7 @@ export const userStore = defineStore('user', {
     },
 
     // 获取人才信息
-    async getInfo() {
+    async getInfo(jump = true) {
       const { code, data } = await getBaseInfo({ userId: this.accountInfo.userId });
       updateEventList() // 更新事件列表
       await this.checkPersonBaseInfoFun(data) // 校验是否完善人才必填信息
@@ -126,7 +126,7 @@ export const userStore = defineStore('user', {
       console.log(data, data.type === '1', '当前账号角色是否为学生')
 
       // 是学生则跳转学生专区
-      if (data && data?.type === '1') {
+      if (jump && data && data?.type === '1') {
         uni.navigateTo({
           url: '/pagesA/student/index'
         })

+ 1 - 1
utils/config.js

@@ -12,7 +12,7 @@ const config = {
   }
 }
 
-const setting = 'produce' // httpsTest produce > 环境选择(切换环境更改此处)
+const setting = 'httpsTest' // httpsTest produce > 环境选择(切换环境更改此处)
 
 export const envObj = config[setting]