Przeglądaj źródła

积分兑换加loading

Xiao_123 6 dni temu
rodzic
commit
fd28bb7164

+ 13 - 5
src/views/mall/home/pointExchange/index.vue

@@ -40,6 +40,8 @@
       积分不足,快去赚取积分吧
     </div>
   </CtDialog>
+
+  <Loading :visible="loading" />
 </template>
 
 <script setup>
@@ -147,6 +149,7 @@ const handleShowDetail = (item) =>{
 }
 
 // 兑换提交
+const loading = ref(false)
 const handleSubmit = async () =>{
   const { valid } = await CtFormRef.value.formRef.validate()
   if (!valid) return
@@ -161,11 +164,16 @@ const handleSubmit = async () =>{
   delete obj.address 
   if (!obj.contactName) obj.contactName = localStorage.getItem('baseInfo') ? JSON.parse(localStorage.getItem('baseInfo')).name : '--'
 
-  await redeemSubmit(obj)
-  Snackbar.success('提交成功')
-  showDetail.value = false
-  detailItem.value = {}
-  await useUserStore().getUserAccountInfo()
+  loading.value = true
+  try {
+    await redeemSubmit(obj)
+    Snackbar.success('提交成功')
+    showDetail.value = false
+    detailItem.value = {}
+    await useUserStore().getUserAccountInfo()
+  } finally {
+    loading.value = false
+  }
 }
 
 // 积分兑换记录、积分明细

+ 14 - 5
src/views/mall1/exchange.vue

@@ -25,6 +25,8 @@
     </div>
     <div v-if="point < detailItem.point" class="text-end color-error font-size-14 cursor-pointer text-decoration-underline" @click="emit('toTaskCenter')">积分不足,快去赚取积分吧</div>
   </Dialog>
+
+  <Loading :visible="loading" />
 </template>
 
 <script setup>
@@ -127,6 +129,7 @@ const handleShowDetail = (item) =>{
 }
 
 // 兑换提交
+const loading = ref(false)
 const handleSubmit = async () =>{
   const { valid } = await CtFormRef.value.formRef.validate()
   if (!valid) return
@@ -140,11 +143,17 @@ const handleSubmit = async () =>{
   if (obj.type) obj.contactAddress = obj.address.join('') + obj.contactAddress
   delete obj.address 
   if (!obj.contactName) obj.contactName = localStorage.getItem('baseInfo') ? JSON.parse(localStorage.getItem('baseInfo')).name : '--'
-  await redeemSubmit(obj)
-  Snackbar.success('提交成功')
-  showDetail.value = false
-  detailItem.value = {}
-  await useUserStore().getUserAccountInfo()
+
+  loading.value = true
+  try {
+    await redeemSubmit(obj)
+    Snackbar.success('提交成功')
+    showDetail.value = false
+    detailItem.value = {}
+    await useUserStore().getUserAccountInfo()
+  } finally {
+    loading.value = false
+  }
 }
 </script>