|
@@ -15,9 +15,9 @@ select_zz:7种花的view,默认应该隐藏,点击播种时显示,播种
|
|
|
收获:点击后,有收获标识的土地上的收获标识图片隐藏,花隐藏,出现杂草
|
|
|
操作流程:
|
|
|
默认显示待解锁的田地(其他几个图标都隐藏),点击"解锁荒地",点击"除草",点击"播种",到时间后点击"收获" -->
|
|
|
- <view class="page">
|
|
|
+ <view class="page" v-if="show">
|
|
|
<view class="task-board">
|
|
|
- <view class="task_day">
|
|
|
+ <view class="task_day" @click="handleTaskDayClick" :class="{'task-day-active': taskDayActive}">
|
|
|
<image src="../../static/island/huatian/btn_task_day.png" class="task"></image>
|
|
|
</view>
|
|
|
<view class="board-title">
|
|
@@ -132,6 +132,8 @@ select_zz:7种花的view,默认应该隐藏,点击播种时显示,播种
|
|
|
},
|
|
|
data() {
|
|
|
return {
|
|
|
+ show: false,
|
|
|
+ dataLoaded: false,
|
|
|
// 用户ID
|
|
|
ssoId: 0,
|
|
|
// 田地数据
|
|
@@ -174,6 +176,22 @@ select_zz:7种花的view,默认应该隐藏,点击播种时显示,播种
|
|
|
weedyFields: [], // 添加可除草的地块列表
|
|
|
harvestMode: false, // 添加收获模式状态
|
|
|
harvestableFields: [], // 添加可收获的地块列表
|
|
|
+ taskDayActive: false,
|
|
|
+ // 主岛引用
|
|
|
+ mainLand: null,
|
|
|
+ }
|
|
|
+ },
|
|
|
+ watch: {
|
|
|
+ visible: {
|
|
|
+ immediate: true,
|
|
|
+ handler(val) {
|
|
|
+ if (val) {
|
|
|
+ this.fetchData();
|
|
|
+ } else {
|
|
|
+ this.show = false;
|
|
|
+ this.dataLoaded = false;
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
},
|
|
|
onLoad() {
|
|
@@ -200,6 +218,8 @@ select_zz:7种花的view,默认应该隐藏,点击播种时显示,播种
|
|
|
methods: {
|
|
|
// 关闭界面
|
|
|
onClose() {
|
|
|
+ this.show = false;
|
|
|
+ this.$emit('update:visible', false);
|
|
|
this.$emit('close');
|
|
|
},
|
|
|
|
|
@@ -232,8 +252,7 @@ select_zz:7种花的view,默认应该隐藏,点击播种时显示,播种
|
|
|
this.flowers = [];
|
|
|
for (let i = 1; i <= 7; i++) {
|
|
|
// 找到对应的种子数量
|
|
|
- const seedBag = bagItems.find(item => item.type === 1 && item.tid ===
|
|
|
- i);
|
|
|
+ const seedBag = bagItems.find(item => item.type === 1 && item.tid === i);
|
|
|
|
|
|
this.flowers.push({
|
|
|
id: i,
|
|
@@ -291,12 +310,10 @@ select_zz:7种花的view,默认应该隐藏,点击播种时显示,播种
|
|
|
if (land.plant_time) {
|
|
|
const plantTime = new Date(land.plant_time);
|
|
|
const now = new Date();
|
|
|
- const growthHours = (now - plantTime) / (1000 *
|
|
|
- 60 * 60);
|
|
|
+ const growthHours = (now - plantTime) / (1000 * 60 * 60);
|
|
|
|
|
|
// 获取对应种子的生长周期
|
|
|
- const seed = this.seeds.find(s => s.id === land
|
|
|
- .state);
|
|
|
+ const seed = this.seeds.find(s => s.id === land.state);
|
|
|
const limitHours = seed ? seed.limit_time : 0;
|
|
|
|
|
|
if (growthHours >= limitHours) {
|
|
@@ -308,8 +325,7 @@ select_zz:7种花的view,默认应该隐藏,点击播种时显示,播种
|
|
|
// 未成熟,显示生长中
|
|
|
field.isGrowing = true;
|
|
|
field.seedStage = true;
|
|
|
- field.remainingTime = Math.ceil((limitHours -
|
|
|
- growthHours) * 60 * 60);
|
|
|
+ field.remainingTime = Math.ceil((limitHours - growthHours) * 60 * 60);
|
|
|
this.startGrowthTimer(fieldIndex);
|
|
|
}
|
|
|
}
|
|
@@ -317,8 +333,7 @@ select_zz:7种花的view,默认应该隐藏,点击播种时显示,播种
|
|
|
// 成熟待收割
|
|
|
field.hasWeed = false;
|
|
|
field.flower = true;
|
|
|
- field.flowerType = land.flowerType || land
|
|
|
- .zzid;
|
|
|
+ field.flowerType = land.flowerType || land.zzid;
|
|
|
field.growthCompleted = true;
|
|
|
field.canHarvest = true;
|
|
|
}
|
|
@@ -350,11 +365,17 @@ select_zz:7种花的view,默认应该隐藏,点击播种时显示,播种
|
|
|
// 如果获取失败,使用默认值
|
|
|
this.nextLandPrice = 100;
|
|
|
}
|
|
|
+ // 数据加载完成,显示界面
|
|
|
+ this.dataLoaded = true;
|
|
|
+ this.show = true;
|
|
|
},
|
|
|
fail: (err) => {
|
|
|
console.error('获取土地价格异常', err);
|
|
|
// 如果获取失败,使用默认值
|
|
|
this.nextLandPrice = 100;
|
|
|
+ // 数据加载完成,显示界面
|
|
|
+ this.dataLoaded = true;
|
|
|
+ this.show = true;
|
|
|
}
|
|
|
});
|
|
|
break;
|
|
@@ -368,6 +389,8 @@ select_zz:7种花的view,默认应该隐藏,点击播种时显示,播种
|
|
|
title: res.data?.msg || '获取数据失败',
|
|
|
icon: 'none'
|
|
|
});
|
|
|
+ this.dataLoaded = true;
|
|
|
+ this.show = true;
|
|
|
}
|
|
|
},
|
|
|
fail: (err) => {
|
|
@@ -376,6 +399,8 @@ select_zz:7种花的view,默认应该隐藏,点击播种时显示,播种
|
|
|
title: '网络异常,请重试',
|
|
|
icon: 'none'
|
|
|
});
|
|
|
+ this.dataLoaded = true;
|
|
|
+ this.show = true;
|
|
|
}
|
|
|
});
|
|
|
} catch (error) {
|
|
@@ -384,6 +409,8 @@ select_zz:7种花的view,默认应该隐藏,点击播种时显示,播种
|
|
|
title: '网络异常,请重试',
|
|
|
icon: 'none'
|
|
|
});
|
|
|
+ this.dataLoaded = true;
|
|
|
+ this.show = true;
|
|
|
}
|
|
|
},
|
|
|
|
|
@@ -924,6 +951,24 @@ select_zz:7种花的view,默认应该隐藏,点击播种时显示,播种
|
|
|
}
|
|
|
}, 60000); // 60秒检查一次
|
|
|
},
|
|
|
+ handleTaskDayClick() {
|
|
|
+ this.taskDayActive = true;
|
|
|
+ setTimeout(() => {
|
|
|
+ this.taskDayActive = false;
|
|
|
+ }, 200);
|
|
|
+
|
|
|
+ // 如果mainLand存在,调用其onTaskClick方法
|
|
|
+ if (this.mainLand) {
|
|
|
+ // 关闭当前花田界面
|
|
|
+ // this.onClose();
|
|
|
+ // 打开任务对话框
|
|
|
+ this.mainLand.onTaskClick();
|
|
|
+ }
|
|
|
+ },
|
|
|
+ // 设置mainLand引用
|
|
|
+ setMainLand(mainLand) {
|
|
|
+ this.mainLand = mainLand;
|
|
|
+ },
|
|
|
},
|
|
|
|
|
|
}
|
|
@@ -977,4 +1022,10 @@ select_zz:7种花的view,默认应该隐藏,点击播种时显示,播种
|
|
|
animation: harvestBlink 1s infinite;
|
|
|
z-index: 10;
|
|
|
}
|
|
|
+
|
|
|
+ .task-day-active {
|
|
|
+ transform: scale(0.95);
|
|
|
+ opacity: 0.8;
|
|
|
+ transition: all 0.2s ease;
|
|
|
+ }
|
|
|
</style>
|