|
@@ -1,7 +1,7 @@
|
|
<!-- 签到 -->
|
|
<!-- 签到 -->
|
|
<template>
|
|
<template>
|
|
<div>
|
|
<div>
|
|
- <integralShow></integralShow>
|
|
|
|
|
|
+ <integralShow ref="integralRef"></integralShow>
|
|
<div class="text-end signInRecord mt-3" @click="handleRecord">
|
|
<div class="text-end signInRecord mt-3" @click="handleRecord">
|
|
{{ $t('taskCenter.signInRecord') }}
|
|
{{ $t('taskCenter.signInRecord') }}
|
|
<v-icon>mdi-chevron-right</v-icon>
|
|
<v-icon>mdi-chevron-right</v-icon>
|
|
@@ -36,43 +36,21 @@
|
|
</span>
|
|
</span>
|
|
<v-btn class="half-button" color="primary" size="small" :loading="signLoading" :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>
|
|
</div>
|
|
-
|
|
|
|
- <!-- 签到记录 -->
|
|
|
|
- <!-- <v-navigation-drawer v-model="drawer" location="right" temporary width="600" class="drawer">
|
|
|
|
- <v-data-table
|
|
|
|
- :items="recordList"
|
|
|
|
- :headers="headers"
|
|
|
|
- disable-sort
|
|
|
|
- height="80vh"
|
|
|
|
- >
|
|
|
|
- <template #bottom></template>
|
|
|
|
- </v-data-table>
|
|
|
|
- <CtPagination
|
|
|
|
- v-if="total > 0"
|
|
|
|
- :total="total"
|
|
|
|
- :page="pageNo"
|
|
|
|
- :limit="pageSize"
|
|
|
|
- @handleChange="handleChangePage"
|
|
|
|
- ></CtPagination>
|
|
|
|
- </v-navigation-drawer> -->
|
|
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
|
|
|
|
<script setup>
|
|
<script setup>
|
|
defineOptions({name: 'personal-taskCenter-signIn'})
|
|
defineOptions({name: 'personal-taskCenter-signIn'})
|
|
import { ref } from 'vue'
|
|
import { ref } from 'vue'
|
|
-// import { timesTampChange } from '@/utils/date'
|
|
|
|
|
|
+import { useUserStore } from '@/store/user'
|
|
import { useI18n } from '@/hooks/web/useI18n'
|
|
import { useI18n } from '@/hooks/web/useI18n'
|
|
-import {
|
|
|
|
- getRewardSignInRecordSummary,
|
|
|
|
- getRewardSignInConfigList,
|
|
|
|
- createRewardSignInRecord,
|
|
|
|
- // getRewardSignInRecordPage
|
|
|
|
-} from '@/api/sign'
|
|
|
|
|
|
+import { getRewardSignInRecordSummary, getRewardSignInConfigList, createRewardSignInRecord } from '@/api/sign'
|
|
import integralShow from '@/views/integral/components/integralShow.vue'
|
|
import integralShow from '@/views/integral/components/integralShow.vue'
|
|
import Snackbar from '@/plugins/snackbar'
|
|
import Snackbar from '@/plugins/snackbar'
|
|
|
|
|
|
const { t } = useI18n()
|
|
const { t } = useI18n()
|
|
|
|
+const userStore = useUserStore()
|
|
|
|
+const integralRef = ref()
|
|
// 连续签到天数
|
|
// 连续签到天数
|
|
const continuousDay = ref(0)
|
|
const continuousDay = ref(0)
|
|
// 今天有无签到
|
|
// 今天有无签到
|
|
@@ -82,18 +60,6 @@ const configList = ref([])
|
|
const todayNumber = ref()
|
|
const todayNumber = ref()
|
|
const signLoading = 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: t('taskCenter.signInDays'), key: 'day' },
|
|
|
|
-// { title: t('taskCenter.points'), key: 'point' },
|
|
|
|
-// { title: t('taskCenter.createTime'), key: 'createTime', value: item => timesTampChange(item.createTime)}
|
|
|
|
-// ]
|
|
|
|
-
|
|
|
|
// 获取签到规则列表
|
|
// 获取签到规则列表
|
|
const getConfigList = async () => {
|
|
const getConfigList = async () => {
|
|
const data = await getRewardSignInConfigList()
|
|
const data = await getRewardSignInConfigList()
|
|
@@ -117,30 +83,20 @@ const handleSignIn = async () => {
|
|
await createRewardSignInRecord()
|
|
await createRewardSignInRecord()
|
|
setTimeout(async () => {
|
|
setTimeout(async () => {
|
|
await getSummary()
|
|
await getSummary()
|
|
|
|
+
|
|
|
|
+ // 更新积分数
|
|
|
|
+ await integralRef.value.getIntegral()
|
|
|
|
+ await userStore.getUserAccountInfo()
|
|
|
|
+
|
|
Snackbar.success(t('taskCenter.signInSuccess'))
|
|
Snackbar.success(t('taskCenter.signInSuccess'))
|
|
signLoading.value = false
|
|
signLoading.value = false
|
|
}, 1000)
|
|
}, 1000)
|
|
}
|
|
}
|
|
|
|
|
|
-// 签到记录
|
|
|
|
-// const getRecordList = async () => {
|
|
|
|
-// const res = await getRewardSignInRecordPage(pageNo.value, pageSize.value)
|
|
|
|
-// recordList.value = res.list
|
|
|
|
-// total.value = res.total
|
|
|
|
-// }
|
|
|
|
-
|
|
|
|
const handleRecord = () => {
|
|
const handleRecord = () => {
|
|
- // drawer.value = true
|
|
|
|
- // pageNo.value = 1
|
|
|
|
- // recordList.value = []
|
|
|
|
- // getRecordList()
|
|
|
|
window.open('/integral/pointsManagement')
|
|
window.open('/integral/pointsManagement')
|
|
}
|
|
}
|
|
|
|
|
|
-// const handleChangePage = (e) => {
|
|
|
|
-// pageNo.value = e
|
|
|
|
-// getRecordList()
|
|
|
|
-// }
|
|
|
|
</script>
|
|
</script>
|
|
|
|
|
|
<style lang="scss" scoped>
|
|
<style lang="scss" scoped>
|