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
84686eaa
Commit
84686eaa
authored
Jun 14, 2024
by
danfuman
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改
parent
553b5cb9
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
249 additions
and
561 deletions
+249
-561
index.js
dsk-operate-ui/src/router/index.js
+14
-0
detail.vue
dsk-operate-ui/src/views/detail.vue
+1
-6
detail.vue
dsk-operate-ui/src/views/macro/policyInquiry/detail.vue
+113
-344
index.vue
dsk-operate-ui/src/views/macro/policyInquiry/index.vue
+120
-86
index1.vue
dsk-operate-ui/src/views/macro/policyInquiry/index1.vue
+0
-119
detail.vue
dsk-operate-ui/src/views/market/detail.vue
+1
-6
No files found.
dsk-operate-ui/src/router/index.js
View file @
84686eaa
...
...
@@ -293,6 +293,20 @@ export const constantRoutes = [
}
]
},
//宏观政策详情
{
path
:
'/hgzc'
,
component
:
Layout
,
hidden
:
true
,
redirect
:
'noredirect'
,
children
:
[
{
path
:
'/hgzc/:id'
,
component
:
()
=>
import
(
'@/views/detail'
),
meta
:
{
title
:
"宏观政策详情"
}
}
]
},
//公招市场详情
{
path
:
'/gzsc'
,
...
...
dsk-operate-ui/src/views/detail.vue
View file @
84686eaa
...
...
@@ -33,12 +33,7 @@ export default {
};
},
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
.
domain
=
process
.
env
.
VUE_APP_SUB_SYSTEM_ADDRESS
;
this
.
gettokens
();
},
mounted
()
{
...
...
dsk-operate-ui/src/views/macro/policyInquiry/detail.vue
View file @
84686eaa
<
template
>
<!--
<no-ssr>
-->
<div
class=
"public-policyInquiry"
>
<div
class=
"search-content"
>
<div
class=
"content_wrap"
>
<div
class=
"land_content_wrap"
>
<span
class=
"label"
>
关键字
</span>
<div
class=
"search-input"
>
<el-input
class=
"commonly-input"
v-model=
"queryParams.title"
style=
"width: 382px;border-radius:4px;"
placeholder=
"请输入关键字"
>
</el-input>
<i
class=
"icon el-icon-search"
></i>
</div>
<el-checkbox-group
v-model=
"checkList"
>
<el-checkbox
label=
"标题名称"
></el-checkbox>
<el-checkbox
label=
"政策名称"
></el-checkbox>
<el-checkbox
label=
"发文机关"
></el-checkbox>
</el-checkbox-group>
</div>
<div
class=
"land_content_wrap"
>
<span
class=
"label"
>
信息类型
</span>
<el-checkbox-group
v-model=
"checkList1"
>
<el-checkbox
label=
"政策文件"
></el-checkbox>
<el-checkbox
label=
"政策解读"
></el-checkbox>
</el-checkbox-group>
</div>
<div
class=
"land_content_wrap"
>
<span
class=
"label"
>
公文种类
</span>
<el-checkbox-group
v-model=
"checkList2"
>
<el-checkbox
v-for=
"item in gwList"
:label=
"item.name"
>
{{
item
.
name
}}
</el-checkbox>
</el-checkbox-group>
</div>
<div
class=
"land_content_wrap"
>
<span
class=
"label"
>
来源网站
</span>
<el-select
v-model=
"lyList"
multiple
style=
"width: 382px;"
collapse-tags
placeholder=
"请选择来源网站名称"
>
<el-option
v-for=
"item in lyData"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
</el-select>
</div>
<div
class=
"land_content_wrap"
>
<span
class=
"label"
>
发布日期
</span>
<el-date-picker
v-model=
"time"
style=
"width: 382px;"
type=
"daterange"
range-separator=
"至"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
>
</el-date-picker>
<el-radio-group
v-model=
"radio"
>
<el-radio
label=
"1"
>
包含发布日期未公示
</el-radio>
</el-radio-group>
</div>
</div>
<div
class=
"search-btn"
>
<span>
查询
</span>
<span>
重置
</span>
</div>
</div>
<div
class=
"list-container"
>
<div
class=
"list-count"
>
<span
class=
"total"
>
共 162 条
</span>
<el-dropdown
trigger=
"click"
@
command=
"changeOrder"
class=
"list-sort-btn"
>
<span
class=
"el-dropdown-link"
>
{{
orderText
}}
<i
class=
"el-icon-arrow-down el-icon--right"
></i>
</span>
<el-dropdown-menu
slot=
"dropdown"
>
<el-dropdown-item
command=
"默认排序"
>
默认排序
</el-dropdown-item>
<el-dropdown-item
command=
"时间由近到远"
>
时间由近到远
</el-dropdown-item>
<el-dropdown-item
command=
"时间由远到近"
>
时间由远到近
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
<!--
<div
class=
"item-jf1"
v-if=
"dataList.length==0"
>
-->
<!--
<img
class=
"item-jf-img"
src=
"@/assets/images/kong.png"
alt=
""
>
-->
<!--
<div
class=
"item-jf-titel"
>
抱歉,没找到相关数据!
</div>
-->
<!--
<div
class=
"item-jf-text"
>
建议调整关键词或筛选条件,重新搜索!
</div>
-->
<!--
</div>
-->
<div
class=
"list-box"
>
<div
class=
"item"
>
<h3>
土地整治首重科学规划——国务院47号文件解读
</h3>
<div
class=
"cont-box"
>
<p>
来源网站:
<span>
贵州省人民政府招标中标公示网
</span></p>
<p>
发文机关:
<span>
给贵州省人民政府
</span></p>
<p>
信息类型:
<span>
政策解读
</span></p>
<p>
公文种类:
<span>
公告
</span></p>
<p>
发布日期:
<span>
2024-01-05
</span></p>
<p>
成交日期:
<span>
2024-01-08
</span></p>
<p>
实施日期:
<span>
2024-01-25
</span></p>
</div>
</div>
</div>
</div>
</div>
<!--
</no-ssr>
-->
<div
class=
"iframe"
v-loading=
"loading"
>
<iframe
id=
"companyIframe"
marginwidth=
"0"
marginheight=
"0"
frameborder=
"0"
scrolling=
"no"
width=
"100%"
:src=
"src"
/>
</div>
</
template
>
<
script
>
import
{
steerScroll
}
from
'@/assets/js/jskplug'
;
import
{
dskAccessToken
}
from
'@/api/common'
;
export
default
{
name
:
"searchPolicyInquiry"
,
components
:{},
name
:
'GzscDetail'
,
data
()
{
return
{
queryParams
:{
},
checkList
:[
'标题名称'
,
'政策名称'
],
checkList1
:[],
checkList2
:[],
gwList
:[
{
value
:
'通知'
,
name
:
'通知'
},
{
value
:
'意见'
,
name
:
'意见'
},
{
value
:
'批复'
,
name
:
'批复'
},
{
value
:
'公告'
,
name
:
'公告'
},
{
value
:
'决定'
,
name
:
'决定'
},
{
value
:
'通告'
,
name
:
'通告'
},
{
value
:
'报告'
,
name
:
'报告'
},
{
value
:
'通报'
,
name
:
'通报'
},
{
value
:
'命令(令)'
,
name
:
'命令(令)'
},
{
value
:
'公报'
,
name
:
'公报'
},
{
value
:
'请示'
,
name
:
'请示'
},
{
value
:
'决议'
,
name
:
'决议'
},
{
value
:
'议案'
,
name
:
'议案'
},
{
value
:
'函'
,
name
:
'函'
},
{
value
:
'纪要'
,
name
:
'纪要'
},
{
value
:
'未公示'
,
name
:
'未公示'
},
],
lyData
:[],
lyList
:[],
time
:
''
,
radio
:
''
,
orderText
:
'默认排序'
,
desc
:
'desc'
,
//查询结果排序方式
dataList
:[]
return
{
currentUrl
:
''
,
loading
:
false
,
iframeHight
:
800
,
// iframe高度-当前页控制
navigation
:
{
isFixed
:
true
,
fixedHeight
:
0
,
totalHeight
:
0
},
// iframe之外页面顶部对象,ifFixed:是否浮动;fixedHeight:浮动对象高度;totalHeight:顶部整体高度
footHeight
:
160
,
//底部高度,若为0(页面内部嵌套或者没有底部板块)
src
:
''
,
//
domain
:
'https://pre-plug.jiansheku.com'
,
uid
:
''
,
// 需要携带的uid
loginDialogVisible
:
false
,
vipDialogVisible
:
false
,
dataVip
:{},
minHeight
:
0
}
},
c
reated
()
{
c
omputed
:
{
},
created
()
{
this
.
domain
=
process
.
env
.
VUE_APP_SUB_SYSTEM_ADDRESS
;
this
.
loading
=
true
if
(
process
.
browser
){
this
.
getAccesstoken
(
true
)
}
},
mounted
()
{
// this.setInitHeight() //设置初始相关高度
this
.
iframeLoading
()
// 判断iframe页面是否加载完成-当前页控制
// steerScroll('companyIframe', this.navigation, this.footHeight, true, '', this) // 监听滚动(iframe的id、页面排除iframe后页面剩下高度[例:80]、增加监听[不传就是移除监听]、父级id[不带默认就是铺满整个页面]])
//控制页面内容最低高度
// this.setMainHeight()
},
beforeDestroy
()
{
clearInterval
(
this
.
iframeTimer
)
// -当前页控制
clearInterval
(
this
.
tokenTimer
)
// -当前页控制
steerScroll
(
'companyIframe'
,
this
.
navigation
,
this
.
footHeight
)
// 监听滚动(iframe的id、页面排除iframe后页面剩下高度[例:80]、增加监听[不传就是移除监听]、父级id[不带默认就是铺满整个页面]])
},
methods
:
{
changeOrder
(
command
)
{
this
.
orderText
=
command
;
if
(
command
==
'时间由远到近'
)
{
this
.
desc
=
'asc'
;
}
else
{
this
.
desc
=
'desc'
;
}
// this.search();
setInitHeight
(){
let
headerHeight
=
document
.
getElementById
(
'header'
).
offsetHeight
this
.
navigation
.
fixedHeight
=
this
.
navigation
.
totalHeight
=
headerHeight
+
10
},
// 判断iframe页面是否加载完成-当前页控制
iframeLoading
()
{
const
iframeHeight
=
document
.
getElementById
(
'companyIframe'
).
clientHeight
let
number
=
0
this
.
iframeTimer
=
setInterval
(()
=>
{
number
=
number
+
1000
if
(
document
.
getElementById
(
'companyIframe'
).
clientHeight
!==
iframeHeight
||
number
===
5000
)
{
this
.
loading
=
false
clearInterval
(
this
.
iframeTimer
)
}
},
1000
)
},
// 获取accessToken
async
getAccesstoken
(
init
){
dskAccessToken
().
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
// this.loading = true
this
.
timelongs
=
res
.
data
.
expire
;
this
.
ak
=
res
.
data
.
accessToken
;
if
(
init
){
//首次加载iframe地址
if
(
window
.
location
.
search
){
this
.
src
=
`
${
this
.
domain
+
this
.
$route
.
fullPath
}
&ak=
${
this
.
ak
}
&initTime=
${
new
Date
().
getTime
()}
&uid=
${
this
.
uid
}
&origin=
${
window
.
location
.
origin
}
`
}
else
{
this
.
src
=
`
${
this
.
domain
+
this
.
$route
.
fullPath
}
?ak=
${
this
.
ak
}
&initTime=
${
new
Date
().
getTime
()}
&uid=
${
this
.
uid
}
&origin=
${
window
.
location
.
origin
}
`
}
}
else
{
//更新iframe地址的accessToken
let
ifam
=
document
.
getElementById
(
'companyIframe'
)
ifam
.
contentWindow
.
postMessage
({
'accessToken'
:
this
.
ak
,
'initTime'
:
new
Date
().
getTime
()
},
'*'
)
}
this
.
refreshtoken
();
}
else
{
clearTimeout
(
this
.
tokentimer
);
}
});
},
setMainHeight
(){
let
cliHight
=
document
.
body
.
clientHeight
,
footerHeight
=
document
.
getElementById
(
'footer'
)
?
document
.
getElementById
(
'footer'
).
offsetHeight
:
0
this
.
minHeight
=
cliHight
-
footerHeight
},
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
);
},
},
watch
:
{
'$store.state.akObj.expire'
(
newValue
,
oldValue
)
{
if
(
newValue
){
let
t
=
(
newValue
-
20
)
*
1000
,
_this
=
this
_this
.
tokenTimer
=
setTimeout
(
function
()
{
_this
.
getAccesstoken
()
},
t
)
}
}
}
}
</
script
>
<!--<style lang="less" scoped>-->
<
style
lang=
"scss"
scoped
>
.
public-policyInquiry
{
.
iframe
{
width
:
100%
;
height
:
100%
;
overflow
:
hidden
;
background
:
#f5f5f5
;
.search-content
{
width
:
calc
(
100%
-
228px
);
color
:
#333333
;
}
.search-content
{
width
:
100%
;
height
:
302px
;
background
:
#FFFFFF
;
/*margin: 0 auto;*/
margin
:
24px
;
padding
:
16px
;
.content_wrap
{
border-bottom
:
1px
solid
#DCDFE6
;
}
.search-btn
{
span
{
width
:
60px
;
height
:
32px
;
border-radius
:
4px
;
line-height
:
32px
;
text-align
:
center
;
display
:
inline-block
;
margin-top
:
12px
;
color
:
#606266
;
border
:
1px
solid
#DCDFE6
;
font-size
:
14px
;
cursor
:
pointer
;
}
}
.search-btn
span
:first-child
{
background
:
#0089ff
;
margin-right
:
12px
;
color
:
#FFFFFF
;
border
:
1px
solid
#0089ff
;
&
:hover
{
background
:
#0080ff
;
}
}
}
.land_content_wrap
{
display
:
flex
;
line-height
:
34px
;
margin-bottom
:
12px
;
height
:
34px
;
::v-deep
.el-radio
{
line-height
:
34px
;
margin-left
:
24px
;
}
::v-deep
.el-input__inner
{
line-height
:
34px
;
height
:
34px
;
}
.label
{
width
:
80px
;
padding-right
:
12px
;
text-align
:
right
;
color
:
#303133
;
font-size
:
14px
;
}
.search-input
{
position
:relative
;
margin-right
:
24px
;
width
:
390px
;
.icon
{
position
:
absolute
;
right
:
20px
;
top
:
9px
;
color
:
#A8ABB2
;
}
}
}
padding
:
16px
24px
;
padding-right
:
15px
;
box-sizing
:
border-box
;
.list-container
{
#companyIframe
{
width
:
100%
;
background
:
#FFFFFF
;
margin
:
24px
;
.item-jf1
{
text-align
:
center
;
padding
:
40px
0px
;
box-sizing
:
border-box
;
}
::v-deep
.list-count
{
height
:
54px
;
padding
:
0px
16px
;
border-bottom
:
1px
solid
#DCDFE6
;
.total
{
color
:
#3d3d3d
;
font-size
:
12px
;
position
:
relative
;
padding-left
:
6px
;
line-height
:
54px
;
&
:
:
before
{
content
:
""
;
position
:
absolute
;
width
:
2px
;
height
:
2px
;
background
:
rgba
(
35
,
35
,
35
,
0
.4
);
border-radius
:
50%
;
left
:
0px
;
top
:
50%
;
transform
:
translateY
(
-50%
);
}
}
.list-sort-btn
{
color
:
rgba
(
35
,
35
,
35
,
0
.8
);
height
:
30px
;
margin-top
:
12px
;
margin-left
:
16px
!
important
;
color
:
#232323
;
font-size
:
14px
;
padding-top
:
4px
;
box-sizing
:
border-box
;
.el-icon-arrow-down
{
margin-left
:
8px
!
important
;
}
}
}
.item
{
padding
:
12px
16px
;
h3
{
color
:
#303133
;
font-size
:
16px
;
font-weight
:
bold
;
line-height
:
24px
;
margin
:
0
0
12px
0
;
}
.cont-box
{
/*display: flex;*/
p
{
color
:
#909399
;
font-size
:
14px
;
line-height
:
22px
;
margin-bottom
:
8px
;
margin-right
:
24px
;
margin-top
:
0
;
display
:
inline-block
;
span
{
color
:
#303133
;
}
}
}
}
height
:
100%
;
}
}
</
style
>
dsk-operate-ui/src/views/macro/policyInquiry/index.vue
View file @
84686eaa
<
template
>
<!--
<no-ssr>
-->
<div
class=
"policyInquiry-detail"
>
<div
class=
"detail-main"
>
<h3>
土地整治首重科学规划——国务院47号文件解读
</h3>
<div
class=
"main-box"
>
<p>
政策名称:
<span>
土地整治首重科学规划——国务院47号文件
</span></p>
<p>
信息类型:
<span>
政策解读
</span></p>
<p>
公文种类:
<span>
公告
</span></p>
<p>
发文机关:
<span>
贵州省人民政府
</span></p>
<p>
发文字号:
<span>
闽政文〔2012〕121号
</span></p>
<p>
索引号:
<span>
2024-闽政文〔2012〕121-25
</span></p>
<p>
成交日期:
<span>
2024-01-05
</span></p>
<p>
发布日期:
<span>
2024-01-05
</span></p>
<p>
实施日期:
<span>
2024-01-25
</span></p>
<p>
废止日期:
<span>
2024-01-08
</span></p>
<p>
来源网站:
<span>
贵州省人民政府招标中标公示网
</span></p>
<p>
初始来源:
<span>
贵州省统计局
</span></p>
</div>
</div>
<div
class=
"zw-content"
>
<div
class=
"title"
>
<span>
原文信息
</span>
<span>
原文链接
</span>
</div>
<div
class=
"content-box"
></div>
</div>
</div>
<!--
</no-ssr>
-->
<div
v-loading=
"loading"
class=
"market-container"
>
<iframe
id=
"companyIframe"
class=
"market-iframe"
marginwidth=
"0"
marginheight=
"0"
scrolling=
"no"
frameborder=
"0"
width=
"100%"
:src=
"src"
/>
</div>
</
template
>
<
script
>
import
{
steerScroll
}
from
'@/assets/js/jskplug'
;
import
{
dskAccessToken
}
from
'@/api/common'
;
import
{
encodeStr
}
from
"@/assets/js/common"
;
import
MaxPageSizeTip
from
"@/views/components/MaxPageSizeTip.vue"
;
import
{
getUipIdByCid
}
from
'@/api/macro/macro'
;
export
default
{
name
:
"searchPolicyInquiry"
,
components
:{},
name
:
'Enterprise'
,
components
:
{
MaxPageSizeTip
},
data
()
{
return
{
}
return
{
encodeStr
,
loading
:
false
,
// 是否加载完成-当前页控制
iframeTimer
:
''
,
// 是否加载中定时器-当前页控制
footHeight
:
0
,
//底部高度,若为0(页面内部嵌套或者没有底部板块)
iframeHight
:
`
${
window
.
innerHeight
}
px`
,
// iframe高度-当前页控制
navigation
:
{
isFixed
:
true
,
fixedHeight
:
56
,
totalHeight
:
68
},
// iframe之外页面顶部对象,ifFixed:是否浮动;fixedHeight:浮动对象高度;totalHeight:顶部整体高度
src
:
''
,
//iframe嵌套页面地址
domain
:
''
,
// 插件地址
ak
:
'aec7b3ff2y2q8x6t49a7e2c463ce21912'
,
// 需要携带的sdkId
timelongs
:
7200
,
//刷新token时间
tokentimer
:
null
,
showMaxPageTip
:
false
,
iframeIns
:
null
,
};
},
created
()
{
this
.
domain
=
process
.
env
.
VUE_APP_SUB_SYSTEM_ADDRESS
;
this
.
gettokens
();
this
.
iframeObserver
();
window
.
addEventListener
(
'message'
,
this
.
linkListener
,
false
);
},
mounted
()
{
this
.
iframeLoading
();
// 判断iframe页面是否加载完成-当前页控制
// 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
);
window
.
removeEventListener
(
"message"
,
this
.
linkListener
);
// 移除layout样式
this
.
iframeIns
?.
contentWindow
?
this
.
iframeIns
.
contentWindow
.
postMessage
(
"removeHtmlLayoutStyle"
,
{
targetOrigin
:
this
.
domain
,
})
:
null
;
},
methods
:
{
linkListener
(
event
)
{
let
{
data
,
origin
}
=
event
;
if
(
origin
!=
this
.
domain
)
return
;
if
(
data
.
id
)
{
getUipIdByCid
([
data
.
id
]).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
if
(
res
.
data
&&
res
.
data
.
length
>
0
&&
res
.
data
[
0
].
uipId
)
{
this
.
$router
.
push
({
path
:
'/enterprise/'
+
this
.
encodeStr
(
data
.
id
)
});
}
else
{
this
.
$tab
.
openPage
(
data
.
title
,
'/company/'
+
this
.
encodeStr
(
data
.
id
));
}
}
}).
catch
(
error
=>
{
});
}
else
{
if
(
data
.
url
)
{
this
.
$tab
.
openPage
(
data
.
title
,
data
.
url
);
}
}
},
async
iframeObserver
()
{
try
{
await
this
.
$nextTick
();
this
.
iframeIns
=
document
.
querySelector
(
".market-iframe"
);
}
catch
(
error
)
{
console
.
log
(
error
);
}
},
gettokens
()
{
dskAccessToken
().
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
this
.
timelongs
=
res
.
data
.
expire
;
this
.
ak
=
res
.
data
.
accessToken
;
this
.
src
=
`
${
this
.
domain
}
/search/policyInquiry?ak=
${
this
.
ak
}
&initTime=
${
new
Date
().
getTime
()}
&uid=
${
this
.
ak
}
&origin=
${
window
.
location
.
origin
}
`
;
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="less" scoped>-->
<
style
lang=
"scss"
scoped
>
.
policyInquiry-detail
{
.
market-container
{
width
:
100%
;
height
:
100%
;
overflow
:
hidden
;
background
:
#f5f5f5
;
.detail-main
{
width
:
100%
;
background
:
#FFFFFF
;
padding
:
16px
16px
8px
16px
;
margin-bottom
:
16px
;
h3
{
color
:
#303133
;
font-size
:
16px
;
font-weight
:
bold
;
line-height
:
24px
;
margin
:
0
0
12px
0
;
}
.main-box
{
/*display: flex;*/
p
{
color
:
#909399
;
font-size
:
14px
;
line-height
:
22px
;
margin-bottom
:
8px
;
margin-right
:
24px
;
margin-top
:
0
;
display
:
inline-block
;
span
{
color
:
#303133
;
}
}
}
}
.zw-content
{
padding
:
16px
24px
;
padding-right
:
15px
;
box-sizing
:
border-box
;
position
:
absolute
;
left
:
0
;
top
:
0
;
.market-iframe
{
width
:
100%
;
background
:
#FFFFFF
;
padding
:
16px
;
.title
{
display
:
flex
;
flex-direction
:
row
;
justify-content
:
space-between
;
align-items
:
center
;
height
:
22px
;
line-height
:
22px
;
font-size
:
14px
;
}
.content-box
{
border
:
1px
solid
#DCDFE6
;
border-radius
:
4px
;
min-height
:
576px
;
margin-top
:
12px
;
}
height
:
100%
;
}
}
</
style
>
dsk-operate-ui/src/views/macro/policyInquiry/index1.vue
deleted
100644 → 0
View file @
553b5cb9
<
template
>
<div
v-loading=
"loading"
class=
"market-container"
>
<iframe
id=
"companyIframe"
class=
"market-iframe"
marginwidth=
"0"
marginheight=
"0"
scrolling=
"no"
frameborder=
"0"
width=
"100%"
:src=
"src"
/>
</div>
</
template
>
<
script
>
import
{
steerScroll
}
from
'@/assets/js/jskplug'
;
import
{
dskAccessToken
}
from
'@/api/common'
;
import
{
encodeStr
}
from
"@/assets/js/common"
;
import
MaxPageSizeTip
from
"@/views/components/MaxPageSizeTip.vue"
;
import
{
getUipIdByCid
}
from
'@/api/macro/macro'
;
export
default
{
name
:
'Enterprise'
,
components
:
{
MaxPageSizeTip
},
data
()
{
return
{
encodeStr
,
loading
:
false
,
// 是否加载完成-当前页控制
iframeTimer
:
''
,
// 是否加载中定时器-当前页控制
footHeight
:
0
,
//底部高度,若为0(页面内部嵌套或者没有底部板块)
iframeHight
:
`
${
window
.
innerHeight
}
px`
,
// iframe高度-当前页控制
navigation
:
{
isFixed
:
true
,
fixedHeight
:
56
,
totalHeight
:
68
},
// iframe之外页面顶部对象,ifFixed:是否浮动;fixedHeight:浮动对象高度;totalHeight:顶部整体高度
src
:
''
,
//iframe嵌套页面地址
domain
:
''
,
// 插件地址
ak
:
'aec7b3ff2y2q8x6t49a7e2c463ce21912'
,
// 需要携带的sdkId
timelongs
:
7200
,
//刷新token时间
tokentimer
:
null
,
showMaxPageTip
:
false
,
iframeIns
:
null
,
};
},
created
()
{
this
.
domain
=
process
.
env
.
VUE_APP_SUB_SYSTEM_ADDRESS
;
this
.
gettokens
();
this
.
iframeObserver
();
},
mounted
()
{
this
.
iframeLoading
();
// 判断iframe页面是否加载完成-当前页控制
// 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
);
// 移除layout样式
this
.
iframeIns
?.
contentWindow
?
this
.
iframeIns
.
contentWindow
.
postMessage
(
"removeHtmlLayoutStyle"
,
{
targetOrigin
:
this
.
domain
,
})
:
null
;
},
methods
:
{
async
iframeObserver
()
{
try
{
await
this
.
$nextTick
();
this
.
iframeIns
=
document
.
querySelector
(
".market-iframe"
);
}
catch
(
error
)
{
console
.
log
(
error
);
}
},
gettokens
()
{
dskAccessToken
().
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
this
.
timelongs
=
res
.
data
.
expire
;
this
.
ak
=
res
.
data
.
accessToken
;
this
.
src
=
`
${
this
.
domain
}
/search/policyInquiry?ak=
${
this
.
ak
}
&initTime=
${
new
Date
().
getTime
()}
&uid=
${
this
.
ak
}
&origin=
${
window
.
location
.
origin
}
`
;
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
;
padding-right
:
15px
;
box-sizing
:
border-box
;
position
:
absolute
;
left
:
0
;
top
:
0
;
.market-iframe
{
width
:
100%
;
height
:
100%
;
}
}
</
style
>
dsk-operate-ui/src/views/market/detail.vue
View file @
84686eaa
...
...
@@ -30,12 +30,7 @@
},
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.8:3400'
}
this
.
domain
=
process
.
env
.
VUE_APP_SUB_SYSTEM_ADDRESS
;
this
.
loading
=
true
if
(
process
.
browser
){
this
.
getAccesstoken
(
true
)
...
...
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