|
@@ -30,10 +30,15 @@
|
|
|
<view class="task-footer">
|
|
|
<text class="task-date">{{task.create_time}}</text>
|
|
|
<view
|
|
|
- :class="['task-button', task.state === 1 ? 'completed' : 'uncompleted']"
|
|
|
+ :class="['task-button',
|
|
|
+ task.state === 1 ? 'completed' :
|
|
|
+ task.state === 2 ? 'completed' :
|
|
|
+ 'uncompleted']"
|
|
|
@click="handleTaskAction(task)"
|
|
|
>
|
|
|
- {{task.state === 1 ? '已完成' : '未完成'}}
|
|
|
+ {{task.state === 1 ? '已完成' :
|
|
|
+ task.state === 2 ? '领取奖励' :
|
|
|
+ '未完成'}}
|
|
|
</view>
|
|
|
</view>
|
|
|
<view class="card-divider"></view>
|
|
@@ -133,6 +138,9 @@ export default {
|
|
|
title: '任务已完成!',
|
|
|
icon: 'success'
|
|
|
})
|
|
|
+ } else if (task.state === 2) {
|
|
|
+ // 处理领取奖励的逻辑
|
|
|
+ this.receiveTaskReward(task)
|
|
|
} else {
|
|
|
// 处理未完成任务的逻辑
|
|
|
uni.showToast({
|
|
@@ -140,6 +148,53 @@ export default {
|
|
|
icon: 'none'
|
|
|
})
|
|
|
}
|
|
|
+ },
|
|
|
+ // 领取任务奖励
|
|
|
+ async receiveTaskReward(task) {
|
|
|
+ try {
|
|
|
+ uni.request({
|
|
|
+ url: this.$apiHost + '/Game/get_task_list',
|
|
|
+ method: 'GET',
|
|
|
+ data: {
|
|
|
+ uuid: getApp().globalData.uuid,
|
|
|
+ type: this.type,
|
|
|
+ act: 'get',
|
|
|
+ task_id: task.id
|
|
|
+ },
|
|
|
+ header: {
|
|
|
+ 'Content-Type': 'application/x-www-form-urlencoded',
|
|
|
+ 'sign': getApp().globalData.headerSign,
|
|
|
+ },
|
|
|
+ success: (res) => {
|
|
|
+ if (res.data && res.data.code === 0) {
|
|
|
+ uni.showToast({
|
|
|
+ title: '领取成功!',
|
|
|
+ icon: 'success'
|
|
|
+ })
|
|
|
+ // 刷新任务列表
|
|
|
+ this.fetchTaskData()
|
|
|
+ } else {
|
|
|
+ uni.showToast({
|
|
|
+ title: res.data?.msg || '领取失败',
|
|
|
+ icon: 'none'
|
|
|
+ })
|
|
|
+ }
|
|
|
+ },
|
|
|
+ fail: (err) => {
|
|
|
+ console.error('领取奖励异常', err)
|
|
|
+ uni.showToast({
|
|
|
+ title: '网络异常,请重试',
|
|
|
+ icon: 'none'
|
|
|
+ })
|
|
|
+ }
|
|
|
+ })
|
|
|
+ } catch (error) {
|
|
|
+ console.error('领取奖励异常', error)
|
|
|
+ uni.showToast({
|
|
|
+ title: '网络异常,请重试',
|
|
|
+ icon: 'none'
|
|
|
+ })
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -147,4 +202,10 @@ export default {
|
|
|
|
|
|
<style lang="scss">
|
|
|
@import './TaskDialog.scss';
|
|
|
+.task-button {
|
|
|
+ &.can-receive {
|
|
|
+ background-color: #FFD700;
|
|
|
+ color: #000;
|
|
|
+ }
|
|
|
+}
|
|
|
</style>
|