Commit a184427b authored by caixingbing's avatar caixingbing

*

parent 144cc399
......@@ -40,6 +40,16 @@ function changeStr(str, index, changeStr) {
return str.substr(0, index) + changeStr + str.substr(index + changeStr.length)
}
//甲方详情子页面互跳
function changePath(that, pathName){
try {
that.$parent.showPartPage({pathName})
} catch {
that.$parent.$parent.showPartPage({pathName})
}
}
export {
encodeStr
encodeStr,
changePath
}
......@@ -4,36 +4,27 @@
<el-breadcrumb separator="/">
<el-breadcrumb-item :to="{ path: '/enterpriseData' }">企业数据</el-breadcrumb-item>
<el-breadcrumb-item :to="{ path: '/enterpriseData?tag=1' }">查企业</el-breadcrumb-item>
<el-breadcrumb-item>中铁一建</el-breadcrumb-item>
<el-breadcrumb-item>{{companyInfo.simpleName || companyInfo.companyName || '--'}}</el-breadcrumb-item>
</el-breadcrumb>
</div>
<div class="flex-box part-header">
<img class="header-logo" src="@/assets/images/avatar.png">
中交第二航务工程局有限公司
<img class="header-logo" :src="companyInfo.logoUrl || require('@/assets/images/detail/company_logo.png')">
{{companyInfo.companyName || '--'}}
</div>
</div>
</template>
<script>
import { infoHeader } from '@/api/detail/party-a/index'
export default {
name: 'Header',
props: ['companyId'],
props: ['companyId', 'companyInfo'],
data() {
return {
enterprise: {}
}
},
created() {
this.getInfoHeader()
},
methods: {
async getInfoHeader(){
let { data } = await infoHeader({companyId:this.companyId})
if( data.code == 200){
this.enterprise = data.data
}
}
}
}
</script>
......
......@@ -8,6 +8,7 @@
</el-input>
<el-menu
:default-active="routeIndex"
:unique-opened="true"
class="detail-menu"
@open="handleOpen">
<template v-for="(item, index) in sideRoute">
......@@ -119,7 +120,7 @@ export default {
break
}else if(sideArr[i].children){
for(let j=0; j< sideArr[i].children.length ; j++){
if(sideArr[i].children.pathName == this.pathName){
if(sideArr[i].children[j].pathName == this.pathName){
idx = i+'-'+j
break
}
......
<template>
<div class="app-container part-container">
<Header :company-id="companyId" v-if="companyId" />
<Header :company-id="companyId" :companyInfo="companyInfo" v-if="companyId" />
<div class="flex-box part-main">
<div class="part-left">
<side-bar @currentPath="showPartPage" :pathName="currentPath.pathName" :partBoxHeight="partBoxHeight" :customerId="customerId" />
......@@ -8,7 +8,7 @@
<div class="part-right">
<div id="partBox" v-if="companyId">
<!-- 企业概览 -->
<Overview v-if="currentPath.pathName=='overview'" :company-id="companyId" />
<Overview v-if="currentPath.pathName=='overview'" :company-id="companyId" :companyInfo="companyInfo" />
<Businfo v-if="currentPath.pathName=='businfo'" :company-id="companyId" />
<Holderinfo v-if="currentPath.pathName=='holderinfo'" :company-id="companyId" />
<Execuinfo v-if="currentPath.pathName=='execuinfo'" :company-id="companyId" />
......@@ -142,7 +142,7 @@ export default {
data() {
return {
companyInfo: {},
companyId: 10361319, //企业Id(测试默认3068)
companyId: '565476563130566e69', //企业Id(测试默认3068)
customerId: '', //企业Id(测试默认'a00d582a6041f32c16aac804e4924736')
currentPath: {
pathName: 'overview' //默认展示页
......@@ -152,8 +152,10 @@ export default {
},
created() {
if (this.$route.query.companyId) { // 获取companyId
let id = this.$route.query.companyId
this.getCompanyId(id)
let companyId = this.$route.query.companyId
this.getCompanyId(companyId)
}else{ //测试
this.getCompanyId(this.companyId)
}
if (this.$route.query.path) { // 获取跳转对应板块
this.currentPath.pathName = this.$route.query.path
......@@ -176,9 +178,9 @@ export default {
},
// 解密
async getCompanyId(companyId){
let { data } = await idRemark({companyId})
if( data.code == 200){
this.companyId = data.data
let { data } = await idRemark({mark:companyId})
if( data ){
this.companyId = data
this.handleQuery()
}
},
......
......@@ -27,7 +27,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">
......@@ -60,7 +60,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>
......@@ -71,22 +71,22 @@
<div class="company-info">
<div class="info-item flex-box">
<div class="item"><label>法定代表人:</label><span>{{companyInfo.corporatePerson || ''}}</span></div>
<div class="item"><label>注册资本:</label><span>{{companyInfo.regCapital || '--'}}</span></div>
<div class="item"><label>统一社会信用代码:</label><span>{{companyInfo.creditCode || ''}}</span></div>
<div class="flex-box item"><label>法定代表人:</label><span class="text-cl1">{{companyInfo.corporatePerson || ''}}</span></div>
<div class="flex-box item"><label>注册资本:</label><span class="text-cl1">{{companyInfo.regCapital || '--'}}</span></div>
<div class="flex-box item"><label>统一社会信用代码:</label><span class="text-cl1">{{companyInfo.creditCode || ''}}</span></div>
</div>
<div class="info-item flex-box">
<div class="item"><label>成立日期:</label><span>{{companyInfo.regCapital || '--'}}</span></div>
<div class="item"><label>类型:</label><span>{{companyInfo.regCapital || '--'}}</span></div>
<div class="item"><label>企业邮箱:</label><span>{{companyInfo.regCapital || '--'}}</span></div>
<div class="flex-box item"><label>成立日期:</label><span class="text-cl1">{{companyInfo.registeredDate || '--'}}</span></div>
<div class="flex-box item"><label>类型:</label><span class="text-cl1">{{companyInfo.econKind || '--'}}</span></div>
<div class="flex-box item"><label>注册地址:</label><span class="text-cl1">{{companyInfo.addressDetail || '--'}}</span></div>
<!-- <div class="item"><label>企业邮箱:</label><span>{{companyInfo.regCapital || '&#45;&#45;'}}</span></div>-->
</div>
<div class="info-item flex-box">
<div class="item"><label>官网:</label><span>{{companyInfo.regCapital || '--'}}</span></div>
<div class="item"><label>注册地址:</label><span>{{companyInfo.regCapital || '--'}}</span></div>
<div class="item"><label>通信地址:</label><span>{{companyInfo.regCapital || '--'}}</span></div>
<!-- <div class="item"><label>官网:</label><span>{{companyInfo.regCapital || '&#45;&#45;'}}</span></div>-->
<div class="flex-box item item-line"><label>通信地址:</label><span class="text-cl1">{{companyInfo.addressDetail || '--'}}</span></div>
</div>
<div class="info-item flex-box" >
<div class="item flex-box item-line" >
<div class="flex-box item item-line" >
<span ref="companyQybj" class="text-cl1" :class="showMore&&showState?'item-all':'item-more'">
<label>企业背景:</label>{{companyInfo.introduction || ''}}
</span>
......@@ -125,58 +125,25 @@
</template>
<script>
import { statistic } from '@/api/detail/party-a/overview'
import { changePath } from '@/assets/js/common'
var Swiper = require('@/assets/lib/swiper/swiper-bundle.min.js')
import "@/assets/lib/swiper/swiper-bundle.css"
import { encodeStr } from '@/assets/js/common.js'
export default {
name: 'Infoheader',
props: ['companyId', 'companyInfo'],
data() {
return {
companyInfo: {
"historyNames": [
{
"name": "",
"value": "中国建筑第八工程局"
}
],
"eid": "a4465fc3-ef1d-470b-834e-3af1975a5692",
"regCapital": "1521800万元人民币",
"registeredDate": "1998-09-29",
"companyName": "中国建筑第八工程局有限公司",
"provinceIdsArea": "310000,360000,500000,450000,420000,320000,370000,330000,510000,150000,610000,230000,460000,210000,440000,130000,120000,630000,430000,410000,350000,340000,650000,640000,140000,540000,520000,530000,620000,110000,220000",
"econKind": "有限责任公司(非自然人投资或控股的法人独资)",
"cityId": 310100,
"addressDetail": "中国(上海)自由贸易试验区世纪大道1568号27层",
"creditCode": "9131000063126503X1",
"metaTime": "2023-05-13",
"contact": {
"cellphone": 266,
"telephone": 158,
"phoneNumber": "0310-8083960"
},
"corporatePerson": "李永明",
"views": 32303,
"introduction": "中国建筑第八工程局有限公司成立于1998-09-29,法定代表人为李永明,注册资本为1521800万元,统一社会信用代码为9131000063126503X1,企业地址位于中国(上海)自由贸易试验区世纪大道1568号27层,经营范围包含房屋建筑、公路、铁路、市政公用、港口与航道、水利水电各类别工程的咨询、设计、施工、总承包和项目管理,化工石油工程,电力工程,基础工程,装饰工程,工业筑炉,城市轨道交通工程,园林绿化工程,线路、管道、设备的安装,混凝土预制构件及制品,非标制作,建筑材料生产、销售,建筑设备销售,建筑机械租赁,房地产开发,自有房屋租赁,物业管理,从事建筑领域内的技术转让、技术咨询、技术服务,企业管理咨询,商务信息咨询,经营各类商品和技术的进出口,但国家限定公司经营或禁止进出口的商品及技术除外。【依法须经批准的项目,经相关部门批准后方可开展经营活动】。该公司目前的经营状态为存续(在营、开业、在册)。企业联系方式为:0310-8083960。",
"businessDateFrom": "1998-09-29",
"isHighTech": 1,
"businessScope": "房屋建筑、公路、铁路、市政公用、港口与航道、水利水电各类别工程的咨询、设计、施工、总承包和项目管理,化工石油工程,电力工程,基础工程,装饰工程,工业筑炉,城市轨道交通工程,园林绿化工程,线路、管道、设备的安装,混凝土预制构件及制品,非标制作,建筑材料生产、销售,建筑设备销售,建筑机械租赁,房地产开发,自有房屋租赁,物业管理,从事建筑领域内的技术转让、技术咨询、技术服务,企业管理咨询,商务信息咨询,经营各类商品和技术的进出口,但国家限定公司经营或禁止进出口的商品及技术除外。【依法须经批准的项目,经相关部门批准后方可开展经营活动】",
"businessStatus": "存续(在营、开业、在册)",
"isFy": false,
"provinceId": 310000,
"logoUrl": "https://qxb-logo-url.oss-cn-hangzhou.aliyuncs.com/OriginalUrl/2cae9ba958e78d719c43fd0f7e4fa514.jpg",
"companyId": 6034,
"simpleName": "中建八局",
"provinceName": "上海"
},
labelList: [], //企业标签
claimLoading: false,
ifClaim: false, //是否认领
showMore: false,
showState: false,
statistic: {},
graphList: [
{id: 1, name:'业务往来', intro:[{id: 101, name:'客户', val:44},{id: 102, name:'供应商', val:55}], ico:require('@/assets/images/detail/overview/company_ywwl.png')},
{id: 2, name:'商机线索', intro:[{id: 201, name:'专项债项目', val:66},{id: 202, name:'招标计划', val:66}], ico:require('@/assets/images/detail/overview/company_sjxs.png')},
{id: 3, name:'城投拿地', intro:[{id: 301, name:'土地交易', val:2},{id: 302, name:'行政许可', val:0}], ico:require('@/assets/images/detail/overview/company_ctnd.png')},
{id: 1, name:'业务往来', intro:[{id: 101, name:'客户', val:0, category:'global', field:'customer'},{id: 102, name:'供应商', val:0, category:'global', field:'supplier'}], ico:require('@/assets/images/detail/overview/company_ywwl.png')},
{id: 2, name:'商机线索', intro:[{id: 201, name:'专项债项目', val:0, category:'xxx', field:'yy'},{id: 202, name:'招标计划', val:0, category:'xxx', field:'zz'}], ico:require('@/assets/images/detail/overview/company_sjxs.png')},
{id: 3, name:'城投拿地', intro:[{id: 301, name:'土地交易', val:10, category:'global', field:'landInfo'},{id: 302, name:'行政许可', val:20, category:'business', field:'adminLicensing'}], ico:require('@/assets/images/detail/overview/company_ctnd.png')},
{id: 4, name:'对外投资', intro:[{id: 401, name:'企业经营实力展现'}], ico:require('@/assets/images/detail/overview/company_dwtz.png')},
{id: 5, name:'股权穿透', intro:[{id: 501, name:'瞬息掌握企业关系'}], ico:require('@/assets/images/detail/overview/company_gqct.png')},
{id: 6, name:'企业架构', intro:[{id: 601, name:'企业架构关联图'}], ico:require('@/assets/images/detail/overview/company_qyjg.png')},
......@@ -184,272 +151,17 @@ export default {
], //企业链图
//风险扫描
labelArr:['失信联合惩戒企业','司法纠纷','注销'], //负向经营状态
enterpriseLabel:[
{
"labelCode": "4_1_",
"labelName": "严重行政处罚",
"companyId": 6034,
"num": 1,
"pcode": "4_",
"level": 2,
"isLeaf": 1,
"orderNum": 1,
"bgColor": "#FFF3F3",
"fontColor": "#FD5757",
"remark": "严重行政处罚,是指有关行政部门处以企业暂停投标资格、暂停承揽新业务的行政处罚。原因包括但不限于企业存在围标串标、克扣或拖欠劳动者报酬、出现重大安全事故等异常行为导致企业无法承揽工程项目,产生重大经营风险",
"children": [],
"linkUri": "/credit?type=0"
},
{
"labelCode": "2_2_1_",
"labelName": "施工特级资质",
"num": 3,
"pcode": "2_2_",
"level": 3,
"isLeaf": 0,
"orderNum": 6,
"bgColor": "#E4F3FD",
"fontColor": "#41A1FD",
"linkBizId": 209,
"children": [
{
"labelCode": "2_2_1_1_",
"labelName": "建筑工程特级",
"companyId": 6034,
"num": 1,
"pcode": "2_2_1_",
"level": 4,
"isLeaf": 1,
"orderNum": 6,
"bgColor": "#E4F3FD",
"fontColor": "#41A1FD",
"linkBizId": 209,
"children": [],
"linkUri": "?type=0"
},
{
"labelCode": "2_2_1_2_",
"labelName": "公路工程特级",
"companyId": 6034,
"num": 1,
"pcode": "2_2_1_",
"level": 4,
"isLeaf": 1,
"orderNum": 7,
"bgColor": "#E4F3FD",
"fontColor": "#41A1FD",
"linkBizId": 209,
"children": [],
"linkUri": "?type=0"
},
{
"labelCode": "2_2_1_10_",
"labelName": "市政公用工程特级",
"companyId": 6034,
"num": 1,
"pcode": "2_2_1_",
"level": 4,
"isLeaf": 1,
"orderNum": 15,
"bgColor": "#E4F3FD",
"fontColor": "#41A1FD",
"linkBizId": 209,
"children": [],
"linkUri": "?type=0"
}
],
"linkUri": "?type=0"
},
{
"labelCode": "3_2_1_",
"labelName": "高新技术企业",
"companyId": 6034,
"num": 1,
"pcode": "3_2_",
"level": 3,
"isLeaf": 1,
"orderNum": 67,
"bgColor": "#FFF7EC",
"fontColor": "#BFA061",
"remark": "高新技术企业指在国家颁布的《国家重点支持的高新技术领域》范围内,持续进行研究开发与技术成果转化,形成企业核心自主知识产权,并以此为基础开展经营活动的居民企业,是知识密集、技术密集的经济实体。",
"children": []
},
{
"labelCode": "3_2_4_",
"labelName": "省级企业技术中心",
"companyId": 6034,
"num": 1,
"pcode": "3_2_",
"level": 3,
"isLeaf": 1,
"orderNum": 70,
"bgColor": "#FFF7EC",
"fontColor": "#BFA061",
"remark": "企业技术中心是指企业根据市场竞争需要设立的技术研发与创新机构,负责制定企业技术创新规划、开展产业技术研发、创造运用知识产权、建立技术标准体系、凝聚培养创新人才、构建协同创新网络、推进技术创新全过程实施。",
"children": []
},
{
"labelCode": "3_1_1_1_",
"labelName": "国家级荣誉奖项",
"num": 8,
"pcode": "3_1_1_",
"level": 4,
"isLeaf": 0,
"orderNum": 76,
"bgColor": "#FFF7EC",
"fontColor": "#BFA061",
"children": [
{
"labelCode": "3_1_1_1_1_",
"labelName": "鲁班奖",
"companyId": 6034,
"num": 1,
"pcode": "3_1_1_1_",
"level": 5,
"isLeaf": 1,
"orderNum": 76,
"bgColor": "#FFF7EC",
"fontColor": "#BFA061",
"children": [],
"linkUri": "/behavior?type=0"
},
{
"labelCode": "3_1_1_1_2_",
"labelName": "国家优质工程奖",
"companyId": 6034,
"num": 1,
"pcode": "3_1_1_1_",
"level": 5,
"isLeaf": 1,
"orderNum": 77,
"bgColor": "#FFF7EC",
"fontColor": "#BFA061",
"children": [],
"linkUri": "/behavior?type=0"
},
{
"labelCode": "3_1_1_1_3_",
"labelName": "詹天佑奖",
"companyId": 6034,
"num": 1,
"pcode": "3_1_1_1_",
"level": 5,
"isLeaf": 1,
"orderNum": 78,
"bgColor": "#FFF7EC",
"fontColor": "#BFA061",
"children": [],
"linkUri": "/behavior?type=0"
},
{
"labelCode": "3_1_1_1_4_",
"labelName": "建筑装饰优质工程奖",
"companyId": 6034,
"num": 1,
"pcode": "3_1_1_1_",
"level": 5,
"isLeaf": 1,
"orderNum": 79,
"bgColor": "#FFF7EC",
"fontColor": "#BFA061",
"children": [],
"linkUri": "/behavior?type=0"
},
{
"labelCode": "3_1_1_1_5_",
"labelName": "绿色建筑创新奖",
"companyId": 6034,
"num": 1,
"pcode": "3_1_1_1_",
"level": 5,
"isLeaf": 1,
"orderNum": 80,
"bgColor": "#FFF7EC",
"fontColor": "#BFA061",
"children": [],
"linkUri": "/behavior?type=0"
},
{
"labelCode": "3_1_1_1_6_",
"labelName": "钢结构金奖",
"companyId": 6034,
"num": 1,
"pcode": "3_1_1_1_",
"level": 5,
"isLeaf": 1,
"orderNum": 81,
"bgColor": "#FFF7EC",
"fontColor": "#BFA061",
"children": [],
"linkUri": "/behavior?type=0"
},
{
"labelCode": "3_1_1_1_8_",
"labelName": "市政金杯示范工程",
"companyId": 6034,
"num": 1,
"pcode": "3_1_1_1_",
"level": 5,
"isLeaf": 1,
"orderNum": 83,
"bgColor": "#FFF7EC",
"fontColor": "#BFA061",
"children": [],
"linkUri": "/behavior?type=0"
},
{
"labelCode": "3_1_2_1_1_",
"labelName": "华夏建设科学技术奖",
"companyId": 6034,
"num": 1,
"pcode": "3_1_1_1_",
"level": 5,
"isLeaf": 0,
"orderNum": 112,
"bgColor": "#FFF7EC",
"fontColor": "#BFA061",
"children": [],
"linkUri": "/behavior?type=0"
}
],
"linkUri": "/behavior?type=0"
},
{
"labelCode": "1_1_1_",
"labelName": "长三角",
"companyId": 6034,
"num": 1,
"pcode": "1_1_",
"level": 3,
"isLeaf": 1,
"orderNum": 113,
"bgColor": "#F3F3FF",
"fontColor": "#8491E8",
"children": []
},
{
"labelCode": "1_1_5_",
"labelName": "华东",
"companyId": 6034,
"num": 1,
"pcode": "1_1_",
"level": 3,
"isLeaf": 1,
"orderNum": 113,
"bgColor": "#F3F3FF",
"fontColor": "#8491E8",
"children": []
}
],//企业标签
enterpriseLabel:[],//企业标签
}
},
created() {
this.getCompanyInfo()
this.getCompanyInfo() //处理曾用名
this.handleStatistic() //企业背景是否收起
},
mounted() {
this.handleWidth()
this.getClaimStatus() //获取企业认领状态
this.companySwiper()
this.companySwiper() //swiper滚动板块
this.handleWidth() //企业背景是否收起
},
methods: {
//认领
......@@ -480,12 +192,34 @@ export default {
this.companyInfo.historyNames = JSON.parse(this.companyInfo.historyNames)
}
},
async handleStatistic() {
let res = await statistic({companyId:this.companyId})
if(res.code==200){
this.statistic = res.data
this.graphList.forEach((item, index) => {
if(item.intro){
item.intro.forEach((it, idx) => {
if(it.category || it.field){
it.val = this.getStatistic(it.category, it.field)
}
})
}
})
}
},
getStatistic(category, field) {
return this.statistic[category][field] || 0
},
//获取认领状态
async getClaimStatus(){
this.ifClaim = false
},
handleWidth(){
if(this.companyInfo.introduction){
this.$nextTick(() => {
this.showMore = this.$refs.companyQybj.scrollWidth - this.$refs.companyQybj.clientWidth
})
}
},
handleDetail(){
this.showState = !this.showState
......@@ -497,7 +231,7 @@ export default {
handleGraph(item,it){
switch (item.id) {
case 4:
console.log('jump')
changePath(this, 'overseas')
break
case 5:
this.jumpToLt(item)
......@@ -506,31 +240,36 @@ export default {
this.jumpToLt(item)
break
case 7:
console.log('jump')
changePath(this, 'businfo')
break
}
},
//swiper子项点击
handleGraphChild(item, it){
if(it.id==101 && it.val){
console.log('jump')
changePath(this, 'custom')
}
if(it.id==102 && it.val){
console.log('jump')
changePath(this, 'supplier')
}
if(it.id==201 && it.val){
console.log('jump')
changePath(this, 'bond')
}
if(it.id==202 && it.val){
console.log('jump')
changePath(this, 'biddingplan')
}
if(it.id==301 && it.val){
console.log('jump')
changePath(this, 'landtransaction')
}
if(it.id==302 && it.val){
console.log('jump')
changePath(this, 'administrative')
}
}
},
watch: {
companyInfo(newVal, oldVal) {
this.handleWidth()
}
}
}
</script>
......@@ -814,10 +553,10 @@ export default {
font-size: 14px;
color: #333333;
&:first-child{
width: 210px;
width: 280px;
}
&:nth-child(2){
width: 250px;
width: 350px;
}
&.item-line{
width: 100%;
......
<template>
<div class="app-container part-container">
<div class="view-content"><Infoheader /></div><!-- 企业信息 -->
<div class="view-content"><Infoheader :companyId="companyId" :companyInfo="companyInfo" /></div><!-- 企业信息 -->
<div class="view-content"><Operations /></div><!-- 公司经营 -->
<div class="view-content"><Bidding /></div><!--招标偏好、业务往来-->
<div class="view-content"><Busclue /></div><!--商机线索-->
......@@ -22,7 +22,7 @@ import Risk from './component/risk'
import Tender from "./component/tender"
export default {
name: 'Overview',
props: ['companyId'],
props: ['companyId', 'companyInfo'],
components: {
Infoheader,
Operations,
......
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