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
43e66c6b
Commit
43e66c6b
authored
Jun 12, 2024
by
danfuman
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改
parent
96ebfcd5
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
374 additions
and
2 deletions
+374
-2
.env.development
dsk-operate-ui/.env.development
+2
-2
index.vue
dsk-operate-ui/src/views/macro/policyInquiry/index.vue
+253
-0
index1.vue
dsk-operate-ui/src/views/macro/policyInquiry/index1.vue
+119
-0
No files found.
dsk-operate-ui/.env.development
View file @
43e66c6b
...
@@ -13,7 +13,7 @@ VUE_CLI_BABEL_TRANSPILE_MODULES = true
...
@@ -13,7 +13,7 @@ VUE_CLI_BABEL_TRANSPILE_MODULES = true
# 子系统地址
# 子系统地址
# VUE_APP_SUB_SYSTEM_ADDRESS = "https://pre-plug.jiansheku.com"
# VUE_APP_SUB_SYSTEM_ADDRESS = "https://pre-plug.jiansheku.com"
VUE_APP_SUB_SYSTEM_ADDRESS = "http://192.168.60.
104
:3400"
VUE_APP_SUB_SYSTEM_ADDRESS = "http://192.168.60.
9
:3400"
# Bi大屏系统地址
# Bi大屏系统地址
VUE_APP_BI_SYSTEM_ADDRESS = "https://192.168.60.104:8001"
VUE_APP_BI_SYSTEM_ADDRESS = "https://192.168.60.104:8001"
\ No newline at end of file
dsk-operate-ui/src/views/macro/policyInquiry/index.vue
0 → 100644
View file @
43e66c6b
<
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=
"table-list-container"
>
</div>
</div>
<!--
</no-ssr>
-->
</
template
>
<
script
>
export
default
{
name
:
"searchPolicyInquiry"
,
components
:{},
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
:
''
}
},
created
()
{
},
mounted
()
{
},
methods
:
{
}
}
</
script
>
<!--<style lang="less" scoped>-->
<
style
lang=
"scss"
scoped
>
.public-policyInquiry
{
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
;
}
}
}
}
</
style
>
dsk-operate-ui/src/views/macro/policyInquiry/index1.vue
0 → 100644
View file @
43e66c6b
<
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
>
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