小小儁爺
2026-01-22 f8d4f5e58cdcade758423c7a3337fea00dc97ada
1.递交
已修改1个文件
35 ■■■■ 文件已修改
src/views/gantt/index.vue 35 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/gantt/index.vue
@@ -76,7 +76,7 @@
</template>
<script>
import { gantt } from '@/components/dhtmlxGantt'
import { gantt } from '@/components/dhtmlxGantt' // 目前dhtmlxgantt版本8.0.x
import '@/components/dhtmlxGantt/codebase/dhtmlxgantt.css'
import { handleDateReduceOneDay, handleDatetime, handleDatetime2 } from '@/utils/global'
import { nanoid } from 'nanoid'
@@ -109,9 +109,9 @@
        { code: 'time', name: '时间优先' }
      ],
      pickerOptions: {
        disabledDate(time) {
          return time.getTime() <= Date.now() - 24 * 60 * 60 * 1000
        }
        // disabledDate(time) {
        //   return time.getTime() <= Date.now() - 24 * 60 * 60 * 1000
        // }
      }
    }
  },
@@ -594,9 +594,25 @@
          item.children.forEach((it, ind) => {
            // 这里应该要生成一个以设备维度为基础的数组   不重不漏
            if (!newArr.map(i => i.partCode).includes(it.AdvaDevicNumber)) {
              console.log(' it.AdvaDevicNumber,', it.AdvaDevicNumber)
              newArr.push({
                id: it.AdvaDevicNumber,
                type: 'project',
                text: '我是父级',
                partName: it.AdvaDevicName,
                partCode: it.AdvaDevicNumber,
                start_date: handleDatetime2(item.YearDate + ' ' + it.OneStartDate.split('~')[0]), // 这个是无效的,只是为了预排prepareArrange方法里面不报错
                end_date: handleDatetime2(item.YearDate + ' ' + it.OneStartDate.split('~')[1]), // 这个是无效的,只是为了预排prepareArrange方法里面不报错
                // duration: this.calculateTimeRangeInMinutes(it.OneStartDate),
                checked: false,
                progress: 0.6,
                parent: 0,
                saleOrder: 'SO-2026-01001',
                open: true
              })
              console.log(it.AdvaDevicNumber + ind.toString(), 999)
              newArr.push({
                id: it.AdvaDevicNumber + ind.toString(),
                // id: it.AdvaDevicNumber,
                type: 'project',
                text: '任务名称预留',
                partName: it.AdvaDevicName,
@@ -607,7 +623,8 @@
                render: 'split', // 用于在一个工作时间段内显示不下,需要进行分割显示
                checked: false,
                progress: 0,
                parent: 0,
                parent: it.AdvaDevicNumber,
                // parent: it.AdvaDevicNumber,
                saleOrder: 'SO-2026-01001'
              })
            }
@@ -616,6 +633,7 @@
            for (let i = 0; i < 5; i++) { // 这次循环是为了显示产能
              if (it[this.fivePeriodsTimeName[i]]) {
                const duration = this.calculateTimeRangeInMinutes(it[this.fivePeriodsTimeName[i]]) // 工期 单位 分钟
                console.log(it.AdvaDevicNumber + ind.toString(), 123)
                newArr.push({
                  // id:  index.toString() + ind.toString() + i.toString(),
                  id: nanoid(),
@@ -630,7 +648,8 @@
                  duration,
                  checked: false,
                  progress: 0,
                  parent: it.AdvaDevicNumber,
                  parent: it.AdvaDevicNumber + ind.toString(),
                  // parent: it.AdvaDevicNumber,
                  saleOrder: 'SO-2026-01001',
                  //  要在每一个时间段内算出能生产多少个     工期(分钟)乘以60 除以生产节拍 * 稼动率
                  producedCount: (duration * 60 / it.AdvaDevicRhythm) * (it.AdvaDevicCropMob / 100),
@@ -659,7 +678,7 @@
            duration: this.calculateTimeRangeInMinutes(item.time_start.split(' ')[1] + '~' + item.time_end.split(' ')[1]),
            checked: false,
            progress: 0,
            parent: item.eqp_code,
            parent: item.eqp_code + '0',
            saleOrder: 'SO-2026-01001',
            producedCount: item.alloc_qty
          })