hldy_app/component/public/game/skilladd.vue

222 lines
5.0 KiB
Vue

<template>
<view class="all-circle">
<view class="circle-up">
<view @click="clickCircle(`up`)" class="solveclick">
<image :class="upmenuIndex==0?`circle-img-target` :`circle-img`"
:src="upmenuIndex==0?`/static/index/keyimg/key1.png`: `/static/index/keyimg/key1-1.png`" />
<view class="circle-font">
睡眠
</view>
</view>
</view>
<view class="circle-leftup">
<view @click="clickCircle(`leftup`)" class="solveclick">
<image :class="upmenuIndex==0?`circle-img-target` :`circle-img`"
:src="upmenuIndex==0?`/static/index/keyimg/key1.png`: `/static/index/keyimg/key5-1.png`" />
<view class="circle-font">
饮食
</view>
</view>
</view>
<view class="circle-rightup">
<view @click="clickCircle(`rightup`)" class="solveclick">
<image :class="upmenuIndex==0?`circle-img-target` :`circle-img`"
:src="upmenuIndex==0?`/static/index/keyimg/key1.png`: `/static/index/keyimg/key4-1.png`" />
<view class="circle-font">
清洁
</view>
</view>
</view>
<view class="circle-leftbottom">
<view @click="clickCircle(`leftbottom`)" class="solveclick">
<image :class="upmenuIndex==0?`circle-img-target` :`circle-img`"
:src="upmenuIndex==0?`/static/index/keyimg/key1.png`: `/static/index/keyimg/key3-1.png`" />
<view class="circle-font">
排泄
</view>
</view>
</view>
<view class="circle-rightbottom">
<view @click="clickCircle(`rightbottom`)" class="solveclick">
<image :class="upmenuIndex==0?`circle-img-target` :`circle-img`"
:src="upmenuIndex==0?`/static/index/keyimg/key1.png`: `/static/index/keyimg/key2-2.png`" />
<view class="circle-font">
日常
</view>
</view>
</view>
</view>
</template>
<script setup lang="ts">
import {
ref
} from 'vue'
const emit = defineEmits(['getDownListIndex']);
const upmenuIndex = ref(-1)
const isClick = ref(true);
const clickCircle = (type : string) => {
if (isClick.value) {
switch (type) {
case 'up':
isClick.value = false;
setTimeout(() => {
upmenuIndex.value = -1;
isClick.value = true;
emit('getDownListIndex', 3)
}, 0)
break;
case 'leftup':
isClick.value = false;
setTimeout(() => {
upmenuIndex.value = -1;
isClick.value = true;
emit('getDownListIndex', 2)
}, 0)
break;
case "rightup":
isClick.value = false;
setTimeout(() => {
upmenuIndex.value = -1;
isClick.value = true;
emit('getDownListIndex', 1)
}, 0)
break;
case "leftbottom":
isClick.value = false;
setTimeout(() => {
upmenuIndex.value = -1;
isClick.value = true;
emit('getDownListIndex', 4)
}, 0)
break;
case "rightbottom":
isClick.value = false;
setTimeout(() => {
upmenuIndex.value = -1;
isClick.value = true;
emit('getDownListIndex', 0)
}, 0)
break;
}
}
}
</script>
<style scoped lang="less">
.all-circle {
position: absolute;
bottom: 300rpx;
right: 80rpx;
width: 330rpx;
height: 330rpx;
background-color: rgba(110, 149, 217, 0.1);
border-radius: 50%;
z-index: 999;
display: flex;
border: 1rpx solid #d5d5d5;
.circle-up {
position: absolute;
width: 155rpx;
height: 155rpx;
top: -60rpx;
left: 89rpx;
border-radius: 50%;
border: 4rpx solid rgba(110, 149, 217, 0.2);
display: flex;
justify-content: center;
align-items: center;
}
.circle-leftup {
position: absolute;
width: 155rpx;
height: 155rpx;
left: -60rpx;
top: 40rpx;
border-radius: 50%;
border: 4rpx solid rgba(110, 149, 217, 0.2);
display: flex;
justify-content: center;
align-items: center;
}
.circle-rightup {
position: absolute;
width: 155rpx;
height: 155rpx;
right: -60rpx;
top: 40rpx;
border-radius: 50%;
border: 4rpx solid rgba(110, 149, 217, 0.2);
display: flex;
justify-content: center;
align-items: center;
}
.circle-leftbottom {
position: absolute;
width: 155rpx;
height: 155rpx;
left: 0rpx;
bottom: -30rpx;
border-radius: 50%;
border: 4rpx solid rgba(110, 149, 217, 0.2);
display: flex;
justify-content: center;
align-items: center;
}
.circle-rightbottom {
position: absolute;
width: 155rpx;
height: 155rpx;
right: 0rpx;
bottom: -30rpx;
border-radius: 50%;
border: 4rpx solid rgba(110, 149, 217, 0.2);
display: flex;
justify-content: center;
align-items: center;
}
.circle-up-target {
position: absolute;
width: 170rpx;
height: 170rpx;
top: -60rpx;
left: 89rpx;
border-radius: 50%;
border: 4rpx solid rgba(110, 149, 217, 0.2);
display: flex;
justify-content: center;
align-items: center;
}
}
.circle-img {
width: 130rpx;
height: 130rpx;
}
.circle-img-target {
width: 140rpx;
height: 140rpx;
}
.circle-font {
position: absolute;
bottom: 25rpx;
left: 45rpx;
color: #fff;
}
.solveclick {
width: 100%;
height: 100%;
display: flex;
justify-content: center;
align-items: center;
}
</style>