Browse Source

甘特图框架不满30天自动加上

yuhan 1 year ago
parent
commit
7d4d3b9ebf
1 changed files with 15 additions and 6 deletions
  1. 15 6
      itdmWeb/src/components/module-iTDM/uGantt/index.vue

+ 15 - 6
itdmWeb/src/components/module-iTDM/uGantt/index.vue

@@ -117,12 +117,21 @@
         setTimeData.sort(function(a, b) {
           return b.start_date < a.start_date ? 1 : -1
         })
-        console.log(setTimeData[0].start_date)
-        console.log(setTimeData[setTimeData.length - 1].end_date)
-        var start = this.addDate(setTimeData[0].start_date, -1)
-        var end = this.addDate(setTimeData[setTimeData.length - 1].end_date, 2)
-        this.uGanttColumns = this.getBetweenDate(start, end)
-        // this.uGanttColumns = this.getBetweenDate(setTimeData[0].start_date, end)
+
+        // 获取实际的最开始和最结束时间
+        const start_date = setTimeData[0].start_date
+        const end_date = setTimeData[setTimeData.length - 1].end_date
+
+        // 判断两个日期之间多少天--bug:少一天
+        var betweenDays = (new Date(end_date).getTime() - new Date(start_date).getTime()) / (1000 * 60 * 60 * 24)
+        // console.log(betweenDays)
+        var final_date = betweenDays > 30 ? 2 : (30 - betweenDays)
+
+        // 最前面往前一天,最后面往后两天
+        var addStart = this.addDate(start_date, -1)
+        var addEnd = this.addDate(end_date, final_date)
+
+        this.uGanttColumns = this.getBetweenDate(addStart, addEnd)
       },
       /**
        * 计算某个日期几天后的日期