121212
This commit is contained in:
@@ -27,6 +27,15 @@
|
||||
<div class="item" v-if="fight.award != ''" v-html="AwardTips">
|
||||
</div>
|
||||
</div>
|
||||
<div class="common" v-if="figArea == 'Task'">
|
||||
<div class="content" v-if="needs.length > 0">
|
||||
任务要求:<br>
|
||||
<GamePropVerify :data="verifyData.needs" ></GamePropVerify>
|
||||
</div>
|
||||
<div class="content" v-if="verifyData.result">
|
||||
➢<Abutton @click="retTask">我要传送</Abutton>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
@@ -42,6 +51,10 @@ const upBlood = ref(0);
|
||||
const fight = ref<any>({});
|
||||
const AwardTips = ref('');
|
||||
const isCopy = ref(0);
|
||||
const figArea = ref('');
|
||||
const figAreaData = ref<any>({});
|
||||
const verifyData = ref<any>({});
|
||||
const needs = ref<Array<any>>([]);
|
||||
let fightId = PageExtend.QueryString("f");
|
||||
|
||||
onMounted(async () => {
|
||||
@@ -62,9 +75,15 @@ const BindData = async (): Promise<void> => {
|
||||
upBlood.value = result.data.upBlood;
|
||||
fight.value = result.data.fight;
|
||||
isCopy.value = result.data.isCopy;
|
||||
figArea.value = result.data.figArea;
|
||||
if (fight.value.award != '') {
|
||||
AwardTips.value = awardTipsStr(JSON.parse(fight.value.award))
|
||||
}
|
||||
if (figArea.value == 'Task') {
|
||||
figAreaData.value = result.data.figResult;
|
||||
verifyData.value = figAreaData.value.result;
|
||||
needs.value = verifyData.value.needs;
|
||||
}
|
||||
}
|
||||
else if (result.code == 100) {
|
||||
PageExtend.RedirectTo("/fight?f=" + fightId);
|
||||
@@ -107,5 +126,15 @@ const onHook = async () => {
|
||||
MessageExtend.Notify(result.msg, "danger");
|
||||
}
|
||||
}
|
||||
|
||||
</script>
|
||||
const retTask = async (btnData: any) => {
|
||||
MessageExtend.LoadingToast("传送中...");
|
||||
let result = await TaskService.ReturnTask(Number(figAreaData.value.itemId));
|
||||
MessageExtend.LoadingClose();
|
||||
if (result.code == 0) {
|
||||
PageExtend.RedirectTo("/map");
|
||||
}
|
||||
else {
|
||||
MessageExtend.Notify(result.msg, "danger");
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
<div class="content">
|
||||
{{ cityInfo.cityName }}·{{ mapInfo.mapName }}({{ mapInfo.x }},{{ mapInfo.y }})
|
||||
<Abutton @click="Refresh">刷新</Abutton>
|
||||
<Abar href="/task/">任务</Abar>
|
||||
<Abar href="/task/">任务{{ taskCount > 0 ? "(" + taskCount + ")" : "" }}</Abar>
|
||||
<Abar href="/user/message/">消息{{ messageCount > 0 ? "(" + messageCount + ")" : "" }}</Abar>
|
||||
</div>
|
||||
<div class="content" v-if="gameTips != ''" style="color: red;font-size: 16px;">
|
||||
@@ -146,6 +146,7 @@ const broadcast = ref<Array<any>>([]);
|
||||
const gameTips = ref('');
|
||||
const isHook = ref(0);
|
||||
const mapGoods = ref<Array<any>>([]);
|
||||
const taskCount = ref(0);
|
||||
// 城内地图显示
|
||||
const showCity = ref(false);
|
||||
|
||||
@@ -181,6 +182,7 @@ const BindData = async (map: string): Promise<void> => {
|
||||
gameTips.value = result.data.gameTips;
|
||||
mapGoods.value = result.data.mapGoods;
|
||||
isHook.value = result.data.isHook;
|
||||
taskCount.value = result.data.taskCount;
|
||||
// console.log(result)
|
||||
}
|
||||
else if (result.code == 103) {
|
||||
|
||||
@@ -16,11 +16,16 @@
|
||||
<div class="common" v-if="task.length > 0">
|
||||
当前任务:<br>
|
||||
<div class="item" v-for="item in task">
|
||||
<img src="/images/site/tg.gif" v-if="item.state==0" />
|
||||
<img src="/images/site/tr.gif" v-if="item.state==1" />
|
||||
<img src="/images/site/tg.gif" v-if="item.state == 0" />
|
||||
<img src="/images/site/tr.gif" v-if="item.state == 1" />
|
||||
<Abar :href='"/task/info?task=" + item.itemId'>[{{ item.code }}]{{ item.name }}</Abar>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div class="item" v-for="item in data.bus">
|
||||
◈<Abar :href="item.url">{{ item.name }}</Abar>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
@@ -41,7 +46,6 @@ onMounted(async () => {
|
||||
})
|
||||
|
||||
|
||||
|
||||
const BindData = async (): Promise<void> => {
|
||||
let npc = PageExtend.QueryString("npc");
|
||||
let result = await MapService.GetNpcInfo(Number(npc));
|
||||
|
||||
@@ -1,3 +1,41 @@
|
||||
<template>
|
||||
|
||||
</template>
|
||||
<div class="content">
|
||||
【我的任务】
|
||||
</div>
|
||||
<div class="content">
|
||||
<div class="item" v-for="(item,index) in data" :key="index">
|
||||
{{index+1}}.<Abar :href='"/task/look?id="+item.itemId'>[{{item.code}}]{{item.name}}</Abar>({{item.lev}}级)
|
||||
</div>
|
||||
<span v-if="data.length==0">
|
||||
暂无任务.
|
||||
</span>
|
||||
</div>
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
|
||||
definePageMeta({
|
||||
layout: layout.default,
|
||||
middleware: 'page-loading'
|
||||
})
|
||||
const data = ref<Array<any>>({});
|
||||
onMounted(async () => {
|
||||
try {
|
||||
await BindData();
|
||||
}
|
||||
finally {
|
||||
PageLoading.Close();
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
|
||||
const BindData = async (): Promise<void> => {
|
||||
let result = await TaskService.GetUserTask();
|
||||
if (result.code == 0) {
|
||||
data.value = result.data;
|
||||
}
|
||||
else {
|
||||
MessageExtend.ShowDialog("提示",result.msg);
|
||||
}
|
||||
};
|
||||
</script>
|
||||
@@ -3,7 +3,7 @@
|
||||
<strong>{{ npcData.npcName }}</strong>:{{ talkMsg }}
|
||||
</div>
|
||||
<div class="content" v-if="taskState == 100">
|
||||
等待开放下一环任务!
|
||||
恭喜,任务已全部完成!
|
||||
</div>
|
||||
<div v-else>
|
||||
<div v-if="data.state != -1">
|
||||
|
||||
118
Web/src/pages/task/look.vue
Normal file
118
Web/src/pages/task/look.vue
Normal file
@@ -0,0 +1,118 @@
|
||||
<template>
|
||||
<div class="content">
|
||||
[{{ data.code }}]{{ data.name }}({{ data.lev }}级)
|
||||
</div>
|
||||
<div class="content" v-if="taskState == 100">
|
||||
当前任务已暂停,等待任务更新!
|
||||
</div>
|
||||
<div v-else>
|
||||
<div class="content">
|
||||
{{ talkMsg }}
|
||||
</div>
|
||||
<div v-if="data.state != -1">
|
||||
<div class="content" v-if="needs.length > 0">
|
||||
任务要求:<br>
|
||||
<GameTaskPropVerify :data="verifyData.needs" @mapTo="mapTo"></GameTaskPropVerify>
|
||||
</div>
|
||||
<div class="content" v-if="verifyData.result">
|
||||
➢<Abutton @click="retTask">我要传送</Abutton>(领路蝶:{{ retGoods }})
|
||||
</div>
|
||||
<div class="content" v-else>
|
||||
➢<Abutton @click="restTask">重置任务</Abutton>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
|
||||
definePageMeta({
|
||||
layout: layout.default,
|
||||
middleware: 'page-loading'
|
||||
})
|
||||
const data = ref<any>({});
|
||||
const verifyData = ref<any>({});
|
||||
const needs = ref<Array<any>>([]);
|
||||
const talkMsg = ref('');
|
||||
const taskState = ref(-1);
|
||||
const toGoods = ref(0);
|
||||
const retGoods = ref(0);
|
||||
let taskId = PageExtend.QueryString("id");
|
||||
let npcId = LocalStorageHelper.GetOnNpc();
|
||||
onMounted(async () => {
|
||||
try {
|
||||
await BindData();
|
||||
}
|
||||
finally {
|
||||
PageLoading.Close();
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
|
||||
const BindData = async (): Promise<void> => {
|
||||
let result = await TaskService.GetUserTaskInfo(Number(taskId));
|
||||
if (result.code == 0) {
|
||||
data.value = result.data.data;
|
||||
talkMsg.value = result.data.talkMsg;
|
||||
taskState.value = result.data.taskState;
|
||||
toGoods.value = result.data.toGoods;
|
||||
retGoods.value = result.data.retGoods;
|
||||
verifyData.value = data.value.result;
|
||||
needs.value = verifyData.value.needs;
|
||||
taskId = data.value.itemId;
|
||||
}
|
||||
else {
|
||||
PageExtend.RedirectTo("/task")
|
||||
}
|
||||
};
|
||||
|
||||
const ReturnTask = async () => {
|
||||
MessageExtend.LoadingToast("提交任务中...");
|
||||
let result = await TaskService.OverTask(Number(npcId), Number(data.value.itemId));
|
||||
MessageExtend.LoadingClose();
|
||||
if (result.code == 0) {
|
||||
await BindData();
|
||||
if (result.msg != '') {
|
||||
MessageExtend.Notify(result.msg, "success");
|
||||
}
|
||||
}
|
||||
else {
|
||||
MessageExtend.Notify(result.msg, "danger");
|
||||
}
|
||||
}
|
||||
|
||||
const mapTo = async (btnData: any) => {
|
||||
MessageExtend.LoadingToast("传送中...");
|
||||
let result = await TaskService.NeedMapTo(Number(data.value.itemId), btnData.num);
|
||||
MessageExtend.LoadingClose();
|
||||
if (result.code == 0) {
|
||||
PageExtend.RedirectTo("/map");
|
||||
}
|
||||
else {
|
||||
MessageExtend.Notify(result.msg, "danger");
|
||||
}
|
||||
}
|
||||
|
||||
const retTask = async (btnData: any) => {
|
||||
MessageExtend.LoadingToast("传送中...");
|
||||
let result = await TaskService.ReturnTask(Number(data.value.itemId));
|
||||
MessageExtend.LoadingClose();
|
||||
if (result.code == 0) {
|
||||
PageExtend.RedirectTo("/map");
|
||||
}
|
||||
else {
|
||||
MessageExtend.Notify(result.msg, "danger");
|
||||
}
|
||||
}
|
||||
const restTask = async (btnData: any) => {
|
||||
MessageExtend.LoadingToast("任务重置中...");
|
||||
let result = await TaskService.RestTask(Number(data.value.taskId));
|
||||
MessageExtend.LoadingClose();
|
||||
if (result.code == 0) {
|
||||
MessageExtend.Notify("任务重置成功!","success");
|
||||
}
|
||||
else {
|
||||
MessageExtend.Notify(result.msg, "danger");
|
||||
}
|
||||
}
|
||||
</script>
|
||||
@@ -7,6 +7,30 @@ export class TaskService {
|
||||
return await ApiService.Request("get", "/Map/Task/GetTaskByNpc", { npcId, taskId });
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取个人任务
|
||||
* GET /Map/Task/GetUserTask
|
||||
*/
|
||||
static async GetUserTask() {
|
||||
return await ApiService.Request("get", "/Map/Task/GetUserTask");
|
||||
}
|
||||
|
||||
/**
|
||||
* 重置任务
|
||||
* GET /Map/Task/RestTask
|
||||
*/
|
||||
static async RestTask(task: number) {
|
||||
return await ApiService.Request("get", "/Map/Task/RestTask", { task });
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取个人任务详情
|
||||
* GET /Map/Task/GetUserTaskInfo
|
||||
*/
|
||||
static async GetUserTaskInfo(taskId: number) {
|
||||
return await ApiService.Request("get", "/Map/Task/GetUserTaskInfo", { taskId });
|
||||
}
|
||||
|
||||
/**
|
||||
* 完成任务
|
||||
* GET /Map/Task/OverTask
|
||||
|
||||
Reference in New Issue
Block a user