Xiao_123 10 ヶ月 前
コミット
ebe3da20b9

+ 5 - 0
src/locales/en.js

@@ -233,6 +233,11 @@ export default {
     taskCenter: 'Task Center',
     suggestTask: 'Recommended tasks',
     dailyTask: 'Daily tasks',
+    signInSuccess: 'Sign in successfully',
+    signInDays: 'Sign In Days',
+    points: 'points',
+    createTime: 'CreateTime',
+    signInRecord: 'Sign In Record'
   },
   // 众聘
   publicRecruitment: {

+ 5 - 0
src/locales/zh-CN.js

@@ -233,6 +233,11 @@ export default {
     taskCenter: '任务中心',
     suggestTask: '推荐任务',
     dailyTask: '每日任务',
+    signInSuccess: '签到成功',
+    signInDays: '签到天数',
+    points: '获得积分数',
+    createTime: '获得时间',
+    signInRecord: '签到记录'
   },
   // 众聘
   publicRecruitment: {

+ 16 - 7
src/views/personal/taskCenter/components/signIn.vue

@@ -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)
 }
 
 // 签到记录