Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
E
ec-report-refactor
Project
Project
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
lihuizhen
ec-report-refactor
Commits
c91b002e
Commit
c91b002e
authored
Feb 21, 2023
by
leon
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: add dynamic params
parent
cd51368d
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
208 additions
and
138 deletions
+208
-138
echartElementData.js
mixins/echartElementData.js
+1
-0
details.vue
pages/details/details.vue
+2
-1
index.vue
pages/index/index.vue
+2
-1
common.js
utils/common.js
+203
-136
No files found.
mixins/echartElementData.js
View file @
c91b002e
...
@@ -30,6 +30,7 @@ export default {
...
@@ -30,6 +30,7 @@ export default {
const
that
=
this
const
that
=
this
let
{
dataUrl
,
dataMethod
,
dataFormatter
,
dataProcessing
}
=
{
...
value
}
let
{
dataUrl
,
dataMethod
,
dataFormatter
,
dataProcessing
}
=
{
...
value
}
dataUrl
=
dataUrl
.
replace
(
/^
(\/(
dashboardCharts|dashboardAPI
))?
/
,
''
)
dataUrl
=
dataUrl
.
replace
(
/^
(\/(
dashboardCharts|dashboardAPI
))?
/
,
''
)
dataFormatter
=
that
.
$u
.
common
.
filterRequestParams
({...
dataFormatter
})
let
res
=
await
that
.
$u
.
api
[
`
${
dataMethod
.
toLowerCase
()}
Http`
](
dataUrl
,
dataFormatter
,
{
let
res
=
await
that
.
$u
.
api
[
`
${
dataMethod
.
toLowerCase
()}
Http`
](
dataUrl
,
dataFormatter
,
{
custom
:
{
loading
:
false
}
custom
:
{
loading
:
false
}
})
})
...
...
pages/details/details.vue
View file @
c91b002e
...
@@ -236,7 +236,8 @@
...
@@ -236,7 +236,8 @@
async
getGlobalData
(
info
)
{
async
getGlobalData
(
info
)
{
const
that
=
this
const
that
=
this
const
dataUrl
=
info
.
dataUrl
.
replace
(
/^
(\/(
dashboardCharts|dashboardAPI
))?
/
,
''
)
const
dataUrl
=
info
.
dataUrl
.
replace
(
/^
(\/(
dashboardCharts|dashboardAPI
))?
/
,
''
)
let
res
=
await
that
.
$u
.
api
[
`
${
info
.
dataMethod
.
toLowerCase
()}
Http`
](
dataUrl
,
info
.
dataFormatter
,
{
const
dataFormatter
=
this
.
$u
.
common
.
filterRequestParams
({...
info
.
dataFormatter
})
let
res
=
await
that
.
$u
.
api
[
`
${
info
.
dataMethod
.
toLowerCase
()}
Http`
](
dataUrl
,
dataFormatter
,
{
custom
:
{
loading
:
false
}
custom
:
{
loading
:
false
}
})
})
that
.
$u
.
vuex
(
'vuex_globalData'
,
res
.
data
)
that
.
$u
.
vuex
(
'vuex_globalData'
,
res
.
data
)
...
...
pages/index/index.vue
View file @
c91b002e
...
@@ -274,7 +274,8 @@
...
@@ -274,7 +274,8 @@
async
getGlobalData
(
info
)
{
async
getGlobalData
(
info
)
{
const
that
=
this
const
that
=
this
const
dataUrl
=
info
.
dataUrl
.
replace
(
/^
(\/(
dashboardCharts|dashboardAPI
))?
/
,
''
)
const
dataUrl
=
info
.
dataUrl
.
replace
(
/^
(\/(
dashboardCharts|dashboardAPI
))?
/
,
''
)
let
res
=
await
that
.
$u
.
api
[
`
${
info
.
dataMethod
.
toLowerCase
()}
Http`
](
dataUrl
,
info
.
dataFormatter
,
{
const
dataFormatter
=
this
.
$u
.
common
.
filterRequestParams
({...
info
.
dataFormatter
})
let
res
=
await
that
.
$u
.
api
[
`
${
info
.
dataMethod
.
toLowerCase
()}
Http`
](
dataUrl
,
dataFormatter
,
{
custom
:
{
loading
:
false
}
custom
:
{
loading
:
false
}
})
})
that
.
$u
.
vuex
(
'vuex_globalData'
,
res
.
data
)
that
.
$u
.
vuex
(
'vuex_globalData'
,
res
.
data
)
...
...
utils/common.js
View file @
c91b002e
import
{
Function
}
from
'../static/plugin/parse/parse.js'
import
{
Function
const
install
=
(
Vue
,
vm
)
=>
{
}
from
'../static/plugin/common/index.js'
/**
* 数据转换
const
install
=
(
Vue
,
vm
)
=>
{
*/
/**
const
converFunction
=
(
func
,
data
)
=>
{
* 数据转换
if
(
!
func
)
return
*/
return
new
Function
(
'"use strict";return ('
+
func
+
')'
)()(
data
);
const
converFunction
=
(
func
,
data
)
=>
{
}
if
(
!
func
)
return
return
new
Function
(
'"use strict";return ('
+
func
+
')'
)()(
data
);
/**
}
* 补足数字位数
* @param digit 数字
/**
* @param len 位数
* 补足数字位数
*/
* @param digit 数字
const
fillDigit
=
(
digit
,
len
)
=>
{
* @param len 位数
return
padStart
(
''
+
digit
,
len
,
'0'
)
*/
}
const
fillDigit
=
(
digit
,
len
)
=>
{
return
padStart
(
''
+
digit
,
len
,
'0'
)
const
toThousands
=
(
value
)
=>
{
}
let
result
=
''
let
num
=
(
parseInt
(
value
)
||
0
).
toString
()
const
toThousands
=
(
value
)
=>
{
while
(
num
.
length
>
3
)
{
let
result
=
''
result
=
','
+
num
.
slice
(
-
3
)
+
result
let
num
=
(
parseInt
(
value
)
||
0
).
toString
()
num
=
num
.
slice
(
0
,
num
.
length
-
3
)
while
(
num
.
length
>
3
)
{
}
result
=
','
+
num
.
slice
(
-
3
)
+
result
if
(
num
)
{
num
=
num
.
slice
(
0
,
num
.
length
-
3
)
result
=
num
+
result
}
}
if
(
num
)
{
return
result
result
=
num
+
result
}
}
return
result
const
dateFormat
=
()
=>
{
}
let
date
=
new
Date
();
let
year
=
date
.
getFullYear
();
const
dateFormat
=
()
=>
{
// 在日期格式中,月份是从0开始的,因此要加0,使用三元表达式在小于10的前面加0,以达到格式统一 如 09:11:05
let
date
=
new
Date
();
let
month
=
date
.
getMonth
()
+
1
<
10
?
"0"
+
(
date
.
getMonth
()
+
1
)
:
date
.
getMonth
()
+
1
;
let
year
=
date
.
getFullYear
();
let
day
=
date
.
getDate
()
<
10
?
"0"
+
date
.
getDate
()
:
date
.
getDate
();
// 在日期格式中,月份是从0开始的,因此要加0,使用三元表达式在小于10的前面加0,以达到格式统一 如 09:11:05
let
hours
=
date
.
getHours
()
<
10
?
"0"
+
date
.
getHours
()
:
date
.
getHours
();
let
month
=
date
.
getMonth
()
+
1
<
10
?
"0"
+
(
date
.
getMonth
()
+
1
)
:
date
.
getMonth
()
+
1
;
let
minutes
=
date
.
getMinutes
()
<
10
?
"0"
+
date
.
getMinutes
()
:
date
.
getMinutes
();
let
day
=
date
.
getDate
()
<
10
?
"0"
+
date
.
getDate
()
:
date
.
getDate
();
let
seconds
=
date
.
getSeconds
()
<
10
?
"0"
+
date
.
getSeconds
()
:
date
.
getSeconds
();
let
hours
=
date
.
getHours
()
<
10
?
"0"
+
date
.
getHours
()
:
date
.
getHours
();
// 拼接
let
minutes
=
date
.
getMinutes
()
<
10
?
"0"
+
date
.
getMinutes
()
:
date
.
getMinutes
();
return
year
+
"-"
+
month
+
"-"
+
day
+
" "
+
hours
+
":"
+
minutes
+
":"
+
seconds
;
let
seconds
=
date
.
getSeconds
()
<
10
?
"0"
+
date
.
getSeconds
()
:
date
.
getSeconds
();
}
// 拼接
return
year
+
"-"
+
month
+
"-"
+
day
+
" "
+
hours
+
":"
+
minutes
+
":"
+
seconds
;
// px转换为rpx
}
const
pxToRpx
=
(
value
)
=>
{
return
value
/
uni
.
getSystemInfoSync
().
windowWidth
*
750
// px转换为rpx
}
const
pxToRpx
=
(
value
)
=>
{
return
value
/
uni
.
getSystemInfoSync
().
windowWidth
*
750
// rpx转换为px
}
const
rpxToPx
=
(
value
)
=>
{
return
value
/
750
*
uni
.
getSystemInfoSync
().
windowWidth
// rpx转换为px
}
const
rpxToPx
=
(
value
)
=>
{
return
value
/
750
*
uni
.
getSystemInfoSync
().
windowWidth
const
slice
=
(
array
,
start
,
end
)
=>
{
}
let
length
=
array
==
null
?
0
:
array
.
length
if
(
!
length
)
{
const
slice
=
(
array
,
start
,
end
)
=>
{
return
[]
let
length
=
array
==
null
?
0
:
array
.
length
}
if
(
!
length
)
{
start
=
start
==
null
?
0
:
start
return
[]
end
=
end
===
undefined
?
length
:
end
}
start
=
start
==
null
?
0
:
start
if
(
start
<
0
)
{
end
=
end
===
undefined
?
length
:
end
start
=
-
start
>
length
?
0
:
(
length
+
start
)
}
if
(
start
<
0
)
{
end
=
end
>
length
?
length
:
end
start
=
-
start
>
length
?
0
:
(
length
+
start
)
if
(
end
<
0
)
{
}
end
+=
length
end
=
end
>
length
?
length
:
end
}
if
(
end
<
0
)
{
length
=
start
>
end
?
0
:
((
end
-
start
)
>>>
0
)
end
+=
length
start
>>>=
0
}
length
=
start
>
end
?
0
:
((
end
-
start
)
>>>
0
)
let
index
=
-
1
start
>>>=
0
const
result
=
new
Array
(
length
)
while
(
++
index
<
length
)
{
let
index
=
-
1
result
[
index
]
=
array
[
index
+
start
]
const
result
=
new
Array
(
length
)
}
while
(
++
index
<
length
)
{
return
result
result
[
index
]
=
array
[
index
+
start
]
}
}
return
result
/**
}
* 将数组(array)拆分成多个 size 长度的区块,并将这些区块组成一个新数组。
* 如果array无法被分割成全部等长的区块,那么最后剩余的元素将组成一个区块。
/**
*/
* 将数组(array)拆分成多个 size 长度的区块,并将这些区块组成一个新数组。
const
chunk
=
(
array
,
size
=
1
)
=>
{
* 如果array无法被分割成全部等长的区块,那么最后剩余的元素将组成一个区块。
const
length
=
array
==
null
?
0
:
array
.
length
*/
if
(
!
length
||
size
<
1
)
{
const
chunk
=
(
array
,
size
=
1
)
=>
{
return
[]
const
length
=
array
==
null
?
0
:
array
.
length
}
if
(
!
length
||
size
<
1
)
{
let
index
=
0
return
[]
let
resIndex
=
0
}
const
result
=
new
Array
(
Math
.
ceil
(
length
/
size
))
let
index
=
0
let
resIndex
=
0
while
(
index
<
length
)
{
const
result
=
new
Array
(
Math
.
ceil
(
length
/
size
))
result
[
resIndex
++
]
=
slice
(
array
,
index
,
(
index
+=
size
))
}
while
(
index
<
length
)
{
return
result
result
[
resIndex
++
]
=
slice
(
array
,
index
,
(
index
+=
size
))
}
}
/**
return
result
* 从string中提取参数
}
*/
/**
const
getQueryFromString
=
(
string
)
=>
{
* 从string中提取参数
const
num
=
string
.
indexOf
(
"?"
)
*/
const
qs
=
string
.
substr
(
num
+
1
)
// 获取url中"?"符后的字串
const
getQueryFromString
=
(
string
)
=>
{
let
args
=
{}
// 保存参数数据的对象
const
num
=
string
.
indexOf
(
"?"
)
const
items
=
qs
.
length
?
qs
.
split
(
"&"
)
:
[]
// 取得每一个参数项,
const
qs
=
string
.
substr
(
num
+
1
)
// 获取url中"?"符后的字串
let
item
=
null
let
args
=
{}
// 保存参数数据的对象
const
len
=
items
.
length
;
const
items
=
qs
.
length
?
qs
.
split
(
"&"
)
:
[]
// 取得每一个参数项,
let
item
=
null
for
(
var
i
=
0
;
i
<
len
;
i
++
)
{
const
len
=
items
.
length
;
item
=
items
[
i
].
split
(
"="
);
var
name
=
decodeURIComponent
(
item
[
0
]),
for
(
var
i
=
0
;
i
<
len
;
i
++
)
{
value
=
decodeURIComponent
(
item
[
1
]);
item
=
items
[
i
].
split
(
"="
);
if
(
name
)
{
var
name
=
decodeURIComponent
(
item
[
0
]),
args
[
name
]
=
value
;
value
=
decodeURIComponent
(
item
[
1
]);
}
if
(
name
)
{
}
args
[
name
]
=
value
;
return
args
;
}
}
}
return
args
;
vm
.
$u
.
common
=
{
}
converFunction
,
fillDigit
,
const
filterRequestParams
=
(
params
)
=>
{
toThousands
,
let
paramStr
=
JSON
.
stringify
(
params
)
dateFormat
,
if
(
paramStr
.
includes
(
'@year'
))
{
pxToRpx
,
paramStr
=
paramStr
.
replace
(
/@year/g
,
yearly
())
rpxToPx
,
}
chunk
,
if
(
paramStr
.
includes
(
'@month'
))
{
getQueryFromString
paramStr
=
paramStr
.
replace
(
/@month/g
,
monthly
())
}
}
if
(
paramStr
.
includes
(
'@day'
))
{
paramStr
=
paramStr
.
replace
(
/@day/g
,
day
())
}
if
(
paramStr
.
includes
(
'@daily'
))
{
const
d
=
daily
()
paramStr
=
paramStr
.
replace
(
/@daily/g
,
daily
())
}
if
(
paramStr
.
includes
(
'@yesterday'
))
{
paramStr
=
paramStr
.
replace
(
/@yesterday/g
,
yesterday
())
}
return
JSON
.
parse
(
paramStr
)
}
const
yearly
=
()
=>
{
const
date
=
new
Date
();
const
year
=
date
.
getFullYear
();
return
year
}
const
monthly
=
()
=>
{
const
date
=
new
Date
();
const
month
=
date
.
getMonth
()
+
1
<
10
?
"0"
+
(
date
.
getMonth
()
+
1
)
:
date
.
getMonth
()
+
1
;
return
month
}
const
day
=
()
=>
{
const
date
=
new
Date
();
const
day
=
date
.
getDate
()
<
10
?
"0"
+
date
.
getDate
()
:
date
.
getDate
();
return
day
}
const
daily
=
()
=>
{
const
date
=
new
Date
();
const
year
=
date
.
getFullYear
();
// 在日期格式中,月份是从0开始的,因此要加0,使用三元表达式在小于10的前面加0,以达到格式统一 如 09:11:05
const
month
=
date
.
getMonth
()
+
1
<
10
?
"0"
+
(
date
.
getMonth
()
+
1
)
:
date
.
getMonth
()
+
1
;
const
day
=
date
.
getDate
()
<
10
?
"0"
+
date
.
getDate
()
:
date
.
getDate
();
// 拼接
return
year
+
"-"
+
month
+
"-"
+
day
;
}
const
yesterday
=
()
=>
{
const
date
=
new
Date
()
const
timestamp
=
date
.
getTime
()
-
1000
*
24
*
60
*
60
date
.
setTime
(
timestamp
)
console
.
log
(
date
)
const
year
=
date
.
getFullYear
();
// 在日期格式中,月份是从0开始的,因此要加0,使用三元表达式在小于10的前面加0,以达到格式统一 如 09:11:05
const
month
=
date
.
getMonth
()
+
1
<
10
?
"0"
+
(
date
.
getMonth
()
+
1
)
:
date
.
getMonth
()
+
1
;
const
day
=
date
.
getDate
()
<
10
?
"0"
+
date
.
getDate
()
:
date
.
getDate
();
// 拼接
return
year
+
"-"
+
month
+
"-"
+
day
;
}
vm
.
$u
.
common
=
{
converFunction
,
fillDigit
,
toThousands
,
dateFormat
,
pxToRpx
,
rpxToPx
,
chunk
,
getQueryFromString
,
filterRequestParams
}
}
export
default
{
install
}
}
export
default
{
install
}
\ No newline at end of file
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