Commit 84686eaa authored by danfuman's avatar danfuman

修改

parent 553b5cb9
...@@ -293,6 +293,20 @@ export const constantRoutes = [ ...@@ -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', path: '/gzsc',
......
...@@ -33,12 +33,7 @@ export default { ...@@ -33,12 +33,7 @@ export default {
}; };
}, },
created() { created() {
if(window.location.host === 'http://szh.jiansheku.com' || window.location.host === 'szh.jiansheku.com'){ this.domain = process.env.VUE_APP_SUB_SYSTEM_ADDRESS;
this.domain='https://plug.jiansheku.com'
}else {
this.domain='https://pre-plug.jiansheku.com'
// this.domain='http://192.168.60.210:3400'
}
this.gettokens(); this.gettokens();
}, },
mounted() { mounted() {
......
<template> <template>
<!--<no-ssr>--> <div v-loading="loading" class="market-container">
<div class="policyInquiry-detail"> <iframe id="companyIframe" class="market-iframe" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" width="100%" :src="src" />
<div class="detail-main"> </div>
<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>-->
</template> </template>
<script> <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 { export default {
name: "searchPolicyInquiry", name: 'Enterprise',
components:{}, components: {
MaxPageSizeTip
},
data() { 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() { created() {
this.domain = process.env.VUE_APP_SUB_SYSTEM_ADDRESS;
this.gettokens();
this.iframeObserver();
window.addEventListener('message', this.linkListener, false);
}, },
mounted() { 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: { 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> </script>
<!--<style lang="less" scoped>-->
<style lang="scss" scoped> <style lang="scss" scoped>
.policyInquiry-detail{ .market-container {
width: 100%; width: 100%;
height: 100%; height: 100%;
overflow: hidden; padding: 16px 24px;
background: #f5f5f5; padding-right: 15px;
.detail-main{ box-sizing: border-box;
width: 100%; position: absolute;
background: #FFFFFF; left: 0;
padding: 16px 16px 8px 16px; top: 0;
margin-bottom: 16px;
h3{ .market-iframe {
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{
width: 100%; width: 100%;
background: #FFFFFF; height: 100%;
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;
}
} }
} }
</style> </style>
<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>
...@@ -30,12 +30,7 @@ ...@@ -30,12 +30,7 @@
}, },
created() { created() {
if(window.location.host === 'http://szh.jiansheku.com' || window.location.host === 'szh.jiansheku.com'){ this.domain = process.env.VUE_APP_SUB_SYSTEM_ADDRESS;
this.domain='https://plug.jiansheku.com'
}else {
this.domain='https://pre-plug.jiansheku.com'
// this.domain='http://192.168.60.8:3400'
}
this.loading = true this.loading = true
if(process.browser){ if(process.browser){
this.getAccesstoken(true) this.getAccesstoken(true)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment