Browse Source

[edit][bugs]

zhangwei 2 years ago
parent
commit
2e0e319ebf

+ 0 - 2
src/view/iframe/treasure-hunt/components/invite-friends.vue

@@ -15,13 +15,11 @@
         <v-btn :txt="state.open_btn.txt" :font-size="'17px'" class="btn" :icon="false"
             :disabled="state.open_btn.disabled" @onClick="clickBtn"></v-btn>
         <v-toast :show="state.toast.show" :txt="state.toast.txt"></v-toast>
-        <open-box v-if="state.open_box.show"></open-box>
     </div>
 </template>
 <script setup>
 import VBtn from '@/view/iframe/treasure-hunt/components/btn.vue'
 import VToast from '@/view/iframe/treasure-hunt/components/toast.vue'
-import OpenBox from '@/view/iframe/treasure-hunt/components/open-box.vue'
 import { inviteChannel } from '@/http/treasure'
 import { inject, onMounted } from 'vue'
 let ClipboardJS = require('clipboard');

+ 2 - 1
src/view/iframe/treasure-hunt/components/open-box.vue

@@ -97,11 +97,12 @@ const clickBtn = () => {
                 margin-top: 10px;
                 display: flex;
                 justify-content: center;
+                align-items: center;
 
                 img {
                     width: 17px;
                     height: 17px;
-                    margin: 0;
+                    margin-right: 5px;
                 }
 
                 div {

+ 6 - 3
src/view/iframe/treasure-hunt/index.vue

@@ -8,10 +8,10 @@ import { reactive, provide, onMounted } from 'vue'
 import VCover from '@/view/iframe/treasure-hunt/cover.vue'
 import VInvite from '@/view/iframe/treasure-hunt/invite.vue'
 import VResult from '@/view/iframe/treasure-hunt/result.vue'
-import { inviteDetail, treasureDetail } from '@/http/treasure.js'
+import { inviteDetail, treasureDetail, treasureOpen } from '@/http/treasure.js'
 import { reSetBindTwtterId } from '@/http/help.js'
 import { getQueryString } from '@/uilts/help'
-import { treasureOpen } from '@/http/treasure'
+
 
 let state = reactive({
     page: '',
@@ -76,6 +76,7 @@ state.init = (callback) => {
                         tweetId: state.tweetId || ''
                     })
                 }
+                callback && callback()
             }
         })
     }
@@ -91,7 +92,9 @@ state.treasureOpen = () => {
         if (res.code == 0) {
             state.open_box.show = true
             state.open_box = res.data
-            state.init()
+            state.init(() => {
+                state.inviteInit()
+            })
         }
     })
 }

+ 45 - 41
src/view/iframe/treasure-hunt/invite.vue

@@ -34,15 +34,16 @@
         <invite-friends v-show="state.tab_index == 0"></invite-friends>
         <invite-list v-show="state.tab_index == 1"></invite-list>
     </div>
-
+    <open-box v-show="state.open_box.show"></open-box>
 </template>
 <script setup>
-import { reactive, ref, onMounted, watch, inject } from 'vue'
+import { ref, onMounted, watch, inject } from 'vue'
 import { receiveList } from '@/http/treasure.js'
 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'
+import OpenBox from '@/view/iframe/treasure-hunt/components/open-box.vue'
 let content_success_message = ref(null)
 let state = inject('state')
 
@@ -80,52 +81,55 @@ state.boxs = []
 
 let line_full = ref(null)
 onMounted(() => {
-    state.init(() => {
-        if (state.detail.inviteCount > 0) {
-            state.tabs[1].txt = `invited(${state.detail.inviteCount})`
-        }
+    state.inviteInit()
+})
 
-        state.detail.treasureRecords.forEach((item, index) => {
-            if (item.openStatus == 0) {
-                item.hover_icon = require('@/assets/svg/icon-user.svg')
-                // 最后一条
-                if ((index + 1) == state.detail.treasureRecords.length) {
-                    item.icon = gold_close_box
-                } else {
-                    item.icon = silver_close_box
-                }
-                item.txt = item.inviteProgress
+state.inviteInit = () => {
+    if (state.detail.inviteCount > 0) {
+        state.tabs[1].txt = `invited(${state.detail.inviteCount})`
+    }
+
+    state.detail.treasureRecords.forEach((item, index) => {
+        if (item.openStatus == 0) {
+            item.hover_icon = require('@/assets/svg/icon-user.svg')
+            // 最后一条
+            if ((index + 1) == state.detail.treasureRecords.length) {
+                item.icon = gold_close_box
+            } else {
+                item.icon = silver_close_box
+            }
+            item.txt = item.inviteProgress
+        } else {
+            item.icon = silver_open_box
+            item.hover_icon = require('@/assets/svg/icon-green-yes.svg')
+            // 最后一条
+            if ((index + 1) == state.detail.treasureRecords.length) {
+                item.icon = gold_open_box
             } else {
                 item.icon = silver_open_box
-                item.hover_icon = require('@/assets/svg/icon-green-yes.svg')
-                // 最后一条
-                if ((index + 1) == state.detail.treasureRecords.length) {
-                    item.icon = gold_open_box
-                } else {
-                    item.icon = silver_open_box
-                }
-                item.txt = '$' + item.amountValue
             }
+            item.txt = '$' + item.amountValue
+        }
 
-            state.boxs.push(item)
-        })
+        state.boxs.push(item)
+    })
 
-        receiveList({
-            params: {
-                postId: state.postId,
-                pageNum: 1,
-                pageSize: 10,
-            }
-        }).then((res) => {
-            if (res.code == 0) {
-                state.success_message_list = res.data
-                state.success_message_list = state.success_message_list.concat(state.success_message_list)
-                state.success_message_list = state.success_message_list.concat(state.success_message_list)
-            }
-        })
-        btnStatus()
+    receiveList({
+        params: {
+            postId: state.postId,
+            pageNum: 1,
+            pageSize: 10,
+        }
+    }).then((res) => {
+        if (res.code == 0) {
+            state.success_message_list = res.data
+            state.success_message_list = state.success_message_list.concat(state.success_message_list)
+            state.success_message_list = state.success_message_list.concat(state.success_message_list)
+        }
     })
-})
+    btnStatus()
+
+}
 
 const setLineFull = (box_num = 0, needInviteCount = 0, successInviteCount = 0) => {
     if (box_num == 0) {

+ 5 - 2
src/view/iframe/treasure-hunt/result.vue

@@ -32,7 +32,9 @@ import VBtn from '@/view/iframe/treasure-hunt/components/btn.vue'
 let state = inject('state')
 
 const clickBtn = () => {
-    state.page = '邀请页'
+    state.init(() => {
+        state.page = '邀请页'
+    })
 }
 
 </script>
@@ -93,11 +95,12 @@ const clickBtn = () => {
             margin-top: 10px;
             display: flex;
             justify-content: center;
+            align-items: center;
 
             img {
                 width: 17px;
                 height: 17px;
-                margin: 0;
+                margin-right: 5px;
             }
 
             div {