Files
Yi.Admin/Yi.Bbs.Vue3/src/views/assignment/Index.vue

61 lines
1.5 KiB
Vue
Raw Normal View History

2024-08-12 23:23:29 +08:00
<script setup>
2024-08-13 15:33:03 +08:00
import {getAssignmentList, getCanReceiveAssignment, acceptAssignment, receiveAssignment} from '@/apis/assignmentApi'
import {onMounted, reactive, ref} from "vue";
2024-08-12 23:23:29 +08:00
const canReceiveAssignmentList=ref([]);
2024-08-13 15:33:03 +08:00
const assignmentList=ref([]);
const queryForm=reactive({
assignmentQueryState:"Progress"
});
2024-08-12 23:23:29 +08:00
onMounted( async ()=>{
2024-08-13 15:33:03 +08:00
await refreshData();
});
//刷新数据
const refreshData=async ()=>{
2024-08-12 23:23:29 +08:00
const {data:canReceiveAssignmentListData}= await getCanReceiveAssignment();
canReceiveAssignmentList.value=canReceiveAssignmentListData;
2024-08-13 15:33:03 +08:00
const {data}= await getAssignmentList(queryForm);
assignmentList.value=data;
}
//接收任务
const onClickAcceptAssignment=async (id)=>{
await acceptAssignment(id);
await refreshData();
}
const onClickReceiveAssignment=async (id)=>{
await receiveAssignment(id);
await refreshData();
}
//切换tab
const changeTab=async (state)=>{
queryForm.assignmentQueryState=state;
await refreshData();
}
2024-08-12 23:23:29 +08:00
</script>
<template>
2024-08-13 15:33:03 +08:00
<h3>可接收任务</h3>
<div>
<div v-for="item in canReceiveAssignmentList">{{item}}
<button type="button" @click="onClickAcceptAssignment(item.id)">接收任务</button>
</div>
</div>
<hr/>
<h3>已接收任务
<button type="button" @click="changeTab('Progress')">切换正在进行</button>
<button type="button" @click="changeTab('End')">切换已结束</button></h3>
2024-08-12 23:23:29 +08:00
<div>
2024-08-13 15:33:03 +08:00
<div v-for="item in assignmentList">{{item}}
<button type="button" @click="onClickReceiveAssignment(item.id)">领取奖励</button>
</div>
2024-08-12 23:23:29 +08:00
</div>
</template>