Explorar el Código

Merge branch 'dev_1.1.2' of https://git.yishihui.com/DeNet/de-net into dev_1.1.2

zhangwei hace 2 años
padre
commit
86ea6fbe93
Se han modificado 2 ficheros con 82 adiciones y 2 borrados
  1. 26 0
      src/uilts/help.js
  2. 56 2
      src/view/popup/tabbar-page/message/index.vue

+ 26 - 0
src/uilts/help.js

@@ -153,3 +153,29 @@ export function getOffsetRect(element) {
     left: oLeft,
   }
 }
+
+export function formatSecondsAsTime(secs) {
+    var hr = Math.floor(secs / 3600)
+    var min = Math.floor((secs - (hr * 3600)) / 60)
+    var sec = Math.floor(secs - (hr * 3600) - (min * 60))
+    var text
+    if (hr < 10) {
+        hr = "0" + hr
+    }
+    if (min < 10) {
+        min = "0" + min
+    }
+    if (sec < 10) {
+        sec = "0" + sec
+    }
+    if (hr == 0) {
+        hr = ""
+    }
+    if (hr.length > 0) {
+        text = hr + ':' + min + ':' + sec
+    } else {
+        text = min + ':' + sec
+    }
+    return text
+    return fmt;
+}

+ 56 - 2
src/view/popup/tabbar-page/message/index.vue

@@ -103,6 +103,34 @@
                           <img :src="item.currencyIconPath" alt="" />
                         </div>
                       </template>
+                      <template v-else-if="item.type == 3">
+                        <template v-if="item.status == 1">In Progress</template>
+                        <template v-else-if="item.status == 2">
+                          {{ item.downTime || '' }}
+                        </template>
+                        <template v-else-if="item.status == 3">
+                          Unfinished
+                        </template>
+                        <template v-else-if="item.status == 4">
+                          <span class="blance">
+                            <a-tooltip :title="item.amount">
+                              +{{ getBit(item.amount) }}
+                            </a-tooltip>
+                          </span>
+                          <div class="coin-type-wrapper">
+                            <span class="coin-type">{{
+                              item.currencySymbol || ""
+                            }}</span>
+                            <img :src="item.currencyIconPath" alt="" />
+                          </div>
+                        </template>
+                        <template v-else-if="item.status == 5">
+                          Didn't win
+                        </template>
+                        <template v-else-if="item.status == 6">
+                          Giveaway Expired
+                        </template>
+                      </template>
                     </div>
                     <!-- 发出的红包显示 -->
                     <div class="desc" v-if="item.type == 2">
@@ -127,7 +155,9 @@
                         }}
                       </template>
                       <!-- 红包提前终止/退款(进行中)显示-->
-                      <template v-if="item.status == 4"> Terminating </template>
+                      <template v-if="item.status == 4">
+                        {{ item.postTaskLuckdrop && item.postTaskLuckdrop.luckdropType == 1 ? 'Terminating' : item.downTime || '' }}
+                      </template>
 
                       <!-- 进行中或者未发送成功时显示 
                                                 v-if="item.status == 1 || item.postTaskLuckdrop.reSendAvailable"-->
@@ -196,7 +226,7 @@ import { ref, onMounted, inject, onBeforeUnmount } from "vue";
 import modal from "@/view/popup/components/modal.vue";
 import redDot from "@/view/components/red-dot.vue";
 
-import { getBit } from "@/uilts/help";
+import { getBit, formatSecondsAsTime } from "@/uilts/help";
 import { getMineLuckdropRecords } from "@/http/account";
 import { terminatedLuckdrop } from "@/http/redPacket";
 import { readAllMsgByType, getAllMessageInfo } from "@/http/messageApi"
@@ -258,6 +288,7 @@ const getLuckdropRecordsList = () => {
         data = data.concat(res.data);
         giveList.value = data;
       }
+      downTimeBegin()
       giveReqParams.loadMore = false;
     }
   });
@@ -425,6 +456,29 @@ const msgListener = (req, sender, sendResponse) => {
   }
 }
 
+// 倒计时
+const downTimeBegin = () => {
+    let list = giveList.value || []
+    let ifDown = false
+    list.forEach((item) => {
+        if (item.endTimestamp) {
+            let time = moment(new Date().getTime())
+            let endTime = moment(item.endTimestamp)
+            let downTime = (endTime - time) || 0
+            if (downTime > 0) {
+                item.downTime = formatSecondsAsTime(downTime / 1000);
+                ifDown = true;
+            }
+        }
+    })
+
+    if (ifDown) {
+        setTimeout(() => {
+            downTimeBegin()
+        }, 1000)
+    }
+}
+
 onMounted(() => {
   onMessage();
   init();