Commit e937668c authored by yht15023815643's avatar yht15023815643

集团户

parent f2b43518
......@@ -123,6 +123,14 @@ let centralEnterprseChild= function centralEnterprseChild(param) {
data: param
})
}
// 央企子集团更多
let centralEnterprseChildPage= function centralEnterprseChildPage(param) {
return request({
url: '/combine/info/centralEnterprse/child/page',
method: 'post',
data: param
})
}
// 地方国企
let centralEnterprselocal= function centralEnterprselocal(param) {
return request({
......@@ -131,6 +139,14 @@ let centralEnterprselocal= function centralEnterprselocal(param) {
data: param
})
}
// 地方国企更多
let centralEnterprselocalPage= function centralEnterprselocalPage(param) {
return request({
url: '/combine/info/centralEnterprse/local/page',
method: 'post',
data: param
})
}
// 民营集团
let centralEnterprsesocial= function centralEnterprsesocial(param) {
return request({
......@@ -139,8 +155,22 @@ let centralEnterprsesocial= function centralEnterprsesocial(param) {
data: param
})
}
// 民营集团更多
let centralEnterprsesocialPage= function centralEnterprsesocialPage(param) {
return request({
url: '/combine/info/centralEnterprse/social/page',
method: 'post',
data: param
})
}
//企业标签
let label= function label(param) {
return request({
url: '/enterprise/label',
method: 'post',
data: param
})
}
export default {centralEnterprsesocial,centralEnterprselocal,centralEnterprseChild,searchCentralEnterprse,centralEnterprse,region,aptitudeCode,personCert,searchDic,regionWebList,uipGroupData,uipSerach,claim,cancelClaim,enterprisePage,infoHeader,historyClaim,customerStatus}
export default {label,centralEnterprsesocialPage,centralEnterprselocalPage,centralEnterprseChildPage,centralEnterprsesocial,centralEnterprselocal,centralEnterprseChild,searchCentralEnterprse,centralEnterprse,region,aptitudeCode,personCert,searchDic,regionWebList,uipGroupData,uipSerach,claim,cancelClaim,enterprisePage,infoHeader,historyClaim,customerStatus}
......@@ -23,7 +23,7 @@
:queryParams="queryParams"
@handle-current-change="handleCurrentChange"
>
<template slot="sourceType" slot-scope="scope">
<template slot="sourceType" slot-scope="scope">
<div class="flex-box">
<div class="a-link" @click="linkTo(scope)" v-if="scope.row.sourceId&&scope.row.sourceType=='中标业绩'" v-html="scope.row.sourceType" style="cursor: pointer"></div>
<span v-else v-html="scope.row.sourceType || '--'"></span>
......
......@@ -10,7 +10,7 @@
<head-detail-form
:form-data="formData"
:query-params="queryParams"
:total="tableDataTotal"
:total="data.total"
:amountTotal="amountTotal"
@handle-search="handleSearch"
/>
......@@ -19,13 +19,14 @@
:tableLoading="tableLoading"
:tableData="tableData"
:forData="forData"
:tableDataTotal="tableDataTotal"
:tableDataTotal="data.total"
:queryParams="queryParams"
@handle-current-change="handleCurrentChange"
>
<template slot="projectAllName" slot-scope="scope">
<template slot="sourceType" slot-scope="scope">
<div class="flex-box">
<span v-html="scope.row.projectAllName || '--'"></span>
<div class="a-link" @click="linkTo(scope)" v-if="scope.row.sourceId&&scope.row.sourceType=='中标业绩'" v-html="scope.row.sourceType" style="cursor: pointer"></div>
<span v-else v-html="scope.row.sourceType || '--'"></span>
</div>
</template>
</tables>
......@@ -52,8 +53,8 @@ export default {
return {
drawer: false,
queryParams: {
cid: this.data.companyId,
unitId: this.companyId,
companyId: this.data.companyId,
cid: this.companyId,
pageNum: 1,
pageSize: 20
},
......@@ -62,11 +63,11 @@ export default {
{ type: 3, fieldName: 'keys', value: '', placeholder: '输入合作项目/工程名称查询', options: [], width: 260},
],
forData: [
{label: '项目名称', prop: 'projectAllName', fixed: true, slot: true},
{label: '公布时间', prop: 'winBidTime', width: '100'},
{label: '本次合同金额(万元)', prop: 'winBidAmount', width: '160'},
{label: '项目类型', prop: 'boundType', width: '130'},
{label: '数据来源', prop: 'sourceName', width: '90', slot: true}
{label: '项目名称', prop: 'projectName', fixed: true},
{label: '公布时间', prop: 'time', width: '100'},
{label: '本次合同金额(万元)', prop: 'amount', width: '160'},
{label: '项目类型', prop: 'projectType', width: '130'},
{label: '数据来源', prop: 'sourceType', width: '90', slot: true}
],
//列表
tableLoading:false,
......@@ -99,7 +100,7 @@ export default {
},
linkTo(scope){
this.drawer = false
this.$router.push(`/biddetail/${scope.row.id}`)
this.$router.push(`/biddetail/${scope.row.sourceId}`)
},
cancel() {
this.$emit('cancel')
......
......@@ -83,8 +83,11 @@ export default {
},
//排序
sortChange(e){
console.log(e)
let item = this.forData.find(item => item.prop === e.prop)
this.queryParams.sort = item[e.order]
console.log(this.queryParams)
this.handleSearch()
}
}
......
......@@ -28,7 +28,7 @@
</el-popover>
</div>
<span style="float: left;" :class="!labelArr.includes(companyInfo.businessStatus)?'label-bg1':'label-bg3'" v-if="companyInfo.businessStatus">{{companyInfo.businessStatus}}</span>
<!-- <span style="float: left;" :class="item.state===0?'label-bg2':'label-bg3'" v-for="(item, index) in labelList" :key="index">{{item.labelName}}</span>
<span style="float: left;" :class="item.state===0?'label-bg2':'label-bg3'" v-for="(item, index) in labelList" :key="index">{{item.labelName}}</span>
<template v-if="enterpriseLabel.length > 0">
<template v-for="(item,index) in enterpriseLabel">
<template v-if="item.children.length > 0">
......@@ -61,7 +61,7 @@
<span v-else class="enterpriseLabel-span" :style="{'background':item.bgColor,'color':item.fontColor,'cursor':item.linkUri ? 'pointer' : ''}">{{item.labelName}}</span>
</template>
</template>
</template>-->
</template>
</div>
</div>
</div>
......@@ -98,6 +98,19 @@
<div class="company-swiper">
<div class="swiper-containers swiper-info" :style="graphList.length<=6?'margin-left:0px; width: 100%;':''">
<ul class="swiper-wrapper">
<li class="swiper-slide" v-if="statistic.combineMember">
<div class="flex-box" >
<img src="@/assets/images/detail/overview/company_ywwl.png" alt="所属集团" title="所属集团" class="swiper-img">
<div class="swiper-item">
<span class="swiper-name">
所属集团{{statistic.combineMember.companyName}}
</span>
<div >
<span >集团成员:</span><i class="num" @click="linkTo(statistic.combineMember)">{{statistic.combineMember.memberNum}}</i>
</div>
</div>
</div>
</li>
<template v-for="(item, index) in graphList" >
<li class="swiper-slide" :key="index">
<div class="flex-box" @click="handleGraph(item)">
......@@ -203,6 +216,11 @@ export default {
mounted() {
this.handleWidth() //企业背景是否收起
this.companySwiper() //swiper滚动板块
api.label({companyId:this.companyId}).then(res=>{
if(res.code==200){
this.labelList = res.data
}
})
},
methods: {
//认领
......@@ -336,6 +354,9 @@ export default {
break
}
},
linkTo(item){
this.$router.push({path:`/groupAccount/${item.companyId}?name=${item.companyName}`})
},
//swiper子项点击
handleGraphChild(item, it){
if(it.id==101 && it.val){
......
......@@ -13,9 +13,9 @@
</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,2) }}</div>
<div class="logo" :style="{background:colors[index%5]}">{{ item.combineMemberName.slice(0,4) }}</div>
<div>
<span style="font-size: 14px;" v-html="item.combineName" ></span>
<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>
<div ><span class="infinite-label">集团本身:</span>{{ item.combineMemberName }}</div>
</div>
......@@ -32,69 +32,76 @@
<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,2) }}</div>
<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:20px;line-height: 20px;"><span class="infinite-label">集团成员:</span>{{ item.combineMemberNum }}</div>
<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">{{ childList.length }}</div>
<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,2) }}</div>
<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:20px;line-height: 20px;"><span class="infinite-label">集团成员:</span>{{ item1.combineMemberNum }}</div>
<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>12" >更多<span></span></el-divider>
<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 v-if="activeIndex==2" class="province_wrap">
<span class="province_item" @click="provinceClick(index)" :class="provinceIndex==index?'active':''" v-for="(item,index) in provinces" :key="index">{{ item.nameSimple }}</span>
<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="anchor"></div>
<div class="count1" >{{provinceId=='110000'||provinceId=='120000'||provinceId=='500000'||provinceId=='310000'?'市':'省'}}管国企<span> {{ localList.total }}</span></div>
<div class="child-wrap" >
<div >
<div class="infinite-list-item" v-for="(item,index) in localList.local" :key="index" @click="selCompany(item)" >
<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,2) }}</div>
<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:20px;line-height: 20px;"><span class="infinite-label">集团成员:</span>{{ item.combineMemberNum }}</div>
<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>
<el-divider v-if="localList.total>12" >更多<span></span></el-divider>
</template>
<el-divider v-if="localList.total>localListPage*12" @click="localListPage++">更多<span></span></el-divider>
</div>
<!-- 市区国企 -->
<div class="child-wrap" :id="item.type" 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,2) }}</div>
<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:20px;line-height: 20px;"><span class="infinite-label">集团成员:</span>{{ item1.combineMemberNum }}</div>
<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>12" >更多<span></span></el-divider>
<el-divider v-if="item.total>item.page*12" @click="moreClick2(item.addressId,index)">更多<span></span></el-divider>
</div>
</template>
......@@ -106,15 +113,15 @@
<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,2) }}</div>
<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:20px;line-height: 20px;"><span class="infinite-label">集团成员:</span>{{ item1.combineMemberNum }}</div>
<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>12" >更多<span></span></el-divider>
<el-divider v-if="item.total>item.page*12" @click="moreClick3(item.type,index)">更多<span></span></el-divider>
</div>
</template>
......@@ -138,22 +145,25 @@ export default {
data(){
return{
childList:[],
localList:[],
localList:{},
localListPage:1,
localList1:[],
localList1Total:0,
anchorIndex: 0,
companyName:'',
showlist:false,
activeIndex:0,
childListTotal:0,
provinceIndex:0,
provinces:[],
total:12,
total:0,
isscroll:false,
groups:['央企','央企子集团','地方国企','民营集团'],
companData:[],
searchList:[],
page:1,
colors: ['#42DB9A', '#31C0D9', '#9A42DB', '#428EDB', '#DBAC42'],
provinceId:110000
colors: ['#99BE81', '#76B4D4', '#6E89DD', '#8F8DD2', '#C4A89F'],
provinceId:110000,
}
},
beforeDestroy() {
......@@ -171,6 +181,45 @@ export default {
},
methods:{
moreClick1(type,index){
this.childList[index].page++
let data = {
page:this.childList[index].page,
limit:12,
type:type
}
api.centralEnterprseChildPage(data).then(res=>{
if(res.code==200){
this.childList[index].list.push(...res.data.list)
}
})
},
moreClick2(addressId,index){
this.localList1[index].page++
let data = {
page:this.localList1[index].page,
limit:12,
addressId:addressId
}
api.centralEnterprselocalPage(data).then(res=>{
if(res.code==200){
this.localList1[index].result.push(...res.data.list)
}
})
},
moreClick3(type,index){
this.childList[index].page++
let data = {
page:this.childList[index].page,
limit:12,
type:type
}
api.centralEnterprsesocialPage(data).then(res=>{
if(res.code==200){
this.childList[index].list.push(...res.data.list)
}
})
},
provinceClick(index){
this.provinceIndex = index;
this.provinceId = this.provinces[index].id;
......@@ -183,7 +232,13 @@ export default {
api.centralEnterprseChild().then(res=>{
if(res.code==200){
this.childList = res.data
if(res.data.length>0){
res.data.map(item=>{
item.page=1
})
}
this.childList = res.data.list;
this.childListTotal = res.data.total;
}
})
}else if(index==2){
......@@ -196,7 +251,14 @@ export default {
api.centralEnterprselocal(data).then(res=>{
if(res.code==200){
this.localList = res.data.localList;
this.localListPage = 1;
if(res.data.list.length>0){
res.data.list.map(item=>{
item.page=1
})
}
this.localList1 = res.data.list;
this.localList1Total = res.data.total;
}
})
}else if(index==3){
......@@ -204,6 +266,11 @@ export default {
api.centralEnterprsesocial().then(res=>{
if(res.code==200){
if(res.data.length>0){
res.data.map(item=>{
item.page=1
})
}
this.childList = res.data
}
})
......@@ -259,7 +326,7 @@ export default {
search(page=1){
this.page = page;
if(!this.companyName.trim()){
return this.$message.warning("请输入集团名称")
return
}
let data = {
keyword:this.companyName,
......@@ -285,6 +352,9 @@ export default {
}
},
selCompany(item = this.searchList[0]){
if(!item){
return this.$message.warning("抱歉,没找到相关数据,建议调整关键词或筛选条件,重新搜索")
}
this.$router.push({path:`/groupAccount/${item.combineId}?name=${item.combineName.replace(new RegExp("<font color='#FF204E'>", 'g'),'').replace(new RegExp("</font>", 'g'),'')}`})
},
}
......@@ -302,6 +372,7 @@ export default {
.ename_input{
width: 599px;
margin-right: 20px;
border-radius: 2px 0px 0px 2px;
}
.el-input-group{
display: flex;
......@@ -343,7 +414,6 @@ export default {
background: #FFFFFF;
border-radius: 0px 0px 4px 4px;
border: 1px solid #F3F3F3;
border-bottom: 0;
z-index: 1;
.infinite-list-item{
font-size: 12px;
......@@ -355,8 +425,10 @@ export default {
img,.logo{
color: #FFFFFF;
width: 56px;
border-radius: 4px;
height: 56px;
line-height: 56px;
box-sizing: border-box;
padding: 4px 12px;
margin-right: 8px;
font-size: 16px;
text-align: center;
......@@ -407,16 +479,20 @@ export default {
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);
}
.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;
......@@ -426,15 +502,17 @@ export default {
border-radius: 0px 0px 0px 0px;
border: 1px solid #EFEFEF;
font-size: 12px;
padding: 8px;
padding: 12px;
cursor: pointer;
color: #333333;
display: inline-block;
img,.logo{
color: #FFFFFF;
width: 56px;
height: 56px;
line-height: 56px;
width: 64px;
border-radius: 4px;
height: 64px;
box-sizing: border-box;
padding: 10px 12px;
margin-right: 8px;
font-size: 16px;
text-align: center;
......@@ -514,23 +592,27 @@ export default {
}
}
}
::v-deep .el-divider__text{
cursor: pointer;
span{
display: inline-block;
width: 16px;
height: 16px;
position: relative;
top: 2px;
background: url('../../../../assets/images/down.png');
background-size: 16px 16px;
}
&:hover{
color: #0081FF;
span{
background: url('../../../../assets/images/down1.png');
background-size: 16px 16px;
::v-deep .el-divider{
width: calc(100% - 107px);
margin-top: 12px;
.el-divider__text{
cursor: pointer;
span{
display: inline-block;
width: 16px;
height: 16px;
position: relative;
top: 2px;
background: url('../../../../assets/images/down.png');
background-size: 16px 16px;
}
&:hover{
color: #0081FF;
span{
background: url('../../../../assets/images/down1.png');
background-size: 16px 16px;
}
}
}
}
}
</style>
\ No newline at end of file
......@@ -227,7 +227,7 @@
<ul class="bottomlist-content" v-if="tableData.length>0&& !isSkeleton">
<li class="bottomlist-list" v-for="item in tableData">
<p class="list-titel">
<router-link :to="'/radar/Bidding/details/'+ item.id" tag="a" class="list-titel-a" v-html="item.projectName" ></router-link>
<router-link :to="'/radar/Bidding/details/'+ item.uuid" tag="a" class="list-titel-a" v-html="item.projectName" ></router-link>
<!-- <div v-else-if="item.projectName" v-html="item.projectName"></div> -->
</p>
<div class="content-label" v-if="(item.province||item.city||item.area)||(item.projectType&&item.projectType!='其他'&&item.projectType!='空白')||(item.objectType&&item.objectType!='其他'&&item.objectType!='空白')">
......
......@@ -236,7 +236,7 @@
</p>
</div>
<div class="list-content" v-if="item.bidMoney||item.contact">
<div class="list-content" v-if="item.bidMoney||item.contactTel || item.agencyContactTel">
<p class="list-content-text" v-if="item.bidMoney">
<span>预算金款:</span>
<span>{{item.bidMoney||'--'}}万元</span>
......
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