Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
B
bill-manager-ui
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
0
Merge Requests
0
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
赵啸非
bill-manager-ui
Commits
738d7415
Commit
738d7415
authored
Dec 03, 2024
by
“yiyousong”
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix: 修复首页点击卡片跳转失效
parent
ac88a353
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
36 additions
and
48 deletions
+36
-48
admin_2/src/pages/home/components/AreaCard.vue
admin_2/src/pages/home/components/AreaCard.vue
+1
-1
admin_2/src/utils/index.js
admin_2/src/utils/index.js
+35
-47
No files found.
admin_2/src/pages/home/components/AreaCard.vue
View file @
738d7415
...
...
@@ -59,7 +59,7 @@ export default {
if
(
this
.
tag
.
length
)
{
this
.
$emit
(
'
click
'
,
this
.
data
);
this
.
$router
.
push
({
name
:
'
queueupreport
'
,
name
:
'
market/
queueupreport
'
,
params
:
{
siteId
:
this
.
data
.
siteId
+
''
}
...
...
admin_2/src/utils/index.js
View file @
738d7415
import
Vue
from
"
vue
"
;
import
CryptoJS
from
"
crypto-js
"
;
import
moment
from
"
moment
"
;
import
{
find
,
get
}
from
"
lodash-es
"
;
import
Vue
from
'
vue
'
;
import
CryptoJS
from
'
crypto-js
'
;
import
moment
from
'
moment
'
;
import
{
find
,
get
}
from
'
lodash-es
'
;
// 加密数据
export
let
encrypt
=
(
str
,
keyStr
,
ivStr
)
=>
{
keyStr
=
keyStr
?
keyStr
:
"
0000000671595991
"
;
ivStr
=
ivStr
?
ivStr
:
"
tdrdadq59tbss5n7
"
;
keyStr
=
keyStr
?
keyStr
:
'
0000000671595991
'
;
ivStr
=
ivStr
?
ivStr
:
'
tdrdadq59tbss5n7
'
;
//密钥16位
let
key
=
CryptoJS
.
enc
.
Utf8
.
parse
(
keyStr
);
//加密向量16位
...
...
@@ -14,7 +14,7 @@ export let encrypt = (str, keyStr, ivStr) => {
let
encrypted
=
CryptoJS
.
AES
.
encrypt
(
str
,
key
,
{
iv
:
iv
,
mode
:
CryptoJS
.
mode
.
CBC
,
padding
:
CryptoJS
.
pad
.
Pkcs7
,
padding
:
CryptoJS
.
pad
.
Pkcs7
});
return
encrypted
.
toString
();
...
...
@@ -22,15 +22,15 @@ export let encrypt = (str, keyStr, ivStr) => {
// 解密
export
const
decrypt
=
(
word
,
keyStr
,
ivStr
)
=>
{
keyStr
=
keyStr
?
keyStr
:
"
0000000671595991
"
;
ivStr
=
ivStr
?
ivStr
:
"
tdrdadq59tbss5n7
"
;
keyStr
=
keyStr
?
keyStr
:
'
0000000671595991
'
;
ivStr
=
ivStr
?
ivStr
:
'
tdrdadq59tbss5n7
'
;
let
key
=
CryptoJS
.
enc
.
Utf8
.
parse
(
keyStr
);
let
iv
=
CryptoJS
.
enc
.
Utf8
.
parse
(
ivStr
);
let
decrypt
=
CryptoJS
.
AES
.
decrypt
(
word
,
key
,
{
iv
,
mode
:
CryptoJS
.
mode
.
CBC
,
padding
:
CryptoJS
.
pad
.
Pkcs7
,
padding
:
CryptoJS
.
pad
.
Pkcs7
});
return
decrypt
.
toString
(
CryptoJS
.
enc
.
Utf8
);
};
...
...
@@ -38,44 +38,36 @@ export const decrypt = (word, keyStr, ivStr) => {
/**
* 加密存储临时数据并解析对象
*/
const
aseKey
=
"
**_FXxx_1234_KEY
"
;
const
KEY
=
"
KEY_EXTRA
"
;
const
aseKey
=
'
**_FXxx_1234_KEY
'
;
const
KEY
=
'
KEY_EXTRA
'
;
export
class
SessionCrypto
{
// 加密
static
setItem
(
key
=
KEY
,
value
=
""
)
{
if
(
typeof
key
===
"
string
"
)
{
static
setItem
(
key
=
KEY
,
value
=
''
)
{
if
(
typeof
key
===
'
string
'
)
{
const
stringify
=
JSON
.
stringify
(
value
);
const
encrypt
=
CryptoJS
.
AES
.
encrypt
(
stringify
,
CryptoJS
.
enc
.
Utf8
.
parse
(
aseKey
),
{
const
encrypt
=
CryptoJS
.
AES
.
encrypt
(
stringify
,
CryptoJS
.
enc
.
Utf8
.
parse
(
aseKey
),
{
mode
:
CryptoJS
.
mode
.
ECB
,
padding
:
CryptoJS
.
pad
.
Pkcs7
,
}
).
toString
();
padding
:
CryptoJS
.
pad
.
Pkcs7
}).
toString
();
window
.
sessionStorage
.
setItem
(
key
,
encrypt
);
return
encrypt
;
}
}
// 解密
static
getItem
(
key
=
KEY
)
{
const
ssStr
=
window
.
sessionStorage
.
getItem
(
key
)
||
""
;
const
ssStr
=
window
.
sessionStorage
.
getItem
(
key
)
||
''
;
try
{
if
(
ssStr
)
{
const
decrypt
=
CryptoJS
.
AES
.
decrypt
(
ssStr
,
CryptoJS
.
enc
.
Utf8
.
parse
(
aseKey
),
{
const
decrypt
=
CryptoJS
.
AES
.
decrypt
(
ssStr
,
CryptoJS
.
enc
.
Utf8
.
parse
(
aseKey
),
{
mode
:
CryptoJS
.
mode
.
ECB
,
padding
:
CryptoJS
.
pad
.
Pkcs7
,
}
).
toString
(
CryptoJS
.
enc
.
Utf8
);
padding
:
CryptoJS
.
pad
.
Pkcs7
}).
toString
(
CryptoJS
.
enc
.
Utf8
);
const
parseStr
=
JSON
.
parse
(
decrypt
);
return
parseStr
;
}
return
""
;
return
''
;
}
catch
(
e
)
{
return
""
;
return
''
;
}
}
// 删除
...
...
@@ -127,11 +119,11 @@ export function findBottomSubarrays(arr) {
// 秒数转HH:mm:ss
export
function
formatSeconds
(
secondsNum
)
{
const
time
=
moment
.
duration
(
secondsNum
,
"
seconds
"
);
const
time
=
moment
.
duration
(
secondsNum
,
'
seconds
'
);
const
hours
=
time
.
hours
();
const
minutes
=
time
.
minutes
();
const
seconds
=
time
.
seconds
();
return
moment
({
h
:
hours
,
m
:
minutes
,
s
:
seconds
}).
format
(
"
HH:mm:ss
"
);
return
moment
({
h
:
hours
,
m
:
minutes
,
s
:
seconds
}).
format
(
'
HH:mm:ss
'
);
}
/**
...
...
@@ -164,7 +156,7 @@ export const dataSection = async (fn, searchForm = {}, callback) => {
};
// 构建树形数据
export
function
buildTree
(
data
,
idField
=
"
id
"
,
parentIdField
=
"
parentId
"
)
{
export
function
buildTree
(
data
,
idField
=
'
id
'
,
parentIdField
=
'
parentId
'
)
{
const
idToItem
=
{};
data
.
forEach
((
item
)
=>
{
idToItem
[
item
[
idField
]]
=
{
...
item
,
childList
:
[]
};
...
...
@@ -198,9 +190,7 @@ export const getFieldFromArray = (arr, field, treeField) => {
// 如果有子路由,递归提取子路由的路径
if
(
item
[
treeField
]
&&
item
[
treeField
].
length
>
0
)
{
result
=
result
.
concat
(
getFieldFromArray
(
item
[
treeField
],
field
,
treeField
)
);
result
=
result
.
concat
(
getFieldFromArray
(
item
[
treeField
],
field
,
treeField
));
}
});
...
...
@@ -211,12 +201,10 @@ export const getFieldFromArray = (arr, field, treeField) => {
export
const
generateRoutes
=
(
menuList
)
=>
{
let
routers
=
menuList
.
map
((
item
)
=>
{
// 构造符合要求的结构
let
path
=
item
.
url
.
charAt
(
0
)
===
"
/
"
?
item
.
url
:
"
/
"
+
item
.
url
;
let
name
=
item
.
url
.
replace
(
/^
\/
/
,
""
);
let
activeMenu
=
item
.
activeDir
?
"
/
"
+
item
.
activeDir
.
replace
(
/^
\/
/
,
""
)
:
""
;
let
component
=
item
.
component
?
item
.
component
.
replace
(
/^
\/
/
,
""
)
:
null
;
let
path
=
item
.
url
.
charAt
(
0
)
===
'
/
'
?
item
.
url
:
'
/
'
+
item
.
url
;
let
name
=
item
.
url
.
replace
(
/^
\/
/
,
''
);
let
activeMenu
=
item
.
activeDir
?
'
/
'
+
item
.
activeDir
.
replace
(
/^
\/
/
,
''
)
:
''
;
let
component
=
item
.
component
?
item
.
component
.
replace
(
/^
\/
/
,
''
)
:
null
;
const
newItem
=
{
path
,
name
,
...
...
@@ -227,8 +215,8 @@ export const generateRoutes = (menuList) => {
title
:
item
.
name
,
icon
:
item
.
imgPath
,
keepAlive
:
!!
item
.
cache
,
activeMenu
,
}
,
activeMenu
}
};
// 递归处理子节点
if
(
item
.
children
&&
item
.
children
.
length
>
0
)
{
...
...
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