|
@@ -3,15 +3,9 @@
|
|
|
<div class="area-process">
|
|
|
<v-head></v-head>
|
|
|
<div class="box-process">
|
|
|
- <div class="item">
|
|
|
- <hover-tip></hover-tip>
|
|
|
- <img :src="require('@/assets/svg/icon-btn-box.svg')" alt="" @mouseenter="mouseItem($event)" />
|
|
|
- </div>
|
|
|
- <div class="item">
|
|
|
- <img :src="require('@/assets/svg/icon-btn-box.svg')" alt="" />
|
|
|
- </div>
|
|
|
- <div class="item">
|
|
|
- <img :src="require('@/assets/svg/icon-btn-box.svg')" alt="" />
|
|
|
+ <div class="item" v-for="item, i in state.boxs">
|
|
|
+ <hover-tip :txt="item.txt" v-show="item.show"></hover-tip>
|
|
|
+ <img :src="item.icon" alt="" @mouseenter="mouseItem($event, i)" />
|
|
|
</div>
|
|
|
<div class="line">
|
|
|
<div class="full"></div>
|
|
@@ -29,29 +23,65 @@
|
|
|
</div>
|
|
|
|
|
|
<div class="area-nav">
|
|
|
- <div class="item" :class="{ active: state.tab == 1 }" @click="clickSwicthTab(1)">invite friends</div>
|
|
|
- <div class="item" :class="{ active: state.tab == 2 }" @click="clickSwicthTab(2)">invited</div>
|
|
|
+ <div class="item" :class="{ active: state.tab_index == i }" @click="clickSwicthTab(i)"
|
|
|
+ v-for="item, i in state.tabs">
|
|
|
+ {{ item.txt }}
|
|
|
+ </div>
|
|
|
</div>
|
|
|
<div class="area-info">
|
|
|
- <invite-friends v-show="state.tab == 1"></invite-friends>
|
|
|
- <invite-list v-show="state.tab == 2"></invite-list>
|
|
|
+ <invite-friends v-show="state.tab_index == 0"></invite-friends>
|
|
|
+ <invite-list v-show="state.tab_index == 1"></invite-list>
|
|
|
</div>
|
|
|
</template>
|
|
|
<script setup>
|
|
|
-import { reactive, ref, onMounted, watch } from 'vue'
|
|
|
+import { reactive, ref, onMounted, watch, inject } from 'vue'
|
|
|
import VHead from '@/view/iframe/treasure-hunt/components/head.vue'
|
|
|
import InviteList from '@/view/iframe/treasure-hunt/components/invite-list.vue'
|
|
|
import HoverTip from '@/view/iframe/treasure-hunt/components/hover-tip.vue'
|
|
|
import InviteFriends from '@/view/iframe/treasure-hunt/components/invite-friends.vue'
|
|
|
|
|
|
let content_success_message = ref(null)
|
|
|
+let state = inject('state')
|
|
|
+
|
|
|
+// ---- 走马灯
|
|
|
+
|
|
|
+state.success_message_list = []
|
|
|
+
|
|
|
+
|
|
|
+// ---- box 区域
|
|
|
+let silver_close_box = require('@/assets/img/icon-silver-close-box.png')
|
|
|
+let silver_open_box = require('@/assets/img/icon-silver-open-box.png')
|
|
|
+let gold_open_box = require('@/assets/img/icon-gold-open-box.png')
|
|
|
+let gold_close_box = require('@/assets/img/icon-gold-close-box.png')
|
|
|
+
|
|
|
+state.boxs = [
|
|
|
+ {
|
|
|
+ txt: '0/1',
|
|
|
+ icon: silver_close_box
|
|
|
+ },
|
|
|
+ {
|
|
|
+ txt: '123',
|
|
|
+ icon: silver_close_box
|
|
|
+ },
|
|
|
+ {
|
|
|
+ txt: '123',
|
|
|
+ icon: silver_close_box
|
|
|
+ }
|
|
|
+]
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+// ---- tab区域 ----
|
|
|
+state.tab_index = 0
|
|
|
+state.tabs = [{
|
|
|
+ txt: 'invite friends'
|
|
|
+}, {
|
|
|
+ txt: 'invited'
|
|
|
+}]
|
|
|
+
|
|
|
+
|
|
|
|
|
|
-let state = reactive({
|
|
|
- page: '封面',
|
|
|
- tab: 1,
|
|
|
- scroll: true,
|
|
|
- success_message_list: []
|
|
|
-})
|
|
|
watch(state, () => {
|
|
|
if (content_success_message && content_success_message.value) {
|
|
|
let dom = content_success_message.value
|
|
@@ -61,7 +91,7 @@ watch(state, () => {
|
|
|
}
|
|
|
})
|
|
|
const clickSwicthTab = (tab) => {
|
|
|
- state.tab = tab
|
|
|
+ state.tab_index = tab
|
|
|
}
|
|
|
|
|
|
onMounted(() => {
|
|
@@ -86,6 +116,8 @@ onMounted(() => {
|
|
|
|
|
|
const mouseItem = (e) => {
|
|
|
console.log(e)
|
|
|
+
|
|
|
+
|
|
|
}
|
|
|
|
|
|
const mouseOver = () => {
|
|
@@ -119,6 +151,9 @@ const mouseLeave = () => {
|
|
|
|
|
|
.item {
|
|
|
z-index: 2;
|
|
|
+ display: flex;
|
|
|
+ justify-content: center;
|
|
|
+ position: relative;
|
|
|
}
|
|
|
|
|
|
img {
|