Commit f65545c3 authored by fulixin's avatar fulixin

Merge branch 'V20230915' into V20240319三方平台登录改造

parents 4efdec11 cb68368b
...@@ -142,12 +142,14 @@ security: ...@@ -142,12 +142,14 @@ security:
# actuator 监控配置 # actuator 监控配置
- /api/** - /api/**
- /actuator/** - /actuator/**
# - /**
# 多租户配置 # 多租户配置
tenant: tenant:
# 是否开启 # 是否开启
enable: true enable: true
# enable: false
# 排除表 # 排除表
excludes: excludes:
- sys_menu - sys_menu
......
...@@ -43,4 +43,271 @@ public class IndexController { ...@@ -43,4 +43,271 @@ public class IndexController {
public AjaxResult bidRank(@RequestBody JSONObject object) { public AjaxResult bidRank(@RequestBody JSONObject object) {
return enterpriseService.bidRank(object); return enterpriseService.bidRank(object);
} }
/**
*
*
* 总金额、总面积统计--刘杰那边的接口
* @param object
* @return {@link AjaxResult }
* @throws Exception
*/
@PostMapping(value = "/statisticsOfAmountAndArea")
public AjaxResult statisticsOfAmountAndArea(@RequestBody JSONObject object) {
return enterpriseService.statisticsOfAmountAndArea(object);
}
/**
*
*
* 基础维度统计--刘杰那边的接口
* /nationzj/landMarket/commonStatis
* @param object
* @return {@link AjaxResult }
* @throws Exception
*/
@PostMapping(value = "/jcwdtj")
public AjaxResult jcwdtj(@RequestBody JSONObject object) {
return enterpriseService.jcwdtj(object);
}
/**
*
*
* 前十企业统计--刘杰那边的接口
* /nationzj/landMarket/companyStatis
* @param object
* @return {@link AjaxResult }
* @throws Exception
*/
@PostMapping(value = "/topten")
public AjaxResult topten(@RequestBody JSONObject object) {
return enterpriseService.topten(object);
}
/**
*
*
* 商机-拟建查询-总金额统计--刘杰那边的接口
* /nationzj/landMarket/companyStatis
* @param object
* @return {@link AjaxResult }
* @throws Exception
*/
@PostMapping(value = "/njzjetj")
public AjaxResult njzjetj(@RequestBody JSONObject object) {
return enterpriseService.njzjetj(object);
}
/**
*
*
* 商机-拟建查询-基础维度统计--刘杰那边的接口
* /nationzj/landMarket/companyStatis
* @param object
* @return {@link AjaxResult }
* @throws Exception
*/
@PostMapping(value = "/njjcwdtj")
public AjaxResult njjcwdtj(@RequestBody JSONObject object) {
return enterpriseService.njjcwdtj(object);
}
/**
*
*
* 商机-拟建查询-前十企业统计--刘杰那边的接口
* /nationzj/landMarket/companyStatis
* @param object
* @return {@link AjaxResult }
* @throws Exception
*/
@PostMapping(value = "/njtopten")
public AjaxResult njtopten(@RequestBody JSONObject object) {
return enterpriseService.njtopten(object);
}
/**
*
*
* 商机-招标公告-总金额统计--刘杰那边的接口
* /nationzj/landMarket/companyStatis
* @param object
* @return {@link AjaxResult }
* @throws Exception
*/
@PostMapping(value = "/zbggzjetj")
public AjaxResult zbggzjetj(@RequestBody JSONObject object) {
return enterpriseService.zbggzjetj(object);
}
/**
*
*
* 商机-招标公告-基础维度统计--刘杰那边的接口
* /nationzj/landMarket/companyStatis
* @param object
* @return {@link AjaxResult }
* @throws Exception
*/
@PostMapping(value = "/zbggjcwdtj")
public AjaxResult zbggjcwdtj(@RequestBody JSONObject object) {
return enterpriseService.zbggjcwdtj(object);
}
/**
*
*
* 商机-招标公告-前十企业统计--刘杰那边的接口
* /nationzj/landMarket/companyStatis
* @param object
* @return {@link AjaxResult }
* @throws Exception
*/
@PostMapping(value = "/zbggtopten")
public AjaxResult zbggtopten(@RequestBody JSONObject object) {
return enterpriseService.zbggtopten(object);
}
/**
*
*
* 招标计划查询-总金额统计--刘杰那边的接口
* /nationzj/landMarket/companyStatis
* @param object
* @return {@link AjaxResult }
* @throws Exception
*/
@PostMapping(value = "/zbjhcxzjetj")
public AjaxResult zbjhcxzjetj(@RequestBody JSONObject object) {
return enterpriseService.zbjhcxzjetj(object);
}
/**
*
*
* 招标计划查询-基础维度统计--刘杰那边的接口
* /nationzj/landMarket/companyStatis
* @param object
* @return {@link AjaxResult }
* @throws Exception
*/
@PostMapping(value = "/zbjhcxjcwdtj")
public AjaxResult zbjhcxjcwdtj(@RequestBody JSONObject object) {
return enterpriseService.zbjhcxjcwdtj(object);
}
/**
*
*
* 招标计划查询-前十企业统计--刘杰那边的接口
* /nationzj/landMarket/companyStatis
* @param object
* @return {@link AjaxResult }
* @throws Exception
*/
@PostMapping(value = "/zbjhcxtopten")
public AjaxResult zbjhcxtopten(@RequestBody JSONObject object) {
return enterpriseService.zbjhcxtopten(object);
}
/**
*
*
* 重点项目清单查询-总金额统计--刘杰那边的接口
* /nationzj/landMarket/companyStatis
* @param object
* @return {@link AjaxResult }
* @throws Exception
*/
@PostMapping(value = "/zdxmqdzjetj")
public AjaxResult zdxmqdzjetj(@RequestBody JSONObject object) {
return enterpriseService.zdxmqdzjetj(object);
}
/**
*
*
* 重点项目清单查询-基础统计--刘杰那边的接口
* /nationzj/landMarket/companyStatis
* @param object
* @return {@link AjaxResult }
* @throws Exception
*/
@PostMapping(value = "/zdxmqdjctj")
public AjaxResult zdxmqdjctj(@RequestBody JSONObject object) {
return enterpriseService.zdxmqdjctj(object);
}
/**
*
*
* 专项债项目-总金额统计--刘杰那边的接口
* /nationzj/landMarket/companyStatis
* @param object
* @return {@link AjaxResult }
* @throws Exception
*/
@PostMapping(value = "/zxzxmzjetj")
public AjaxResult zxzxmzjetj(@RequestBody JSONObject object) {
return enterpriseService.zxzxmzjetj(object);
}
/**
*
*
* 专项债项目-基础统计--刘杰那边的接口
* /nationzj/landMarket/companyStatis
* @param object
* @return {@link AjaxResult }
* @throws Exception
*/
@PostMapping(value = "/zxzxmjctj")
public AjaxResult zxzxmjctj(@RequestBody JSONObject object) {
return enterpriseService.zxzxmjctj(object);
}
/**
*
*
* 专项债项目查询-企业统计--刘杰那边的接口
* /nationzj/landMarket/companyStatis
* @param object
* @return {@link AjaxResult }
* @throws Exception
*/
@PostMapping(value = "/zxzxmqytj")
public AjaxResult zxzxmqytj(@RequestBody JSONObject object) {
return enterpriseService.zxzxmqytj(object);
}
} }
...@@ -16,6 +16,6 @@ public class EnterpriseBusinessSkyProjectDetailBody { ...@@ -16,6 +16,6 @@ public class EnterpriseBusinessSkyProjectDetailBody {
* id * id
*/ */
@NotNull(message = "id不能为空") @NotNull(message = "id不能为空")
private Long sourceId; private String sourceId;
} }
...@@ -29,24 +29,46 @@ ...@@ -29,24 +29,46 @@
where ctu.user_id = #{dto.userId} and ctu.status = #{dto.status} where ctu.user_id = #{dto.userId} and ctu.status = #{dto.status}
<if test="dto.companyName != null and dto.companyName != '' "> and ct.company_name like concat('%',#{dto.companyName},'%')</if> <if test="dto.companyName != null and dto.companyName != '' "> and ct.company_name like concat('%',#{dto.companyName},'%')</if>
<if test="dto.isOn != null "> and ct.is_on = #{dto.isOn}</if> <if test="dto.isOn != null "> and ct.is_on = #{dto.isOn}</if>
<if test="dto.provinceIds != null and dto.provinceIds.size > 0 ">
and ct.province_id in <if test="dto.provinceIds != null ">
and (ct.province_id in
<foreach collection="dto.provinceIds" item="item" open="(" separator="," close=")"> <foreach collection="dto.provinceIds" item="item" open="(" separator="," close=")">
#{item} #{item}
</foreach> </foreach>
<if test="dto.cityIds != null ">
or ct.city_id in
<foreach collection="dto.cityIds" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<if test="dto.districtIds != null">
or ct.district_id in
<foreach collection="dto.districtIds" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
)
</if> </if>
<if test="dto.cityIds != null and dto.cityIds.size > 0 "> <if test="dto.provinceIds == null and dto.cityIds != null ">
and ct.city_id in and (ct.city_id in
<foreach collection="dto.cityIds" item="item" open="(" separator="," close=")"> <foreach collection="dto.cityIds" item="item" open="(" separator="," close=")">
#{item} #{item}
</foreach> </foreach>
<if test="dto.districtIds != null">
or ct.district_id in
<foreach collection="dto.districtIds" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
)
</if> </if>
<if test="dto.districtIds != null and dto.districtIds.size > 0 "> <if test="dto.provinceIds == null and dto.cityIds == null and dto.districtIds != null">
and ct.district_id in and ct.district_id in
<foreach collection="dto.districtIds" item="item" open="(" separator="," close=")"> <foreach collection="dto.districtIds" item="item" open="(" separator="," close=")">
#{item} #{item}
</foreach> </foreach>
</if> </if>
<if test="dto.companyNatures != null and dto.companyNatures.size > 0 "> <if test="dto.companyNatures != null and dto.companyNatures.size > 0 ">
and ct.company_nature in and ct.company_nature in
<foreach collection="dto.companyNatures" item="item" open="(" separator="," close=")"> <foreach collection="dto.companyNatures" item="item" open="(" separator="," close=")">
......
...@@ -12,8 +12,8 @@ VUE_CLI_BABEL_TRANSPILE_MODULES = true ...@@ -12,8 +12,8 @@ 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"
...@@ -266,6 +266,20 @@ export const constantRoutes = [ ...@@ -266,6 +266,20 @@ export const constantRoutes = [
} }
] ]
}, },
//宏观政策详情
{
path: '/hgzc',
component: Layout,
hidden: true,
redirect: 'noredirect',
children: [
{
path: '/hgzc/:id',
component: () => import('@/views/detail'),
meta: { title: "宏观政策详情" }
}
]
},
//公招市场详情 //公招市场详情
{ {
path: '/gzsc/:id', path: '/gzsc/:id',
......
...@@ -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() {
......
...@@ -225,7 +225,16 @@ ...@@ -225,7 +225,16 @@
document.removeEventListener('click', this.handleSearch1); document.removeEventListener('click', this.handleSearch1);
} }
} }
} },
// customerId: {
// handler(newVal, olVal) {
// if (newVal) {
// this.queryParams.combineId=newVal;
// this.handleSearch()
// }
// },
// deep: true, // 深度监听
// },
}, },
created() { created() {
this.searchDic() this.searchDic()
......
...@@ -232,12 +232,19 @@ ...@@ -232,12 +232,19 @@
document.removeEventListener('click', this.handleSearch1); document.removeEventListener('click', this.handleSearch1);
} }
} }
}
}, },
created() { customerId: {
handler(newVal, olVal) {
if (newVal && olVal) {
this.queryParams.combineId=newVal;
this.handleQuery() this.handleQuery()
this.getMemberCount() this.getMemberCount()
this.dataRegion() }
},
deep: true, // 深度监听
},
},
created() {
this.formData[0].options=this.cycj; this.formData[0].options=this.cycj;
this.formData[3].moneyList=this.moneyList; this.formData[3].moneyList=this.moneyList;
//企业类型 //企业类型
...@@ -245,6 +252,13 @@ ...@@ -245,6 +252,13 @@
let data = result.code == 200 ? result.data:[]; let data = result.code == 200 ? result.data:[];
this.qyType=data; this.qyType=data;
}) })
this.handleQuery()
this.getMemberCount()
this.dataRegion()
},
mounted(){
}, },
methods: { methods: {
//主营业务 //主营业务
...@@ -294,9 +308,9 @@ ...@@ -294,9 +308,9 @@
this.paramsData=params || {}; this.paramsData=params || {};
this.tableLoading=true; this.tableLoading=true;
let data = this.getAreaList(params || this.queryParams) let data = this.getAreaList(params || this.queryParams)
if(!data.combineId){ // if(!data.combineId){
data.combineId=this.customerId; // data.combineId=this.customerId;
} // }
this.dataEXCEL=JSON.parse(JSON.stringify(data)); this.dataEXCEL=JSON.parse(JSON.stringify(data));
memberList(data).then(res=>{ memberList(data).then(res=>{
this.isSkeleton = false this.isSkeleton = false
...@@ -387,14 +401,14 @@ ...@@ -387,14 +401,14 @@
} }
} }
if(key === '2'){ if(key === '2'){
this.queryParams.maxStockPercent=''
// this.paramsData.maxStockPercent=''
if(name === this.cgblName){ if(name === this.cgblName){
this.cgblName='' this.cgblName=''
this.queryParams.minStockPercent=''
this.queryParams.maxStockPercent=''
}else { }else {
this.cgblName=name; this.cgblName=name;
}
this.queryParams.maxStockPercent=''
this.paramsData.maxStockPercent=''
if(this.cgblName){
if(name === '100%'){ if(name === '100%'){
this.queryParams.minStockPercent=1 this.queryParams.minStockPercent=1
} }
...@@ -411,14 +425,11 @@ ...@@ -411,14 +425,11 @@
this.queryParams.minStockPercent=0.01 this.queryParams.minStockPercent=0.01
this.queryParams.maxStockPercent=0.05 this.queryParams.maxStockPercent=0.05
} }
}else {
this.queryParams.minStockPercent=''
this.queryParams.maxStockPercent=''
} }
if(this.paramsData){ if(this.paramsData){
if(!this.paramsData.combineId){ // if(!this.paramsData.combineId){
this.paramsData=this.queryParams this.paramsData=this.queryParams
} // }
this.paramsData.pageNum =1 this.paramsData.pageNum =1
this.queryParams.pageNum =1 this.queryParams.pageNum =1
} }
......
...@@ -67,6 +67,17 @@ ...@@ -67,6 +67,17 @@
props: ['customerId','combineName'], props: ['customerId','combineName'],
mixins: [mixin], mixins: [mixin],
components:{ExportDialog}, components:{ExportDialog},
watch:{
// customerId: {
// handler(newVal, olVal) {
// if (newVal) {
// this.queryParams.combineId=newVal;
// this.handleQuery()
// }
// },
// deep: true, // 深度监听
// },
},
data(){ data(){
return{ return{
isSkeleton:true, isSkeleton:true,
......
...@@ -62,6 +62,17 @@ ...@@ -62,6 +62,17 @@
components:{ components:{
QualificationsDetail QualificationsDetail
}, },
watch:{
// customerId: {
// handler(newVal, olVal) {
// if (newVal) {
// this.queryParams.combineId=newVal;
// this.getCertificateList()
// }
// },
// deep: true, // 深度监听
// },
},
data(){ data(){
return{ return{
isSkeleton:true, isSkeleton:true,
......
...@@ -281,6 +281,23 @@ ...@@ -281,6 +281,23 @@
props: ['customerId'], props: ['customerId'],
mixins: [mixin], mixins: [mixin],
components:{}, components:{},
watch:{
// customerId: {
// handler(newVal, olVal) {
// if (newVal) {
// this.queryParams.combineId=newVal;
// this.queryParams1.combineId=newVal;
// this.handleQuery()
// this.getBidByYear()
// this.getGroupByMoney()
// this.getGroupByType()
// this.getGroupByLowerRate()
// this.getPeojectTop()
// }
// },
// deep: true, // 深度监听
// },
},
data(){ data(){
return{ return{
queryParams: { queryParams: {
......
...@@ -63,6 +63,17 @@ ...@@ -63,6 +63,17 @@
props: ['customerId','combineName'], props: ['customerId','combineName'],
mixins: [mixin], mixins: [mixin],
components:{CustomTimeSelect,CustomMoneySelect,ExportDialog}, components:{CustomTimeSelect,CustomMoneySelect,ExportDialog},
watch:{
// customerId: {
// handler(newVal, olVal) {
// if (newVal) {
// this.queryParams.combineId=newVal;
// this.handleQuery()
// }
// },
// deep: true, // 深度监听
// },
},
data(){ data(){
return{ return{
isSkeleton:true, isSkeleton:true,
......
...@@ -27,6 +27,24 @@ ...@@ -27,6 +27,24 @@
name:this.combineName name:this.combineName
} }
}, },
watch:{
// customerId: {
// handler(newVal, olVal) {
// if (newVal) {
// this.id=newVal;
// }
// },
// deep: true, // 深度监听
// },
combineName: {
handler(newVal, olVal) {
if (newVal) {
this.name=newVal;
}
},
deep: true, // 深度监听
},
},
created() { created() {
}, },
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<div class="header-container"> <div class="header-container">
<div class="flex-box part-header"> <div class="flex-box part-header">
<img class="header-logo" :src="details && details.logoUrl || require('@/assets/images/detail/company_logo.png')"> <img class="header-logo" :src="details && details.logoUrl || require('@/assets/images/detail/company_logo.png')">
{{name || '--'}} {{details.companyName || '--'}}
</div> </div>
</div> </div>
<div class="flex-box group-main" ref="contentData"> <div class="flex-box group-main" ref="contentData">
...@@ -11,12 +11,25 @@ ...@@ -11,12 +11,25 @@
<side-bar ref="sidebar" :statisticObj="statisticObj" @currentPath="showPartPage" :pathName="currentPath.pathName" :customerId="customerId"/> <side-bar ref="sidebar" :statisticObj="statisticObj" @currentPath="showPartPage" :pathName="currentPath.pathName" :customerId="customerId"/>
</div> </div>
<div class="group-right"> <div class="group-right">
<div id="groupBox" v-if="customerId"> <div class="data-list" v-if="currentPath.pathName=='members'">
<Members v-if="currentPath.pathName=='members'" @handle-scroll="scrollToTop" :customer-id="customerId" :isSkeleton="isSkeleton" :combineName="name"/> <div class="list">
<Qualifications v-if="currentPath.pathName=='qualifications'" @handle-scroll="scrollToTop" :customer-id="customerId" :isSkeleton="isSkeleton" :combineName="name"/> <div class="item" v-for="(item,index) in detailsList" :class="{'color': color === index}" @click="clickItem(item,index)">
<Landtransaction v-if="currentPath.pathName=='landtransaction'" @handle-scroll="scrollToTop" :customer-id="customerId" :isSkeleton="isSkeleton" :combineName="name"/> <img class="logo" :src="item.logoUrl || require('@/assets/images/detail/company_logo.png')" />
<Performance v-if="currentPath.pathName=='performance'" @handle-scroll="scrollToTop" :customer-id="customerId" :isSkeleton="isSkeleton" :combineName="name"/> <div style="float: left">
<Zhaobiao v-if="currentPath.pathName=='zhaobiao'" @handle-scroll="scrollToTop" :customer-id="customerId" :isSkeleton="isSkeleton" :combineName="name"/> <h3>{{item.companyName}}</h3>
<p>集团成员:{{item.combineMemberNum}}</p>
<p>集团本身:
<el-tooltip effect="dark" :content="item.combineMemberName" placement="bottom-start"><span>{{ item.combineMemberName }}</span></el-tooltip></p>
</div>
</div>
</div>
</div>
<div id="groupBox" v-if="id">
<Members v-if="currentPath.pathName=='members'" @handle-scroll="scrollToTop" :customerId="id" :isSkeleton="isSkeleton" :combineName="name"/>
<Qualifications v-if="currentPath.pathName=='qualifications'" @handle-scroll="scrollToTop" :customer-id="id" :isSkeleton="isSkeleton" :combineName="name"/>
<Landtransaction v-if="currentPath.pathName=='landtransaction'" @handle-scroll="scrollToTop" :customer-id="id" :isSkeleton="isSkeleton" :combineName="name"/>
<Performance v-if="currentPath.pathName=='performance'" @handle-scroll="scrollToTop" :customer-id="id" :isSkeleton="isSkeleton" :combineName="name"/>
<Zhaobiao v-if="currentPath.pathName=='zhaobiao'" @handle-scroll="scrollToTop" :customer-id="id" :isSkeleton="isSkeleton" :combineName="name"/>
</div> </div>
</div> </div>
</div> </div>
...@@ -50,7 +63,10 @@ ...@@ -50,7 +63,10 @@
isCompany: false, isCompany: false,
isSkeleton: false, isSkeleton: false,
name:'', name:'',
id:'',
details:{}, details:{},
detailsList:[],
color:0
} }
}, },
created() { created() {
...@@ -58,7 +74,10 @@ ...@@ -58,7 +74,10 @@
this.customerId = this.$route.params.id this.customerId = this.$route.params.id
} }
combineMemberLogo({combineId: this.customerId}).then(res=>{ combineMemberLogo({combineId: this.customerId}).then(res=>{
this.details=res.data; this.detailsList=res.data;
this.details=res.data[0];
this.name=this.$route.query.name ? this.$route.query.name : this.details.companyName
this.id = this.$route.params.id
}) })
infoMemberCount({combineId: this.customerId}).then(res=>{ infoMemberCount({combineId: this.customerId}).then(res=>{
if(res.code==200){ if(res.code==200){
...@@ -68,12 +87,22 @@ ...@@ -68,12 +87,22 @@
// if (this.$route.query.path) { // 获取跳转对应板块 // if (this.$route.query.path) { // 获取跳转对应板块
// this.currentPath.pathName = this.$route.query.path // this.currentPath.pathName = this.$route.query.path
// } // }
this.name=this.$route.query.name ? this.$route.query.name : this.details.companyName
}, },
mounted(){}, mounted(){},
methods: { methods: {
clickItem(item,index){
this.color=index;
this.combineId=item.combineId
this.id=item.combineId
this.name=item.combineName
},
showPartPage(e){ showPartPage(e){
this.currentPath = e this.currentPath = e;
this.color=0;
this.combineId=this.details.combineId
this.id=this.details.combineId
this.name=this.details.combineName
}, },
scrollToTop() { scrollToTop() {
this.$nextTick(() => { this.$nextTick(() => {
...@@ -113,6 +142,51 @@ ...@@ -113,6 +142,51 @@
background: #FFFFFF; background: #FFFFFF;
border-radius: 4px; border-radius: 4px;
margin-left: 160px; margin-left: 160px;
.data-list{
margin: 16px;
overflow-x: auto;
white-space: nowrap;
.item{
width: 283px;
height: 88px;
border-radius: 4px;
margin-right: 16px;
display: inline-block;
border: 1px solid #EFEFEF;
padding: 12px;
cursor: pointer;
.logo{
width: 64px;
height: 64px;
border-radius: 2px;
float: left;
margin-right: 12px;
}
h3{
font-size: 16px;
font-weight: normal;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
width: 178px;
margin: 0;
}
p{
font-size: 12px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
width: 178px;
margin-top: 6px;
margin-bottom: 0;
}
}
.color{
background: #0081FF;
color:#fff;
}
}
::v-deep .el-table__header-wrapper{ ::v-deep .el-table__header-wrapper{
position: sticky; position: sticky;
top:0; top:0;
......
<template>
<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: 'GzscDetail',
data() {
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
}
},
computed: {
},
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: {
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="scss" scoped>
.iframe {
width: 100%;
padding: 16px 24px;
padding-right: 15px;
box-sizing: border-box;
#companyIframe {
width: 100%;
height: 100%;
}
}
</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();
window.addEventListener("message", this.pagecapListener, { passive: true });
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.addEventListener("message", this.pagecapListener, { passive: true });
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);
}
}
},
// 列表翻页上限
pagecapListener(e) {
const { origin, data } = e;
if (origin != this.domain) return;
if (data == "pageCurrentMaxSize") {
// this.$maxTip("您可通过筛选工具来查询数据~若有更多需求请联系客服 0262798729!").then(({ done, uid }) => {
this.$maxTip("对不起,最多只能访问500页!").then(({ done, uid }) => {
done();
});
}
},
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)
......
<template> <template>
<div v-loading="loading" class="market-container"> <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" /> <iframe id="companyIframe" class="market-iframe" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" width="100%" :src="src" />
<!--<iframe id="companyIframe" class="market-iframe" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" width="100%" src="https://www.jianchayun.com/company/56546856314e567a69/?index=true" />-->
</div> </div>
</template> </template>
......
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
<div class="subsystem-iframe-container"> <div class="subsystem-iframe-container">
<iframe-com-ins ref="subsystemIframeContainer" :iframeStyles="urlQueryParams.iframeStyles" :styles="urlQueryParams.styles" <iframe-com-ins ref="subsystemIframeContainer" :iframeStyles="urlQueryParams.iframeStyles" :styles="urlQueryParams.styles"
:url="urlQueryParams.url"></iframe-com-ins> :url="urlQueryParams.url"></iframe-com-ins>
</div> </div>
</template> </template>
<script> <script>
......
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