Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
V
vue-gantt
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
杨子
vue-gantt
Commits
472d2f46
Commit
472d2f46
authored
Jun 17, 2022
by
杨子
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
增加时间轴拖动功能
parent
974a6be0
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
23 additions
and
2 deletions
+23
-2
GanttView.vue
src/components/GanttView.vue
+23
-2
No files found.
src/components/GanttView.vue
View file @
472d2f46
...
...
@@ -9,6 +9,10 @@
<a-range-picker
v-model:value=
"dateRange"
show-time=
"
{ format: 'HH:mm' }" :format="dateFormat"
:placeholder="['开始时间', '结束时间']" allowClear @change="onRangeChange" />
</div>
<div
style=
"padding: 0 24px;"
>
<el-slider
v-model=
"sliderValue"
:min=
"minSliderValue"
:max=
"maxSliderValue"
:format-tooltip=
"formatTooltip"
range
@
change=
"onSliderChange"
></el-slider>
</div>
<g-gantt-chart
:chart-start=
"chartStart"
:chart-end=
"chartEnd"
precision=
"minute"
:minuteInterval=
"interval"
:row-height=
"40"
grid
width=
"100%"
bar-start=
"beginProcessDate"
bar-end=
"endProcessDate"
:date-format=
"format"
>
<template
v-for=
"item in contree"
:key=
"item.helicopterInfoDTO.id"
>
...
...
@@ -23,14 +27,28 @@
</template>
<
script
setup
lang=
"ts"
>
import
{
reactive
,
ref
,
nextTick
}
from
"vue"
;
import
{
reactive
,
ref
,
nextTick
,
Ref
}
from
"vue"
;
import
GGanttRow
from
"./GGanttRow.vue"
;
import
GGanttChart
from
"./GGanttChart.vue"
;
import
{
GanttBarObject
}
from
"../models/models"
;
import
{
ElSelect
,
ElMessage
,
ElSelectV2
,
ElButton
}
from
"element-plus"
import
{
ElSelect
,
ElMessage
,
ElSelectV2
,
ElButton
,
ElSlider
}
from
"element-plus"
import
httpRequest
from
'@/utils/httpRequest.js'
import
dayjs
,
{
Dayjs
}
from
'dayjs'
;
import
{
computed
}
from
"@vue/reactivity"
;
const
sliderValue
=
ref
<
[
number
,
number
]
>
([
0
,
100
])
const
minSliderValue
=
ref
()
const
maxSliderValue
=
ref
()
const
onSliderChange
=
()
=>
{
const
[
min
,
max
]
=
sliderValue
.
value
chartStart
.
value
=
dayjs
(
min
).
format
(
'YYYY-MM-DD HH:mm'
)
chartEnd
.
value
=
dayjs
(
max
).
format
(
'YYYY-MM-DD HH:mm'
)
}
const
formatTooltip
=
(
value
:
number
)
=>
{
return
dayjs
(
value
).
format
(
'YYYY-MM-DD HH:mm'
)
}
const
optionList
=
[
{
label
:
1
,
value
:
1
},
{
label
:
5
,
value
:
5
},
...
...
@@ -92,6 +110,9 @@ httpRequest
dateValueStart
.
value
=
beginTime
;
dateValueEnd
.
value
=
endTime
;
minSliderValue
.
value
=
dayjs
(
beginTime
).
toDate
().
getTime
();
maxSliderValue
.
value
=
dayjs
(
endTime
).
toDate
().
getTime
();
sliderValue
.
value
=
[
minSliderValue
.
value
,
maxSliderValue
.
value
];
// dateRange.value = [dayjs(beginTime, dateFormat), dayjs(endTime, dateFormat)];
if
(
minuteInterval
)
{
interval
.
value
=
minuteInterval
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment