Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
W
WidgetUI
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
WuFeiyang
WidgetUI
Commits
33b6de67
Commit
33b6de67
authored
Dec 27, 2019
by
WuFeiyang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
实现了zoom重加载
parent
e5401743
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
126 additions
and
31 deletions
+126
-31
src/components/WaveView/setBasicParams.vue
src/components/WaveView/setBasicParams.vue
+126
-31
No files found.
src/components/WaveView/setBasicParams.vue
View file @
33b6de67
...
@@ -72,6 +72,8 @@ export default class setBasicParams extends Vue {
...
@@ -72,6 +72,8 @@ export default class setBasicParams extends Vue {
getConfig
!
:
WidgetConfig
;
getConfig
!
:
WidgetConfig
;
tempUrl
:
string
=
""
;
tempUrl
:
string
=
""
;
temp
:
any
=
{};
temp
:
any
=
{};
ExpectedDotNum
:
number
=
1000
;
ExpansionMultiple
:
number
=
1
;
created
()
{
created
()
{
this
.
config
.
data
.
userInputData
=
this
.
userInputData
;
this
.
config
.
data
.
userInputData
=
this
.
userInputData
;
...
@@ -213,6 +215,8 @@ export default class setBasicParams extends Vue {
...
@@ -213,6 +215,8 @@ export default class setBasicParams extends Vue {
return
ri
;
return
ri
;
}
}
}
}
async
viewLoad
(
Args
:
UpdatePayload
)
{
async
viewLoad
(
Args
:
UpdatePayload
)
{
this
.
getConfig
.
data
.
position
.
x1
=
""
;
this
.
getConfig
.
data
.
position
.
x1
=
""
;
this
.
getConfig
.
data
.
position
.
x2
=
""
;
this
.
getConfig
.
data
.
position
.
x2
=
""
;
...
@@ -220,14 +224,85 @@ export default class setBasicParams extends Vue {
...
@@ -220,14 +224,85 @@ export default class setBasicParams extends Vue {
this
.
getConfig
.
data
.
position
.
y2
=
""
;
this
.
getConfig
.
data
.
position
.
y2
=
""
;
this
.
config
.
data
.
userInputData
=
Args
.
variables
;
this
.
config
.
data
.
userInputData
=
Args
.
variables
;
this
.
tempUserInputData
=
this
.
config
.
data
.
userInputData
;
this
.
tempUserInputData
=
this
.
config
.
data
.
userInputData
;
console
.
log
(
"
viewLoad
"
);
var
expectedDotNum
=
this
.
ExpectedDotNum
;
var
expansionMultiple
=
this
.
ExpansionMultiple
;
var
initialStartTime
:
any
=
this
.
tempUserInputData
.
get
(
"
startTime
"
);
var
initialEndTime
:
any
=
this
.
tempUserInputData
.
get
(
"
endTime
"
);
var
initialRange
:
any
=
initialEndTime
-
initialStartTime
;
//获取边界值
var
getLimitsInputData
=
this
.
tempUserInputData
;
getLimitsInputData
.
set
(
"
startTime
"
,
"
0
"
);
getLimitsInputData
.
set
(
"
endTime
"
,
"
0
"
);
getLimitsInputData
.
set
(
"
count
"
,
"
2
"
);
var
timeUrl
=
this
.
pathProcessor
.
FillPathWithVar
(
getLimitsInputData
,
this
.
config
.
data
.
url
.
timePath
);
console
.
log
(
timeUrl
);
await
this
.
getDataTimeAxis
(
timeUrl
);
var
xmin
=
this
.
temp
.
dataTimeAxis
[
0
];
var
xmax
=
this
.
temp
.
dataTimeAxis
[
1
];
console
.
log
(
"
边界
"
);
console
.
log
(
xmin
);
console
.
log
(
xmax
);
var
expansionStartTime
:
any
;
var
expansionEndTime
:
any
;
var
expansionDotNum
:
any
//向左右扩展范围获取数据
if
(
initialStartTime
==
0
&&
initialEndTime
==
0
)
{
initialStartTime
=
xmin
;
initialEndTime
=
xmax
;
expansionStartTime
=
xmin
;
expansionEndTime
=
xmax
;
expansionDotNum
=
expectedDotNum
;
}
else
{
expansionStartTime
=
Number
(
initialStartTime
)
-
expansionMultiple
*
initialRange
>=
xmin
?
Number
(
initialStartTime
)
-
expansionMultiple
*
initialRange
:
xmin
;
expansionEndTime
=
Number
(
initialEndTime
)
+
expansionMultiple
*
initialRange
<=
xmax
?
Number
(
initialEndTime
)
+
expansionMultiple
*
initialRange
:
xmax
;
expansionDotNum
=
Math
.
floor
(((
Number
(
expansionEndTime
)
-
Number
(
expansionStartTime
))
/
(
Number
(
initialEndTime
)
-
Number
(
initialStartTime
))
)
*
expectedDotNum
)
+
1
;
}
var
getInputData
=
this
.
tempUserInputData
;
getInputData
.
set
(
"
startTime
"
,
expansionStartTime
);
getInputData
.
set
(
"
endTime
"
,
expansionEndTime
);
getInputData
.
set
(
"
count
"
,
expansionDotNum
);
var
url
=
this
.
pathProcessor
.
FillPathWithVar
(
var
url
=
this
.
pathProcessor
.
FillPathWithVar
(
this
.
config
.
data
.
user
InputData
,
get
InputData
,
this
.
config
.
data
.
url
.
path
this
.
config
.
data
.
url
.
path
);
);
console
.
log
(
url
);
await
this
.
getData
(
url
);
//当点不够时取全部点并重新获取y轴
if
(
this
.
temp
.
data
==
null
)
{
getInputData
.
set
(
"
count
"
,
"
0
"
);
url
=
this
.
pathProcessor
.
FillPathWithVar
(
getInputData
,
this
.
config
.
data
.
url
.
path
);
await
this
.
getData
(
url
);
}
var
timeUrl
=
this
.
pathProcessor
.
FillPathWithVar
(
var
timeUrl
=
this
.
pathProcessor
.
FillPathWithVar
(
this
.
config
.
data
.
user
InputData
,
get
InputData
,
this
.
config
.
data
.
url
.
timePath
this
.
config
.
data
.
url
.
timePath
);
);
console
.
log
(
url
);
console
.
log
(
timeUrl
);
await
this
.
getDataTimeAxis
(
timeUrl
);
var
first
=
url
.
indexOf
(
"
/
"
);
var
first
=
url
.
indexOf
(
"
/
"
);
var
second
=
url
.
indexOf
(
"
/
"
,
first
+
1
);
var
second
=
url
.
indexOf
(
"
/
"
,
first
+
1
);
var
third
=
url
.
indexOf
(
"
/
"
,
second
+
1
)
var
third
=
url
.
indexOf
(
"
/
"
,
second
+
1
)
...
@@ -240,8 +315,8 @@ export default class setBasicParams extends Vue {
...
@@ -240,8 +315,8 @@ export default class setBasicParams extends Vue {
path
:
path
path
:
path
}
}
this
.
$emit
(
"
getPathId
"
,
dealPath
);
this
.
$emit
(
"
getPathId
"
,
dealPath
);
await
this
.
getData
(
url
);
await
this
.
getDataTimeAxis
(
timeUrl
);
var
myPlot
=
this
.
wave
;
var
myPlot
=
this
.
wave
;
var
data_initial
=
[
var
data_initial
=
[
{
{
...
@@ -253,7 +328,7 @@ export default class setBasicParams extends Vue {
...
@@ -253,7 +328,7 @@ export default class setBasicParams extends Vue {
console
.
log
(
data_initial
);
console
.
log
(
data_initial
);
var
layout_initial
=
{
var
layout_initial
=
{
xaxis
:
{
xaxis
:
{
range
:
[
this
.
config
.
data
.
position
.
x1
,
this
.
config
.
data
.
position
.
x2
]
range
:
[
initialStartTime
,
initialEndTime
]
},
},
yaxis
:
{
yaxis
:
{
range
:
[
this
.
config
.
data
.
position
.
y1
,
this
.
config
.
data
.
position
.
y2
]
range
:
[
this
.
config
.
data
.
position
.
y1
,
this
.
config
.
data
.
position
.
y2
]
...
@@ -360,10 +435,7 @@ export default class setBasicParams extends Vue {
...
@@ -360,10 +435,7 @@ export default class setBasicParams extends Vue {
}
}
});
});
//获取当前波形数据
var
requiredDotNum
=
this
.
temp
.
dataTimeAxis
.
length
;
var
reAskDataScale
=
0.8
;
var
zoom_xmax
=
this
.
temp
.
dataTimeAxis
[
this
.
temp
.
dataTimeAxis
.
length
-
1
];
var
zoom_xmax
=
this
.
temp
.
dataTimeAxis
[
this
.
temp
.
dataTimeAxis
.
length
-
1
];
var
zoom_xmin
=
this
.
temp
.
dataTimeAxis
[
0
];
var
zoom_xmin
=
this
.
temp
.
dataTimeAxis
[
0
];
var
nowRange
=
zoom_xmax
-
zoom_xmin
;
var
nowRange
=
zoom_xmax
-
zoom_xmin
;
...
@@ -378,9 +450,7 @@ export default class setBasicParams extends Vue {
...
@@ -378,9 +450,7 @@ export default class setBasicParams extends Vue {
var
config
=
this
.
config
;
var
config
=
this
.
config
;
var
tempUserInputData
=
this
.
tempUserInputData
;
var
tempUserInputData
=
this
.
tempUserInputData
;
console
.
log
(
"
a
"
);
zoom
();
zoom
();
console
.
log
(
"
b
"
);
function
zoom
()
{
function
zoom
()
{
console
.
log
(
"
c
"
);
console
.
log
(
"
c
"
);
myPlot
.
on
(
"
plotly_relayout
"
,
function
(
data
:
any
)
{
myPlot
.
on
(
"
plotly_relayout
"
,
function
(
data
:
any
)
{
...
@@ -389,41 +459,64 @@ export default class setBasicParams extends Vue {
...
@@ -389,41 +459,64 @@ export default class setBasicParams extends Vue {
var
nowZoom_xmin
=
data
[
"
xaxis.range[0]
"
];
var
nowZoom_xmin
=
data
[
"
xaxis.range[0]
"
];
var
nowZoom_xmax
=
data
[
"
xaxis.range[1]
"
];
var
nowZoom_xmax
=
data
[
"
xaxis.range[1]
"
];
var
x_range
=
nowZoom_xmax
-
nowZoom_xmin
;
var
x_range
=
nowZoom_xmax
-
nowZoom_xmin
;
var
newZoomedDotNum
=
Math
.
round
((
x_range
*
nowDotNum
)
/
nowRange
);
nowRange
=
x_range
;
expansionStartTime
=
Number
(
nowZoom_xmin
)
-
expansionMultiple
*
x_range
>=
xmin
?
Number
(
nowZoom_xmin
)
-
expansionMultiple
*
x_range
:
xmin
;
nowDotNum
=
newZoomedDotNum
;
expansionEndTime
=
Number
(
nowZoom_xmax
)
+
expansionMultiple
*
x_range
<=
xmax
?
Number
(
nowZoom_xmax
)
+
expansionMultiple
*
x_range
:
xmax
;
if
(
if
(
nowDotNum
<
requiredDotNum
*
0.5
||
expansionStartTime
<
zoom_xmin
||
nowZoom_xmin
<
zoom_xmin
||
expansionEndTime
>
zoom_xmax
||
nowZoom_xmax
>
zoom_xmax
((
x_range
/
nowRange
)
*
nowDotNum
<
expectedDotNum
)
)
{
)
{
zoom_xmax
=
nowZoom_xmax
;
//重新给一遍值
zoom_xmin
=
nowZoom_xmin
;
zoom_xmax
=
expansionEndTime
;
zoom_xmin
=
expansionStartTime
;
var
zoom_ymin
=
data
[
"
yaxis.range[0]
"
];
var
zoom_ymin
=
data
[
"
yaxis.range[0]
"
];
var
zoom_ymax
=
data
[
"
yaxis.range[1]
"
];
var
zoom_ymax
=
data
[
"
yaxis.range[1]
"
];
var
params
=
[
zoom_xmin
*
reAskDataScale
,
zoom_xmax
/
reAskDataScale
,
requiredDotNum
]
nowRange
=
zoom_xmax
-
zoom_xmin
;
var
index
=
0
;
for
(
var
key
of
tempUserInputData
.
keys
()){
expansionDotNum
=
Math
.
floor
(((
Number
(
expansionEndTime
)
-
Number
(
expansionStartTime
))
/
(
Number
(
nowZoom_xmax
)
-
Number
(
nowZoom_xmin
))
)
*
expectedDotNum
)
+
1
;
tempUserInputData
.
set
(
key
,
params
[
index
]);
index
++
;
getInputData
.
set
(
"
startTime
"
,
expansionStartTime
);
}
getInputData
.
set
(
"
endTime
"
,
expansionEndTime
);
getInputData
.
set
(
"
count
"
,
expansionDotNum
);
var
url
=
pathProcessor
.
FillPathWithVar
(
var
url
=
pathProcessor
.
FillPathWithVar
(
tempUser
InputData
,
get
InputData
,
config
.
data
.
url
.
path
config
.
data
.
url
.
path
);
);
getData
(
url
);
//当点不够时取全部点并重新获取y轴
if
(
temp
.
data
==
null
)
{
getInputData
.
set
(
"
count
"
,
"
0
"
);
url
=
pathProcessor
.
FillPathWithVar
(
getInputData
,
config
.
data
.
url
.
path
);
getData
(
url
);
}
var
timeUrl
=
pathProcessor
.
FillPathWithVar
(
var
timeUrl
=
pathProcessor
.
FillPathWithVar
(
tempUser
InputData
,
get
InputData
,
config
.
data
.
url
.
timePath
config
.
data
.
url
.
timePath
);
);
console
.
log
(
url
);
console
.
log
(
url
);
console
.
log
(
timeUrl
);
console
.
log
(
timeUrl
);
getDataTimeAxis
(
timeUrl
);
getConfig
.
data
.
position
.
x1
=
zoom_xmin
;
getConfig
.
data
.
position
.
x1
=
zoom_xmin
;
getConfig
.
data
.
position
.
x2
=
zoom_xmax
;
getConfig
.
data
.
position
.
x2
=
zoom_xmax
;
getConfig
.
data
.
position
.
y1
=
zoom_ymin
;
getConfig
.
data
.
position
.
y1
=
zoom_ymin
;
getConfig
.
data
.
position
.
y2
=
zoom_ymax
;
getConfig
.
data
.
position
.
y2
=
zoom_ymax
;
updateConfig
();
updateConfig
();
// getData(url);
// getDataTimeAxis(timeUrl);
var
data_update
=
[
var
data_update
=
[
{
{
x
:
temp
.
dataTimeAxis
,
x
:
temp
.
dataTimeAxis
,
...
@@ -432,7 +525,7 @@ export default class setBasicParams extends Vue {
...
@@ -432,7 +525,7 @@ export default class setBasicParams extends Vue {
];
];
var
layout_update
=
{
var
layout_update
=
{
xaxis
:
{
xaxis
:
{
range
:
[
zoom_xmin
,
zoom_xmax
]
range
:
[
data
[
"
xaxis.range[0]
"
],
data
[
"
xaxis.range[1]
"
]
]
},
},
yaxis
:
{
yaxis
:
{
range
:
[
zoom_ymin
,
zoom_ymax
]
range
:
[
zoom_ymin
,
zoom_ymax
]
...
@@ -465,9 +558,11 @@ export default class setBasicParams extends Vue {
...
@@ -465,9 +558,11 @@ export default class setBasicParams extends Vue {
}
}
async
getData
(
url
:
any
)
{
async
getData
(
url
:
any
)
{
var
apiLoad
=
url
;
var
apiLoad
=
url
;
console
.
log
(
apiLoad
);
//改
console
.
log
(
"
getData
"
);
//改
await
axios
.
get
(
apiLoad
).
then
(
response
=>
{
await
axios
.
get
(
apiLoad
).
then
(
response
=>
{
this
.
temp
.
data
=
response
.
data
.
CFET2CORE_SAMPLE_VAL
;
this
.
temp
.
data
=
response
.
data
.
CFET2CORE_SAMPLE_VAL
;
console
.
log
(
apiLoad
);
console
.
log
(
response
);
});
});
}
}
async
getDataTimeAxis
(
url
:
any
)
{
async
getDataTimeAxis
(
url
:
any
)
{
...
...
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