|  | @@ -3,7 +3,7 @@
 | 
	
		
			
				|  |  |    <div>
 | 
	
		
			
				|  |  |      <integralShow></integralShow>
 | 
	
		
			
				|  |  |      <div class="text-end signInRecord mt-3" @click="handleRecord">
 | 
	
		
			
				|  |  | -      签到记录
 | 
	
		
			
				|  |  | +      {{ $t('taskCenter.signInRecord') }}
 | 
	
		
			
				|  |  |        <v-icon>mdi-chevron-right</v-icon>
 | 
	
		
			
				|  |  |      </div>
 | 
	
		
			
				|  |  |      <div class="d-flex justify-center mt-3">
 | 
	
	
		
			
				|  | @@ -34,7 +34,7 @@
 | 
	
		
			
				|  |  |          <span class="mx-1" style="color: var(--v-primary-base); font-weight: 600;"> {{ continuousDay }} </span>
 | 
	
		
			
				|  |  |          天,明天再来吧
 | 
	
		
			
				|  |  |        </span>
 | 
	
		
			
				|  |  | -      <v-btn class="half-button" color="primary" size="small" :disabled="todaySignIn" @click="handleSignIn">{{ todaySignIn ? '已签到' : '签到' }}</v-btn>
 | 
	
		
			
				|  |  | +      <v-btn class="half-button" color="primary" size="small" :loading="signLoading" :disabled="todaySignIn" @click="handleSignIn">{{ todaySignIn ? '已签到' : '签到' }}</v-btn>
 | 
	
		
			
				|  |  |      </div>
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      <!-- 签到记录 -->
 | 
	
	
		
			
				|  | @@ -62,9 +62,12 @@
 | 
	
		
			
				|  |  |  defineOptions({name: 'personal-taskCenter-signIn'})
 | 
	
		
			
				|  |  |  import { ref } from 'vue'
 | 
	
		
			
				|  |  |  import { timesTampChange } from '@/utils/date'
 | 
	
		
			
				|  |  | +import { useI18n } from '@/hooks/web/useI18n'
 | 
	
		
			
				|  |  |  import { getRewardSignInRecordSummary, getRewardSignInConfigList, createRewardSignInRecord, getRewardSignInRecordPage } from '@/api/sign'
 | 
	
		
			
				|  |  |  import integralShow from '@/views/personal/components/integralShow.vue'
 | 
	
		
			
				|  |  | +import Snackbar from '@/plugins/snackbar'
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +const { t } = useI18n()
 | 
	
		
			
				|  |  |  // 连续签到天数
 | 
	
		
			
				|  |  |  const continuousDay = ref(0)
 | 
	
		
			
				|  |  |  // 今天有无签到
 | 
	
	
		
			
				|  | @@ -72,17 +75,18 @@ const todaySignIn = ref(false)
 | 
	
		
			
				|  |  |  // 规则列表
 | 
	
		
			
				|  |  |  const configList = ref([])
 | 
	
		
			
				|  |  |  const todayNumber = ref()
 | 
	
		
			
				|  |  | -const drawer = ref(false)
 | 
	
		
			
				|  |  | +const signLoading = ref(false)
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  // 签到记录
 | 
	
		
			
				|  |  |  const total = ref(0)
 | 
	
		
			
				|  |  | +const drawer = ref(false)
 | 
	
		
			
				|  |  |  const pageSize = ref(10)
 | 
	
		
			
				|  |  |  const pageNo = ref(1)
 | 
	
		
			
				|  |  |  const recordList = ref([])
 | 
	
		
			
				|  |  |  const headers = [
 | 
	
		
			
				|  |  | -  { title: '签到天数', key: 'day' },
 | 
	
		
			
				|  |  | -  { title: '获得积分数', key: 'point' },
 | 
	
		
			
				|  |  | -  { title: '获得时间', key: 'createTime', value: item => timesTampChange(item.createTime)}
 | 
	
		
			
				|  |  | +  { title: t('taskCenter.signInDays'), key: 'day' },
 | 
	
		
			
				|  |  | +  { title: t('taskCenter.points'), key: 'point' },
 | 
	
		
			
				|  |  | +  { title: t('taskCenter.createTime'), key: 'createTime', value: item => timesTampChange(item.createTime)}
 | 
	
		
			
				|  |  |  ]
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  // 获取签到规则列表
 | 
	
	
		
			
				|  | @@ -104,8 +108,13 @@ getSummary()
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  // 签到
 | 
	
		
			
				|  |  |  const handleSignIn = async () => {
 | 
	
		
			
				|  |  | +  signLoading.value = true
 | 
	
		
			
				|  |  |    await createRewardSignInRecord()
 | 
	
		
			
				|  |  | -  getSummary()
 | 
	
		
			
				|  |  | +  setTimeout(async () => {
 | 
	
		
			
				|  |  | +    await getSummary()
 | 
	
		
			
				|  |  | +    Snackbar.success(t('taskCenter.signInSuccess'))
 | 
	
		
			
				|  |  | +    signLoading.value = false
 | 
	
		
			
				|  |  | +  }, 1000)
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  // 签到记录
 |