Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
D
dsk-cr20g
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
Administrator
dsk-cr20g
Commits
6376d304
Commit
6376d304
authored
Oct 23, 2023
by
yht15023815643
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
跳转详情优化
parent
7db30f11
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
165 additions
and
20 deletions
+165
-20
index.js
dsk-operate-ui/src/router/index.js
+32
-19
detail.vue
dsk-operate-ui/src/views/detail.vue
+124
-0
index.vue
dsk-operate-ui/src/views/market/index.vue
+9
-1
No files found.
dsk-operate-ui/src/router/index.js
View file @
6376d304
...
...
@@ -130,20 +130,6 @@ export const constantRoutes = [
}
]
},
{
path
:
''
,
component
:
Layout
,
hidden
:
true
,
redirect
:
'noredirect'
,
children
:
[
{
path
:
'/performance/gzsc/:id'
,
component
:
()
=>
import
(
'@/views/market/detail'
),
name
:
'GzscDetail'
,
meta
:
{
title
:
'公招市场详情'
,
icon
:
'enterprise'
},
}
]
},
{
path
:
'/groupAccount'
,
component
:
Layout
,
...
...
@@ -173,6 +159,7 @@ export const constantRoutes = [
}
]
},
//企业详情
{
path
:
'/company'
,
component
:
Layout
,
...
...
@@ -181,12 +168,13 @@ export const constantRoutes = [
children
:
[
{
path
:
'/company/:id'
,
component
:
()
=>
import
(
'@/views/detail
/party-b/index
'
),
component
:
()
=>
import
(
'@/views/detail'
),
name
:
'Company'
,
meta
:
{
title
:
'企业详情'
}
}
]
},
//人员详情
{
path
:
'/personnel'
,
component
:
Layout
,
...
...
@@ -194,13 +182,40 @@ export const constantRoutes = [
redirect
:
'noredirect'
,
children
:
[
{
path
:
'/personnel/:id'
,
component
:
()
=>
import
(
'@/views/detail
/party-b/index
'
),
path
:
'/personnel/:id
.html
'
,
component
:
()
=>
import
(
'@/views/detail'
),
name
:
'Personnel'
,
meta
:
{
title
:
'人员详情'
}
}
]
},
//公招市场详情
{
path
:
'/gzsc'
,
component
:
Layout
,
hidden
:
true
,
redirect
:
'noredirect'
,
children
:
[
{
path
:
'/gzsc/:id'
,
component
:
()
=>
import
(
'@/views/detail'
),
name
:
'detail-gzsc'
,
}
]
},
//中标业绩详情
{
path
:
''
,
component
:
Layout
,
hidden
:
true
,
redirect
:
'noredirect'
,
children
:
[
{
path
:
'/performance/zb/:id.html'
,
component
:
()
=>
import
(
'@/views/detail'
),
}
]
},
{
path
:
'/structure'
,
component
:
Layout
,
...
...
@@ -362,8 +377,6 @@ export const constantRoutes = [
]
},
]
// 动态路由,基于用户权限动态去加载
...
...
dsk-operate-ui/src/views/detail.vue
0 → 100644
View file @
6376d304
<
template
>
<div
v-loading=
"loading"
class=
"market-container"
>
<iframe
id=
"companyIframe"
marginwidth=
"0"
marginheight=
"0"
frameborder=
"0"
scrolling=
"no"
width=
"100%"
:style=
"
{height:iframeHight+'px'}"
:src="src" />
</div>
</
template
>
<
script
>
import
{
steerScroll
}
from
'@/assets/js/jskplug'
;
import
{
dskAccessToken
}
from
'@/api/common'
;
export
default
{
name
:
'Enterprise'
,
components
:
{
},
data
()
{
return
{
loading
:
false
,
// 是否加载完成-当前页控制
iframeTimer
:
''
,
// 是否加载中定时器-当前页控制
footHeight
:
0
,
//底部高度,若为0(页面内部嵌套或者没有底部板块)
iframeHight
:
window
.
innerHeight
,
// iframe高度-当前页控制
navigation
:
{
isFixed
:
true
,
fixedHeight
:
56
,
totalHeight
:
68
},
// iframe之外页面顶部对象,ifFixed:是否浮动;fixedHeight:浮动对象高度;totalHeight:顶部整体高度
src
:
''
,
//iframe嵌套页面地址
// domain: 'https://plug.jiansheku.com', // 插件地址
domain
:
'https://pre-plug.jiansheku.com'
,
// 插件地址测试
// domain: 'http://192.168.60.210:3400',
ak
:
'aec7b3ff2y2q8x6t49a7e2c463ce21912'
,
// 需要携带的sdkId
timelongs
:
7200
,
//刷新token时间
tokentimer
:
null
,
};
},
created
()
{
if
(
window
.
location
.
host
===
'http://szh.jiansheku.com'
||
window
.
location
.
host
===
'szh.jiansheku.com'
){
this
.
domain
=
'https://plug.jiansheku.com'
}
else
{
this
.
domain
=
'https://pre-plug.jiansheku.com'
// this.domain='http://192.168.60.210:3400'
}
this
.
gettokens
();
},
mounted
()
{
this
.
iframeLoading
();
// 判断iframe页面是否加载完成-当前页控制
let
that
=
this
window
.
addEventListener
(
'message'
,
function
(
event
)
{
if
(
event
.
data
.
url
){
that
.
$tab
.
openPage
(
event
.
data
.
title
,
event
.
data
.
url
).
then
(()
=>
{
// 执行结束的逻辑
})
}
},
false
);
steerScroll
(
'companyIframe'
,
this
.
navigation
,
this
.
footHeight
,
true
);
// iframeId: iframe的id;navigation:页面排除iframe后剩下的顶部高度;footHeight: 页面排除iframe后剩下的底部高度;state:监听or移除监听;parentId: 父级id[不带默认就是铺满整个页面]];_this:指向当前实例(可忽略)
},
beforeDestroy
()
{
clearInterval
(
this
.
iframeTimer
);
// -当前页控制
steerScroll
(
'companyIframe'
,
this
.
navigation
,
this
.
footHeight
);
// iframeId: iframe的id;navigation:页面排除iframe后剩下的顶部高度;footHeight: 页面排除iframe后剩下的底部高度;state:监听or移除监听;parentId: 父级id[不带默认就是铺满整个页面]];_this:指向当前实例(可忽略)
clearInterval
(
this
.
tokentimer
);
},
methods
:
{
gettokens
()
{
dskAccessToken
().
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
this
.
timelongs
=
res
.
data
.
expire
;
this
.
ak
=
res
.
data
.
accessToken
;
let
initTime
=
new
Date
().
getTime
()
if
(
window
.
location
.
search
){
this
.
src
=
`
${
this
.
domain
+
this
.
$route
.
fullPath
}
&ak=
${
this
.
ak
}
&initTime=
${
initTime
}
&uid=
${
this
.
ak
}
&origin=
${
window
.
location
.
origin
}
`
}
else
{
this
.
src
=
`
${
this
.
domain
+
this
.
$route
.
fullPath
}
?ak=
${
this
.
ak
}
&initTime=
${
initTime
}
&uid=
${
this
.
ak
}
&origin=
${
window
.
location
.
origin
}
`
}
// if(window.location.search){
// this.src = `${this.domain+this.$route.fullPath}&ak=${this.ak}&initTime=${initTime}&uid=${this.ak}&origin=${window.location.origin}`
// }else{
// this.src = `${this.domain+this.$route.fullPath}?ak=${this.ak}&initTime=${initTime}&uid=${this.ak}&origin=${window.location.origin}`
// }
// }else{ //更新iframe地址的accessToken
// let ifam = document.getElementById('companyIframe')
// ifam.contentWindow.postMessage({ 'accessToken': this.ak, 'initTime': initTime }, '*')
// }
this
.
refreshtoken
();
}
else
{
clearTimeout
(
this
.
tokentimer
);
}
});
},
refreshtoken
()
{
this
.
tokentimer
=
setTimeout
(()
=>
{
dskAccessToken
().
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
this
.
timelongs
=
res
.
data
.
expire
;
this
.
ak
=
res
.
data
.
accessToken
;
let
ifam
=
document
.
getElementById
(
'companyIframe'
);
//iframe的id
let
akObj
=
res
.
data
.
expire
;
//accessToken接口的返回值
let
initTime
=
new
Date
().
getTime
();
//accessToken接口返回后的当前时间戳
ifam
.
contentWindow
.
postMessage
({
'accessToken'
:
akObj
.
accessToken
,
'initTime'
:
initTime
},
'*'
);
}
else
{
clearTimeout
(
this
.
tokentimer
);
}
});
},
this
.
timelongs
*
1000
);
},
//判断iframe页面是否加载完成-当前页控制
iframeLoading
()
{
let
iframeHeight
=
document
.
getElementById
(
"companyIframe"
).
clientHeight
,
number
=
0
;
this
.
iframeTimer
=
setInterval
(()
=>
{
number
++
;
if
(
document
.
getElementById
(
"companyIframe"
).
clientHeight
!=
iframeHeight
||
number
==
5000
)
{
this
.
loading
=
false
;
clearInterval
(
this
.
iframeTimer
);
}
});
}
}
}
</
script
>
<
style
lang=
"scss"
scoped
>
.market-container
{
width
:
100%
;
height
:
100%
;
padding
:
16px
24px
;
box-sizing
:
border-box
;
}
</
style
>
dsk-operate-ui/src/views/market/index.vue
View file @
6376d304
...
...
@@ -41,11 +41,19 @@ export default {
}
else
{
this
.
domain
=
'https://pre-plug.jiansheku.com'
// this.domain = 'http://192.168.60.8:3400';
// this.domain = 'http://192.168.60.
104
:3400';
// this.domain = 'http://192.168.60.
210
:3400';
}
this
.
gettokens
();
this
.
iframeObserver
();
let
that
=
this
window
.
addEventListener
(
"message"
,
this
.
pagecapListener
,
{
passive
:
true
});
window
.
addEventListener
(
'message'
,
function
(
event
)
{
if
(
event
.
data
.
url
){
that
.
$tab
.
openPage
(
event
.
data
.
title
,
event
.
data
.
url
).
then
(()
=>
{
// 执行结束的逻辑
})
}
},
false
);
},
mounted
()
{
this
.
iframeLoading
();
// 判断iframe页面是否加载完成-当前页控制
...
...
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