|
@@ -3,9 +3,7 @@
|
|
|
<gantt-elastic
|
|
|
:options="options"
|
|
|
:tasks="tasks"
|
|
|
- @tasks-changed="tasksUpdate"
|
|
|
@options-changed="optionsUpdate"
|
|
|
- @dynamic-style-changed="styleUpdate"
|
|
|
>
|
|
|
<gantt-header slot="header" />
|
|
|
</gantt-elastic>
|
|
@@ -18,200 +16,42 @@ import GanttHeader from 'gantt-elastic-header'
|
|
|
import teamGanttOptions from './../gannttOptions/requireGannt'
|
|
|
import { listByRequire } from '@/api/requirement.js'
|
|
|
import moment from 'moment'
|
|
|
-const tasks = [
|
|
|
- {
|
|
|
- id: 1,
|
|
|
- label: 'Make some noise',
|
|
|
- user:
|
|
|
- '<a href="https://www.google.com/search?q=John+Doe" target="_blank" style="color:#0077c0;">John Doe</a>',
|
|
|
- start: (-24 * 5),
|
|
|
- duration: 15 * 24 * 60 * 60 * 1000,
|
|
|
- percent: 85,
|
|
|
- type: 'project'
|
|
|
- // collapsed: true,
|
|
|
- },
|
|
|
- {
|
|
|
- id: 2,
|
|
|
- label: 'With great power comes great responsibility',
|
|
|
- user:
|
|
|
- '<a href="https://www.google.com/search?q=Peter+Parker" target="_blank" style="color:#0077c0;">Peter Parker</a>',
|
|
|
- parentId: 1,
|
|
|
- start: (-24 * 4),
|
|
|
- duration: 4 * 24 * 60 * 60 * 1000,
|
|
|
- percent: 50,
|
|
|
- type: 'milestone',
|
|
|
- collapsed: true,
|
|
|
- style: {
|
|
|
- base: {
|
|
|
- fill: '#1EBC61',
|
|
|
- stroke: '#0EAC51'
|
|
|
- }
|
|
|
- }
|
|
|
- },
|
|
|
- {
|
|
|
- id: 3,
|
|
|
- label: 'Courage is being scared to death, but saddling up anyway.',
|
|
|
- user:
|
|
|
- '<a href="https://www.google.com/search?q=John+Wayne" target="_blank" style="color:#0077c0;">John Wayne</a>',
|
|
|
- parentId: 2,
|
|
|
- start: (-24 * 3),
|
|
|
- duration: 2 * 24 * 60 * 60 * 1000,
|
|
|
- percent: 100,
|
|
|
- type: 'task'
|
|
|
- },
|
|
|
- {
|
|
|
- id: 4,
|
|
|
- label: 'Put that toy AWAY!',
|
|
|
- user:
|
|
|
- '<a href="https://www.google.com/search?q=Clark+Kent" target="_blank" style="color:#0077c0;">Clark Kent</a>',
|
|
|
- start: (-24 * 2),
|
|
|
- duration: 2 * 24 * 60 * 60 * 1000,
|
|
|
- percent: 50,
|
|
|
- type: 'task',
|
|
|
- dependentOn: [3]
|
|
|
- },
|
|
|
- {
|
|
|
- id: 5,
|
|
|
- label:
|
|
|
- 'One billion, gajillion, fafillion... shabadylu...mil...shabady......uh, Yen.',
|
|
|
- user:
|
|
|
- '<a href="https://www.google.com/search?q=Austin+Powers" target="_blank" style="color:#0077c0;">Austin Powers</a>',
|
|
|
- parentId: 4,
|
|
|
- start: (0),
|
|
|
- duration: 2 * 24 * 60 * 60 * 1000,
|
|
|
- percent: 10,
|
|
|
- type: 'milestone',
|
|
|
- style: {
|
|
|
- base: {
|
|
|
- fill: '#0287D0',
|
|
|
- stroke: '#0077C0'
|
|
|
- }
|
|
|
- }
|
|
|
- },
|
|
|
- {
|
|
|
- id: 6,
|
|
|
- label: 'Butch Mario and the Luigi Kid',
|
|
|
- user:
|
|
|
- '<a href="https://www.google.com/search?q=Mario+Bros" target="_blank" style="color:#0077c0;">Mario Bros</a>',
|
|
|
- parentId: 5,
|
|
|
- start: (24),
|
|
|
- duration: 1 * 24 * 60 * 60 * 1000,
|
|
|
- percent: 50,
|
|
|
- type: 'task',
|
|
|
- collapsed: true,
|
|
|
- style: {
|
|
|
- base: {
|
|
|
- fill: '#8E44AD',
|
|
|
- stroke: '#7E349D'
|
|
|
- }
|
|
|
- }
|
|
|
- },
|
|
|
- {
|
|
|
- id: 7,
|
|
|
- label: 'Devon, the old man wanted me, it was his dying request',
|
|
|
- user:
|
|
|
- '<a href="https://www.google.com/search?q=Knight+Rider" target="_blank" style="color:#0077c0;">Knight Rider</a>',
|
|
|
- parentId: 2,
|
|
|
- dependentOn: [6],
|
|
|
- start: (24 * 2),
|
|
|
- duration: 4 * 60 * 60 * 1000,
|
|
|
- percent: 20,
|
|
|
- type: 'task',
|
|
|
- collapsed: true
|
|
|
- },
|
|
|
- {
|
|
|
- id: 8,
|
|
|
- label: 'Hey, Baby! Anybody ever tell you I have beautiful eyes?',
|
|
|
- user:
|
|
|
- '<a href="https://www.google.com/search?q=Johhny+Bravo" target="_blank" style="color:#0077c0;">Johhny Bravo</a>',
|
|
|
- parentId: 7,
|
|
|
- dependentOn: [7],
|
|
|
- start: (24 * 3),
|
|
|
- duration: 1 * 24 * 60 * 60 * 1000,
|
|
|
- percent: 0,
|
|
|
- type: 'task'
|
|
|
- },
|
|
|
- {
|
|
|
- id: 9,
|
|
|
- label:
|
|
|
- 'This better be important, woman. You are interrupting my very delicate calculations.',
|
|
|
- user:
|
|
|
- '<a href="https://www.google.com/search?q=Dexter\'s+Laboratory" target="_blank" style="color:#0077c0;">Dexter\'s Laboratory</a>',
|
|
|
- parentId: 8,
|
|
|
- dependentOn: [8, 7],
|
|
|
- start: (24 * 4),
|
|
|
- duration: 4 * 60 * 60 * 1000,
|
|
|
- percent: 20,
|
|
|
- type: 'task',
|
|
|
- style: {
|
|
|
- base: {
|
|
|
- fill: '#8E44AD',
|
|
|
- stroke: '#7E349D'
|
|
|
- }
|
|
|
- }
|
|
|
- },
|
|
|
- {
|
|
|
- id: 10,
|
|
|
- label: 'current task',
|
|
|
- user:
|
|
|
- '<a href="https://www.google.com/search?q=Johnattan+Owens" target="_blank" style="color:#0077c0;">Johnattan Owens</a>',
|
|
|
- start: (24 * 5),
|
|
|
- duration: 24 * 60 * 60 * 1000,
|
|
|
- percent: 0,
|
|
|
- type: 'task'
|
|
|
- },
|
|
|
- {
|
|
|
- id: 11,
|
|
|
- label: 'test task',
|
|
|
- user:
|
|
|
- '<a href="https://www.google.com/search?q=Johnattan+Owens" target="_blank" style="color:#0077c0;">Johnattan Owens</a>',
|
|
|
- start: (24 * 6),
|
|
|
- duration: 24 * 60 * 60 * 1000,
|
|
|
- percent: 0,
|
|
|
- type: 'task'
|
|
|
- },
|
|
|
- {
|
|
|
- id: 12,
|
|
|
- label: 'test task',
|
|
|
- user:
|
|
|
- '<a href="https://www.google.com/search?q=Johnattan+Owens" target="_blank" style="color:#0077c0;">Johnattan Owens</a>',
|
|
|
- start: (24 * 7),
|
|
|
- duration: 24 * 60 * 60 * 1000,
|
|
|
- percent: 0,
|
|
|
- type: 'task',
|
|
|
- parentId: 11
|
|
|
- },
|
|
|
- {
|
|
|
- id: 13,
|
|
|
- label: 'test task',
|
|
|
- user:
|
|
|
- '<a href="https://www.google.com/search?q=Johnattan+Owens" target="_blank" style="color:#0077c0;">Johnattan Owens</a>',
|
|
|
- start: (24 * 8),
|
|
|
- duration: 24 * 60 * 60 * 1000,
|
|
|
- percent: 0,
|
|
|
- type: 'task'
|
|
|
- },
|
|
|
- {
|
|
|
- id: 14,
|
|
|
- label: 'test task',
|
|
|
- user:
|
|
|
- '<a href="https://www.google.com/search?q=Johnattan+Owens" target="_blank" style="color:#0077c0;">Johnattan Owens</a>',
|
|
|
- start: (24 * 9),
|
|
|
- duration: 24 * 60 * 60 * 1000,
|
|
|
- percent: 0,
|
|
|
- type: 'task'
|
|
|
- },
|
|
|
- {
|
|
|
- id: 15,
|
|
|
- label: 'test task',
|
|
|
- user:
|
|
|
- '<a href="https://www.google.com/search?q=Johnattan+Owens" target="_blank" style="color:#0077c0;">Johnattan Owens</a>',
|
|
|
- start: (24 * 16),
|
|
|
- duration: 24 * 60 * 60 * 1000,
|
|
|
- percent: 0,
|
|
|
- type: 'task'
|
|
|
- }
|
|
|
-]
|
|
|
+const tasks = []
|
|
|
+// {
|
|
|
+// id: 1,
|
|
|
+// taskName: 'item.name',
|
|
|
+// belongModules: 'cdscdscdscs',
|
|
|
+// devPerson: 'cdscd',
|
|
|
+// testPerson: 'cdsc',
|
|
|
+// description: 'cdscdscd',
|
|
|
+// startDate: 'dscscds',
|
|
|
+// endDate: 'cdscdscds',
|
|
|
+// needLegalAllDays: '1/3', // item.workNum.needDays + '/' + item.workNum.legalDays + '/' + item.workNum.allDays,
|
|
|
+// type: 'task',
|
|
|
+// start: (-24 * 5),
|
|
|
+// duration: 15 * 24 * 60 * 60 * 1000
|
|
|
+// // type: 'project'
|
|
|
+// // collapsed: true,
|
|
|
+// },
|
|
|
+// {
|
|
|
+// id: 6,
|
|
|
+// taskName: 'Butch Mario and the Luigi Kid',
|
|
|
+// user:
|
|
|
+// '<a href="https://www.google.com/search?q=Mario+Bros" target="_blank"',
|
|
|
+// parentId: 5,
|
|
|
+// start: (24),
|
|
|
+// duration: 1 * 24 * 60 * 60 * 1000,
|
|
|
+// percent: 50,
|
|
|
+// type: 'task',
|
|
|
+// collapsed: true,
|
|
|
+// style: {
|
|
|
+// base: {
|
|
|
+// fill: '#8E44AD',
|
|
|
+// stroke: '#7E349D'
|
|
|
+// }
|
|
|
+// }
|
|
|
+// }
|
|
|
+// ]
|
|
|
|
|
|
export default {
|
|
|
components: {
|
|
@@ -225,6 +65,9 @@ export default {
|
|
|
dynamicStyle: {}
|
|
|
}
|
|
|
},
|
|
|
+ created() {
|
|
|
+ this.listByRequire()
|
|
|
+ },
|
|
|
mounted() {
|
|
|
const box = document.getElementsByClassName('gantt-elastic__header-label')
|
|
|
for (const i in box) {
|
|
@@ -232,10 +75,10 @@ export default {
|
|
|
i === '3' ? '' : box[i].style = 'display: none;'
|
|
|
}
|
|
|
console.log(box)
|
|
|
- this.listByRequire()
|
|
|
},
|
|
|
methods: {
|
|
|
async listByRequire() { // 获取排期列表
|
|
|
+ alert()
|
|
|
const res = await listByRequire(Number(this.$route.query.id))
|
|
|
if (res.code === 200) this.handleData(res.data.taskDetailList)
|
|
|
},
|
|
@@ -243,6 +86,7 @@ export default {
|
|
|
this.tasks = data.map((value, key) => {
|
|
|
return this.handleItem(value, key)
|
|
|
})
|
|
|
+ console.log(this.tasks, 'xsaxasxsxas')
|
|
|
},
|
|
|
handleItem(item, key) {
|
|
|
const colorlist = ['#A1DEFF', '#FAB5B5', '#BCED86', '#FFA87F', '#8E44AD', '#1EBC61', '#0287D0']
|
|
@@ -258,6 +102,8 @@ export default {
|
|
|
endDate: item.optionsObject.endTime ? moment(item.optionsObject.endTime).format('YYYY-MM-DD') : '',
|
|
|
needLegalAllDays: '1/3', // item.workNum.needDays + '/' + item.workNum.legalDays + '/' + item.workNum.allDays,
|
|
|
type: 'task',
|
|
|
+ start: (-24 * 5),
|
|
|
+ duration: 15 * 24 * 60 * 60 * 1000,
|
|
|
style: {
|
|
|
base: {
|
|
|
fill: colorlist[key % colorlist.length]
|
|
@@ -266,14 +112,8 @@ export default {
|
|
|
}
|
|
|
},
|
|
|
|
|
|
- tasksUpdate(tasks) {
|
|
|
- this.tasks = tasks
|
|
|
- },
|
|
|
optionsUpdate(options) {
|
|
|
this.options = options
|
|
|
- },
|
|
|
- styleUpdate(style) {
|
|
|
- this.dynamicStyle = style
|
|
|
}
|
|
|
}
|
|
|
}
|