Commit 7f25d410 authored by liuChang's avatar liuChang

Merge branch 'dev20230707' of 192.168.60.201:root/dsk-operate-sys into dev20230707

parents c97facf0 9703e530
......@@ -128,4 +128,7 @@ export default {
.mobile .fixed-header {
width: 100%;
}
.EnterpriseData{
min-width: 1648px;
}
</style>
......@@ -101,9 +101,12 @@
<div class="flex-box" @click="linkTo(statistic.combineMember)">
<img src="@/assets/images/detail/overview/company_ssjt.png" alt="所属集团" title="所属集团" class="swiper-img">
<div class="swiper-item">
<span class="swiper-name">
所属集团-{{statistic.combineMember.companyName}}
</span>
<el-popover v-if="statistic.combineMember.companyName.length>9" trigger="hover" :content="'所属集团-'+statistic.combineMember.companyName">
<span class="swiper-name" slot="reference">
所属集团-{{ statistic.combineMember.companyName }}
</span>
</el-popover>
<span v-else class="swiper-name">所属集团-{{statistic.combineMember.companyName}}</span>
<div >
<span >集团成员:</span><i class="num" >{{statistic.combineMember.memberNum}}</i>
</div>
......
......@@ -13,8 +13,8 @@
<p class="p1">建议调整关键词或筛选条件,重新搜索</p>
</div>
<div v-else class="infinite-list-item" v-for="(item,index) in searchList" @click="selCompany(item)" :key="index">
<!-- <img :src="item.logo" alt="" > -->
<div class="logo" :style="{background:colors[index%5]}">{{ item.combineMemberName.slice(0,4) }}</div>
<img v-if="item.logoUrl" :src="item.logoUrl" alt="" >
<div class="logo" v-else :style="{background:colors[index%5]}">{{ item.combineMemberName.slice(0,4) }}</div>
<div>
<span style="font-size: 14px;color: #0384FA;" v-html="item.combineName" ></span>
<div style="height:22px;line-height: 22px;"><span class="infinite-label">集团成员:</span>{{ item.combineMemberNum }}</div>
......@@ -26,115 +26,115 @@
</div>
</div>
</div>
<skeleton style="margin-left:16px;" v-if="isSkeleton"></skeleton>
<div v-else style="position: relative;">
<div class="wrap">
<template v-if="activeIndex==0">
<div class="count">{{ total }}</div>
<div >
<div class="infinite-list-item" v-for="(item,index) in companData" @click="selCompany(item)" :key="index">
<!-- <img :src="item.logo" alt="" > -->
<div class="logo" :style="{background:colors[index%5]}">{{ item.combineMemberName.slice(0,4) }}</div>
<div style="float: left;">
<span class="name" v-html="item.combineName" ></span>
<div style="height:28px;line-height: 28px;"><span class="infinite-label">集团成员:</span>{{ item.combineMemberNum }}</div>
<div class="name1"><span class="infinite-label">集团本身:</span>{{ item.combineMemberName }}</div>
</div>
</div>
</div>
</template>
<!-- 央企子集团 -->
<template v-if="activeIndex==1">
<div class="count">{{ childListTotal }}</div>
<div class="child-wrap" :id="item.type" v-for="(item,index) in childList" :key="index">
<div class="anchor"></div>
<div class="count1" >{{item.type}}<span> {{ item.total }}</span></div>
<div :key="index">
<div class="infinite-list-item" v-for="(item1,index1) in item.list" @click="selCompany(item1)" :key="index1+'i'">
<!-- <img :src="item1.logo" alt="" > -->
<div class="logo" :style="{background:colors[index1%5]}">{{ item1.combineMemberName.slice(0,4) }}</div>
<div style="float: left;">
<span class="name" v-html="item1.combineName" ></span>
<div style="height:28px;line-height: 28px;"><span class="infinite-label">集团成员:</span>{{ item1.combineMemberNum }}</div>
<div class="name1"><span class="infinite-label">集团本身:</span>{{ item1.combineMemberName }}</div>
</div>
</div>
</div>
<el-divider v-if="item.total>item.page*12" @click="moreClick1(item.type,index)">更多<span></span></el-divider>
</div>
</template>
<!-- 地方国企 -->
<template v-if="activeIndex==2">
<div class="province_wrap">
<template v-for="(item,index) in provinces">
<span class="province_item" @click="provinceClick(index)" :class="provinceIndex==index?'active':''" v-if="item.id!=710000&&item.id!=810000&&item.id!=820000&&item.id!=900000" :key="index">{{ item.nameSimple }}</span>
</template>
</div>
<div class="count">共{{ localList1Total }}条</div>
<!-- 省管国企 -->
<div class="child-wrap" id="管国企">
<div class="anchor"></div>
<div class="count1" >{{provinceId=='110000'||provinceId=='120000'||provinceId=='500000'||provinceId=='310000'?'市':'省'}}管国企<span> {{ localList.total }}</span></div>
<template v-for="(item,index) in localList.local">
<div class="infinite-list-item" v-if="index<localListPage*12" :key="index" @click="selCompany(item)" >
<!-- <img :src="item.logo" alt="" > -->
<div class="logo" :style="{background:colors[index%5]}">{{ item.combineMemberName.slice(0,4) }}</div>
<skeleton style="margin-left:16px;" v-if="isSkeleton"></skeleton>
<div v-else id="anchorRef_wrap">
<div class="contetn_wrap">
<div class="wrap" id="anchorRef" @scroll="handleScroll">
<template v-if="activeIndex==0">
<span class="count">{{ total }}</span><el-popover style="margin-left:8px;position: relative;top: 2px;color:#515a6e;" trigger="hover" content="央企集团数据包含国资委及财政部公示的央企名录。" placement="right"><i slot="reference" class="el-icon-warning-outline"></i></el-popover>
<div >
<div class="infinite-list-item" v-for="(item,index) in companData" @click="selCompany(item)" :key="index">
<img v-if="item.logoUrl" :src="item.logoUrl" alt="" >
<div v-else class="logo" :style="{background:colors[index%5]}">{{ item.combineMemberName.slice(0,4) }}</div>
<div style="float: left;">
<span class="name" v-html="item.combineName" ></span>
<div style="height:28px;line-height: 28px;"><span class="infinite-label">集团成员:</span>{{ item.combineMemberNum }}</div>
<div class="name1"><span class="infinite-label">集团本身:</span>{{ item.combineMemberName }}</div>
</div>
</div>
</template>
<el-divider v-if="localList.total>localListPage*12" @click="localListPage++">更多<span></span></el-divider>
</div>
<!-- 市区国企 -->
<div class="child-wrap" :id="item.address" v-for="(item,index) in localList1" :key="index">
<div class="anchor"></div>
<div class="count1" >{{item.address}}<span> {{ item.total }}</span></div>
<div :key="index">
<div class="infinite-list-item" v-for="(item1,index1) in item.result" @click="selCompany(item1)" :key="index1+'i'">
<!-- <img :src="item1.logo" alt="" > -->
<div class="logo" :style="{background:colors[index1%5]}">{{ item1.combineMemberName.slice(0,4) }}</div>
<div style="float: left;">
<span class="name" v-html="item1.combineName" ></span>
<div style="height:28px;line-height: 28px;"><span class="infinite-label">集团成员:</span>{{ item1.combineMemberNum }}</div>
<div class="name1"><span class="infinite-label">集团本身:</span>{{ item1.combineMemberName }}</div>
</div>
</template>
<!-- 央企子集团 -->
<template v-if="activeIndex==1">
<div class="count">{{ childListTotal }}</div>
<div class="child-wrap" :id="'anchor-'+index" v-for="(item,index) in childList" :key="index">
<div class="anchor"></div>
<div class="count1" >{{item.type}}<span> {{ item.total }}</span></div>
<div :key="index">
<div class="infinite-list-item" v-for="(item1,index1) in item.list" @click="selCompany(item1)" :key="index1+'i'">
<img v-if="item.logoUrl" :src="item.logoUrl" alt="" >
<div v-else class="logo" :style="{background:colors[index1%5]}">{{ item1.combineMemberName.slice(0,4) }}</div>
<div style="float: left;">
<span class="name" v-html="item1.combineName" ></span>
<div style="height:28px;line-height: 28px;"><span class="infinite-label">集团成员:</span>{{ item1.combineMemberNum }}</div>
<div class="name1"><span class="infinite-label">集团本身:</span>{{ item1.combineMemberName }}</div>
</div>
</div>
</div>
<el-divider v-if="item.total>item.page*12" @click="moreClick1(item.type,index)">更多<span></span></el-divider>
</div>
</template>
<!-- 地方国企 -->
<template v-if="activeIndex==2">
<div class="province_wrap">
<template v-for="(item,index) in provinces">
<span class="province_item" @click="provinceClick(index)" :class="provinceIndex==index?'active':''" v-if="item.id!=710000&&item.id!=810000&&item.id!=820000&&item.id!=900000" :key="index">{{ item.nameSimple }}</span>
</template>
</div>
<div class="count">共{{ localList1Total }}条</div>
<!-- 省管国企 -->
<div class="child-wrap" id="anchor-0" >
<div class="anchor"></div>
<div class="count1" >{{provinceId=='110000'||provinceId=='120000'||provinceId=='500000'||provinceId=='310000'?'市':'省'}}管国企<span> {{ localList.total }}</span></div>
<template v-for="(item,index) in localList.local">
<div class="infinite-list-item" v-if="index<localListPage*12" :key="index" @click="selCompany(item)" >
<img v-if="item.logoUrl" :src="item.logoUrl" alt="" >
<div v-else class="logo" :style="{background:colors[index%5]}">{{ item.combineMemberName.slice(0,4) }}</div>
<div style="float: left;">
<span class="name" v-html="item.combineName" ></span>
<div style="height:28px;line-height: 28px;"><span class="infinite-label">集团成员:</span>{{ item.combineMemberNum }}</div>
<div class="name1"><span class="infinite-label">集团本身:</span>{{ item.combineMemberName }}</div>
</div>
</div>
</template>
<el-divider v-if="localList.total>localListPage*12" @click="localListPage++">更多<span></span></el-divider>
</div>
<!-- 市区国企 -->
<div class="child-wrap" :id="'anchor-'+(index+1)" v-for="(item,index) in localList1" :key="index">
<div class="anchor"></div>
<div class="count1" >{{item.address}}<span> {{ item.total }}</span></div>
<div :key="index">
<div class="infinite-list-item" v-for="(item1,index1) in item.result" @click="selCompany(item1)" :key="index1+'i'">
<img v-if="item.logoUrl" :src="item.logoUrl" alt="" >
<div v-else class="logo" :style="{background:colors[index1%5]}">{{ item1.combineMemberName.slice(0,4) }}</div>
<div style="float: left;">
<span class="name" v-html="item1.combineName" ></span>
<div style="height:28px;line-height: 28px;"><span class="infinite-label">集团成员:</span>{{ item1.combineMemberNum }}</div>
<div class="name1"><span class="infinite-label">集团本身:</span>{{ item1.combineMemberName }}</div>
</div>
</div>
</div>
<el-divider v-if="item.total>item.page*12" @click="moreClick2(item.addressId,index)">更多<span></span></el-divider>
</div>
<el-divider v-if="item.total>item.page*12" @click="moreClick2(item.addressId,index)">更多<span></span></el-divider>
</div>
</template>
<!-- 民营集团 -->
<template v-if="activeIndex==3">
<div class="count">{{ childListTotal }}</div>
<div class="child-wrap" :id="item.type" v-for="(item,index) in childList" :key="index">
<div class="anchor"></div>
<div class="count1" >{{item.type}}<span> {{ item.total }}</span></div>
<div :key="index">
<div class="infinite-list-item" v-for="(item1,index1) in item.list" @click="selCompany(item1)" :key="index1+'i'">
<!-- <img :src="item1.logo" alt="" > -->
<div class="logo" :style="{background:colors[index1%5]}">{{ item1.combineMemberName.slice(0,4) }}</div>
<div style="float: left;">
<span class="name" v-html="item1.combineName" ></span>
<div style="height:28px;line-height: 28px;"><span class="infinite-label">集团成员:</span>{{ item1.combineMemberNum }}</div>
<div class="name1"><span class="infinite-label">集团本身:</span>{{ item1.combineMemberName }}</div>
</template>
<!-- 民营集团 -->
<template v-if="activeIndex==3">
<div class="count">{{ childListTotal }}</div>
<div class="child-wrap" :id="'anchor-'+index" v-for="(item,index) in childList" :key="index">
<div class="anchor"></div>
<div class="count1" >{{item.type}}<span> {{ item.total }}</span></div>
<div :key="index">
<div class="infinite-list-item" v-for="(item1,index1) in item.list" @click="selCompany(item1)" :key="index1+'i'">
<img v-if="item.logoUrl" :src="item.logoUrl" alt="" >
<div v-else class="logo" :style="{background:colors[index1%5]}">{{ item1.combineMemberName.slice(0,4) }}</div>
<div style="float: left;">
<span class="name" v-html="item1.combineName" ></span>
<div style="height:28px;line-height: 28px;"><span class="infinite-label">集团成员:</span>{{ item1.combineMemberNum }}</div>
<div class="name1"><span class="infinite-label">集团本身:</span>{{ item1.combineMemberName }}</div>
</div>
</div>
</div>
<el-divider v-if="item.total>item.page*12" @click="moreClick3(item.type,index)">更多<span></span></el-divider>
</div>
</template>
</div>
<div v-if="activeIndex!=0" class="anchor_box">
<div class="anchor_wrap">
<div class="anchor_item" v-for="(item,i) in childList"
:class="anchorIndex==i?'active_anchor_item':''" :key="i" @click="anchorClick(i)">
{{item.type||(item.address=='管国企'?provinceId=='110000'||provinceId=='120000'||provinceId=='500000'||provinceId=='310000'?'市管国企':'省管国企':item.address)}}
</div>
<el-divider v-if="item.total>item.page*12" @click="moreClick3(item.type,index)">更多<span></span></el-divider>
</div>
</template>
</div>
<div v-if="activeIndex!=0" class="anchor_box" :class="activeIndex==2?'anchor_box1':''">
<div class="anchor_wrap">
<div class="anchor_item" v-for="(item,i) in childList"
:class="anchorIndex==i?'active_anchor_item':''" :key="i" @click="anchorClick(i)">
{{item.type||(item.address=='管国企'?provinceId=='110000'||provinceId=='120000'||provinceId=='500000'||provinceId=='310000'?'市管国企':'省管国企':item.address)}}
</div>
</div>
</div>
......@@ -176,11 +176,6 @@ export default {
provinceId:110000,
}
},
beforeDestroy() {
if (process.browser) {
document.removeEventListener("scroll", this.handleScroll);
}
},
created(){
api.region(100000).then(res=>{
if(res.code==200){
......@@ -242,7 +237,6 @@ export default {
this.activeIndex=index;
this.isSkeleton = true;
if(index==1){
this.listenerFunction();
api.centralEnterprseChild().then(res=>{
if(res.code==200){
this.isSkeleton = false;
......@@ -256,9 +250,6 @@ export default {
}
})
}else if(index==2){
if (process.browser) {
document.removeEventListener("scroll", this.handleScroll);
}
let data = {
provinceId:this.provinceId
}
......@@ -278,8 +269,6 @@ export default {
}
})
}else if(index==3){
this.listenerFunction();
api.centralEnterprsesocial().then(res=>{
if(res.code==200){
this.isSkeleton = false;
......@@ -297,40 +286,31 @@ export default {
}
},
listenerFunction(e) {
if (process.browser) {
document.addEventListener('scroll', this.handleScroll, true);
}
},
handleScroll() {
for(var i in this.childList){
if(this.childList[i].type&&window.scrollY > document.getElementById(this.childList[i].type).offsetTop+144||window.scrollY > document.getElementById(this.childList[i].address).offsetTop+244){
this.anchorIndex = i
}
}
},
anchorTopFn(i) {
var top = 0
for (var j = 0; j < i; j++) {
if (document.getElementById(this.childList[j].type)) {
top = document.getElementById(this.childList[j].type).offsetHeight
}
if (document.getElementById(this.childList[j].address)) {
top = document.getElementById(this.childList[j].address).offsetHeight
}
}
return top
},
// 滚动监听器
handleScroll(i) {
// 获取所有锚点元素
const navContents = document.querySelectorAll('.child-wrap')
// 所有锚点元素的 offsetTop
const offsetTopArr = []
navContents.forEach((item) => {
offsetTopArr.push(item.offsetTop)
})
// 获取当前文档流的 scrollTop
const scrollTop = document.getElementById('anchorRef').scrollTop
offsetTopArr.forEach((item, index) => {
if (scrollTop >= item) {
this.anchorIndex = index
}
})
},
anchorClick(i) {
this.anchorIndex = i
var a = document.getElementById(this.childList[i].type)||document.getElementById(this.childList[i].address)
if (a) {
a.scrollIntoView()
document.body.scrollTop += -56
document.documentElement.scrollTop += -56
}
var a = document.getElementById('anchor-'+i)
a.scrollIntoView()
document.body.scrollTop += -56
document.documentElement.scrollTop += -56
setTimeout(() => {
this.anchorIndex = i
}, 1);
},
getCompany(){
api.centralEnterprse().then(res=>{
......@@ -392,6 +372,8 @@ export default {
border-radius: 4px 4px 4px 4px;
background: #FFFFFF;
font-size: 14px;
min-width: 1580px;
.content_item{
.content_right{
.ename_input{
......@@ -496,103 +478,110 @@ export default {
}
}
}
.wrap{
margin-top: 12px;
// max-height: 708px;
// height: calc(100% - 200px);
overflow: auto;
#anchorRef_wrap{
background: #FFFFFF;
border-radius: 4px 4px 4px 4px;
padding: 16px;
.anchor{
height: 24px;
}
.count1{
font-size: 16px;
color: #232323;
span{
color: rgba(35, 35, 35, 0.40);
}
}
.count{
font-size: 12px;
color: #3D3D3D;
}
.infinite-list-item{
margin-right: 16px;
margin-top: 16px;
width: 383px;
height: 90px;
}
.contetn_wrap{
position: relative;
min-width: 1668px;
.wrap{
margin-top: 12px;
min-width: 1628px;
overflow: auto;
background: #FFFFFF;
border-radius: 0px 0px 0px 0px;
border: 1px solid #EFEFEF;
font-size: 12px;
padding: 12px;
cursor: pointer;
color: #333333;
display: inline-block;
img,.logo{
color: #FFFFFF;
width: 64px;
border-radius: 4px;
height: 64px;
box-sizing: border-box;
padding: 10px 12px;
margin-right: 8px;
font-size: 16px;
text-align: center;
float: left;
border-radius: 4px 4px 4px 4px;
padding: 16px;
max-height: 700px;
.anchor{
height: 24px;
}
.name{
width: 283px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
color: #232323;
.count1{
font-size: 16px;
height: 16px;
line-height: 16px;
display: inline-block;
}
.name1{
width: 283px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.infinite-label{
color: #999999;
margin-right: 0;
margin-top: 4px;
color: #232323;
span{
color: rgba(35, 35, 35, 0.40);
}
}
&:hover{
background: #F5FAFF;
.count{
font-size: 12px;
color: #3D3D3D;
}
}
.province_wrap{
.province_item{
width: 52px;
height: 28px;
line-height: 28px;
display: inline-block;
background: #F6F7FC;
border-radius: 2px;
font-size: 14px;
cursor: pointer;
.infinite-list-item{
margin-right: 16px;
text-align: center;
margin-bottom: 16px;
}
.active{
background: #0081FF;
color: #FFFFFF;
margin-top: 16px;
width: 383px;
height: 90px;
background: #FFFFFF;
border-radius: 0px 0px 0px 0px;
border: 1px solid #EFEFEF;
font-size: 12px;
padding: 12px;
cursor: pointer;
color: #333333;
display: inline-block;
img,.logo{
color: #FFFFFF;
width: 64px;
border-radius: 4px;
height: 64px;
box-sizing: border-box;
padding: 10px 12px;
margin-right: 8px;
font-size: 16px;
text-align: center;
float: left;
}
.name{
width: 283px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
color: #232323;
font-size: 16px;
height: 16px;
line-height: 16px;
display: inline-block;
}
.name1{
width: 283px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.infinite-label{
color: #999999;
margin-right: 0;
margin-top: 4px;
}
&:hover{
background: #F5FAFF;
}
}
.province_wrap{
.province_item{
width: 52px;
height: 28px;
line-height: 28px;
display: inline-block;
background: #F6F7FC;
border-radius: 2px;
font-size: 14px;
cursor: pointer;
margin-right: 16px;
text-align: center;
margin-bottom: 16px;
}
.active{
background: #0081FF;
color: #FFFFFF;
}
}
}
}
.anchor_box {
position: fixed;
top: 298px;
right: 38px;
position: absolute;
top: 48px;
right: 10px;
.anchor_wrap {
color: #999999;
font-size: 14px;
......@@ -602,6 +591,10 @@ export default {
font-size: 12px;
padding-left: 8px;
line-height: 20px;
width: 58px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
cursor: pointer;
position: relative;
box-sizing: border-box;
......@@ -617,9 +610,7 @@ export default {
}
}
}
.anchor_box1{
top:386px;
}
}
::v-deep .el-divider{
width: calc(100% - 107px);
margin-top: 12px;
......
......@@ -9,7 +9,7 @@
<div class="empty" v-if="total==0">
<img src="@/assets/images/project/empty.png">
<div class="p1">暂无数据展示</div>
<div class="p2">抱歉,你还未添加相关数据,快去添加吧</div>
<div class="p2" v-if="isDisabled==false">抱歉,你还未添加相关数据,快去添加吧</div>
<div class="btn btn_primary h36 w102" @click="opennew" v-if="isDisableds == false">新增联系人</div>
</div>
<el-table class="fixed-table" v-else max-height="640"
......@@ -36,7 +36,7 @@
label="姓名"
width="113">
<template slot-scope="scope">
<div class="wordprimary"><span @click="getDetail(scope.row)">{{scope.row.name || '--'}} </span><img v-if="isDisabled == false" @click="deltip(scope.row.id)" src="@/assets/images/delete.png"></div>
<div :class="isDisabled==false?'wordprimary':''"><span @click="getDetail(scope.row)">{{scope.row.name || '--'}} </span><img v-if="isDisabled == false" @click="deltip(scope.row.id)" src="@/assets/images/delete.png"></div>
</template>
</el-table-column>
<!--<el-table-column-->
......
......@@ -24,6 +24,14 @@ public class CustomerFollowRecordListVo implements Serializable {
* 客户id
*/
private String customerId;
/**
* 企业id
*/
private Integer companyId;
/**
* 城投id
*/
private String uipId;
/**
* 客户名称
*/
......
......@@ -9,7 +9,7 @@
<select id="selectAuthList" resultType="com.dsk.system.domain.customer.vo.CustomerFollowRecordListVo">
select
ct.company_name, u.nick_name,
ct.company_id, ct.uip_id, ct.company_name, u.nick_name,
<include refid="Base_Bean"></include>
from customer_follow_record cfr
join customer ct on ct.customer_id = cfr.customer_id
......
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