Browse Source

修改bug

cr 4 years ago
parent
commit
0686294093
2 changed files with 39 additions and 4 deletions
  1. 38 3
      src/common/js/filters.js
  2. 1 1
      src/pages/recommend/list.vue

+ 38 - 3
src/common/js/filters.js

@@ -46,8 +46,10 @@ export function dateView(dateStr) {
46 46
  */
47 47
 export function dateFormat(date, format = 'yyyy-MM-dd') {
48 48
     if (date) {
49
-        date = date.replace(/-/g, '/')
50
-        date = new Date(Date.parse(date))
49
+        if(typeof date !== 'object'){
50
+            date = date.replace(/-/g, '/')
51
+            date = new Date(Date.parse(date))
52
+        }
51 53
 
52 54
         let o = {
53 55
             'M+': date.getMonth() + 1, //月份
@@ -223,7 +225,7 @@ export function strMaxLength(val, maxNum = 99) {
223 225
  * @param dateStr
224 226
  * @returns {string}
225 227
  */
226
-export function  viewDate(dateStr) {
228
+ export function  viewDate(dateStr) {
227 229
     if (!dateStr) {
228 230
         return "";
229 231
     }
@@ -254,4 +256,37 @@ export function  viewDate(dateStr) {
254 256
     } else{
255 257
         return `结束时间:${dateFormat(dateStr, "MM-dd hh:mm")}`;
256 258
     }
259
+}
260
+/**
261
+ * 日期转倒计时
262
+ * @param dateStr
263
+ * @returns {string}
264
+ */
265
+export function  viewDate2(dateNum) {
266
+    if (!dateNum) {
267
+        return "";
268
+    }
269
+    let dateNow = dateNum;
270
+
271
+    let mius = dateNow - Date.now();
272
+
273
+    let minute = 1000 * 60;
274
+    let hour = minute * 60;
275
+    let day = hour * 24;
276
+    let month = day * 30;
277
+    let quarter = month * 3;
278
+    let year = quarter * 12;
279
+    if (mius < 0) {
280
+        return `结束时间:${dateFormat(new Date(dateNum), "MM-dd hh:mm")}`;
281
+    } else if (mius < minute) {
282
+        return `距结束还有${Math.floor(mius / 1000)}秒`;
283
+    } else if (mius < hour) {
284
+        return `距结束还有${Math.floor(mius / minute)}分钟`;
285
+    } else if (mius < day) {
286
+        return `距结束还有${Math.floor(mius / hour)}小时`;
287
+    } else if (mius < month) {
288
+        return `距结束还有${Math.floor(mius / day)}天`;
289
+    } else{
290
+        return `结束时间:${dateFormat(new Date(dateNum), "MM-dd hh:mm")}`;
291
+    }
257 292
 }

+ 1 - 1
src/pages/recommend/list.vue

@@ -16,7 +16,7 @@
16 16
                     </div>
17 17
                 </div>
18 18
                 <div class="time">
19
-                    {{ activityData.endTime | viewDate }}
19
+                    {{ activityData.endTime | viewDate2 }}
20 20
                 </div>
21 21
                 <div class="des" v-if="activityData.description">
22 22
                     <span class="key">品牌描述:</span>